文章目录
- 一、分组卷积
 - 1.1 概述
 - 1.2 参数量变换
 
- 二、深度可分离卷积
 - 2.1 概述
 - 2.2 计算
 
- 三、膨胀卷积
 
一、分组卷积
1.1 概述
1. 分组卷积(Group convolution )最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此把特征图分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。
2. 一般的卷积会对输入数据的整体一起做卷积操作。而组卷积则是在深度上进行划分,即某几个通道编为一组,对输入数据做组合卷积操作。

1.2 参数量变换
1. 标准的 2 D 2D 2D 卷积步骤如下图所示:输入特征为: H × W × C H × W × C H×W×C,然后应用 C ′ C' C′ 个卷积核组(每个卷积核组的大小为 h × w × c h × w × c h×w×c),输入层被转换为大小为 H ′ × W ′ × C ′ H' × W' × C' H′×W′×C′ 的输出特征。

 2. 分组卷积的表示如下图所示。我们计算一下标准  
     
      
       
       
         2 
        
       
         D 
        
       
      
        2D 
       
      
    2D 卷积 和分组卷积的参数量:
  标准  
     
      
       
       
         2 
        
       
         D 
        
       
      
        2D 
       
      
    2D 卷积: 
     
      
       
       
         w 
        
       
         × 
        
       
         h 
        
       
         × 
        
       
         C 
        
       
         × 
        
        
        
          C 
         
        
          ′ 
         
        
       
      
        w × h × C × C' 
       
      
    w×h×C×C′
  分组卷积: 
     
      
       
       
         w 
        
       
         × 
        
       
         h 
        
       
         × 
        
       
         C 
        
       
         / 
        
       
         2 
        
       
         × 
        
        
        
          C 
         
        
          ′ 
         
        
       
         / 
        
       
         2 
        
       
         × 
        
       
         2 
        
       
      
        w × h × C/2 × C'/2 × 2 
       
      
    w×h×C/2×C′/2×2
  我们可以发现参数量减少到原来的  
     
      
       
       
         1 
        
       
         / 
        
       
         2 
        
       
      
        1/2 
       
      
    1/2,那当Group为4的时候,参数量将会减少到原来的  
     
      
       
       
         1 
        
       
         / 
        
       
         4 
        
       
      
        1/4 
       
      
    1/4。

二、深度可分离卷积
2.1 概述
1. 在深度可分离卷积(depthwise separable convolution)中,通常将卷积操作拆分成多个步骤。深度可分离卷积把普通卷积拆分成 D W DW DW 卷积(Depthwise Convolution,深度卷积)和 P W PW PW 卷积(Point Convolution,点卷积)两部分。即:深度可分离卷积 = 深度卷积 + 点卷积。

