赞
踩
原文链接:https://zhuanlan.zhihu.com/p/48279309 (2018年)
最近由于项目需要,集中调研了一些深度学习领域的可解释性研究的方法。大概整理为了以下几类方法,欢迎大家参考与交流。
1.隐层分析法
该方法[1-3]通过可视化,反映射以及标记出隐层神经元所学到的特征的方式来解释深度神经网络。
多用于计算机视觉领域中,如[3]中,在卷积神经网络的基础上,引入反卷积神经网络,即利用卷积层中卷积核的转置来进行反卷积,并可视化出每个网络层学习到的特征,具体过程如图1所示。其中隐层特征的可视化过程如图2所示,通过反卷积的方法,重构出了每层具有高激活值的特征。从每个可视化特征对应的原图像来看,隐层特征都很好的学到了原始图像的模式。
该种方法可以对隐层特征进行有效的定性分析,但对于网络整体的特征的定量分析上,仍有所欠缺。
2.模拟模型方法
该方法利用模型压缩的方法,通过构造一个简易模型的方式,模仿原深度模型的决策函数,达到解释模型以及与原模型相近的结果的效果[4-7]。如[4]中提出的压缩模型框架,在多层深度网络(Teacher Model)的基础上,构造了一个与该模型参数量相同的单层神经网络(Student Model)。其中,Teacher Model利用交叉熵来训练模型,Student Model则以Teacher Model的最后一层隐层输出(Softmax层的输入)作为label来进行回归学习,并达到与原Teacher Model相同的效果。
该种方法由于学习到了一个更加简易的神经网络模型,其可解释性相比之前的复杂模型大大提高。然而,由于模型的简化也意味着模型复杂度的大大降低,这并不能保证具有非常大的VC维的深度网络可以被简易模型很好的模拟[8-10]。因此在解释性上,这两种模型之间仍存在一定的鸿沟。
3. 注意力机制
在深度网络中引入注意力机制同样是当前业界比较常见的方法。该种方法在不影响模型效果的前提下,引入Attention向量,对特征及网络中的隐层特征赋予不同的权重,并在训练过程中对该权重进行学习,使得我们可以得到各个特征对于模型学习的重要性程度,从而达到解释模型的效果。这一机制在计算机视觉[11-13]以及自然语言处理[14-16]等领域都得到了广泛的应用。近年来在计算广告与推荐领域同样得到了一定的应用[17-20]。如[20]中,为了实现对用户的个性化推荐,对item的所有特征引入Attention机制,学习用户对每个item的每一维度特征的偏好权重,并通过权重特征的可视化,直观地得出用户在选择一个item时,更关注的是该item的哪些特征,从而达到对用户更精准的推荐。整体的模型框架以及不同user对item的特征偏好可视化分别如图3和图4所示。其中,图4中为两个用户对最喜欢的电影的体裁偏好程度(共18种体裁),颜色越深表示偏好程度越强烈。
可见,该种方法可以很直观并准确地体现出用户在特征层面的重要性程度,从而为相似用户的协同推荐以及模型的可解释性上都有一定的贡献。然而,该种方法在模型的整体的特征重要程度上,仍有一定的欠缺。为了弥补这一缺点,实现模型的整体性,目前较为常见的业界方法为对学到的Attention权重矩阵进行不同用户的平均处理,从而得到一个比较整体的特征重要性权重。另一种方法为,将用户分为多类,不同类别对应着不同的决策权重。该种方法将在方法四中详细介绍。
4. 分段线性函数下的神经网络(Piecewise Linear Neural Networks, PLNN)
该方法将分段线性函数作为神经网络中神经元的激活函数。同时在此基础上引入每个神经元的状态states。所有states的数量由分段线性函数的分段数决定。分段线性函数的公式如下:
其中,k为不同的k个states,而每个神经元的输入都必须满足由该神经元的激活状态state所决定的不等式约束,而该样本的所有states构成的一组线性不等式约束则确定了凸多面体的决策平面。
可以看到,到这里,仍然学得的是每个样本的state matrix所又称的决策平面,仍不具有整体性。为了进一步表达模型的整体性,该方法将具有相同state matrix的样本分为一类,该类中所有样本共享一个决策平面。从而在group-wise的层面上,表现了模型在整体性上的可解释性。
进一步分析,由于分段线性函数在每个状态下对应一个线性函数wx+b。而该方法最终的输出函数为:
可以看到,该方法的本质仍是在学习每个样本的基于其每个特征维度的权重。
综上,当前基于深度学习方法的可解释性研究,主要围绕隐层分析,模拟模型,注意力机制的引入以及隐层状态向量的引入来进行。本质上,仍是在通过隐层的特征的可视化与分析,来得到personal-wise或者group-wise的解释性。而即使是可以体现出一定的整体性的PLNN方法,其使用分段线性函数作为隐层激活函数,并不属于当前普及的神经网络的激活函数,因此用到某些特定场景可能并不能达到使用其他激活函数的效果,因此仍存在一定的局限性。未来可能会在更普适,更平滑的激活函数下的神经网络的可解释性上进行进一步探索。
参考文献
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。