深度学习中卷积&池化&全连接层及其参数量和计算量

1.卷积&池化&全连接层介绍

  • valid卷积:不填充padding
  • same卷积:填充padding,使得输出和输入大小一致
  • 多维卷积:过滤器的最后一个数字通道必须和输入图片的通道数匹配,过滤器的多少,决定最后输出图片的通道数
    输出公式(向下取整):
    在这里插入图片描述
    池化:输入通道数和输出通道数相同,也就是池化的过滤器通道数为1

2.参数量计算

在这里插入图片描述

【卷积层的参数量】
输入:224 * 224 * 3,64个 3 * 3 * 3 filter,输出feature map 224 * 224 * 64,卷积层的参数量为:(3 * 3 * 3 +1 )* 64=1792
计算公式:参数量=(filter size + 1)* 当前层filter数量
【全连接层的参数量】
VGG-16最后一次池化得到的feature map为 7 * 7 * 512 ,全连接层是将feature map展开成一维向量 1 * 4096 。实际上,我们就是用4096个7 * 7 * 512 的filter去做卷积(可以理解为是一个卷积层)。我们就可以计算第一个FC的参数量 (7 * 7 * 512 + 1 )* 4096=102764544
注:如果准确来计算的话,还需要加上偏置b。

3.计算量

【卷积层的计算量】
输入:224 * 224 * 3,64个 3 * 3 * 3 filter,输出feature map 224 * 224 * 64,future map中的每个一像素点都是3 * 3 * 3的filter在原图上计算一次得到的,所以它的计算量为3 * 3 * 3=27
已经知道单个像素的计算量,那么乘以feature map所有像素,就是一次卷积的计算量:224 * 224 * 64 * 3 * 3 * 3
计算量 = 输出的feature map * 当前层filter_size
这仅仅是单个样本前向传播计算量,实际计算量还应乘以batch size。

【全连接层的计算量】
其实和卷积层计算量的计算方法是一样的。
VGG-16最后一次卷积得到的feature map为7 * 7 * 512 ,全连接层是将feature map展开成一维向量 1 * 4096。则FC层的计算量为 1 * 4096 * 7 * 7 * 512=102760448
通过以上讨论可以发现:我们需要减少网络参数时主要针对全连接层;进行计算优化时,重点放在卷积层。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值