可解释性的目的
1)Interpreting CNN Knowledge Via An Explanatory Graph —- AAAI 2018
1 引言
2 解决办法
2.1 如何用语义图模型来解释神经网络
2.1.1 语义图模型的定义
这些同时被触发的语义特征具有怎样的空间关系?—->解释性图模型来表达各个卷积层中内部建模的特征语义关系
2.1.2 Graph Model在few-shot learning中的应用
2)Interpretable Convolutional Neural Networks —- CVPR2018
1 引言
2 解决办法
3 实验结果
端对端自动训练动物分类,并没有标注动物的头部信息,但是CNN对大部分动物都自动学到了头部的特征—>可能头部最适合分类?
由于本文提出的方法严格要求每个卷积核表示一个物体组成部分,所以无法对光照、纹理、色彩等信息进行建模,建模信息量有限,对单分类的效果不如传统方法。
但是在多分类任务中,本文提出的方法要由于传统分类方法,原因可能是方法在前期提前限定某个卷积核表示特定的类别(物体),有利于后期优化卷积核。
3)Unsupervised Learning of Neural Networks to Explain Neural Networks —- AAAI 2019
1 引言
如何在不损失分类性能的前提下提高可解释性?
— 解释神经网络的尴尬境地在于 能够被解释的特征往往表达能力比较弱
当我们有限地提高某个特征的可解释性,performance会提高,但我们严格要求可解释性,performance会下降。
2 解决办法
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的表达是重构的。
3 实验结果
4)Network Transplanting —- AAAI 2019
1 引言
如何让神经网络的结构能够解释?
—-> 从学习通用网络的角度来看,deep learning应该具有什么特质?
如果只是处理一个任务,一千个类别,black box还是可以建模解决的,如果是一万个任务,一万个类别,很难指望神经网络端对端地、全部训练出来。因为fine-tune一个类别的performance可能会影响其他9999个类别的表达。所以归根结底,还是希望得到一个模块化的网络结构,而不是一个blackbox的模块。
2 解决办法
2.1 嫁接网络的核心原理
例如第一个网络是对鸟分类,第二个网络对猫分割。
假设现在我们想做这样两件事情:
- 把A的分类模块嫁接到B,从而实现对猫的分类
- 把B的分割模块嫁接到A,从而实现对鸟的分割
我们可以直接把一个网络模块剪切下来,嫁接过去从而实现新的功能,而不是端对端从数据训练。因为一个网络处理一万个任务、一万个类别,重新训练是不太可能实现的。
2.2 嫁接网络面临的挑战
3 实验结果
4 嫁接网络的优势
总结
这次专题汇报,张拳石老师提出并解决了四个问题
- 如何把神经网络表达变成语义图模型表达
- 如何端对端学习一个深度神经网络的可解释特征
- 如何解决网络可解释性和分类能力的冲突
- 如何学习一个通用并且可解释神经网络(通过网络嫁接的方法)