目录
作者和相关链接
方法概括
实验结果
作者和相关链接
David Bau�, Bolei Zhou�, Aditya Khosla, Aude Oliva, and Antonio Torralba
CSAIL, MIT
论文:https://arxiv.org/pdf/1704.05796.pdf, 主页:http://netdissect.csail.mit.edu/,
代码:https://github.com/CSAILVision/NetDissect
方法概括
这篇CVPR'17的工作,是想更好地量化分析不同卷积神经网络内部神经元的语义特征 (Network Interpretability and Network Explainability)
建立网络剖析(network dissection)的模式,提取内部被激活的神经元。以此观测深度网络内部学习了什么,哪些单元、层与具体的语义概念相关。
解决思路
准备一个带有不同语义概念的图片数据库,里面每张图都有pixel-wise的标定(颜色,纹理,场景,物体部分,物体等),再对训练好的模型,提取出每张图片的激活响应单元谱。
利用IoU来计算每一(k,c)所对应的一组单元与概念的语义分割能力(semantic segmention),哪个神经元语义分割好,哪个神经元就是在检测这个语义的概念。
单元可解释性(Unit Interpretability):
Mk和Lc重合部分越多,意味着神经元k在图像上关注的部分和语义c关注的部分重合率越高,即可用该语义解释这个神经元行为的可信度越高。
k:卷积神经元
c:语义
Ak(x) :对每张图片x,激活神经元图谱
Tk : 属于激活神经元的阈值 P(ak>Tk) = 0.005
Sk(x) : 将Ak(x)用双线性差值(bilinear interpolation)扩大到输入图像分辨率的尺寸
Mk(x) : Sk(x)中分割出激活部位 Mk(x) = Sk(x) > Tk
Lc(x) : 输入语义在每张图片上的激活部分
实验结果
1.作者把这个方法用到在ImageNet和Places上训练的多种网络AlexNet, VGG, GoogLeNet, ResNet等典型的CNN模型,可视化和标定各个网络的神经元。
发现每种网络内部都有这样的可解释性的语义神经元出现,下图是Resnet, GoogLenet, VGG里出现的检测五种概念House, Dog, Train, Plant, Airplane的神经元。
2.利用Network Dissection通过选择矩阵检测出神经元的可解释性不是轴相关现象(axis-independent)
3.比较不同神经网络之间可解释性的概念分布的差异
4.不同训练方式可能导致的可解释单元变化如regularizations、Self-supervised、Training iteration