神经网络学习之OctConv:八度卷积

论文介绍

题目:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol
论文地址:https://export.arxiv.org/abs/1904.05049
介绍:对传统的convolution进行改进,以降低空间冗余。其中“Drop an Octave”指降低八个音阶,代表频率减半。这篇论文是19年发表的,在当时引起了不小的反响。

Octave feature representation 和 OctConv

Octave feature representation是一种新的特征表示方法,它将特征图分为两部分:高频特征图和低频特征图。

OctConv是一种新的卷积方式,它减少模型参数中的冗余来改善模型,具体来讲,它减少了特征图在空间维度上的冗余,空间维度(spatial dimensions)在文中的具体的定义为通道的尺寸,即长宽。

冗余的表现形式和产生的原因

首先,我们要了解图象中的高频信号与低频信号的概念。图像中的低频信号和高频信号也叫做低频分量和高频分量。图像中的高频分量,指的是图像强度(亮度/灰度)变化剧烈的像素点,例如边缘(轮廓)、图像的细节处、噪声(即噪点)(该点之所以称为噪点,是因为它与周边像素点灰度值有明显差别,也就是图像强度有剧烈的变化,所以噪声是高频部分)。图像中的低频分量,指的是图像强度(亮度/灰度)变换平缓的像素点,例如大片色块的地方。 下图是论文中给出的例子,左图是原图,中图表示低频信号,右图表示高频信号。

在这里插入图片描述

高频信号和低频信号的意义在于:高频信号度量图象的细节(边缘、轮廓),低频信号度量图象的整体部分。所以,论文指出“较高的频率通常用精细的细节编码,较低的频率通常用全局结构编码”。

根据以上观点,作者创新性的提出:特征图中也存在高频部分和低频部分。因为特征图也是图象,所以也可以按照上面的分类方法,设置一个频率阈值,将所有特征图分为低频特征图和高频特征图。如下图,黄色部分表示高频特征图,蓝色部分表示低频特征图。

在这里插入图片描述

在图像处理中,高频特征图是我们喜欢的,因为它包含了轮廓、边缘等的信息,有助于进行显著性检测。相反,低频特征图包含的信息较少。如果我们用相同的处理方法来处理高频特征图和低频特征图,显然,前者的效益是远大于后者的。这就是特征图的冗余信息:包含信息较少的低频部分

这种将特征图按照频率分成两部分的做法称为"Octave feature representation"。其中低频特征图和高频特征图的比例为 α : 1 − α \alpha:1-\alpha α:1α α ∈ [ 0 , 1 ] \alpha \in [0, 1] α[0,1],用 α \alpha α表示低频特征图所占比例。

冗余的解决方法

所以,如下图(c)所示,针对这部分冗余信息,作者降低低频特征图的分辨率,即降低低频特征图的空间维度。下图(d)表示两部分特征图的同一频率内的更新、不同频率之间的交流情况,这保证了低频特征图的分辨率可以安全地降低。

降低低频特征图的分辨率不仅能节省存储、算力,还有助于每个层获得更大的感受野,以捕获更多的上下文信息。
在这里插入图片描述
降低分辨率这一方法是根据尺度空间理念得出的。该理论指出特征具有尺度不变性和旋转不变性。

  • 尺度不变性:人类在识别一个物体时,不管这个物体或远或近,都能对它进行正确的辨认,这就是所谓的尺度不变性。
  • 旋转不变性:当这个物体发生旋转时,我们照样可以正确地辨认它,这就是所谓的旋转不变性。

当用一个机器视觉系统分析未知场景时,计算机没有办法预先知识图像中物体尺度,因此,我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。就好比高分辨率的图是人近距离的观察得到的,低分辨率的图是远距离观察得到的。

所以作者将低频特征图的分辨率降为1/2,这不仅有助于减少冗余数据,还有利于得到全局信息。不过在文中,我并没有找到高频特征图和低频特征图的具体分类方法,和低频特征图产生的原因。

八度卷积