2. 深度卷积完成后的特征图数量与输入层的通道数相同。但这种运算对输入层的每个通道独立进行卷积运算,没有有效地利用不同通道在相同空间位置上的特征信息。因此需要点卷积来将这些特征图进行组合生成新的特征图。
 3. 举例:
  (1) 在第一部分深度卷积中,我们在不改变深度的情况下,对输入图像进行了分组卷积。我们使用  
     
      
       
       
         3 
        
       
      
        3 
       
      
    3 个  
     
      
       
       
         5 
        
       
         × 
        
       
         5 
        
       
         × 
        
       
         1 
        
       
      
        5×5×1 
       
      
    5×5×1 形状的卷积核。每个  
     
      
       
       
         5 
        
       
         × 
        
       
         5 
        
       
         × 
        
       
         1 
        
       
      
        5×5×1 
       
      
    5×5×1 卷积核迭代图像的  
     
      
       
       
         1 
        
       
      
        1 
       
      
    1 个通道(注意: 
     
      
       
       
         1 
        
       
      
        1 
       
      
    1 个通道,而不是所有通道),得到  
     
      
       
       
         3 
        
       
      
        3 
       
      
    3 个  
     
      
       
       
         8 
        
       
         × 
        
       
         8 
        
       
         × 
        
       
         1 
        
       
      
        8×8×1 
       
      
    8×8×1 的图像。将这些图像叠加在一起可创建  
     
      
       
       
         8 
        
       
         × 
        
       
         8 
        
       
         × 
        
       
         3 
        
       
      
        8×8×3 
       
      
    8×8×3 的图像。

 (2) 点卷积的运算与常规卷积运算非常相似,它的卷积核的尺寸为  
     
      
       
       
         1 
        
       
         × 
        
       
         1 
        
       
         × 
        
       
         M 
        
       
      
        1×1×M 
       
      
    1×1×M, 
     
      
       
       
         M 
        
       
      
        M 
       
      
    M 为上一层的通道数。所以这里的卷积运算会将上一步的图像在深度方向上进行加权组合,生成新的特征图。有几个卷积核就有几个输出图像。
  点向卷积之所以如此命名是因为它使用了一个  
     
      
       
       
         1 
        
       
         × 
        
       
         1 
        
       
      
        1×1 
       
      
    1×1 卷积核,我们通过  
     
      
       
       
         1 
        
       
         × 
        
       
         1 
        
       
         × 
        
       
         3 
        
       
      
        1×1×3 
       
      
    1×1×3 卷积核迭代  
     
      
       
       
         8 
        
       
         × 
        
       
         8 
        
       
         × 
        
       
         3 
        
       
      
        8×8×3 
       
      
    8×8×3 图像,得到  
     
      
       
       
         8 
        
       
         × 
        
       
         8 
        
       
         × 
        
       
         1 
        
       
      
        8×8×1 
       
      
    8×8×1 图像。我们可以创建  
     
      
       
       
         256 
        
       
      
        256 
       
      
    256 个  
     
      
       
       
         1 
        
       
         × 
        
       
         1 
        
       
         × 
        
       
         3 
        
       
      
        1×1×3 
       
      
    1×1×3 卷积核,每个卷积核输出一个  
     
      
       
       
         8 
        
       
         × 
        
       
         8 
        
       
         × 
        
       
         1 
        
       
      
        8×8×1 
       
      
    8×8×1 图像,全部叠加到一起得到形状为  
     
      
       
       
         8 
        
       
         × 
        
       
         8 
        
       
         × 
        
       
         256 
        
       
      
        8×8×256 
       
      
    8×8×256 的最终图像。
 

2.2 计算
 用上面这个例子:
  普通卷积参数量为: 
     
      
       
       
         3 
        
       
         × 
        
       
         256 
        
       
         × 
        
       
         5 
        
       
         × 
        
       
         5 
        
       
      
        3×256×5×5 
       
      
    3×256×5×5
  深度可分离卷积参数量为: 
     
      
       
       
         3 
        
       
         × 
        
       
         5 
        
       
         × 
        
       
         5 
        
       
         + 
        
       
         3 
        
       
         × 
        
       
         256 
        
       
         × 
        
       
         1 
        
       
         × 
        
       
         1 
        
       
      
        3×5×5+3×256×1×1 
       
      
    3×5×5+3×256×1×1
三、膨胀卷积
1. 膨胀卷积与普通的卷积相比,除了卷积核的大小以外,还有一个膨胀率(dilation rate)参数,主要用来表示膨胀的大小。卷积核的膨胀率(dilate rate)属性定义为卷积核的元素间距。如 dilate rate=2 是每隔一个像素位置应用一个卷积元素,dilate rate=1 就是普通的卷积。具体含义就是在卷积核中填充 dilation rate 个 0。
2. (a) 是普通卷积,1-dilated convolution,卷积核的感受野为 3 × 3 = 9 3×3=9 3×3=9; (b) 是膨胀卷积,2-dilated convolution,卷积核的感受野为 5 × 5 = 25 5×5=25 5×5=25;(c) 是膨胀卷积,4-dilated convolution,卷积核的感受野为 9 × 9 = 81 9×9=81 9×9=81。

3. 卷积核经过膨胀后实际参与运算的卷积大小计算公式:膨胀后的卷积核尺寸 = 膨胀系数 × × × (原始卷积核尺寸 − 1 -1 −1) + 1 +1 +1



















