版权归原作者所有,如有侵权,请联系我们

[科普中国]-权值共享

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

权值共享就是说,给一张输入图片,用一个卷积核去扫这张图,卷积核里面的数就叫权重,这张图每个位置是被同样的卷积核扫的,所以权重是一样的,也就是共享。

简介权值共享意味着每一个过滤器在遍历整个图像的时候,过滤器的参数(即过滤器的参数的值)是固定不变的,比如我有3个特征过滤器,每个过滤器都会扫描整个图像,在扫描的过程中,过滤器的参数值是固定不变的,即整个图像的所有元素都“共享”了相同的权值。

另外,换个角度理解为什么权值要固定,比如我有个曲线的特征过滤器,那么这个过滤器在扫描全图的时候,我们想要提取出所有的曲线区域,是不是这个过率器不能变?如果在上半部分过滤器是曲线,到下半部分变成了直线,那么在图像上下区域内提取出来的曲线特征是真正的曲线吗?个人认为从这个直白的角度更容易理解。1

举例对于一张输入图片,大小为 ,如果使用全连接网络,生成一张 的feature map,需要 个参数,如果原图长宽是10^2级别的,而且 大小和 差不多的话,那么这样一层网络需要的参数个数是108~1012级别。这么多参数肯定是不行的,那么我们就想办法减少参数的个数对于输出层feature map上的每一个像素,他与原图片的每一个像素都有连接,每一个链接都需要一个参数。但注意到图像一般都是局部相关的,那么如果输出层的每一个像素只和输入层图片的一个局部相连,那么需要参数的个数就会大大减少。假设输出层每个像素只与输入图片上 的一个小方块有连接,也就是说输出层的这个像素值,只是通过原图的这个的小方形中的像素值计算而来,那么对于输出层的每个像素,需要的参数个数就从原来的减小到了。如果对于原图片的每一个的方框都需要计算这样一个输出值,那么需要的参数只是 ,如果原图长宽是102级别,而F在10以内的话,那么需要的参数的个数只有105~106级别,相比于原来的108~1012小了很多很多。

这还不够。图片还有另外一个特性:图片的底层特征是与特征在图片中的位置无关的。比如说边缘,无论是在图片中间的边缘特征,还是在图片边角处的边缘特征,都可以用过类似于微分的特称提取器提取。那么对于主要用于提取底层特称的前几层网络,把上述局部全连接层中每一个方形对应的权值共享,就可以进一步减少网络中参数的个数。也就是说,输出层的每一个像素,是由输入层对应位置的的局部图片,与相同的一组的参数(或称权值)做内积,再经过非线性单元计算而来的。这样的话无论图片原大小如何,只用F*F个参数就够了,也就是几个几十个的样子。当然一组的参数只能得到一张特征图,一般会有多组参数,分别经过卷积后就可以有好几层特征图。顺带一提,高级特征一般是与位置有关的,比如一张人脸图片,眼睛和嘴位置不同,那么处理到高层,不同位置就需要用不同的神经网络权重,这时候卷积层就不能胜任了,就需要用局部全连接层和全连接层。

图一示意了局部连接,每一个W只与输入的一部分连接,如果W1和W2是相同的,那么就是卷积层,这时参数W(1)和W(2)相同,因此说共享。

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学