Ruofan Liang等作者

ICLR 2020 | 对神经网络特征表达一致性、可靠性、知识盲点的评测与解释

人工智能顶会 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 的特征。

知识一致性算法可以用于分析网络压缩中的信息损失。研究者使用压缩后模型生成的特征来重建原始模型的特征,不一致的特征分量往往对应着压缩过程中被舍弃的知识。如下图(左)所示,通过量化这部分被舍弃的知识,他们发现在压缩过程中较小的知识损失会有更高的分类正确率。

此外,还可以通过知识一致性算法解释蒸馏。如下图(右),通过量化不同代的再生神经网络中不一致的特征分量,可以发现随着蒸馏代数的增加,不可靠的特征分量逐渐减少。

作者联系方式 zqs1022@sjtu.edu.cn,

qszhang.com,

https://www.zhihu.com/people/quanshi.zhang/posts

理论知识表征ICLR 2020张拳石上海交通大学
相关数据
张拳石人物

上海交通大学副教授,加州大学洛杉矶分校(UCLA)统计学博士后。研究方向包括可解释的神经网络、可解释的生成网络、预训练神经网络的无监督语义化以及神经网络的无监督/弱监督学习。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~