【深度学习】卷积相关

感受野的计算

特征图上某点的感受野:输入空间与该点有关的区域。层数越深,感受野的区域越大。

计算公式为: x i = x i − 1 + ( k i − 1 ) ∏ j = 1 i − 1 s j x_{i} = x_{i-1}+ (k_{i}-1)\prod_{j=1}^{i-1}s_{j} xi=xi1+(ki1)j=1i1sj,其中 x i x_{i} xi 为第 i i i 层输出特征图的点对应的感受野大小, k i k_i ki 为第 i i i 层的卷积核大小或者是池化层的池化尺寸大小, s j s_j sj为步长,并且 x 0 = 1 , s 0 = 1 x_0=1, s_0=1 x0=1,s0=1

公式理解:第 i i i层特征图的一个点在第 i − 1 i-1 i1层的特征图上的影响区域为 k i × k i k_i \times k_i ki×ki,其中左上角的顶点的感受野为 x i − 1 × x i − 1 x_{i-1}\times x_{i-1} xi1×xi1,那么接下来每行的 k i − 1 k_i-1 ki1个点在输入空间下的步长为 ∏ j = 1 i − 1 s j \prod_{j=1}^{i-1}s_{j} j=1i1sj,故有上述公式

卷积核输出尺寸的计算

给定第 i i i层输入的尺寸: n i × n i n_{i}\times n_{i} ni×ni,卷积核大小: k i k_i ki,假设输出的尺寸为 m i × m i m_i\times m_i mi×mi,则有 k i + ( m i − 1 ) s i ≤ 2 ∗ p a d d i n g s + n k_i+(m_i-1)s_i\leq 2*paddings+n ki+(mi1)si2paddings+n,从而 m i = ⌊ 2 p a d d i n g s + n − k i s i + 1 ⌋ m_i=\lfloor\frac{2paddings+n-k_i}{s_i}+1\rfloor mi=si2paddings+nki+1,从这里可以看出,如果希望输入输出尺寸相同,则应该令 s i = 1 , p a d d i n g s = k i − 1 2 s_i=1, paddings=\frac{k_i-1}{2} si=1,paddings=2ki1

每层的浮点计算复杂度

设第 i i i层卷积核为 k i n , k i , k i , k o u t k_{in}, k_i, k_i, k_{out} kin,ki,ki,kout,则计算复杂度为 p r o d ( o u t p u t s h a p e ) × k i n k i k i prod(output\quad shape)\times k_{in}k_ik_i prod(outputshape)×kinkiki

卷积

卷积的特点:局部连接、权值共享
局部连接:一个特征映射平面上的点只依赖于输入的局部区域
权值共享:一个特征映射平面上不同点都是通过相同的卷积核计算出来的

valid 卷积

不填充0,一般输出特征映射的的shape小于输入特征映射的shape

same卷积

特点:输入特征映射与输出特征映射的的空间尺度相同(即 H × W H\times W H×W)
做法:卷积核尺寸为奇数,四周分别填充 k − 1 2 \frac{k-1}{2} 2k1个0,且 s t r i d e = 1 stride=1 stride=1
缺点:不同区域元素被访问的次数不同。中间元素被访问的次数为 k × k k\times k k×k,而边界元素被访问的次数却明显低于 k × k k\times k k×k

full卷积

针对same卷积不同区域元素被访问的次数不同的问题,提出了full卷积。
特点:不同区域元素被访问的次数相同;输出特征映射的大小: ( H + k − 1 ) × ( W + k − 1 ) (H+k-1)\times (W+k-1) (H+k1)×(W+k1)
做法:在same卷积的基础上增加填充0的个数。四周分别填充 k − 1 k-1 k1个0,且 s t r i d e = 1 stride=1 stride=1

非共享卷积

特点:局部连接,但是权重不共享

平铺卷积

对普通卷积和非共享卷积进行了折衷。学习一组核在空间移动时可以循环利用,在相邻的位置具有不同的卷积核,在不同的位置核可能被循环利用。

可分离卷积

卷积的物理意义

卷积:等效于使用傅里叶变换将输入与核都转换到频域,执行两个信号的逐点相乘,再使用傅里叶逆变换转换回时域

可分离卷积

可分离的卷积核:当一个 d d d维的卷积核可以表示成 d d d个向量(每一维一个向量)的外积时,该核被称为是可分离的
设有 N H W C NHWC NHWC维的输入以及 M M M k × k k\times k k×k的卷积核,则计算量为 N H W M k 2 C NHWMk^2C NHWMk2C,如果改为 2 2 2个一维卷积,则计算量为 N H W M k 1 C + N H W M 1 k C = 2 N H W M k C NHWMk1C+NHWM1kC=2NHWMkC NHWMk1C+NHWM1kC=2NHWMkC
一般化,如果 d d d维的卷积核 k 1 k 2 . . . k d k_1k_2...k_d k1k2...kd,则普通卷积的计算量为 C ∏ i = 1 i = d k i C\prod\limits_{i=1}^{i=d} k_i Ci=1i=dki,分离为 d d d个一维卷积的计算量为 C ∑ i = 1 i = d d i C\sum\limits_{i=1}^{i=d}d_i Ci=1i=ddi,显然计算量大幅下降

深度可分离卷积

普通卷积操作是同时考虑输入的通道维或输入维,深度可分离卷积先考虑区域,然后再考虑通道,将两者分离,使复杂度极大下降

如何加快模型优化?hard sample mining;
如何将模型压缩?深度可分离卷积

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值