介绍背景
在卷积神经网络内,我们通常具有如下所示的一般结构/流程:
- 输入图像(即2D矢量
x
)
(第一个卷积层(Conv1)从这里开始...)
w1
沿2D图像对一组滤镜()进行卷积(即进行z1 = w1*x + b1
点积乘法),其中z1
3Db1
为偏差。- 应用激活函数(例如ReLu)使
z1
非线性(例如a1 = ReLu(z1)
)a1
为3D。
(第二个卷积层(Conv2)从这里开始...)
- 沿新计算的激活量(即,进行
z2 = w2*a1 + b2
点积乘法)对一组滤波器进行卷积,其中z2
3D为,且b2
为偏差。 - 应用激活函数(例如ReLu)使
z2
非线性(例如a2 = ReLu(z2)
)a2
为3D。
问题
术语“功能图”的定义似乎因文学而异。具体来说:
- 对于第一个卷积层,“特征图”是否对应于输入矢量
x
,输出点积z1
,输出激活a1
或转换x
为的“过程”a1
或其他内容? - 类似地,对于第二卷积层,“特征图”是否对应于输入激活
a1
,输出点积z2
,输出激活a2
,或转换a1
为的“过程”a2
或其他?
另外,术语“功能图” 与“激活图” 是否完全相同?(或者它们实际上是指两个不同的东西吗?)
其他参考:
*这里使用的术语是宽松的。特别是,我使用“功能图”来表示不是由卷积层计算的功能,而是表示从该层输出的隐藏神经元的激活。这种轻微的术语滥用在研究文献中非常普遍。
在本文中,我们介绍了一种可视化技术,该技术揭示了在模型的任何层上激发单个特征图的输入刺激。相比之下,我们的方法提供了不变性的非参数视图,显示了训练集中的哪些模式激活了特征图。局部对比操作,可标准化整个特征图的响应。[...]要检查给定的convnet激活,我们将该层中的所有其他激活设置为零,并将要素映射作为输入传递到附加的deconvnet层。convnet使用relu非线性来校正特征图,从而确保特征图始终为正。[...] convnet使用学习的过滤器对来自上一层的特征图进行卷积。[...]图6 这些可视化是输入模式的准确表示,当原始输入图像中与模式相对应的部分被遮挡时,可以刺激模型中给定的特征图,我们可以看到特征图中活动的明显下降。[...]
备注:在图1中还引入了术语“特征图”和“校正后的特征图”。
从片段斯坦福CS231n章在CNN:
[...]通过这种可视化可以轻松注意到的一个危险陷阱是,对于许多不同的输入,某些激活图可能全为零,这可能表明过滤器失效,并且可能是高学习率的征兆[...]训练有素的AlexNet的第一张CONV层(左)和第五张CONV层(右)上看似典型的激活物,它们看着猫的照片。每个框都显示对应于某个过滤器的激活图。请注意,激活是稀疏的(大多数值是零,在此可视化中以黑色显示)并且大多数是局部的。
[...]输入卷上的每个唯一位置都会产生一个数字。在所有位置上滑动过滤器后,您会发现剩下的是28 x 28 x 1的数字数组,我们称之为激活图或功能图。
a1
,a2
等等)。在Conv2中,我想我会称呼a1
输入激活图和a2
输出激活图。在Conv1中,我x
输入图像,并a1
输出激活图。