作者 | Zhi Gao
編輯 | 唐裡
本篇文章是AI 科技評論 AAAI 2020 論文系列解讀第 01 篇
本文對北京理工大學、阿里文娛摩酷實驗室合作的論文《RevisitingBilinear Pooling: A coding Perspective》進行解讀,該論文發表在AAAI 2020,本文首先證明了常用的特徵融合方法——雙線性池化是一種編碼-池化的形式。從編碼的角度,我們提出了分解的雙線性編碼來融合特徵。與原始的雙線性池化相比,我們的方法可以生成更加緊緻和判別的表示。
一、研究動機
在各種計算機視覺及人工智慧任務中,特徵融合是一個不可或缺的模組。例如,在圖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所示,分解的雙線性編碼與已有的基於高階統計資訊的方法進行了比較。實驗結果顯示,在這兩個任務中,分解的雙線性編碼可以生成緊湊且有判別力的全域性表示。
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.0 1847.
[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, 20 79–2087.