【论文阅读】Adaptive Cross-Modal Prototypes for Cross-Domain Visual-Language Retrieval
文章目錄
- 閱讀目標
- 問題回答
- 摘要
- 引入
- 方法
- 網絡輸入
- 視覺編碼器EvE_vEv?和文本編碼器ElE_lEl?
- 文本龍骨KlK_lKl?
- 視覺龍骨KvK_vKv?
- 源原型網絡PsP^sPs
- 目標原型網絡PtP^tPt
- 子網絡及輸入輸出
- 最大化互信息
閱讀目標
問題回答
摘要
動機:在源域中有標記數據而目標域中沒有標記數據的設定下的視覺-文本檢索任務(包括圖像-文本和視頻-文本任務)
提出方法:通過最小化單模態和跨模態的源域和目標域之間的分布變化,來學習跨模態視覺-文本表示
核心idea:1)學習到的跨模態表示應該由單個模態中的概念組成,我們對這個歸納偏置(關于機器學習中的必要假設,可以理解為必要的“先驗”,比如cnn中的locality invariance 和 spatial invariance,前者代表cnn中相鄰的grid有依賴而較遠的沒有,后者代表空間不變性,及kernel可以在整個空間共享權重)進行編碼,實現方式是,在每個域上聚合預訓練的單模態特征,然后設計一個正則化項來保存生成的結構(生成的結構具體指什么?以及為什么這里可以實現對歸納偏置的編碼) 2)在訓練中,通過將源域和目標域之間的跨模態表示間的互信息最大化,提供了一種機制,在保留域之間的共性同時,忽略那些無法從另一個域推斷出的這個域的信號
注:1)本文的目標在于域的遷移,原型學習只是達到這個目的的方式 2)需要承認,領域遷移仍然是跨模態檢索問題中,能證明模型泛化能力和真正的理解能力的表現,而這種理解能力與原型學習的概念良好適應
引入
在UDA(Unsupervised Domain Adaptation,無監督域遷移,也就是源域有標記的視覺數據,目標域無標記)的設定下,視覺-文本檢索任務需要解決的三個挑戰(感覺分析得很透徹):1)語義合成性:模型需要合成由多個視覺實體及其關系組成的復雜語義特征 2)報告偏差:是指人們傾向于低估可用信息,這里是說視覺-文本任務中,對于數據集的利用是不全面的(不是特別理解) 3)視覺和文本的領域遷移:字面意思不贅述
為了解決這三個挑戰,提出了適應性跨模態原型框架,其核心創新為:1)為了解決對語義合成性的需求并獲得報告偏差的魯棒性(挑戰1)2)),提出學習一個精心設計的正則化的跨模態表示(也就是原型),但由于視覺-文本任務中沒有類別的概念,因此首先對目標域中的預訓練視覺特征和源域中的預訓練文本特征進行聚類,然后將原型網絡連接到跨模態表示,并用跨模態表示預測同一個模態下,每個樣本的單模態嵌入到其聚類中心的分配概率,這是為了確保聚類發現的類別不會在跨模態表示中丟失(加粗對應兩個問題,目標域沒有文本特征所以不聚類,但為什么源域只聚類文本特征?原型網絡如何用于跨模態表示的,跟原本的網絡有關聯嗎?) 2)為了最小化域間的視覺和文本變換的影響(挑戰3)),將互信息最大化,應用于源域和目標域之間的原型網絡的預測
方法
讀這一部分時感覺有些理不清。所以這里就不按照作者的敘述邏輯來敘述了:
| vvv | 視覺特征 |
| lll | 文本特征 |
| sss | 源域 |
| ttt | 目標域 |
網絡輸入
vs,ls,vtv^s,l^s,v^tvs,ls,vt
代表源域的視覺和文本特征,以及目標域的視覺特征(因為在UDA的設定下,目標域的數據均為標注,所以沒有文本特征)
視覺編碼器EvE_vEv?和文本編碼器ElE_lEl?
輸入:vs,lsv^s,l^svs,ls(只對源域的特征進行處理)
處理:源域中的視覺特征放入視覺編碼器EvE_vEv?,文本特征放入文本編碼器ElE_lEl?,將他們映射到共同的跨模態嵌入空間中
目標:使語義上相近的視覺和文本輸入,在公共空間中距離相近
損失:LR=1B∑i=1,j≠iB[m+ξi,js?ξi,is]++[m+ξj,is?ξi,is]+L_R = \frac{1}{B} \sum_{i=1, j\neq i}^{B}[m+\xi_{i,j}^s-\xi_{i,i}^s]_+ +[m+\xi_{j,i}^s-\xi_{i,i}^s]_+LR?=B1?∑i=1,j?=iB?[m+ξi,js??ξi,is?]+?+[m+ξj,is??ξi,is?]+?
其中,ξi,js=cos(Ev(vis),El(ljs))\xi_{i,j}^s = cos(E_v(v_i^s), E_l(l_j^s))ξi,js?=cos(Ev?(vis?),El?(ljs?)),表示映射到同一空間后的向量的余弦相似度;[?]+=max(?,0)[·]_+ = max(·,0)[?]+?=max(?,0)
整體損失稱為雙向排序損失,表示令配對的視覺和文本正樣本的余弦相似度更大,不配對的視覺文本負樣本余弦相似度更小(同時構造i,ji,ji,j間的相似度和j,ij,ij,i間的相似度,雙向的含義)
輸出:Ev(vs),El(ls)E_v(v^s), E_l(l^s)Ev?(vs),El?(ls)
文本龍骨KlK_lKl?
咱也不知道為什么取這個名字,其實龍骨指的是形心(聚類中心),據作者說這個名字反映了這些形心是用來穩定適應過程的意圖
輸入:lsl^sls(是的你沒看錯,跟文本編碼器的輸入一樣,所以這個文本龍骨和下面視覺龍骨的構建,與文本編碼器是平行的關系)
處理:先將lsl^sls放入在大規模自由格式句子上預訓練過的句子級別的語言模型(Sentence-Transformer模型),這一步是為了獲取結構化的特征表示;然后使用Lloyd’s algorithm將句子表示聚類為NNN簇,得到NNN個聚類中心(稱為文本龍骨){Λn}n=1N\{\Lambda_n\}_{n=1}^N{Λn?}n=1N?(作者其實使用花體的LLL表示這個向量的,但是我不會打,所以換成Λ\LambdaΛ,這個文本龍骨就會作為之后原型學習過程的參考標準;然后計算文本龍骨到每個文本樣本的概率分配,由于對每個樣本來說,所有龍骨都會對其產生一個分配概率,因此每個樣本的分配概率共由NNN部分組成,其中第nnn個部分的分配概率由以下公式計算得出:
Pkeel(ls)(n)=exp(cos(ls,Λn))∑n′exp(cos(ls,Λn′))P_{keel}(l^s)(n) = \frac{exp(cos(l^s,\Lambda_n))}{\sum_{n^{'}}exp(cos(l^s,\Lambda_{n^{'}}))}Pkeel?(ls)(n)=∑n′?exp(cos(ls,Λn′?))exp(cos(ls,Λn?))?
每個樣本的分配概率將參與后面原型學習損失的計算;而每個樣本的整體分類概率為:ys=Pkeel(ls)∈RNy^s = P_{keel}(l^s) \in R^Nys=Pkeel?(ls)∈RN
目標:這一部分并沒有設計損失函數,因為嚴格來說這部分其實不屬于網絡的一部分,而是用來給源域原型網絡PsP^sPs生成龍骨(原型學習的標準)以及對應的每個樣本的ground truth的,也就是分配概率(但是后面就會發現,這個ground truth其實是不同模態的,也就是損失中的prediction其實是跨模態的表示,而這個ground truth其實是單模態的表示)
輸出:ysy^sys
視覺龍骨KvK_vKv?
輸入:vtv^tvt目標域中的視覺表示
處理:同樣也需要先利用vtv^tvt生成結構化的表示,由于視覺信息本身不像句子有一樣有結構,所以作者選擇的方法是,分別放入三種預訓練的網絡:目標分類(a ResNext-101 pretrained on ImageNet)、動作識別(僅當視覺信息是視頻時存在,an R(2+1)D model [64] trained on IG-65m)和場景識別((a Dense Net-161 pretrained on Places365),他們分別提取了視覺信息中的[what, how, where]三個維度,最后將三個維度的表示整合在一起(貌似是concat),就獲得了結構化的表示;之后就跟文本一樣,提取視覺龍骨{Vk}k=1K\{V_k\}_{k=1}^K{Vk?}k=1K?,然后計算他們對每個樣本的分配概率,最后得到avt=Pkeel(vt)∈RKa_v^t = P_{keel}(v^t) \in R^Kavt?=Pkeel?(vt)∈RK
目標:給目標原型網絡PtP^tPt生成原型學習的標準和參與損失計算的ground truth
輸出:avta_v^tavt?
源原型網絡PsP^sPs
組成:一個單線性映射層,權重矩陣是K∈RN?MK \in R^{N*M}K∈RN?M,矩陣的第nnn行表示第nnn個源原型(NNN對應聚類個數)
輸入:Ev(vs),El(ls)E_v(v^s), E_l(l^s)Ev?(vs),El?(ls)經過視覺編碼器和文本編碼器處理的視覺和文本特征
處理:通過PsP^sPs網絡對每個樣本的視覺和文本特征計算NNN維的分配概率,表示的是第nnn個原型對樣本的概率,公式為:
Pproto(vs)(n)=exp(cos(Ev(vs),Kn))∑n′=1Nexp(cos(Ev(vs),Kn′))P_{proto}(v^s)(n) = \frac{exp(cos(E_v(v^s), K_n))}{\sum_{n_{'}=1}^Nexp(cos(E_v(v^s), K_{n_{'}}))}Pproto?(vs)(n)=∑n′?=1N?exp(cos(Ev?(vs),Kn′??))exp(cos(Ev?(vs),Kn?))?
Pproto(ls)(n)=exp(cos(El(ls),Kn))∑n′=1Nexp(cos(El(ls),Kn′))P_{proto}(l^s)(n) = \frac{exp(cos(E_l(l^s), K_n))}{\sum_{n_{'}=1}^Nexp(cos(E_l(l^s), K_{n_{'}}))}Pproto?(ls)(n)=∑n′?=1N?exp(cos(El?(ls),Kn′??))exp(cos(El?(ls),Kn?))?
(所以說PsP^sPs中的線性映射,其實指的是這個余弦相似度+取指數+歸一化?有點迷)在對nnn個分配概率組合,得到yvs^=Pproto(vs)\hat{y_v^s} = P_{proto}(v^s)yvs?^?=Pproto?(vs)和yls^=Pproto(ls)\hat{y_l^s} = P_{proto}(l^s)yls?^?=Pproto?(ls)
目標:令原型去逼近聚類得到的龍骨(聚類中心),落實到樣本上,就令每個樣本的原型概率分配去逼近龍骨概率分配:
Ls=KL(yls,yls^)+KL(yls,yvs^)L_s = KL(y_l^s, \hat{y_l^s})+KL(y_l^s, \hat{y_v^s})Ls?=KL(yls?,yls?^?)+KL(yls?,yvs?^?)
(因為只構建了源域的文本龍骨,所以yvs^\hat{y_v^s}yvs?^?的逼近也是ylsy_l^syls?
輸出:yvs^,yls^\hat{y_v^s}, \hat{y_l^s}yvs?^?,yls?^?
目標原型網絡PtP^tPt
組成:線性映射,參數為W∈RK?MW \in R^{K*M}W∈RK?M
輸入:Ev(vt)E_v(v^t)Ev?(vt)
處理:也是計算原型網絡對樣本的分配概率:
Pproto(vt)(k)=exp(cos(Ev(vt),Wk))∑k′=1Kexp(cos(Ev(vs),Wk′))P_{proto}(v^t)(k) = \frac{exp(cos(E_v(v^t), W_k))}{\sum_{k_{'}=1}^Kexp(cos(E_v(v^s), W_{k_{'}}))}Pproto?(vt)(k)=∑k′?=1K?exp(cos(Ev?(vs),Wk′??))exp(cos(Ev?(vt),Wk?))?
繼而得到每個樣本的總分配概率:avt^\hat{a_v^t}avt?^?
目標:是的目標域中的樣本分配概率分布去逼近視覺龍骨對樣本的分配概率:
Lt=KL(Pkeel(vt)∣∣Pproto(vt))=KL(avt,avt^)L_t = KL(P_{keel}(v^t)||P_{proto}(v^t)) = KL(a_v^t, \hat{a_v^t})Lt?=KL(Pkeel?(vt)∣∣Pproto?(vt))=KL(avt?,avt?^?)
輸出:avt^\hat{a_v^t}avt?^?
子網絡及輸入輸出
這里用表格總結一下每個子網絡的輸入輸出,否則一會互信息部分完全看不懂
| vsv^svs | EvE_vEv? | Ev(vs)E_v(v^s)Ev?(vs) |
| lsl^sls | ElE_lEl? | El(ls)E_l(l^s)El?(ls) |
| lsl^sls | KlK_lKl? | ysy^sys |
| vtv^tvt | KvK_vKv? | avta_v^tavt? |
| Ev(vs),El(ls)E_v(v^s), E_l(l^s)Ev?(vs),El?(ls) | PsP^sPs | yvs^,yls^\hat{y_v^s}, \hat{y_l^s}yvs?^?,yls?^? |
| Ev(vt)E_v(v^t)Ev?(vt) | PtP^tPt | avt^\hat{a_v^t}avt?^? |
最大化互信息
不了解互信息的可以看我之前的博客:【知識建設】信息熵、條件熵、互信息、交叉熵及相對熵(KL散度),很系統的介紹
我的理解下,這一部分的目標是令源域的跨模態表示yvs^\hat{y_v^s}yvs?^?和目標域的跨模態表示avt^\hat{a_v^t}avt?^?之間建立聯系,而這種跨模態表示是通過原型網絡對每個樣本的概率分配來表示的,至于為何此處不適用KL散度,而是使用互信息,是因為源域和目標域的原型,很可能表示的類別和語義含義不同,因此不能被看作是相同的隨機變量,所以使用互信息;
然而在這部分的敘述中,竟然出現了四個變量:yvs^,yvt^,avs^,avt^\hat{y_v^s},\hat{y_v^t},\hat{a_v^s},\hat{a_v^t}yvs?^?,yvt?^?,avs?^?,avt?^?,這里至今不理解,今后再議
總結
以上是生活随笔為你收集整理的【论文阅读】Adaptive Cross-Modal Prototypes for Cross-Domain Visual-Language Retrieval的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文阅读-句向量】Whitening
- 下一篇: 《introduction to inf