频域深度学习 Learning in the Frequency Domain

频域深度学习 Learning in the Frequency Domain

学过信号与系统的同学应该记得,信号可以分为:时域信号(一维),空间域(多维),频域,自相关域和小波域。真实世界的信号一般是连续的模拟信号,存在于时域和空间域。

通常通过傅里叶变换从时域或者空间域转换到频域。傅里叶变换将信号信息转换成每个成分频率上的幅度和相位。在频域分析信号的最常见目的是分析信号属性。工程师通过分析频谱就可以知道输入信号中包含了哪些频率的信号。

显然一般的深度学习方法,以图像为例,模型的输入为图像本身,属于空间域信息,那么有没有可能将空间域信息转换到频域进行分析,并得到一些效果的提升或其他方面的优势呢?Learning in the Frequency Domain这篇论文告诉我们是可以的。

为什么需要频域

在传统方法中,通常在CPU上对高分辨率RGB图像进行预处理,然后将其传输到GPU / AI加速器以进行实时推断。 由于RGB格式的未压缩图像通常较大,因此对CPU和GPU / AI加速器之间的通信带宽的要求通常很高。为了降低计算成本和通信带宽需求,将高分辨率RGB图像下采样为较小的图像,这通常会导致信息丢失和推理精度降低。

论文提出的方法,高分辨率RGB图像仍在CPU上进行预处理。 但是,它们首先转换到YCbCr颜色空间,然后转换为频域。 这与JPEG等最广泛使用的图像压缩标准相吻合。 同一频率的所有分量都被分组到一个channel中。 这样,生成了多个channel。 如下图所示,某些channel对推理准确性的影响大于其他channel。 因此,建议仅保留最重要的频道并将其传输到GPU / AI加速器进行推理。 与传统方法相比,论文所提出的方法需要更少的通信带宽并同时获得更高的精度。

如何将空间域模型转换为频域模型呢

论文证明了频域中的输入特征可以以最小的修改应用于空间域中开发的所有现有CNN模型。 具体来说,只需要删除输入的CNN层并保留剩余的残差block。 第一个残差层用作输入层,并且需要修改输入通道的数量以适合DCT系数输入的尺寸。 这样,修改后的模型可以保持与原始模型相似的参数计数和计算复杂度。

如下图所示,将频域中的预处理输入功能连接到ResNet-50。 移除了传统ResNet-50中的三个输入层(灰色虚线框),以接受56×56×64 DCT输入。 channel数值为64,该值可以根据通道选择而变化。

频域中的预处理

预处理流程如下图所示,同样空间领域中传统的预处理流程和增强流程必不可少,包括图像大小调整,裁剪和翻转(下图中的spatial resize and crop)。然后将图像转换为YCbCr颜色空间也就是频域(对应下图DCT transform)。之后,将相同频率的二维DCT系数分组到一个channel,以形成三维DCT立方体(下图中的DCT reshape)。 通过通道选择,选择了影响较大的频道的子集(下图的DCT channel select)。 YCbCr颜色空间中的选定channel被concat在一起以形成一个张量(下图中的DCT concatenate)。 最后,通过从训练数据集计算出的均值和方差对每个channel进行归一化。

通道选择 (channel select)

由于输入特征的不同channel处于不同的频率,作者推测某些频率channel对后续任务(例如图像分类,对象检测和实例分割)更有益,并且删除琐碎的频率channel不会导致性能下降。 因此,作者提出了一种基于学习的通道选择机制。 是现在这一功能的模块叫dynamic gate model,实际上就是SE-Net中提出的SE-Block,该模块为每个channel分配一个二进制分数。 分数为零的输入channel从网络中分离出来。 因此,减小了输入数据的大小,从而降低了域变换和通信带宽需求的计算复杂度。

输入的形状为W×H×C(本文中C = 192),具有C个channel(下中的Tensor1)。通过平均池化将其转换为形状为1×1×C的下中的Tensor 2。

x =(x_1,x_2,...,x_C)是CNN模型在频域(C = 192)中的输入channel。 令F表示每个频率信道x_i的gate model,损失函数如下:

其中L_{Acc}是与准确性相关的损失。 λ是一个超参数,表示调节项的相对权重.

一些结论和发现

  • 与高频频道(索引较大的框)相比,低频频道(索引较小的框)的选择频率更高。 这表明对于视觉推理任务而言,低频通道通常比高频通道更具信息性
  • 与色度分量Cb和Cr中的频道相比,模型更频繁地选择亮度分量Y中的频道。 这表明亮度分量对于视觉推理任务更具参考价值
  • 热图在分类和分割任务之间共享一个公共模式。 这表明上述两个观察结果并非特定于一项任务,很可能对更高层次的视觉任务具有普遍性
  • 这些观察结果暗示CNN模型可能确实表现出与人类视觉类似的特征,并且针对人眼的图像压缩标准(例如JPEG)也可能适用于CNN模型。
  • 实验结果:

编辑于 2020-03-18 20:10