但是普通卷积无法解决两组特征图的情况,所以作者提出了八度卷积(OctConv)。

因为特征图分为高频 X H X^H XH和低频 X L X^L XL,所以对应的卷积核 W W W和输出 Y Y Y也分为高频和低频。同时为了同时做到同一频率内的更新和不同频率之间的交流,卷积核分成四部分:

  1. 高频到高频的卷积核 W H → H W^{H→H} WHH
  2. 高频到低频的卷积核 W H → L W^{H→L} WHL
  3. 低频到高频的卷积核 W L → H W^{L→H} WLH
  4. 低频到低频的卷积核 W L → L W^{L→L} WLL

下图直观地展示了八度卷积的卷积核,可以看出四个部分共同组成了大小为 k*k 的卷积核。其中,in和out分别表示输入和输出特征图的相关属性,在这篇文章中,输入的低频占比、通道数量都和输出的一致。

在这里插入图片描述
在了解了卷积核之后,下面介绍输入如何进行八度卷积操作得到输出结果。如下图所示,低频和高频的输入经过八度卷积操作得到了低频和高频的输出。红色表示高频,蓝色表示低频。绿色的箭头表示同一频率内的更新,红色的箭头表示不同频率之间的交流。

h和w分别表示特征图的长宽,可以看出低频特征图的长宽都是高频特征图的一半。因为分辨率不同,所以不同频率之间交流之前需要进行分辨率的调整:高频到低频需要进行池化(降采样)操作;低频到高频需要进行上采样操作。

输入 X H X^H XH经过卷积核 W H → H W^{H→H} WHH卷积之后得到输出 Y H → H Y^{H→H} YHH,输入 X L X^L XL经过卷积核 W L → H W^{L→H} WLH卷积操作之后再进行上采样将分辨率扩大至四倍(与高频分辨率相同)得到输出 Y L → H Y^{L→H} YLH Y H → H Y^{H→H} YHH Y L → H Y^{L→H} YLH经过点加(element-size addition)操作后最终得到了高频输出特征图 Y H Y^H YH

低频部分也是:输入 X L X^L XL经过卷积核 W L → L W^{L→L} WLL卷积之后得到输出 Y L → L Y^{L→L} YLL,输入 X H X^H XH经过卷积核 W H → L W^{H→L} WHL卷积操作之后再进行上采样将分辨率扩大至四倍(与高频分辨率相同)得到输出 Y H → L Y^{H→L} YHL Y L → L Y^{L→L} YLL Y H → L Y^{H→L} YHL经过点加(element-size addition)操作后最终得到了高频输出特征图 Y L Y^L YL

在这里插入图片描述
下面是 Y H Y^H YH Y L Y^L YL的具体公式。(p, q)指特征图上的位置, N K N_K NK是一个集合,具体定义如下。其中k是一个奇数。 N K = { ( i , j ) : i = { − k − 1 2 , . . . , k − 1 2 } , j = { − k − 1 2 , . . . , k − 1 2 } } N_K=\{(i,j):i=\{-\frac{k-1}{2},...,\frac{k-1}{2}\},j=\{-\frac{k-1}{2},...,\frac{k-1}{2}\}\} NK={(i,j):i={2k1,...,2k1},j={2k1,...,2k1}}

下式中 ⌊ ⌋ \lfloor \rfloor 操作的含义为向下取整,坐标点(p,q)除以二就是池化(降采样)的含义。

在这里插入图片描述

下式中坐标点乘以二就是上采样的含义。

在这里插入图片描述
上面就是八度卷积的操作,非常有意思的是,在经过八度卷积之后,低频部分的感受野扩大了一倍,这更加有利于观察全局信息。关于感受野大小的作用可以见参考资料7。


参考资料:

1.比CNN表现更好,CV领域全新卷积操作OctConv厉害在哪里?
2.图像的低频与高频
3.Octave Convolution[论文详解]
4.论文笔记:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol
5.尺度空间理论
6.『深度概念』一文读懂Octave Convolution(OctConv)八度卷积
7.感受野的大小对于分割的影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值