CNN中的卷积操作与权值共享

          CNN中非常有特点的地方就在于它的局部连接权值共享,通过卷积操作实现局部连接,这个局部区域的大小就是滤波器filter,避免了全连接中参数过多造成无法计算的情况,再通过参数共享来缩减实际参数的数量,为实现多层网络提供了可能。

卷积操作

        在CNN中是利用卷积层进行特征提取的,图像的三个通道R(red)、G(green)、B(blue),分别用不同的卷积核来进行卷积操作,说起卷积核这让我想起了我之前对图像进行的滤波处理,卷积运算本质上就是在滤波器和输入数据的局部区域间做点积,所以可以用矩阵乘法来实现,其实这是一个道理,卷积核对图像的操作可以用下图来表示:

        为什么会设置不同的filter呢,因为不同的滤波器filter会得到不同的输出数据,比如颜色深浅、轮廓。相当于如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息:颜色深浅或轮廓。如下图,左边是图像输入,中间部分就是滤波器filter(带着一组固定权重的神经元):

        输入图像是32*32*3的,32表示的图像尺寸大小,3表示的它的深度(即RGB三个channel),卷积层是一个5*5*3的滤波器(filter),filter的深度必须和输入图像的深度相同,通过一个filter与输入图像的卷积可以得到一个28*28*1的特征图,下图是用了两个filter得到了两个特征图:

 权值共享

        在下图中,如果不使用权值共享,则特征图由10个32*32*1的特征图组成,每个特征图上有1024个神经元,每个神经元对应输入图像上的一块5*5*3的区域,所以一个神经元和输入图像的这块区域有75个连接,即75个权值参数,则共有75*1024*10=768000个权值参数,这对于参数的调整和传递非常不利,因此卷积神经网络引入权值共享原则,一个特征图上每个神经元对应的75个权值参数被每个神经元共享,这里的共享其实就是指的每个神经元中75个权值参数采用对应相同的权值,权值共享时,只是在每一个filter上的每一个channel中是共享的,这样便只需75*10=750个权值参数,而每个特征图的阈值也共享,即需要10个阈值,则总共需要750+10=760个参数。

神经元的偏置部分也是同一种滤波器共享的。 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值