[cvpr]Network Dissection: Quantifying Interpretability of Deep Visual Representations


目录

作者和相关链接

方法概括

实验结果


作者和相关链接

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关注的部分重合率越高,即可用该语义解释这个神经元行为的可信度越高。

[cvpr]Network Dissection: Quantifying Interpretability of Deep Visual Representations_第1张图片

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) : 输入语义在每张图片上的激活部分

[cvpr]Network Dissection: Quantifying Interpretability of Deep Visual Representations_第2张图片
conv5中带有语义分割的神经元

实验结果

1.作者把这个方法用到在ImageNet和Places上训练的多种网络AlexNet, VGG, GoogLeNet, ResNet等典型的CNN模型,可视化和标定各个网络的神经元。

发现每种网络内部都有这样的可解释性的语义神经元出现,下图是Resnet, GoogLenet, VGG里出现的检测五种概念House, Dog, Train, Plant, Airplane的神经元。

2.利用Network Dissection通过选择矩阵检测出神经元的可解释性不是轴相关现象(axis-independent)

[cvpr]Network Dissection: Quantifying Interpretability of Deep Visual Representations_第3张图片

3.比较不同神经网络之间可解释性的概念分布的差异

[cvpr]Network Dissection: Quantifying Interpretability of Deep Visual Representations_第4张图片

4.不同训练方式可能导致的可解释单元变化如regularizations、Self-supervised、Training iteration

你可能感兴趣的:([cvpr]Network Dissection: Quantifying Interpretability of Deep Visual Representations)