乾明 十三 发自 凹非寺
量子位 报道 | 公众号 QbitAI
输入的数据量更小,深度神经网络在图像分类/分割任务上的精度反而提升了。
这就是阿里达摩院提出的图像分析新方法:“频域学习”(Learning in the Frequency Domain)。
核心要义,是省略图像压缩/解压缩中计算量最大的步骤,直接利用频域特征来进行图像推理,减少系统中模块之间的数据传输量,从而提升系统性能。
更难得可贵的是,如此成果出自同学少年——阿里达摩院实习生之手,已被CVPR 2020接收。
他们在ImageNet分类任务上测试了方法的有效性:
输入数据相同的情况下,ResNet-50和MobileNetV2分别实现了1.41%和0.66%的top-1精度改进。
即使只有一半大小的输入数据,ResNet-50的top-1精度仍然能够提高1%。
不仅仅是图像分类,在COCO数据集上,只使用一半大小的输入数据,“频域学习”的方法就能提升何恺明Mask R-CNN的图像分割结果。
对于当前端侧高效部署人工智能算法的需求来说,输入数据量更小,但让深度神经网络精度更高的“频域学习”方法,无疑是提供了一个新思路。
为什么要在频域上学习?
计算资源和内存是有限制的,大多数卷积神经网络模型,只能接受低分辨率的RGB图像(例如,224x224)。
因此,总是要经过一个压缩的过程,传统图像分析系统的基本框架如下。
图像输入(In)通常是RGB的空间域信号,在编码端经过RGB-to-YCbCr的转化、离散余弦变换(DCT)、量化(Quantization), 以及熵编码(Entropy coding),得到压缩后用来传输的信号。
Y表示亮度,Cb、Cr分别表示蓝色和红色的浓度偏移量成份。
这个信号传输到解码端,经过对应的熵解码(Entropy decoding)、反量化(dequantization)、逆离散余弦变换(IDCT)、YCbCr-to-RGB转化得到原图像的重建图像。
但这样的过程,不可避免地会出现信息丢失和精度降低。
此前有学者提出过解决办法,比如用学习任务感知的缩小网络来减少信息丢失,但这些网络通常基于特定任务,需要额外的计算,并不利于实际应用。
那有没有一种方法,过滤掉空间域冗余的信息,来节省解码端到推理引擎间的数据带宽呢?
这就是达摩院“频域中学习”解决的核心问题。
他们提出在频域,即离散余弦变换域(DCT)中重塑高分辨