cnn中的权值共享

本文详细解释了卷积神经网络(CNN)中的权值共享原理。从神经元如何局部感受图像开始,逐步介绍如何通过权值共享降低参数数量,以及如何通过多个滤波器提取更多特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cnn中权值共享理解

第一步,针对一个神经元,一幅640*360图像,一个神经元要对应640*360个像素点,即一个神经元对应全局图像,全连接的话一个神经元就有640*360个参数;

第二步,然而,图像的空间联系是局部的,就像人是通过一个局部的感受野去感受外界图像一样,每一个神经元都不需要对全局图像做感受,每个神经元只感受局部的图像区域,然后在更高层,将这些不同局部的神经元综合起来就可以得到全局信息。假如每个局部感受野10*10,每个局部感受野只需要和10*10的局部图像连接,这样一个神经元就只需要10*10个参数;

第三步,全局图像是640*360,但局部图像只有10*10大小,10*10个参数只针对局部图像,如果全局图像中各个局部图像之间权值共享的话,即10*10个参数在不同局部图像上参数应用相同的话,则在全局图像上通过全局共享则只需要10*10个参数;

第四步,10*10个参数只针对一个神经元,要是有100万个神经元,则需要100万*10*10个参数,神经元多后,参数还是太大,如果每个神经元的这10*10个参数相同呢,这样就还是只需要10*10参数,因而经过局部感受野到权值共享再到每个神经元的10*10个参数相同,不管图像多大,不管每层神经元个数多少,而两层间连接还是只需要求解10*10个参数;

第五步,由于只有一个滤波器,只提取了一种特征,特征也太少了。一种滤波器也就是一种卷积核就是提取图像一种特征,例如某个方向的边缘。那么我们需要提取不同特征怎么办,多加几个滤波器不就行了。假设我们加到100种滤波器,每种滤波器的参数不一样,表示提取输入图像不同特征,例如不同边缘。这样不同滤波器去卷积图像就得到不同特征的放映,我们称之为Feature Map,所以100中卷积核就有100个Feature Map,这100个Feature Map就组成了一层神经元。我们这一层有多少个参数到这时候就明了吧,100种卷积核  *   每种卷积核100个参数  = 100 * 100 = 10000个参数。

最后,刚才说每一个隐藏层的参数个数和隐藏层的神经元个数无关,只和滤波器大小和滤波器种类数有关,那么隐藏层的神经元个数怎么确定呢?它和原图像,也就是输入的大小(神经元个数)、滤波器的大小和滤波器在图像中的滑动步长都有关!假如我的图像是1000*1000像素的,而滤波器大小是10*10,假设步长为10,即滤波器没有重叠,这样隐藏层的神经元个数就是 1000 * 1000 / (10*10) = 100*100个神经元(如果步长为8,卷积核会重叠2个像素)。这只是一种滤波器,也就是一个Feature Map的神经元个数哦,如果100个Feature Map就是100倍了,

        需要注意一点,上面的讨论都没有考虑每个神经元的偏置部分,所以权值个数需要加1,这也是同一种滤波器共享。如滤波器10*10,卷积核个数6,则参数个数为:

(10*10 +1) * 6 = 606.

卷积神经网中权值共享是什么样的

如果说有:权值共享的概念,那么肯定得有不共享的例子,而且不共享是比较原始的。


输入层:对于一幅1000x1000大小的图像(假设为灰度图,不考虑3通道),我们把这个图像作为神经网络的输入层,那么输入层的神经元的个数就是每个像素点,个数为1000x1000个。

隐层:我们再规定和这个输入层连接的隐层的神经元个数为1000,000个。

输入层和隐层之间肯定是通过权值(重)W连接起来的,即X*W=Y(W为权值,X为输入,Y为隐层),如果不是权值共享,而是最基本的全连接,那么W的维数就是1000x1000x1000,000,这样的话,W有点太多了。于是想法减少W的维数。

方法:让隐层的1000,000个神经元里的每个神经元“只”和输入层的10x10个神经元进行连接,而不是和输入层的1000x1000个神经元进行连接。这就是感受野。

上面提到的方法还不是权值共享,因为还有提升,如下:

权值共享:在上述方法中我们得到的输入层和隐层之间连接的W的维度变成了:1000,000 x 10 x 10,假定这些W中的每个元素都是不同的,那么我们需要把所有的W元素都保存下来以备之后使用,但是如果这些W全都是10 x 10个权重的复制呢?也就是说隐层的每个神经元跟图像上不同区域的10 x 10个神经元的连接都是相同的,那么我们最后得到的W只有10x10大小了,只需要保存100个参数就可以了。当然,这样做也太粗糙了,肯定提取的特征太少,没关系啊,我们多加几个10 x 10大小的W不就可以了,比如100个,那 就可以提取100次特征了,而总的W的维度(输入与隐藏的连接个数)就变成了100 x 10x10=10,000个。

这就是权值共享的全部。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值