局部相关性和权值共享:

局部相关性:

目的:为了避免全连接网络的参数集过大的缺点。

​ 以图片为例,对于2D图片通常在进入全连接层之前将矩阵数据打平成1D向量,然后每个像素点与每个输出节点两两相连。网络层中,每个输出节点都与所有的输入节点相连,这种稠密的(Dense)连接方式使得全连接层的参数量大,计算代价高,全连接层也叫做稠密层(Dense Layer),当全连接层的**函数为空时,全连接层也叫做线性层(Linear Layer)。
oj=σ(inodes(I))wijxi+bj o_j = \sigma(\sum_{i \in nodes(I)})w_{ij}x_i+b_j
其中nodes(I)nodes(I)表示II层节点集合。

其实,对于图片而言只要选出最重要的一部分输入节点,抛弃重要性较低的节点,这样输出节点只需要与重要的一部分输入节点相连接:
oj=σ(itop(I,j,k))wijxi+bj o_j = \sigma(\sum_{i \in top(I,j,k)})w_{ij}x_i+b_j
​ 其中top(I,j,k)top(I,j,k)表示II层中对于jj层中jj号节点重要性最高的前kk个节点的集合。通过这种方式可以把全连接层的IJ||I||*||J||个权值减少到前kJk*||J|| 个,其中I,J||I||,||J|| 分别表示$I,J $ 层的节点数量。

​ 所以主要问题就是探索II层输入节点对于jj号输出节点的重要性分布。通常可以利用先验知识将问题简化。

​ 二维平面通常将位置平面作为重要性分布衡量标准的依据,距离越近,重要性越大,影响越大;距离越远,重要性越小。所以2D图片为例,如果距离当前像素点距离小于等于k2\frac{k}{\sqrt2} 的像素点重要性更高,距离以外重要性低。如图所示,实心网络所在区域为参考,距离当前像素点距离小于等于k2\frac{k}{\sqrt2} 的像素点用矩形网格表示,网格内的像素点的重要性更高,所以这个高宽为kk 的串窗口叫做感受野(Receptive field),他表征了每个像素点杜宇中心像素的重要性分布,网格内的像素才会被考虑到,网格外会被简单的忽略。

局部相关性和权值共享
​ 这种基于距离的重要性分布假设佳作局部相关性,只需要关注和自己距离较近的部分节点,忽略较远的节点。利用局部相关性,将感受野窗口的高,宽记为kk (其实高和宽不一定相等),当前位置的节点与大小为kk 的窗口内的像素相连接,与窗口外的像素点无关。此时输入输出的表达式为
oj=σ(dist(i,j)(k2))wijxi+bj o_j = \sigma(\sum_{dist(i,j) \leq (\frac{k}{\sqrt2})})w_{ij}x_i+b_j
其中,dist(i,j)dist(i,j)表示节点i,ji,j 之间的欧氏距离。

权值共享:

i,ji,j 之间的欧氏距离。

权值共享:

​ 通过局部相关性减少了参数量,还可以通过权值共享使得参数量得到进一步的减小。权值共享就是对于输出节点ojo_j ,都使用相同的权值矩阵WW 。那么,无论输出节点的数量J||J|| ,网络层的参数量总是kkk*k 。通过局部相关性和权值共享的思想就可以将网络参数量明显的减小(对于单输入通道,单卷积核的条件下。)这种拒不连接、共享权值的方法就是卷积神经网络。

相关文章: