神经网络可解释性可视化方法研究
2022-02-03于芝枝
于芝枝
(国家知识产权局专利局专利审查协作广东中心,广州 510535)
0 引言
随着深度学习的快速发展,神经网络已经在图像分类、目标检测等领域取得了重要成果[1]。神经网络依旧存在系统的理论基础缺乏、需大规模训练数据等缺点,人们对其工作机制缺乏足够的理解,导致在安全性、可靠性要求较高的领域尚未得到实质性应用。为了更好地理解神经网络,研究其模型工作机理以及改进现有模型策略,可视化工作关注其神经元提取特征和特征间关联,有助于理解模型,学习到知识,以及内在工作机理。同时可视化工作使得整个神经网络训练过程和训练信息具体化,有助于设计和训练一个更好的模型。
1 可视化方法分类
根据可视化方法适配神经网络中模型部位、阶段,可视化方法可大致分为:特征可视化、关系可视化和过程可视化等三种方法。
1.1 特征可视化
特征可视化指神经网络提取特征具象化。Zeiler 等[2]提出采用多层反卷积网络,将激活值投影到输入空间,通过遮挡方式找到图像对分类结果影响较大的部分区域。Girshick 等[3]提出使用图像不同部位区域输入网络,通过观察特征变化进行可视化。
1.2 关系可视化
关系可视化指模型学习到的特征间关系以及神经元间关系可视化操作。关系可视化通常需要降维或聚类算法辅助。朱卫坪等[4]结合t-SNE 降维与K-means 聚类算法,对海量、高维、多元的化工产品数据进行降维可视化,分析实现节能减排的重要指标。Liu 等[5]将CNN 定义为有向无环图,提出混合可视化,解释神经元学习到的特征及相互作用。
1.3 过程可视化
过程可视化指可视化神经网络结构和训练信息。其目的是厘清深度学习模型的工作机制。过程可视化通常需要可视化工具或系统辅助实现。Yosinski 等[6]利用深度可视化工具箱实时地、交互式可视化网络中神经元对输入图像或视频的影响。Chung 等[7]利用ConvNetJS 系统动态调整神经元、增加或删除网络层等操作,引导网络过程训练。
2 特征可视化举例
Grad-CAM(Gradient-weighted Class Activa⁃tion Mapping)[8]利用网络反向传播的梯度计算出特征图每一个通道的权重,从而得到热力图,属于特征可视化范畴。Grad-CAM 无需重新训练,可用于不同任务的网络,如图像分类、看图说话、图像问答等。Grad-CAM 计算见公式(1)和公式(2)。
其中,A表示最后一层卷积层输出特征层,k表示特征层A的第k个通道,c表示类别,Ak表示特征层A第k个通道数据,表示Ak对应类别c的权重(其计算见公式(2))。
式(2)中,yc表示针对类别c的预测概率,表示特征层A第k个通道坐标(i,j)处的数据,Z表示特征层的宽度×高度。
Grad-CAM可视化流程如下:
(1)首先通过归一化指数函数softmax 得到分类概率yc,对最后一层卷积层的所有特征图A求偏导,得到和A大小相同的偏导矩阵。
(4)将二维矩阵进行激活函数Relu 处理,把负数变为0,得到矩阵。
在文献[8]中,为了识别图1 中的类别“狗”,利用Grad-CAM 获得一个粗糙的热力图,并与原图进行叠加,效果如图2所示。
图1 原图
图2 效果图
3 结语
神经网络可解释性促进深度学习在现实中的应用,同时也会扩展深度学习领域知识边界。依据神经网络模型结构,本文把其可解释性可视化方法分类为:特征可视化、关系可视化和过程可视化,并对其概念进行了解释。最后利用Grad-CAM 特征可视化方法举例,阐述其工作原理。