介绍背景
在卷积神经网络中,我们通常具有如下所示的一般结构/流程:
- 输入图像(即二维向量
x
)
(第一个卷积层(Conv1)从这里开始......)
w1
沿 2D 图像卷积一组滤波器 ( )(即进行z1 = w1*x + b1
点积乘法),其中z1
3D 和b1
是偏差。- 应用激活函数(例如 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
另外,“特征图”一词是否与“激活图”完全相同?(或者它们实际上意味着两个不同的东西?)
附加参考:
神经网络和深度学习的片段——第 6 章:
*这里的术语使用松散。特别是,我使用“特征图”来表示不是卷积层计算的函数,而是该层输出的隐藏神经元的激活。这种对术语的轻度滥用在研究文献中很常见。
来自Matt Zeiler的可视化和理解卷积网络的片段:
在本文中,我们介绍了一种可视化技术,该技术揭示了在模型的任何层激发单个特征图的输入刺激。[...] 相比之下,我们的方法提供了一个非参数的不变性视图,显示了训练集中的哪些模式激活了特征图。[...] 一种局部对比操作,可标准化跨特征映射的响应。[...] 为了检查给定的 convnet 激活,我们将层中的所有其他激活设置为零,并将特征图作为输入传递给附加的 deconvnet 层。[...] convnet 使用 relu 非线性,它可以纠正特征图,从而确保特征图始终为正。[...] convnet 使用学习过滤器来卷积前一层的特征图。[...] 图 6,这些可视化是刺激模型中给定特征图的输入模式的准确表示 [...] 当与模式对应的原始输入图像的部分被遮挡时,我们看到特征图中的活动明显下降。[...]
备注:在图1中还引入了术语“feature map”和“rectified feature map”。
来自斯坦福 CS231n CNN 章节的片段:
[...] 这种可视化很容易发现一个危险的陷阱,即对于许多不同的输入,一些激活图可能全为零,这可能表明过滤器失效,并且可能是高学习率 [...]训练有素的 AlexNet 的第一个 CONV 层(左)和第 5 个 CONV 层(右)的典型激活,查看一张猫的照片。每个框显示对应于某个过滤器的激活图。请注意,激活是稀疏的(大多数值为零,在此可视化中以黑色显示)并且大部分是局部的。
来自A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks 的片段
[...] 输入卷上的每个唯一位置都会产生一个数字。在所有位置上滑动过滤器后,您会发现剩下的是一个 28 x 28 x 1 的数字数组,我们称之为激活图或特征图。