一个卷积层(Wx+b ⇒ ReLU ⇒ maxpooling)可以有多个不同的卷积核,而每一个卷积核都对应一个滤波后映射出的新图像,同一个新图像中的每一个像素都来自完全相同的卷积核,这就是卷积核的权值共享。
那么为什么要共享卷积核的权值参数呢?
降低模型复杂度以减轻过拟合;降低计算量;考虑 103×103 的输入图像:
全连接,隐层神经元的数目为 106 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数, 数目为 106×106=1012 卷积,卷积核的大小为 10×10 时, 步长为 10, 103×10310×10×(10×10) , 103×10310×10 表示的是输入图像可划分的块数,也即经卷机作用后的输出图像;步长为 1, (103−10+1)×(103−10+1)⋅(10×10) 在不考虑步长的前提下,可近似将待学习的参数的数目视为 (103×103)⋅(10×10)CNN 的卷积并没有执行“翻转”操作,而是与输入图像做滑动窗口“相关”计算;
如果 K 个输入通道(Xk,0≤k<K)的输入经若干卷积核的作用之后得到 L 个通道的输出(Yℓ,0≤ℓ<L),需要的卷积核的数目为 L×K :
Yℓ(m,n)==Xk(m,n)⋆Hkℓ(m,n)∑k=0K−1∑i=0I−1∑j=0J−1Xk(m+i,n+j)Hkℓ(i,j)
Hkℓ(i,j) 表示的是第 ℓ 列,第 k 行二维卷积核,卷积核的大小为 I⋅J。