可解释性的目的

image.png
image.pngimage.pngimage.png

1)Interpreting CNN Knowledge Via An Explanatory Graph —- AAAI 2018

1 引言

image.png

2 解决办法

2.1 如何用语义图模型来解释神经网络

2.1.1 语义图模型的定义

image.png
这些同时被触发的语义特征具有怎样的空间关系?—->解释性图模型来表达各个卷积层中内部建模的特征语义关系

image.png
image.png
image.png
image.png
image.png
image.png
image.png

2.1.2 Graph Model在few-shot learning中的应用

image.png

image.png

2)Interpretable Convolutional Neural Networks —- CVPR2018

如何端对端学习一个神经网络使中间特征本身能够解释

1 引言

image.png
image.png

2 解决办法

image.png
image.png
image.png

3 实验结果

image.png
端对端自动训练动物分类,并没有标注动物的头部信息,但是CNN对大部分动物都自动学到了头部的特征—>可能头部最适合分类?
image.png
image.png
由于本文提出的方法严格要求每个卷积核表示一个物体组成部分,所以无法对光照、纹理、色彩等信息进行建模,建模信息量有限,对单分类的效果不如传统方法。
但是在多分类任务中,本文提出的方法要由于传统分类方法,原因可能是方法在前期提前限定某个卷积核表示特定的类别(物体),有利于后期优化卷积核。

3)Unsupervised Learning of Neural Networks to Explain Neural Networks —- AAAI 2019

1 引言

如何在不损失分类性能的前提下提高可解释性?
— 解释神经网络的尴尬境地在于 能够被解释的特征往往表达能力比较弱
当我们有限地提高某个特征的可解释性,performance会提高,但我们严格要求可解释性,performance会下降。
image.png

2 解决办法

image.png
Performer指的是现在常用的Black Box Models,这些Models追求high performance
Explainer指的是不追求high performance,而是希望用explainer解释performer内部的logic。(用第二个网络解释第一个网络)
第二个网络是一个auto-encoder的结构。输入是performer的底层特征,输出是重建performer很高层的特征。如果可以用performer底层的特征很大程度上精确重建很高层的特征,那么我们就认为explainer建模了跟performer很相似的知识。
而auto-encoder的过程,希望performer内部语义是清晰的,performer每一个卷积核表示一个part。比如explainer建模了猫的脸部,performer也建模了猫的脸部,虽然performer的表达可能不清晰。这样的话就可以认为explainer和performer的表达是重构的。
image.png

3 实验结果

image.png
image.png

4)Network Transplanting —- AAAI 2019

1 引言

如何让神经网络的结构能够解释?
—-> 从学习通用网络的角度来看,deep learning应该具有什么特质?
如果只是处理一个任务,一千个类别,black box还是可以建模解决的,如果是一万个任务,一万个类别,很难指望神经网络端对端地、全部训练出来。因为fine-tune一个类别的performance可能会影响其他9999个类别的表达。所以归根结底,还是希望得到一个模块化的网络结构,而不是一个blackbox的模块。

2 解决办法

image.png

2.1 嫁接网络的核心原理

image.png
例如第一个网络是对鸟分类,第二个网络对猫分割。
假设现在我们想做这样两件事情:

  • 把A的分类模块嫁接到B,从而实现对猫的分类
  • 把B的分割模块嫁接到A,从而实现对鸟的分割

我们可以直接把一个网络模块剪切下来,嫁接过去从而实现新的功能,而不是端对端从数据训练。因为一个网络处理一万个任务、一万个类别,重新训练是不太可能实现的。

2.2 嫁接网络面临的挑战

image.png

3 实验结果

image.png

4 嫁接网络的优势

image.png

总结

这次专题汇报,张拳石老师提出并解决了四个问题

  • 如何把神经网络表达变成语义图模型表达
  • 如何端对端学习一个深度神经网络的可解释特征
  • 如何解决网络可解释性和分类能力的冲突
  • 如何学习一个通用并且可解释神经网络(通过网络嫁接的方法)