人工智能顶会 ICLR 2020 将于 4 月 26 日于埃塞俄比亚首都亚的斯亚贝巴举行。在最终提交的 2594 篇论文中,有 687 篇被接收,接收率为 26.5%。本文介绍了上海交通大学张拳石团队的一篇接收论文——《Knowledge Consistency between Neural Networks and Beyond》。在本文中,研究者提出了一种对神经网络特征表达一致性、可靠性、知识盲点的评测与解释方法。
论文链接:https://arxiv.org/pdf/1908.01581.pdf
概览
深度神经网络(DNN)已经在很多任务中表现出了强大的能力,但目前仍缺乏诊断其中层表征能力的数学工具,如发现表征中的缺陷或识别可靠/不可靠的特征。由于数据泄漏或数据集发生变化,基于测试准确率的传统 DNN 评测方法无法深入评估 DNN 表征的正确性。
因此,在本论文中,来自上海交大的研究者提出了一种从知识一致性的角度来诊断 DNN 中层网络表征能力的方法。即,给定两个为同一任务训练的 DNN(无论二者架构是否相同),目标是检验两个 DNN 的中间层是否编码相似的视觉概念。
该研究实现了:(1)定义并量化了神经网络之间知识表达的不同阶的一致性;(2)对强弱神经网络中层知识进行分析;(3)对中层特征的诊断,在不增加训练样本标注的前提下进一步促进神经网络分类准确率;(4)为解释神经网络压缩和知识蒸馏提供了一种新的思路。
算法简介
该论文定义了两个神经网络之间在知识表达层面的一致性,即分析两个独立训练的神经网络是否建模了相同或相似的知识。研究者关注的是两个神经网络所建模的知识的相似性,而非特征的相似性(比如,将一个神经网络的中层卷积核的顺序打乱,并相应的重新排列其对应的上层卷积核的顺序,经过上层卷积后特征与原始神经网络对应特征相同,这时,这两神经网络具有不同的中层特征,但事实上建模了相同的知识)。
另一方面,可以利用神经网络知识表达的一致性,直接对神经网络内部特征表达可靠性进行评测,而不需要额外标注新的监督信息,此评测标准也与具体任务设置无关。如果没有可靠的数学工具去评测神经网络的特征的可靠性,仅仅通过最终的分类正确率来评测神经网络,对深度学习的未来发展是远远不够的。
因而,针对同一任务训练多个不同的神经网络,此研究量化出各神经网络间彼此一致的知识表达,并拆分出其所对应的特征分量。具体来说,f_A 和 f_B 分别表示神经网络 A 与神经网络 B 的中层特征,当 f_A 可以通过线性变换得到 f_B 时,可认为 f_A 和 f_B 零阶一致;当 f_A 可以通过一次非线性变换得到 f_B 时,可认为 f_A 和 f_B 一阶一致;类似的,当 f_A 可以通过 n 次非线性变换得到 f_B 时,可认为 f_A 和 f_B 为 n 阶一致。
如下图所示,可以通过以下神经网络,将神经网络中层特征 f_A 拆分为 0-K 阶不同的一致性特征分量,以及不一致特征分量。
低阶一致性分量往往表示相对可靠的特征,而不一致分量则表示神经网络中的噪声信号。
在应用层面,知识一致性可以用来发现神经网络中的不可靠特征和知识盲点。将一个深层高性能网络作为标准的知识表达,去分析诊断一个相对浅层的神经网络的知识表达缺陷(浅层神经网络有自己特定的应用价值,比如用在移动端)。当利用浅层神经网络 (DNN A) 特征去重建深层神经网络 (DNN B) 特征时,深层神经网络中的不一致特征分量 (δ=f_B-g(f_A)) 往往代表着浅层神经网络的知识盲点;相对应地,当利用深层神经网络特征去重建浅层神经网络特征时,浅层神经网络中的不一致特征分量 (δ=f_A-g(f_B)) 往往代表着其中不可靠的特征分量。
实验结果
下图显示了算法所预测的浅层神经网络的知识盲点与不可靠特征。
下表从知识一致性的角度,分析神经网络训练的稳定性。当训练样本相对较少时,浅层的神经网络的训练有更强的稳定性。
如下图所示,一致的特征分量往往代表更可靠的信息,可以进一步提升神经网络的分类精度。即,在不增加训练样本标注的前提下,利用知识一致性进一步提升模型的分类正确率。
知识一致性算法可以消除神经网络中的冗余特征。预训练的神经网络(如利用 ImageNet 训练的神经网络)往往建模了海量类别的分类信息,当目标应用只针对少量类别时,预训练的特征中表达无关类别的特征分量则可视为冗余信息。如下图所示,知识一致性算法可以有效的去除与目标应用无关的冗余特征分量,进一步提升目标应用的性能。
此外,知识一致性算法可以分析不同任务训练得到模型中的一致/不一致特征。如下图所示,研究者训练网络 A 进行 320 类细分类(包括 CUB 中的 200 类鸟与 Stanford Dog 中的 120 类狗),训练网络 B 进行简单的二分类(鸟或狗),通过特征相互重构,可以看到网络 A 中建模了更多的知识,网络 A 的特征能够更好地重构网络 B 的特征。
知识一致性算法可以用于分析网络压缩中的信息损失。研究者使用压缩后模型生成的特征来重建原始模型的特征,不一致的特征分量往往对应着压缩过程中被舍弃的知识。如下图(左)所示,通过量化这部分被舍弃的知识,他们发现在压缩过程中较小的知识损失会有更高的分类正确率。
此外,还可以通过知识一致性算法解释蒸馏。如下图(右),通过量化不同代的再生神经网络中不一致的特征分量,可以发现随着蒸馏代数的增加,不可靠的特征分量逐渐减少。