机器学习笔记 - 2、CNN中的参数计算

        接上一篇 :机器学习笔记 - 1、CNN中的参数解释

https://blog.csdn.net/bashendixie5/article/details/122514484https://blog.csdn.net/bashendixie5/article/details/122514484

三、参数计算

        主要有两个部分的参数需要计算,一个是卷积后的尺寸,另一个是池化后的尺寸。先看一些具体的比较简单的例子,方便去数。最后再给出通用的计算公式。

3.1 卷积后的尺寸

3.1.1 无填充、步长为1

        整个过程如下所示:

无填充步长为1卷积示意图

         如上图所示,相关数据如下表所示:

 3.1.2 无填充、步长为2

无填充步长为2卷积示意图

         如上图所示,相关数据如下表所示:

        由上述两图、表可知,除卷积核大小外其它所有条件都不变的情况下,第二种情况相较于第一种情况,其输出的尺寸缩小了(2/4)∗(2/4)=1/4,高、宽各自方向上则缩小了2/4=1/2。 

3.1.3 有填充、步长为2

        整个过程如下所示:

有填充步长为2卷积示意图

         如上图所示,相关数据如下表所示:

 3.2 池化后的尺寸

3.2.1 无填充、步长为1

无填充步长为1池化示意图

         如上图所示,相关数据如下表所示:

 3.2.2 无填充、步长为2

        整个过程如下所示:

无填充步长为2池化示意图

         如上图所示,相关数据如下表所示:

3.2.3 有填充、步长为2

         整个过程如下所示:

有填充步长为2池化示意图

        如上图所示,相关数据如下表所示:

 3.3 计算公式

         卷积后的参数无非就三个,通道数、高、宽。其中通道数不用计算,就等于卷积核数量。为方便叙述,记:

 3.3.1 卷积部分推导

        给定相关参数后,设卷积核在水平、垂直方向分别可以有效移动(对有填充情况,超出填充部分则该次移动无效。无填充情况,超出输入数据则移动无效。)m、nm、n次,则有:

3.3.1.1 水平方向

        移动情况如下所示:

水平方向移动示意图

 3.3.1.2 垂直方向

         垂直方向的推导与水平方向一致,只不过换了个方向而已,在此不赘述,直接给出其计算公式如下:

 3.3.1.3 结论

        综上,再加入输出通道数,有卷积操作后输出的尺寸的计算公式如下:

         如果有疑问,可以把前面的例子拿来验证。Tensorflow中关于这部分的说明参考。官方文档https://www.tensorflow.org/api_guides/python/nn#Convolution

3.3.2 池化部分推导

        池化部分因为工作原理和卷积部分基本上是一样的,所以其公式推导也并没有什么不同,有一点需要指出的是,池化部分仍然可以有填充。池化部分的推导这里就不再赘述。

3.3.3 小结

3.3.3.1 公式整合

        综上,整理出卷积/池化参数的通用计算公式如下:

         使用式(3-9)最右边的表达式计算时一定要注意,这种表达不是特别严谨,这样写是为了兼容网络上的一些博客的写法,分式结果要记得向下取整。

3.3.3.2 参考资料

        大部分参考的文献资料都在相应位置给出了,剩下还有些参考的资料罗列如下:

3.4 示例

3.4.1 示例1

        该例子是牛客网上题库中的一个题,试题如下:

        输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一层卷积(kernel size 3×3,padding 1,stride 1)之后,输出特征图大小为:
        A. 95        B. 96        C. 97        D. 98        E. 99        F. 100
        答案: C

        可以看出,该网络隐藏层共有3层(2层卷积,1层池化),再加上输入、输出层,该网络是一个5层的NN。

 3.4.2 示例2

        该例子是经典的LeNet-5,网络结构如下图所示:LeNet-5http://www.dengfanxin.cn/wp-content/uploads/2016/03/1998Lecun.pdf

LeNet-5网络结构图

         其网络参数参考下图(卷积核大小均为5*5,步长1。池化核大小均为2*2,步长为2,通道数不定。):

        第1个卷积层C1,有:

         第1个池化层S2,有:

         第2个卷积层C3,有:

        第2个池化层S4,有:

        第3个卷积层C5,有:

        第1个全连接层F6(全连接层没有卷积/池化操作),有:

        所有结果计算出来都与原始Paper吻合,证明我们的公式是准确无误的。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值