作者 | Zhi Gao
编辑 | 唐里
本篇文章是AI 科技评论 AAAI 2020 论文系列解读第 01 篇
本文对北京理工大学、阿里文娱摩酷实验室合作的论文《RevisitingBilinear Pooling: A coding Perspective》进行解读,该论文发表在AAAI 2020,本文首先证明了常用的特征融合方法——双线性池化是一种编码-池化的形式。从编码的角度,我们提出了分解的双线性编码来融合特征。与原始的双线性池化相比,我们的方法可以生成更加紧致和判别的表示。
一、研究动机
在各种计算机视觉及人工智能任务中,特征融合是一个不可或缺的模块。例如,在图1(a) 的人工智能解说球赛的应用中,当观众提问“图中穿黄色球衣的球员是谁?”时,模型需要将图像特征和文本特征融合成一个全局表示,分类器对全局表示进行分类,得到答案。对于图1(b) 中的细粒度鸟类识别应用,通常的做法是首先对图像提取局部特征,之后将局部特征融合成全局表示并进行分类。因此,特征融合及其生成的全局表示直接影响了模型在计算机视觉和人工智能任务上的性能。
图1 (a) 人工智能解说球赛
图1 (b) 细粒度鸟类识别
常见的特征融合方法包括词袋模型 (BoW),Vector of Locally Aggregated Descriptor (VLAD) 模型和Fisher Vector (FV) 模型等。最近的研究显示,双线性池化 (BilinearPooling) 是一个更有效的特征融合方法,它已经被广泛应用于各种计算机视觉和机器学习任务 [1-4]。双线性池化通过建模特征的高阶统计信息来捕获特征之间的关系,进而生成具有表达力的全局表示。然而,双线性池化仍然存在两个问题。第一,双线性池化生成的表示含有大量的信息冗余(redundancy)。第二,双线性池化具有突发性(burstiness)的问题,降低了表示的判别力。
在这篇论文中,作者首先证明了双线性池化是一个基于相似性的编码—池化框架。从这个新的角度,作者分析了双线性池化中冗余和突发性问题的本质,并提出了分解的双线性编码来生成紧凑且有判别力的表示。
二、方法


2.1双线性池化的编码—池化框架
双线性池化方法[1]的形式是
其中是双线性池化生成的矩阵表示,将Z向量化得到z作为全局表示。在本文中,作者证明了双线性池化是一个基于相似性的编码—池化框架。全局表示z可以写成
其中,
B是字典,双线性池化计算双线性特征
和字典元
的内积相似度。由相似度构成的编码通过一个求和池化 (SumPooling) 聚合成全局表示z。
在上述的编码—池化框架下,有三个的性质影响了双线性池化的性能:
(1)双线性特征
是秩为1的矩阵,含有大量的信息冗余;
(2)字典B由输入的双线性特征决定。因此对不同的输入进行编码所使用的字典不同;
(3)将双线性池化用于多模态任务时,字典元
共线,这影响了表示z的判别力。
2.2 分解的双线性编码
从编码的角度,作者提出了分解的双线性编码(FBC)融合特征。作者将基于相似性的编码替换成为稀疏编码 (Sparse Coding),激活尽可能少的字典元并保持尽可能多的信息。与原始的双线性池化相比,分解的双线性编码学习一个全局字典进行编码,提高了z的判别力。
对高维的双线性特征直接编码很容易引入大量的参数。为了避免这个问题,作者将字典元
进行分解,通过最小化如下目标函数获得编码
其中每一个字典元
被分解成了两个矩阵
的乘积,矩阵分解的秩远小于双线性特征的维度。通过LASSO算法和参数替换策略,上式可以解得
其中
是替换后的参数。作者使用最大值池化(Max Pooling)将获得的编码聚合成全局表示z
分解的双线性编码与原始的双线性池化相比,减少了大量的内存消耗。例如在视觉问答任务中,文本特征的维度p=1024,视觉特征的维度q=2048,答案有3000个类别。使用双线性编码需要存储
个参数。如果首先计算双线性特征
,并使用非分解的编码方案,其中字典元的个数k=1000,则需要存储的参数量为
。与这两种方案相比,分解的双线性编码不需要直接计算高维的双线性特征
,且字典元的空间复杂度由
减少为
。在具体实施中,矩阵分解的秩被设置为r=5,因此分解的双线性编码只需要存储
,约等于
个参数,减少了模型的参数量。
分解的双线性编码可以比较灵活地应用到各种视觉任务中。例如,图像分类和视觉问答任务,网络结构如图2(a) 和图2(b)所示。分解的双线性编码的模块结构如图2(c)所示。
三、实验
3.1 性能比较
这篇论文在图像分类数据集DTD、 Indoor、 MINC、 CUB和视觉问答任务的VQA 2.0数据集上进行了实验。实验结果如表1和表2所示,分解的双线性编码与已有的基于高阶统计信息的方法进行了比较。实验结果显示,在这两个任务中,分解的双线性编码可以生成紧凑且有判别力的全局表示。
表1在图像分类数据集上各方法的比较结果
表2在视觉问答数据集上各方法的比较结果
3.2可视化
在论文中,作者可视化了双线性池化和分解的双线性编码的特征分布,如图3所示。与双线性池化相比,分解的双线性编码产生的特征更具有判别力,特征分布具有更小的类内散度和更大的类间散度。
四、总结
这篇论文证明了双线性池化是一种基于相似性的编码—池化框架,并从编码的角度提出了一种分解的双线性编码方法。分解的双线性编码可以解决双线性池化的冗余问题并生成紧凑的表示。分解的双线性编码避免了对高维双线性特征的显式计算,并且将所需参数的空间复杂度从降低为。同时,分解的双线性编码可以克服突发性问题。实验显示,与基于高阶统计信息的方法相比,分解的双线性编码生成的表示更有判别力,在图像分类和视觉问答任务上的性能超过了一些最新的方法。
参考文献
[1] Lin,T.-Y.; RoyChowdhury, A.; and Maji, S. Bilinear cnn models for fine-grainedvisual recognition. In Proceedings of the IEEE International Conference onComputer Vision (ICCV), 1449– 1457, 2015.
[2] Gao, Y.;Beijbom, O.; Zhang, N.; and Darrell, T. Compact bilinear pooling. InProceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2016, 317–326.
[3] Fukui, A.;Park, D. H.; Yang, D.; Rohrbach, A.; Darrell, T.; and Rohrbach, M. Multimodal compactbilinear pooling for visual question answering and visual grounding. arXivpreprint arXiv:1606.01847.
[4] Li, Y.;Wang, N.; Liu, J.; and Hou, X. Factorized bilinear models for imagerecognition. In Proceedings of the IEEE International Conference on ComputerVision (ICCV), 2017, 2079–2087.



点击“
阅读原文”加入 AAAI 顶会交流小组
继续阅读
阅读原文