论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol

论文地址:https://export.arxiv.org/abs/1904.05049
这是一篇最近新出的论文,引起了非常广泛的关注。比较期待后续代码的公布。

题目即文章的主要思想,表达很明确:对传统的convolution进行改进,以降低空间冗余。其中“Drop an Octave”指降低八个音阶,代表频率减半。

motivation

文章首先指出,在自然图像中,图片分为低频部分和高频部分。注意,此处的低频高频和之前所说的图片中出现的低频高频特征不一样。此处的低频和高频指图片经过傅里叶变换后对应的低频部分和高频部分。低频部分对应灰度图中变化平缓的部分,高频部分对应灰度图中变化剧烈的部分。具体表现出来,低频部分对应的图片整体结构,而高频部分对应的边缘细节。这一篇博客中有图例介绍。https://blog.csdn.net/bryant_meng/article/details/80900978
而论文作者也给出了图例:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第1张图片
作者随后认为,特征图中也有对应的低频部分和高频部分(又是一次从图像到特征图的性质拓展)。为了降低空间冗余,应该用低维度的tensor来储存变化缓慢的低频信息(文中选取的H,W减半)。如下图所示:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第2张图片

因此提出,卷积核应将低频部分和高频部分分开操作。要求能够更新每组信息并实现组间信息交互。
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第3张图片

method

一般的,用 X ∈ R c ∗ h ∗ w X \in R^{ c*h*w} XRchw表示input feature tensor。作者在这里将 X X X分解为高频部分和低频部分{ X H , X L X^{H},X^{L} XH,XL}。高频部分 X H ∈ R ( 1 − α ) c ∗ h ∗ w X^{H}\in R^{(1-\alpha)c*h*w} XHR(1α)chw表示细节而低频部分 X L ∈ R α ∗ c ∗ h ∗ w X^{L}\in R^{\alpha*c*h*w} XLRαchw表示整体架构。其中, α ∈ [ 0 , 1 ] \alpha \in[0,1] α[0,1]表示channel被分配到低频部分的比率。

寻常的卷积可以用以下的公式表示:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第4张图片
而octave convolution想要做的,就是有效地在其对应的tensor中处理低高频率的信息,并同时实现信息交互。因此定义输出 Y = Y H , Y L Y={Y^{H},Y^{L}} Y=YH,YL。其中 Y H = Y H → H + Y L → H Y^{H}=Y^{H\rightarrow H}+Y^{L\rightarrow H} YH=YHH+YLH, Y L = Y H → L + Y L → L Y^{L}=Y^{H\rightarrow L}+Y^{L\rightarrow L} YL=YHL+YLL
卷积核也分为两部分 W = [ W H , W L ] W=[W^{H},W^{L}] W=[WH,WL],每一部分分为intra和inter频率部分: W H = [ W H → H , W L → H ] W^{H}=[W^{H\rightarrow H},W^{L\rightarrow H}] WH=[WHH,WLH], W L = [ W H → L , W L → L ] W^{L}=[W^{H\rightarrow L},W^{L\rightarrow L}] WL=[WHL,WLL],如下图:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第5张图片
以下是理论上的cost随alpha的变化
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第6张图片
对应的计算公式如下:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第7张图片
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第8张图片
因为index(2p+0.5+i,2q+0.5+j)中的0.5是因为让从H到L下采样之后的特征图与input一致以消除misalignment。
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第9张图片
下表实验验证了作者的想法:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第10张图片
然而,具体实现时index要求为整数,所以重写输出Y:
在这里插入图片描述
作者称,低频率的部分能够获得相对于vanilla convolution更大的感受野(2倍),而这一点和低频率对应的整体结构非常适应,有利于在distant location获得更加contexual的信息。

experiments

论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第11张图片
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第12张图片
作者指出,在增大测试图像分辨率时,octconv对大物体检测更好,这一点获益于更大的感受野:
论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol_第13张图片

你可能感兴趣的:(论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol)