随着深度神经网络的应用日益广泛,可解释性也逐渐受到更多学者的关注。
近日,上海交通大学一年级博士生任洁、上海交大计算机系硕士生李明杰解读了团队发表于 ICML 2021的工作《对神经网络中层不同复杂度的特征分量的解释与拆分》,提供了新颖的视角(公众号【数据实战派】后台按指引可下载本文直播ppt,点击文末“阅读原文”可收看直播回放)。
在该研究中,作者从特征复杂度的角度出发,尝试将语义解释与神经网络的表达能力相结合。神经网络的中层特征往往是混杂的,包含非常丰富的信息,其中,一些特征是简单的,另一些特征则是非常复杂的,需要经过复杂变换才能学习到。
受这一点启发,本研究有以下几点贡献:
1.定义了神经网络中层特征的复杂度;
2.在语义层面,实现了对简单特征、复杂特征的拆分及可视化,发现简单特征往往表示物体的主体形状,而复杂特征则是一些细节、噪声信息;
3.在表达能力层面,本文用可靠性、有效性,及过拟合程度评测了神经网络特征,量化了特征表达能力与特征复杂度、训练样本数等因素之间的联系;
4.基于上述结论,本文利用拆分出的特征向量进一步提升了神经网络的性能,并解释了经典学习算法的效果。
研究背景
目前对神经网络的可解释性研究主要分为两个方面,一方面是语义层面的解释,另一方面是数学层面对网络表达能力推导。
在语义层面,最直接的方法是可视化神经网络的中层特征,同时很多研究也致力于估计输入样本中不同单元对于神经网络输出的重要性(attribution/importance/saliency)。
但这类研究,往往缺少扎实的理论基础,且不同的解释方法可能得到相互冲突的结果。
在数学推导的层面,很多研究尝试从各个角度推导出神经网络表达能力的边界。但这类工作有时基于一些对网络结构的简单假设,难以应用到实际的深层网络中,另外,这类方法也往往没有直观的展示,难以实现“人能理解”的目标。
上述这两类解释性研究,往往各自为战,语义层面的解释往往缺乏坚实的理论支撑,数学层面的推导又难以对接到人的认知,让人真正地理解神经网络。
如何将视觉解释与 DNN 的表示能力联系起来?下面介绍此次论文的核心方法。
算法简介
将神经网络中层特征解构并可视化出不同复杂度的特征分量:
神经网络从输入样本中抽取得到了非常丰富的特征,而这些特征既包含简单的特征分量,也包含复杂的特征分量。简单的特征分量往往经过简单的变换就能得到,例如通过一个较浅的神经网络,而复杂的特征分量则需要较深的神经网络才能拟合。即,给定一个训练好的神经网络 f f f 和输入 x x x ,其中层特征 f ( x ) f(x) f(x) 中包含了不同复杂度的特征分量:
f ( x ) = c ( 1 )