卷积神经网络

一、结构

1.卷积过程:

输入图片尺寸为(batchsize,l,w,channels),l表示长度,w表示宽度,channels表示通道数,batchsize为每次输入神经网络的图片张数。默认(1,6,6,1)。

卷积核大小为(numbers,l1,w1,channels),l表示长度,w表示宽度,channels表示通道数,应与被卷积的特征图(输入的图片)的通道数相同,numbers表示卷积核的个数。默认(1,3,3,1)。

(1)当直接对特征图进行卷积时,步长(stride)为1,符合公式l^{'}=l-l1+1w^{'}=w-w1+1。新特征图的长度为l',宽度为w',得到(1,4,4,1)。

(2)当直接对特征图进行卷积时,步长(stride)为>=2,符合公式l^{'}=floor\left \{\left [ (l-l1)/stride \right ]+1 \right \},w^{'}=floor\left \{\left [ (w-w1)/stride \right ]+1 \right \},其中floor表示向下取整(保留整数),新特征图的长度为l',宽度为w',得到(1,2,2,1)。

(3)当需要使输出图片的长宽与输入图片的长宽相同时,需要进行全零填充。符合公式l^{'}=\left [ (l-l1+2p)/stride \right ]+1 \right \},w^{'}=\left [ (w-w1+2p)/stride \right ]+1 \right \},其中p表示对输入图片的一周进行全零填充,例:当p=1时表示对输入图片的一周进行全零填充一次。得到(1,6,6,1),其中p=1。注意:在keras的Conv2D函数中需设置padding='same',并且步长必须为1,即strides=(1,1)才可使特征图的长宽保持不变。

例:

当padding='same'且strides=(2,2)时,输出图片长宽并不是6*6,而是3*3,并没有进行全零填充,而是向上取整。

例:

当padding='same'且strides=(1,1)时,输出图片长宽才是6*6,进行了一次全零填充。

2.参数(param):注意:一个神经元配置一个偏置量(bias),一个卷积核配置一个偏置量(bias)。

(1)全连接层(Dense)的参数量

计算公式为:输入向量的参数个数*输出神经元个数(乘积得到的结果表示权重weights的参数量)+输出神经元个数(表示偏置bias的参数量)

例:

如上图所示,Flatten()的作用是将三维(6,6,1)转为一维向量(36,),经过一次隐藏层(32个神经元),参数量为:

36*32+32=1184。

(2)卷积层(Conv2D)的参数量

计算公式为:卷积核的长*宽*通道数*个数(乘积得到的结果表示权重weights的参数量)+卷积核的个数(表示偏置bias的参数量)

例:

如上图所示,参数量为:5*3*3*3+5=140。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值