『人工智能』NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展( 三 )


2 ProtoPNet怎么学习人?
既然人是通过 this looks like that 来解释的 , 那么机器学习的模型是否可以模仿这个过程来解释模型推理的依据呢?本文提出的 ProtoPNet 就是从推理的可解释性角度来处理图像 。 该网络的结构如下图所示:

『人工智能』NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展
本文插图

图 2:ProtoPNet 网络结构 。
如图 2 所示 , 输入一张推理图片 , 输出分类的结果 。 该网络主要由卷积网络 f , 原型层(prototype layer)以及一个全连接层 h 组成 。
卷积网络 f:在卷积网络部分 , 网络可以是 VGG , ResNet 等经典结构 , 并且以 ImageNet 的预训练参数初始化 。 假设输入图像的大小为 224*243 , 通过卷积网络输出的大小为 HWD(e.g H=W=7) , 令 z=f(x) 表示卷积输出 。 这一部分也就是常见的特征提取作用 。
原型层(prototype layer):在 prototype layer 部分 , 网络学习了 m 个原型 P , 这些原型 P 以卷积层的特征图为输入 , 经过 m 组的卷积网络得到不同 patch 的原型激活值 , 该原型激活图的大小在本文中为 h=w=1 。 不同的原型 p 可以表示不同的典型部位 , 计算 pj 和 z 之间的 L2 距离 , 并将这个距离转换为相似度分数 。 这种由分数表示的激活图表明了图像中的典型部分的显著强度 。
全连接层 h:经过前面的提取特征并聚类到原型得到相似度分数后 , m 个相似度分数通过全连接层 h , 得到最终的输出单元 , 经过 softmax 之后得到预测概率 , 分类图片结果 。
本文在训练这个网络的时候 , 通过对以下三个步骤迭代的进行优化完成网络更新 。

  1. 除了最后一层前面运用 SGD
  2. 典型特征的映射过程
  3. 最后一层的凸优化

3 网络的可解释性
在第二部分 , 我们概述了这个网络的结构部分并且解释了每个部分的作用和组成 , 但是我们并不知道这个网络为什么能学习人的解释机制呢?那么接下来 , 我们来看看如何通过这个网络的前向来描述这个网络的解释原理 。

『人工智能』NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展
本文插图

图 3:网络的解释过程 。
如图 3 所示 , 最上面的是一张测试图片 。 在网络的推理过程中 , 为什么可以判定为一个红腹啄木鸟而不是红顶啄木鸟呢?
图 3 的左半部分是网络判断测试图片为红腹啄木鸟的依据 。
第一列的三张图为测试照片的经过网络圈出来的典型部分 , 第二列和第三列表示的是训练图片中的原型 , 第四列为激活特征图显示测试图像中的原型所在的显著性位置 。
在第二列和第三列我们可以看到三个典型的特征部分 , 头部 , 翅膀以及喙 。 当网络通过卷积层 f 提取特征之后 , 并通过原型层得到这些显著特征之后 , 网络通过对这些典型分数进行加权求和(也就是全连接层) , 最终网络得到判断为红腹啄木鸟的置信度得分 32.736 。
同样 , 图 3 的右边是判断为红顶啄木鸟的置信度分数为 16.886 。 通过选取最大的 softmax 的数值 , 网络可以得出这个测试图像的最终分类 。 这一个过程也就是网络在推理过程中 , looks like 可以得到很好的解释 。
4 实验对比
作为一个解释性的网络 , 并不代表网络本身的推理(识别)能力不强 , 作者在这个角度上做了如下的对比实验 。

『人工智能』NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展
本文插图

图 4:ProtoPNet 和其他网络的性能对比 。
网络主要以没有解释功能的网络为主 , 也就是识别网络 , 比如常见的分类网络 。 图 4 上半部分对比没有可解释性功能的网络例如 VGG16 , ResNet34 等等 , ProtoPNet 精度下降约 3.5% 。 但是 , 通过增加合适的原型数量 , ProtoPNet 还是可以提升性能的 。


推荐阅读