深度神经网络解释方法综述
2020-09-18苏炯铭刘鸿福项凤涛吴建宅袁兴生
苏炯铭,刘鸿福,项凤涛,吴建宅,袁兴生
(国防科技大学 智能科学学院,长沙 410073)
0 概述
当前以大数据和深度学习为基础的人工智能技术在图像识别、语音识别和自然语言处理等许多应用领域取得了巨大进展,然而深度神经网络(Deep Neural Networks,DNN)的不透明性、不可解释和不可理解成为制约其理论发展和实践应用的巨大障碍。基于深度神经网络的智能系统,其学习和预测过程不透明,对于模型学到何种有效特征以及如何做出预测和判断,整个过程缺乏可解释性,被称为“算法黑盒”系统。
当面对环境动态变化、信息不完全、存在干扰或虚假信息的情况,智能系统的性能就会显著下降,此时用户如果选择无条件相信系统,则有可能产生严重后果[1],如在图像中加入细小扰动[2-4]或采用生成对抗网络(Generative Adversarial Networks,GAN)[5-6]生成的对抗样本将造成分类决策错误。在军事[7]、医疗[8-9]、金融投资贷款、交通[10]等高风险决策领域,用户往往不能默认相信智能系统的决策结果,而是需要智能系统提供做出该决策的依据信息,交由用户对智能系统的决策进行最终评估和判断,如拒绝、接受或调整决策结果。当前,因基于深度神经网络的智能系统决策存在弱理解性,使其无法实现有效的人机交互,难以与人类协同工作,严重影响系统效能[11-13]。
可解释性并没有严格的数学定义。不同的学者给出了多种非数学上的定义,如人类对于决策原因理解的程度[14]、人类可以持续预测模型结果的程度[15]、向人类做出解释的过程等。总之,机器学习模型的可解释性越高,人们就越容易理解做出某些决策或预测的原因。如果一个模型的决策对于人类来说比另一个更容易理解,那么这个模型就更容易解释。深度神经网络解释方法的目标并不是让用户完全了解模型如何工作,通常这不是必要的,因为深度神经网络模型是一个黑盒模型,如同人类大脑也是一个黑盒模型一样,其真正的目标是让用户觉得模型决策的结果和依据合理、可信。
理解和解释深度神经网络是深度学习未来发展的主要目标,将使人类对智能的认识从“只知其然”转变为“知其所以然”,从感知走向认知,从而促进深度网络理论和应用的发展[16-17],其也将成为人机互信、人机协同的关键技术,使智能系统不仅解释结果而且解释过程。本文针对多种典型的深度神经网络结构,分别介绍其解释方法,着重对近年来的研究工作进行分析和比较,并对该领域的发展趋势加以展望。
1 深度神经网络解释方法研究现状
深度神经网络的“黑盒”问题吸引了学术界、工业界甚至军方学者广泛的研究兴趣,是当下人工智能研究的难点和热点[16-18]。《Nature》《Science》《MIT Technology Review》都撰文指出深度学习的发展需要打开这个黑盒[19]。美国军方对智能系统“算法黑盒”的容忍度几乎为零,美国国防部已将机器学习的可解释性定性为“关键的绊脚石”。美国国防高级研究计划局(Defense Advanced Research Projects Agency,DARPA)于2016年提出的可解释的人工智能(eXplainable Artificial Intelligence,XAI)计划[7],旨在建设一套全新或修改的具有很好可解释性以及更易让人理解的机器学习模型。
近年来,深度神经网络的可解释问题已引起了国内外众多学者的广泛关注。人工智能、机器学习和计算机视觉领域的顶级国际会议都开始举办相关的研讨会。NIPS(Neural Information Processing Systems)分别于2016年和2017年以“Interpretable Machine Learning for Complex Systems”和“Interpretable ML Symposium”为题进行了研讨;ICML(International Conference on Machine Learning)于2017年分别以“Visualization for Deep Learning”和“Human Interpretability in Machine Learning”为题进行了研讨;IJCAI(International Joint Conference on Artificial Intelligence)/ECAI(European Conference on Artificial Intelligence)于2018年举办了以“Human Interpretability in Machine Learning”“Workshop on Interpretable & Reasonable Deep Learning and its Applications”和“Explainable Artificial Intelligence”为题的研讨会;2019年,IJCAI和CVPR(Conference on Computer Vision and Pattern Recognition)分别举办了以“Explainable Artificial Intelligence”为题的研讨会,AAAI(American Association for Artificial Intelligence)举办了以“Network Interpretability for Deep Learning”为题的研讨会。
此外,随着对可解释深度神经网络研究的深入,出现了大量研究成果,如以“Interpretable deep neural networks”“Interpretable deep learning” “Interpretable Machine Learning”“Explainable Artificial Intelligence”为主题词在Web of Science核心合集(WBSCI)中检索到的SCI文章数逐年增加,仅在短短的4年时间内,论文数量就从2015年的65篇增加到2018年的233篇,如图1所示。
图1 WBSCI数据库中可解释深度神经网络论文数量变化Fig.1 Change of number of papers about interpretabledeep neural networks on WBSCI database
上述国际权威研讨会的召开和研究成果的出现,表明目前关于可解释深度神经网络的研究处于早期阶段,但随着深度神经网络的广泛应用,其重要性日益显现。
国内外学者对不同的深度神经网络提出了很多解释理论和方法,相应的综述性文章[12-14,20-25]对这些研究进行了总结。在已有的综述文献中,有些只针对特定深度神经网络或者部分方法进行了论述。文献[12]主要综述了敏感性分析方法[26]和LRP(Layer-wise Relevance Propagation)方法[27]。文献[13]主要对卷积神经网络的视觉解释方法进行综述。文献[14]从哲学、认知心理学/科学和社会心理学的角度对人工智能的可解释性问题进行论述。部分文献从黑盒模型、机器学习和人工智能可解释性的角度进行综述。文献[20]对黑盒模型的解释方法进行了分类和较为全面的论述,包括深度神经网络的可视化方法和任意类型黑盒模型的解释方法等。文献[21]对以往关于机器可解释性的工作进行分类,分析其面临的挑战并提供模型解释的可能方法。文献[22]通过在机器学习的背景下定义可解释性并引入预测性、描述性和相关性框架讨论可解释性。该框架为评估提供了3个总体需求,即预测准确性、描述准确性和相对于人类用户的判断相关性。文献[23]综述了现有提高机器学习模型可解释性的技术,并且讨论了社区未来应当考虑的关键问题。
也有一些学者对深度神经网络的可解释性进行了比较全面的分析和整理。文献[24]介绍了一些近期提出的深度神经网络解释技术以及理论、技巧和建议,以便在真实数据上最有效地使用这些技术。文献[25]通过定义可解释性对现有文献进行分类,指出当前深度神经网络的方法研究还不够充分,并展望了可解释人工智能的未来研究方向。
随着深度神经网络研究的深入和广泛应用,新的网络结构和解释方法不断出现和发展,对这些工作进行梳理分析和总结有助于把握深度神经网络可解释问题的最新研究进展和发展趋势。因此,学术界和工业界学者都在各自领域内针对深度神经网络的可解释性问题进行深入研究和探索[12-13,20,22,24,28-29],如表1所示,当前深度神经网络解释方法研究主要针对不同的网络结构,其中卷积神经网络(Convolutional Neural Networks,CNN)解释方法成果较多,循环神经网络(Recurrent Neural Networks,RNN)和生成对抗网络随着深入研究和广泛应用,其解释方法也逐渐引起了研究人员的注意,成为未来解释方法研究的发展趋势。从解释的形式来看,多数方法提供视觉解释,采用可视化的方法向用户提供决策的依据,如高亮图像区域或文本的关键字符等。另外一些方法试图提供自然语言描述语义的文本解释,描述做出决策的关键特征。多模态的解释方法同时提供视觉解释和文本解释,是一种较为完备的解释模式。
表1 深度神经网络主要解释方法分析Table 1 Analysis of the main interpretation methods for deep neural networks
深度神经网络本质上是一个非线性非凸的函数,对其进行纯数学理论分析解释非常困难,目前缺乏完备的理论和方法体系,深度神经网络解释方法和实际应用也尚未成熟,还亟须进一步深入研究。
1.1 卷积神经网络解释方法
卷积神经网络(CNN)被广泛应用于图像识别、语音识别、语义识别、自动驾驶等系统,其通常由一个或多个卷积层、池化层和顶端的全连接层组成,这一结构使得卷积神经网络能够有效利用输入数据的二维结构。与其他深度前馈神经网络相比,CNN大幅减少了网络参数,能够更好地利用GPU做大规模并行处理,从而是一种极具吸引力的深度学习结构。虽然CNN具有高精度的预测性能,但是在复杂的多层非线性网络结构中,理解和解释卷积神经网络仍然面临以下的挑战和困难:
1)难以确定和限制卷积神经网络隐藏神经元的语义。当前对卷积神经网络的可视化研究,可以让用户观察神经元学习到或激活的模式,但在高卷积层中仍不能自动映射到视觉的语义概念。高卷积层中同一个神经元经常能够混合检测多个模式,或者在不同的图像上检测不同的模式,这使得同一个神经元具有多个语义的不确定性,难以确定卷积神经网络隐藏神经元的明确语义,这种语义描述的复杂性使网络的可解释性大幅降低。
2)难以从视觉语义和文本解释上综合解释卷积神经网络决策过程和结果。由于卷积神经网络隐藏神经元语义的不确定性,从视觉语义和文本解释解释决策过程和结果更加困难。视觉语义解释需要清晰地展示决策过程中卷积神经网络哪些视觉模式被激活、对应于哪些视觉概念以及这些模式对最终结果的权重如何,因此,需要将视觉表征用富含语义的自然语言描述方式进行输出作为决策依据。视觉语义解释和文本解释相互对应和匹配,同时也互为补充。当前视觉语义解释和文本解释研究还处于独立发展初期[8,31,53-54],从视觉语义和文本两方面同时进行解释的研究还比较少见[9-10,55-56]。
1.1.1 隐层表征解释方法
CNN隐层表征解释方法可使神经网络具有清晰的符号化的内部知识表达,同时匹配人类自身的知识框架,人们可以在语义层面对神经网络进行诊断和修改。
CNN内部可视化方法通过CNN内部卷积核可视化的方法来解释CNN内部所学到的图像表征。理解CNN内部网络的操作需要追踪多层网络中每一层的特征状态,而中间层的状态可以通过反卷积网络(Deconvolutional Network)[30]技术反向映射回输入层的图像像素空间。反卷积网络可以理解成另一个反向的CNN,其具有同样的网络结构,包括卷积元、池化层等。反卷积网络主要作用是把CNN从像素学会的特征还原成可以从任意一个输出层或者中间层反推到输入层的对应像素。反卷积网络清楚地证明了CNN高效的学习能力:通过学习图像中物体从小至大的特征而归纳出物体的整体特征,CNN网络中海量的内部隐藏特征元并不是随机的。该结论极大地加深了使用者对于CNN模型的理解,从而进一步信任模型的结果。反卷积网络除了可以观察解释CNN内部结构外,还可以用来解决模型建立和调试时遇到的问题,并通过分析内部结果得到更好的模型。另一种替代方法是不使用简单的反向传播,而是使用导向反向传播(Guided Back Propagation)算法[76]。这种技术不仅能够识别一个修正线性单元(Rectified Linear Unit,ReLU)是否被激活,而且可以识别所有值为负的梯度。在此基础上,把所有不被激活的修正线性单元ReLU关闭,并且把所有反向传播时遇到的负信号设置为阈值0,更符合ReLU在前向传播时的特性。通过去除所有负梯度对所选神经元造成的影响,只保留正面的影响,反向传播最后获得的图片更加清晰。
通过类激活映射(Class Activation Mapping,CAM)[31]方法发现CNN提取的特征包含位置信息,特定的卷积单元识别图像中相对固定的部分,不同的卷积单元通过识别不同的部分,并在最后将不同的部分组合起来,从而可以识别物体。该方法可以确定每个卷积核所对应的特征图的权重,但是每个卷积核特征图的语义却难以确定,如图2所示。CAM方法只能解释特定结构的CNN网络,如卷积特征图到全局平均池化层再到Softmax层这类结构。
图2 类激活映射方法示意图Fig.2 Schematic diagram of class activationmapping method
网络剖析(Network Dissection)是一种解释深度视觉表征并量化其可解释性的方法[32]。首先构建一个带有不同语义概念的图片数据库,库中每张图都有像素级的标定(如颜色、纹理、场景、物体部分、物体等),对训练好的模型提取出每张图片的激活响应单元谱,然后利用交并比(Intersection over Union,IoU)来计算每一个卷积核所对应的一组语义概念的分割能力,当卷积核对某类语义概念的IoU超过一定阈值时,则认为该卷积核在检测这个语义概念,如图3所示。
图3 网络剖析方法语义分割示意图Fig.3 Schematic diagram of semantic segmentationin network dissection method
通过优化激活特定神经元或一组神经元生成图像,可以可视化神经元学到的内容[33-34]。对于带有随机噪声的图像,可通过优化像素来激活所训练DNN中的特定神经元,进而可视化神经元学到的内容。
1.1.2 敏感性分析方法
敏感性分析方法的基本原理是去掉或者改变组件(如图像中的像素或语义分割区域)的值,观察决策结果的变化情况,决策结果改变较大对应为重要的组件。应用灵敏度分析只能回答哪些特征影响了该输入数据的分类结果,但不能回答“为什么是该分类结果”这类更为基本的问题。
1)一般敏感性分析方法
遮挡法采用一个灰色的方块对图像的不同部位进行遮挡来观察对图像分类结果标签的影响。该方法的缺点在于方块的大小、颜色和位置难以确定,选择不同的参数可能会得到不同的解释结果[30]。
样本敏感性分析法[35]对训练样本做微小扰动改变,最后收敛的参数也会发生改变,然后得到参数的改变对微小扰动的导数,这个导数称为这个样本的影响力函数。此方法也可以应用到对抗样本的生成中,只需要在一部分影响力函数较大的样本中添加一些肉眼不可见的扰动,就足以干扰其他样本的判定结果。RISE[36]是一种黑盒方法,其通过对输入多个图像随机屏蔽的模型进行探测,并获得相应的输出,从实验上估计每个像素的重要性,实验效果优于遮挡法[30]、Grad-CAM[40]和LIME[47]。FIDO是一个计算和可视化分类器特征重要性的模型诊断框架,将遮挡区域边缘化,对图像非遮挡部分的生成模型进行调节,以对改变或保留分类器行为的反事实输入进行采样,其通过利用一个强大的条件生成模型生成显著图,能够较好地识别相关和集中的像素[37]。
2)基于梯度的敏感性分析方法
显著图方法通过在像素上进行微小扰动,观察模型预测类别概率的变化,从而计算每个像素的梯度,得到每个像素的重要程度[26,38]。
LRP方法是一种计算逐像素贡献的分解方法[77],自提出以来被广泛应用于解释图像分类[27,78-79]、文本分类[80-81]和视频中的人类行动识别[82]等计算机视觉任务。针对视频分类任务解释,LRP方法只能对人体动作识别中基于Fisher向量编码和SVM分离器的压缩域方法进行解释[82],较少有对采用深度学习模型进行视频分类解释的研究。LRP方法使用前馈结构图,可以对模型预测值进行分解计算,从网络的输出开始,依据图结构进行反向传播计算,逐步调整相关分数,直到输入层,调整相关分数的过程遵守局部相关性守恒原理。深度泰勒分解方法扩展了LRP,其核心思想是根据输入的贡献分解神经元的激活函数,通过在根点(Root Point)处的一阶泰勒展开实现。深度泰勒展开的难处在于根点的选择。此方法最先用于解释分层网络的预测结果[39],后被用于解释卷积神经网络的预测结果[27]。
Grad-CAM[40]利用最后卷积层的梯度生成热力图,突出显示输入图像中的重要像素用于分类,证明了采用全局平均池化(GAP)来生成CAM等价于利用梯度计算激活值的特殊情况。Grad-CAM可以在保持原有网络结构的基础上生成类激活热力图。
针对梯度饱和问题,学者又提出了集成梯度法[41]和DeepLIFT方法[42]。DeepLIFT方法在MNIST等数据集上的效果优于基于梯度的方法。基于属性方法应当满足灵敏度公理和实现不变性公理的特点,学者提出的集成梯度法具有很强的理论合理性,但仍然没有解决输入特征与网络所采用的逻辑之间的相互作用问题:反卷积网络和导向反向传播违反了灵敏度公理;DeepLift和LRP方法违反了实现不变性公理。此外,SmoothGrad[83]则是一种增强基于梯度的灵敏度图可视化效果的简单方法。
网络梯度的显著图、反卷积网络,导向反向传播、LRP等流行的解释方法不能在理论上正确解释一个简单的线性模型(可视为简单的深度模型),更不能解释非线性的深度神经网络[43]。在分析线性模型的基础上提出的PatternNet和PatternAttribution方法对线性分类模型理论完备,从理论、定性和定量方面对理解深度神经网络都有所改进和完善,并且只需要一次反向传播计算,可支持模型决策的实时可视化解释[43]。PatternNet能够估计出信号的正确方向从而改进了反卷积网络和导向反向传播的可视化过程。PatternAttribution扩展了深度泰勒分解方法,可以从数据中学习如何设置根点。不同解释方法的图像分类效果如图4所示[43]。值得注意的是,对解释方法进行攻击是可能的,对此将形成错误的解释[84]。
图4 不同解释方法的图像分类效果Fig.4 Image classification effects of different interpretation methods
1.1.3 可解释的CNN构建方法
可解释的CNN构建方法通过对传统的CNN进行改造,使其具有更好的可解释性。ZHANG等人介绍了如何端对端地学习一个CNN,使得其内部高层卷积层的每个卷积核自动表示某个对象部分。可解释的卷积层结构如图5所示[44-45],可以看出,算法并不需要人为标注对象部分或纹理作为额外的监督信号,而是为这些卷积核添加一个先验约束,使得在训练过程中自动回归到某种对象部分。
图5 可解释的卷积层结构Fig.5 Interpretable convolutional layer structure
YIN等人提出一种空间激活多样性损失函数构建可解释的人脸识别网络[85],使得可解释的表征具有识别性,并且对遮挡具有鲁棒性。BENGIO等人提出一种可直接处理语音时序信号的可解释神经网络结构SincNet[46],其只针对第一层网络进行设计,意在学习更有意义的滤波器。通常来说,对于处理声音时序信号,第一层网络的提取能力至关重要,因为其提取的低维特征的有效性是高层网络学习有意义的高维特征信息的前提。KUO等人提出一种可解释的前馈设计,无需任何反向传播作为参考,采用以数据为中心的方法,基于前一层的输出数据,以一次通过的方式导出当前层网络参数。同时,其在数据集MNIST和CIFAR10上对基于反向传播和前馈设计的CNN进行了分类性能和鲁棒性比较[86]。
1.1.4 模型模仿解释方法
模型模仿解释方法使用可解释的模型模仿深度神经网络模型,从而解释深度神经网络模型的行为,如图6所示。深度神经网络整体是一个非线性非凸模型,但是在局部区域可以用线性模型进行模仿和逼近,说明深度神经网络具有局部的线性特征,如图7所示。在此基础上,LIME算法利用线性模型分析深度神经网络的局部行为,使用稀疏线性模型逼近深度神经网络的预测[47]。LIME在做出图像分类决策时,不考虑触发神经网络中的哪个神经元,而是在图像本身中搜索解释,将原始图像的不同部分变黑,并将产生的扰动图像反馈回来,以检查哪些扰动将算法抛离最远。通过这种方法,LIME 可以将初始网络分类决策归因于原始图片的特定特征。例如对于青蛙的图像,LIME 发现抹除部分脸部会让初始网络很难识别图像,这表明最初的分类决策大多是基于青蛙的脸。
图6 使用可解释模型模仿深度神经网络行为示意图Fig.6 Schematic diagram of imitating deep neural networksbehavior using interpretable models
图7 深度神经网络的局部线性特征Fig.7 Local linear feature of deep neural networks
决策树是另一种用于模仿深度神经网络的方法。文献[87]通过一系列逐层梯度增强决策树提取网络,并用叶节点的指数编码神经元激活序列。文献[48]采用决策树模型分析深度神经网络的局部行为,通过树规范化的方法训练一个容易被决策树解释的网络。文献[49]采用决策树和随机森林作为元学习器来解释图像的分类过程,实现了隐藏层上所有测试实例的全局解释,而不会牺牲原始CNN模型的精度。文献[50]介绍了一种把CNN的卷积层内部知识转化成解释图模型的方法。算法自动学习出一个包含成千上万个节点的知识图去解释CNN内部的层次化的知识结构,解释图中每一个节点严格表示在CNN中某个卷积层的对象部分模式,从而把混乱的CNN的知识拆分成几十万对象部分的子模式。文献[51]提出用决策树量化解释CNN的方法,使用决策树在语义层次上来量化解释CNN预测的逻辑。决策树中的每个节点表示特定的决策模式,且该决策树以由粗到细的方式组织所有的决策模式,接近顶部根节点表征许多样本共享的通用决策模式,接近叶节点对应少数样本的细粒模式,特别是每个叶节点对应于 CNN 的输出关于图像中不同物体部位的梯度。文献[52]使用解释网络对训练后的CNN中的卷积层特征图进行分离。解释网络将输入特征分解为对象部分特征图,以解释执行者中的知识表示,使每个卷积核表示特定的对象部分。解释网络还可以反转分离的对象部件特征,以重建CNN的高层特征,而不会损失太多信息。
1.1.5 文本解释方法和多模态解释方法
文本解释方法是指为模型决策结果生成文本形式的自然语言描述来解释决策的依据,如目标所包含的特征。这与看图说话(Image Captioning)方法不同,看图说话是指对图像中的内容采用文本方式进行一般描述,并非对模型决策进行解释和说明。文献[53]提出一种基于抽样和强化学习的损失函数,该函数学习生成具有全局属性的句子。对一个细粒度鸟类物种分类数据集的研究结果表明,其能够在一定程度上产生与图像一致的自然语言描述的文本解释。InterpNET可以对分类任务生成自然语言解释,并在细粒度鸟类物种分类数据集上进行了验证,然而生成的解释还不完善,如图8所示[54]。
图8 鸟类图像分类的文本解释方法示意图Fig.8 Schematic diagram of text interpretation method forbird image classification
多模态解释方法不但为模型决策生成文本解释,而且在图像上生成对应的视觉证据区域,如图9所示。PJ-X模型使用注意力机制构建模型生成决策结果的视觉解释,对结果生成文本描述的自然语言解释,并在视觉问题任务和活动识别任务上进行了验证[55-56]。MDNet是一个能够具有在语义上和视觉上为可解释性的医学图像诊断网络,给定一张医学图像,MDNet能够自动生成完整的诊断报告同时在描述图像时显示图像关注区[9]。文献[10]针对自动驾驶任务,采用视觉注意力模型训练卷积神经网络端到端的学习图像至控制命令,然后利用基于注意力的视频转文本模型生成模型行为的文本解释。
图9 多模态解释方法示意图Fig.9 Schematic diagram of multimodalinterpretation method
1.2 循环神经网络解释方法
循环神经网络(RNN)是一类用于处理序列数据的神经网络,常见的RNN网络有LSTM[88]、BLSTM[89]、GRU[90]等,被广泛应用于语义分析、情感分析、图像文本标注和语言翻译等任务。
可视化的方法对理解RNN的特定方面非常有用。文献[57]使用静态可视化技术来帮助理解语言模型中的隐藏状态,研究结果表明,选定的单元格可以为明确的事件建模,例如括号和统一资源定位符(Uniform Resource Locator,URL)的开头。文献[58]基于梯度的显著性来找到重要的单词,使用表征标绘等传统方法和简单策略来评估神经元对于语义构建的贡献度。文献[57-60]证明了RNN学习携带语义信息的词汇类别和语法功能。LSTMVis是用于递归神经网络的可视化分析工具,专注于了解这些隐藏的状态的动力学过程[61]。LISA用于解释决策并检测网络在决策制定时所依赖的最可能模式[62]。文献[63]提出可视化存储向量以理解LSTM和GRU在语音识别任务中的行为。RNNVis基于RNN对输入的预期响应来可视化隐藏状态,当有负面词如worst输入时,将大量激活负面情感隐藏单元簇,对应于负面情感;当有正面词如excellent输入时,将大量激活正面情感隐藏单元簇,对应于正面情感,如图10所示[64]。文献[65]研究了深度双向语言模型的内部状态,以学习情境化的单词表示,并观察到更高级别的隐藏状态捕获单词语义。LRP技术应用于基于单词的双向LSTM模型上的5类情感预测任务,并定性和定量地评估所得的相关性[81]。
图10 基于GRU的语句情感分类解释Fig.10 Sentence sentiment classification interpretationbased on GRU
此外,一些方法使用神经注意力机制扩展RNN,通过改变底层模型结构,允许模型专注于输入的特定方面,使其针对某些问题更易于解释。文献[66]在机器翻译中使用注意力机制进行软对齐。文献[67]使用注意力机制来识别图像的重要方面以用于图像描述生成。文献[68]使用注意力机制来提取文档的重要方面。文献[69]在人类活动识别任务中采用时间注意力和传感器注意力模型来理解和改进RNN。结构演化的LSTM通过随机地合并沿着堆叠的LSTM层具有高兼容性的图节点来逐渐演化多级图表征,在每个LSTM层中,估计两个连接节点与其对应的LSTM门输出的兼容性,用于生成合并概率,相应地生成候选图结构,学习中层可解释的多级图结构[70]。基于顺序迭代软阈值算法SISTA的可解释RNN,也可用于求解序列稀疏恢复问题[71]。
1.3 生成对抗网络解释方法
生成对抗网络(GAN) 是一种生成式模型[91],其基本设计思想源自博弈论的二人零和博弈。GAN由一个生成器和一个判别器构成,通过对抗学习的方式来训练,目的是估测数据样本的潜在分布并生成新的数据样本。此后,各种基于GAN的衍生模型被提出,如CGAN[92]、DCGAN[72]、InfoGAN[93]、StackGAN[94]、WGAN[95]、SeqGAN[96]和PPGN[97]等,以改进模型结构,进一步进行理论扩展及应用。GAN在图像和视觉计算、语音和语言处理、信息安全、棋类比赛等领域,具有广阔的应用前景。
当前GAN解释方法主要采用可视化方法。文献[72-74]采用操纵潜在向量并观察如何相应地改变结果的方法来理解和解释GAN的过程。GAN剖析方法是一个分析框架,用来可视化理解单位、对象和场景级别的GAN,即解释GAN如何生成一张图像[75]。首先用一种基于语义分割的网络分割方法识别出一组与对象概念密切相关的可解释单元,如图11所示;然后通过测量干预控制输出对象的能力来量化可解释单位的因果效应,并将发现的对象概念插入到新的图像中来检查这些单元与其周围环境之间的上下文关系。在实际应用场景中,采用此框架比较不同层、模型和数据集的内部表示,通过定位和删除相关的单元来改进生成对抗网络,以交互操作场景中的对象。
图11 使用GAN剖析方法寻找语义类(树)生成单元示意图Fig.11 Schematic diagram of finding generator unitsthat match meaningful object classes (like trees)using GAN dissection method
2 解释方法评价
如何评价各种解释方法的优劣可以从认知科学[98]、定性和定量的角度[25]分别描述。由于人类本身在哲学、心理学、认知科学等层面,对于人类的理解和解释的认知还十分有限,因此本文的主要方法不涉及人类的认知心理过程。
深度神经网络解释方法的定性评价需要由人来进行主观评价最终的解释结果,主要包括深度神经网络的多数可视化解释方法,如通过高亮敏感图像区域的敏感性分析方法、RNN和GAN的可视化解释方法等。由于定性评价存在内在的复杂性和主观性,因此下文主要从定量方面来描述和定义解释评价指标。
2.1 评价指标
定量评价方法主要采用基于数据驱动的方式。在特定的数据集上评价各种方法的优劣,其评价指标主要包括滤波器可解释性指标[99]、位置不稳定性指标[44-45,50]和文本解释性指标[54,100]等。针对卷积神经网络学习到的语义模式,可以采用单元可解释性指标和位置不稳定性指标进行评价;针对文本解释方法,可以采用METEOR指标进行评价[100]。
1)滤波器可解释性指标Pf
滤波器可解释性指标用于评价神经元对于某个视觉概念的客观得分。设x为输入图像,Af(x)为内部卷积滤波器f的激活图,Lc为原图像对于视觉概念c的掩码,Sf(x)是Af(x)通过双线性差值后放大到原图像大小的激活图。二值分割掩码Mf(x)≡Sf(x)≥Tf,Tf是激活的阈值。滤波器f对于视觉概念c的交并比If,c为:
(1)
其中,|·|表示集合的大小。当If,c大于某个阈值ε时,可以认为滤波器f在检测视觉概念c,即该滤波器f检测视觉概念c的概率为Pf,c=Ex1(If,c>ε)。值得注意的是,一个滤波器可能检测多个视觉概念,需要选择得分最大的视觉概念,即Pf=maxcPf,c。检测到的视觉概念数量可作为网络层可解释性的衡量标准,因为它更好地衡量了出现的可解释概念的多样性和覆盖范围。
(2)
定义滤波器f和第k个地标的相对位置标准差Df,k:
(3)
3)文本解释性指标METEOR
METEOR为对应最佳候选译文和参考译文之间的准确率和召回率的调和平均。METEOR对于每个匹配器mi计算假设(hc,hf)和参考(rc,rf)所覆盖的内容和功能词的数量(mi(hc),mi(hf))和(mi(rc),mi(rf)),其中,α、β、γ、δ和w1,w2,…,wn∈{wexact,wstem,wsyn,wpar}均为用于评价的默认参数,如α=0.7、β=1.4、γ=0.3、δ=0.7和wexact=1、wstem=0、wsyn=0、wpar=0.6。
METEOR计算方法如下:
(4)
(5)
(6)
(7)
METEOR=(1-Q)F
(8)
其中,惩罚因子Q表示候选译文词序与参考译文词序不同的程度,该值越小越好,ch表示既在候选译文中相邻又在参考译文中相邻的能够匹配的字符串数量,m表示候选译文中能够匹配的一元组数量。
2.2 解释方法定量评价
表2 评价数据集及其特点描述Table 2 Evaluation datasets and their characteristics description
表3 VOC Part数据集上CNN 滤波器可解释性Pf均值Table 3 Mean interpretability Pf of CNN filters on VOC Part dataset
表4 CNN滤波器位置不稳定性均值Table 4 Mean location instability of CNN filters
表5 CUB200-2011数据集上文本解释性值Table 5 Explanatory index of text on CUB200-2011 dataset
3 研究展望
从使用者的角度,深度神经网络解释方法有两方面作用:一是针对模型开发者,用于增强模型的鲁棒性,设计开发更好的模型,对应于解释方法理论研究;二是针对模型最终使用者,如医生、指挥员等决策人员,用于更好地信任和应用模型,对应于解释方法的应用研究。
3.1 理论研究
深度神经网络解释方法的理论研究,首先能够验证深度神经网络模型的有效性、可靠性和鲁棒性。数据驱动训练的模型具有良好性能,但是模型很有可能存在数据偏见,或利用数据中不合理的模式进行决策或者受到欺骗和干扰,通过决策解释可以对模型进行各方面验证;其次能够诊断模型,设计更好的网络结构,改善模型性能。调试机器学习模型,改善系统性能的第一步就是了解系统的弱点和缺陷。弱点分析黑盒模型比可解释模型更困难,并且当模型可解释时,检测模型或者数据的偏差也会更容易。在设计和比较不同模型或者架构时,模型的可解释性也会有所帮助。
针对模型开发者,深度神经网络解释方法的进一步研究可以从以下4个方面展开:
1)模型结构的可解释性
模型结构的可解释性回答为何这样设计模型可以得到更好的结果,如深度学习中的各种网络结构、损失函数、激活函数以及参数设置。模型结构的可解释性往往和神经网络的优化理论相关。LI等人在此方向进行了探索,采用可视化的方法研究了网络结构对损失函数曲面的影响,探索神经网络损失函数的非凸结构如何影响可训练性,以及神经网络的极小点的几何形状如何影响模型的泛化性能[106]。
2)知识与深度神经网络相结合
知识图谱的表示学习旨在学习知识图谱组成元素的实值向量化表示。连续的向量化表示可以作为神经网络的输入,从而使得神经网络模型能够充分利用知识图谱中大量存在的先验知识。采用知识图谱技术将人类的知识引入到数据驱动的深度学习模型中,可以减少模型对样本数量的依赖,大幅提高模型的性能,突破深度学习模型效果的天花板,同时对基于深度神经网络的决策过程和结果进行解释。文献[107-108]开始探索利用知识图谱进行解释概念、实体和词袋等。
3)RNN和GAN的解释方法
当前对CNN的解释方法研究较多,成果较为丰富,而对RNN和GAN的解释方法研究较少。RNN存在隐藏状态及所用参数多、处理的文本等序列数据本身语义信息繁多难以解释、单词与隐藏状态的多对多影响关系等诸多困难,其内部机制目前仍然没有得到清晰理解,RNN的性能如何受到门控单元数量和类型的影响、数值隐藏状态转换的语义含义等问题亟需进一步深入研究。GAN可以生成高质量的图像,但是仍然缺乏理解GAN工作机制的方法,难以知道生成的结果在网络内部如何表示。不同GAN的改进变种在各文献的实验部分都显示其比作为实验基准的其他GAN效果好,但是无法从内部的结构来理解为何会造成效果的显著性提升。因此,如何合理地可视化和理解GAN成为了另一个亟需解决的问题。
4)高层神经元的语义稳定性
对于CNN的普遍共识是底层的滤波器学习纹理等简单信息、高层的滤波器学习语义信息,但高层神经元构成整个空间包含语义信息,而非单个神经元。深度神经网络学习的输入输出映射在很大程度上是不连续的,这造成可以通过应用某种人类难以察觉的扰动使深度神经网络实现图像错误分类[1]。简单的随机扰动往往没有作用,而需要精心设计找到对抗样本。在加入对抗噪声时,网络高层神经元将不能描述表征图像的高层语义,丧失语义性,这使得在对抗样本攻击时,不仅会使模型失效,并且会使得对应的解释方法失效。因此,如何建立具有稳定高层语义的深度神经网络还有待进一步深入研究。
3.2 应用研究
深度神经网络解释方法在从模型中学习、遵守法律与保护人权方面以及军事、医疗和金融投资等高风险决策领域有着以下广阔的应用前景:
1)能够便于人类从模型中学习。深度神经网络模型基于大量的数据进行学习和训练,人类只能学习有限数量的样本,此时系统可能发现人类难以发现的模式。应用可解释的智能系统,人类很容易从中抽取系统学到的知识。
2)能够更容易遵守法律与保护人权。深度神经网络模型正在影响人类日常生活的方方面面,模型决策错误的责任该如何分配等法律问题引起了人们的广泛关注。依赖黑盒模型很难给出满意的答案,而可解释的模型给出的决策依据可以支持应对相关的法律问题。欧盟于2018年5月生效的《通用数据保护条例》(General Data Protection Regulation)规定,受算法决策影响的人有权要求自动决策系统提供解释,这说明模型有必要变得更加可以向用户解释。
3)在军事智能分析决策领域应用前景巨大。目前,基于深度神经网络的智能决策正在快速应用至各种军事领域。军事情报分析人员利用机器学习对大量的监控数据进行智能分析,各国也在开发、测试无人车、无人机和水下无人装备等智能无人作战系统。在军事等高风险的任务中,默认情况下用户不能直接信任“黑盒”系统,用户需要通过模型给出决策依据信息。情报分析人员不愿意在缺乏推理过程时采取进一步行动,指挥员可能会抵触无法解释其作战行为的机器人和智能决策系统。因为这些智能决策系统的本质决定了系统决策易受干扰,通常不可避免地会产生假警报或者误判,用户需要理解系统如何决策,以便采取下一步行动,如接受、拒绝、调整这些决策结果。因此,在未来情报分析、有人-无人系统协同作战甚至全自主无人作战系统等军事应用和场景中,基于可解释的深度神经网络的智能决策系统都有着巨大的应用前景。
由于当前深度神经网络的解释技术尚不成熟,离实际应用还有较大差距,因此针对模型使用者,下一步研究将主要从以下两方面展开:
1)采用解释方法开发深度神经网络模型的评价工具,从内部学习到的知识表征、输入输出、模型模仿等多个角度来评估模型的鲁棒性和泛化能力,进一步确定用户对模型的信任水平。
2)在模型评价工具的基础上,与具体行业应用相结合,开发其决策解释系统。决策解释系统可以分为两种类型:一种是在决策之前,系统给出决策结果和决策依据,供用户进行最终判断,如军事、金融投资、医学诊断等决策领域;另一种是针对事后分析,对错误决策进行解释,分析错误发生的原因,如自动驾驶事故分析等。
4 结束语
在高风险决策领域,理解深度神经网络的决策结果和过程对于建立人机互信、人机协同的智能系统至关重要。本文针对当前深度神经网络存在的弱解释性问题,分析卷积神经网络、循环神经网络和生成对抗网络的各类解释方法,并结合深度神经网络的发展趋势对解释方法未来研究方向进行展望。从当前研究进展可以看到,各类深度神经网络层出不穷,但理解和解释其内部机理依然面临诸多困难和挑战。下一步将主要对军事智能感知和分析决策领域内广泛应用的深度神经网络进行解释理论和方法研究,帮助建立基于深度神经网络的可解释且鲁棒的军事智能决策系统,为指挥员/决策人员提供决策结果、依据和解释。