6.1.1 不变性
-
平移不变性(translation invariance):
不管检测对象出现在图像中的哪个位置,神经网络的前面几层应该对相同的图像区域具有相似的反应,即为“平移不变性”。
-
局部性(locality):
神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远区域的关系,这就是“局部性”原则。最终,可以聚合这些局部特征,以在整个图像级别进行预测。
6.1.2 多层感知机的限制
假设多层感知机的输入是 \(X\),将其隐藏表示记为 \(H\)(二者形状相同)。
使用 \([\boldsymbol{X}]_{ij}\) 和 \([\boldsymbol{H}]_{ij}\) 表示位置 \((i,j)\) 位置上的像素点。
因为每个像素点都需要和其他像素点联系,故每个像素点都需要一个二阶的权重张量,又由于是二维图像,故最终权重张量 \(\mathrm{W}\) 为四维。
再假设偏置参数为 \(U\),则可以将全连接层表示为:
为了方便表示,我们对下标 \((k,l)\) 进行重新索引,使得 \(k=i+a,l=j+b\),则可以得到重拍后的权重矩阵 \([V]_{i,j,a,b}=[\mathrm{W}]_{i,j,i+a,j+b}\)。
上式可表述为:
-
平移不变性
现在引入平移不变性,即检测对象在输入 \(X\) 中的平移应该仅导致隐藏表示 \(H\) 中的平移。简言之,无须每个像素都要独享一个二维权值张量,所有像素共享同一个即可,故权重张量降为二维即可。此时式子可以简化为:
\[[\boldsymbol{H}]_{ij} = u+\sum_a\sum_b[\boldsymbol{V}]_{a,b}[\boldsymbol{X}]_{i+a,j+b} \]这就是所谓卷积,使用系数 \([\boldsymbol{V}]_{a,b}\) 对 \((i,j)\) 附近的像素 \((i+a,j+b)\) 进行加权得到 \([\boldsymbol{H}]_{ij}\)。
-
局部性
对于上述的 \(a,b\) 不应该取太大,即范围不应太大,至少不应该是全图。故可将 \(\left|a\right|>\Delta \left|b\right|>\Delta\)的范围设置为0(即不考虑范围外的影响)。故可将式子重写为:
\[[\boldsymbol{H}]_{ij} = u+\sum_a^\Delta\sum_b^\Delta[\boldsymbol{V}]_{a,b}[\boldsymbol{X}]_{i+a,j+b} \]
至此,可以称 \(V\) 为卷积核。简言之,卷积操作实际就是计算一圈像素对中间像素的影响,使用不同的卷积核则计算的是不同方面的影响,最终实现提取不同特征的效果。此处参考王木头大佬的视频《从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变》。
6.1.3 卷积
在数学中,卷积被定义为:
用一个例子说明的话,一个不确定的输入函数叠加上一个确定的输出函数,计算最终余量即为卷积。
6.1.4 “沃尔多在哪里”回顾
上面一直将图片作为二维张量,实际上图像一般包含三个通道(即RGB三原色),因此图像应该是一个由高度、宽度和颜色组成的三维张量。故我们应将 \(\boldsymbol{X}\) 索引为 \([\boldsymbol{X}]_{i,j,k}\),由此卷积核相应的调整为 \([\boldsymbol{V}]_{a,b,c}\),再添加一个 \(d\) 以实现不同通道的输出,即:
练习
(1)假设卷积层式(6.3),覆盖的局部区域 \(\Delta=0\)。在这种情况下,证明卷积核为每组通道独立地实现一个全连接层。
若 \(\Delta=0\) 则意味着卷积核大小为1,那感觉和全连接没区别的哇。
(2)为什么平移不变性可能也不是好主意呢?
太单一,也许不同区域需要的卷积核不一样。
(3)当从图像边界像素获取隐藏表示时,我们需要思考哪些问题?
应该考虑关于填充的事情。
(4)描述一个类似的音频卷积层的架构。
将音频信息转换为二维数据或更高维再进行卷积操作。
(5)卷积层也适合于文本数据吗?为什么?
我觉得可以,只要找到合适的方法数据化文本。因为卷积这种对于特征的提取对于自然语言也应该是适用的。
(6)证明在式(6.6)中,\(f*g=g*f\)。