深度学习卷积参数量,图像输出尺寸,感受野的计算

深度学习卷积参数量,图像输出尺寸,感受野的计算,
是针对我之前一篇博客的一些单独抽离和总结,方便复习

0. 网络中卷积乘法次数和加法次数

K × K {K}\times{K} K×K的卷积核,在一次卷积的过程中,运用 K 2 K^{2} K2次的乘法, K 2 − 1 K^{2}-1 K21次加法

1. 分组卷积

详细的带图解释引用参考这个链接
https://zhuanlan.zhihu.com/p/65377955

  • 概念
    将输入特征图按照通道数分成g组,每组分别进行卷积操作
    在这里插入图片描述
  • 计算量的计算
    分 组 卷 积 参 数 量 标 准 卷 积 参 数 量 = h 1 × w 1 × c 1 g × c 2 g × g h 1 × w 1 × c 1 × c 2 = 1 g \frac{分组卷积参数量}{标准卷积参数量} = \frac{{h_{1}} \times {w_{1}} \times {\frac {c_{1}} {g}} \times{\frac{c_2}{g}}\times{g}} {{h_{1}} \times {w_{1}} \times {c_{1}} \times{c_2}} = \frac{1}{g} =h1×w1×c1×c2h1×w1×gc1×gc2×g=g1
    每个变量对应的意思如下:
h1w1c1c2g
卷积核长卷积核宽输入尺寸的channel数输出尺寸的channel数分组数

2. 深度可分离卷积

详细的带图解释引用参考这个链接
https://zhuanlan.zhihu.com/p/65377955

  • 概念
    将标准卷积分成了深度卷积和逐点卷积,大大减少了参数量
    在这里插入图片描述
  • 计算量的计算
    深 度 可 分 离 卷 积 参 数 量 标 准 卷 积 参 数 量 = [ ( D k × D k × 1 ) × M ] + [ ( 1 × 1 × M ) × N ) ] D k × D k × M × N = 1 N + 1 D k 2 \frac{深度可分离卷积参数量}{标准卷积参数量} = \frac{[({D_{k}} \times {D_{k}} \times {1}) \times {M}] + [({1}\times{1}\times{M}) \times {N})]}{{D_{k}} \times {D_{k}} \times {M} \times {N}} = \frac{1}{N} + \frac{1}{D_{k}^{2}} =Dk×Dk×M×N[(Dk×Dk×1)×M]+[(1×1×M)×N)]=N1+Dk21
    每个变量对应的意思如下:
D k D_{k} DkMN
卷积核长或宽输入尺寸的channel数输出尺寸的channel数

3. 卷积后输出的图像尺寸

计算公式为:
n = f − k + 2 p s + 1 n = \frac{f-k+2p}{s}+1 n=sfk+2p+1
每个变量对应的意思如下:

nfkps
输出的图像的某一边尺寸输入图像的某一边的尺寸卷积核大小paddingstride

对于给定了padding方式的卷积,对应的输出为:

  1. same的情况:f/s向上取整
  2. valid的情况:用p=0来计算

4. 空洞卷积

引用自:https://zhuanlan.zhihu.com/p/50369448

  • 概念
  1. 深度网络中为了增加感受野且降低计算量,总要进行降采样(pooling或s2/conv)
    这样虽然可以增加感受野,但空间分辨率降低了。
    为了能不丢失分辨率,且仍然扩大感受野,引入了空洞卷积(deeplab)
  2. 空洞卷积有一个参数可以设置dilation rate,具体含义就是在卷积核中填充dilation rate-1个0,因此,当设置不同dilation rate时,感受野就会不一样,也即获取了多尺度信息
  • 输出图像尺寸计算
    空洞卷积的输出尺寸的计算,在于卷积核的大小不是原始卷积核的大小,
    而应该使用公式:
    K = k + ( k − 1 ) ( r − 1 ) K=k+(k-1)(r-1) K=k+(k1)(r1)
    每个变量对应的意思如下:
Kkr
空洞卷积的卷积核实际计算尺寸卷积核的尺寸空洞卷积的dilation rate

最后再带入3中提到的公式即可,这里把公式再放一遍
n = f − k + 2 p s + 1 n = \frac{f-k+2p}{s}+1 n=sfk+2p+1

5. 感受野的计算

推荐一个网址,可以自定义卷积/池化层,然后计算感受野:fomoro传送门
计算感受野的方法有两种:
这两种方法实际都是递推的方法,第一种方法比较好理解,第二种方法是逆推,稍难理解

给出几个例子,均用第一种方法来说明感受野怎么计算:

感受野计算例1

在这里插入图片描述
在这里插入图片描述
注意是连乘,图中模糊的那一块儿是S2*S1,懒癌犯了,不想改了

感受野计算例2

在这里插入图片描述
在这里插入图片描述
运用方法一可以顺推每个中间层的感受野,比第二种直观一些
把公式latex一遍:
R F n = R F n − 1 + ( k n − 1 ) ∏ i = 1 n − 1 S i RF_{n} = RF_{n-1}+(k_{n}-1)\prod_{i=1}^{n-1}{S_{i}} RFn=RFn1+(kn1)i=1n1Si
注:空洞卷积的感受野计算,参考https://zhuanlan.zhihu.com/p/43784441,通过计算实际的卷积核大小:
K = k + ( k − 1 ) ( r − 1 ) K = k + (k-1)(r-1) K=k+(k1)(r1)
再带入上述公式即可计算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值