胡正平,劉文亞,毛建增,鄭智鑫,方 鑫
(1.燕山大學 信息科學與工程學院,河北 秦皇島 066004; 2.燕山大學 河北省信息傳輸與信號處理重點實驗室,河北 秦皇島 066004)
由于深度神經(jīng)網(wǎng)絡具有學習不同層次視覺特征的強大能力,其已成為計算機視覺(Computer Vision,CV)應用的基本結(jié)構(gòu),如目標檢測[1]、視頻動作識別[2]等。采用監(jiān)督學習方法訓練神經(jīng)網(wǎng)絡需要大規(guī)模的數(shù)據(jù)集,但數(shù)據(jù)集的收集和注釋費時且昂貴,例如用于深度卷積神經(jīng)網(wǎng)絡訓練的ImageNet數(shù)據(jù)集中包含約130萬張標簽圖像,人工標記這些圖像需要花費大量的時間。用于訓練卷積神經(jīng)網(wǎng)絡進行視頻動作識別的Kinetics數(shù)據(jù)集中包含50萬個視頻,且每個視頻持續(xù)時間約10 s,這需要花費更長的時間對數(shù)據(jù)集進行注釋。為避免耗時和昂貴的數(shù)據(jù)標注,無監(jiān)督對比學習應運而生,無監(jiān)督對比學習直接利用數(shù)據(jù)本身作為監(jiān)督信息學習樣本數(shù)據(jù)的特征表達,然后應用于下游任務,深度學習巨頭Bengio和LeCun曾在 ICLR 2020上預測無監(jiān)督對比學習是人工智能(Artificial Intelligence,AI)的未來。深度學習的本質(zhì)為表示學習和歸納偏好學習。學好樣本的表示,在不涉及邏輯、推理等的問題上,AI系統(tǒng)都可取得好的效果,如涉及更高層的語義、組合邏輯,則需要設計一些過程來輔助AI系統(tǒng)去分解復雜的任務,因為歸納偏好的設計更多的是任務相關(guān),所以需要精心設計。最近的很多研究工作都與表示學習相關(guān),例如雙向編碼表征模型(Bidirectional Encoder Representation from Transformers,BERT)就是利用大規(guī)模的語料進行預訓練得到文本數(shù)據(jù)的好的表示。那么,CV領域的 BERT 是什么呢?答案就是對比學習。
無監(jiān)督對比學習是一種鑒別模型,目的是將正樣本間的距離拉近,正樣本與負樣本距離拉遠,如圖1所示。對于計算機視覺任務而言,樣本由不同的視圖進行表示,原樣本的增強樣本為正樣本,而其他樣本為負樣本,通過對比學習對模型進行訓練,使其學會區(qū)分正樣本和負樣本,從而學習視頻表征,并轉(zhuǎn)移到下游任務。在沒有任何監(jiān)督信號的情況下,通過獨立但相關(guān)的數(shù)據(jù)來學習的核心思想可追溯到1992年,Becker和Hinton[3]通過最大化同一場景的不同視圖之間的互信息來學習數(shù)據(jù)表征,并將問題表述為學習不變表示,而Bromley等人[4]將兩個相同的權(quán)值共享網(wǎng)絡構(gòu)造成“Siamese網(wǎng)絡”,直接比較不同訓練樣本對來學習一般表示。2005年,Chopra、Hadsell和LeCun[5]創(chuàng)建對比學習框架和對比對損失的區(qū)別模型來學習不變映射。2008年,Chechik等人將三聯(lián)體損失應用于深度神經(jīng)網(wǎng)絡,并證明其能夠?qū)W習有用的特征表示[6]。為解決三聯(lián)體損失收斂緩慢和不穩(wěn)定的問題,Song等人[7]和Sohn[8]提出了使用多個負樣本的非參數(shù)化分類損失(N-pair 損失),N-pairs損失的核心思想是為每個錨配對一個正樣本,同時配對所有的負樣本,利用負樣本指導梯度更新。為降低原有概率方法學習度量嵌入的計算要求,Gutmann和Hyv?rinen[9]在2010年提出噪聲對比估計損失函數(shù),該損失函數(shù)通過學習一個分類器,將數(shù)據(jù)樣本和噪聲樣本進行區(qū)分,并從模型中學習數(shù)據(jù)的特有屬性。2017年,文獻[10]討論了4種無監(jiān)督預訓練任務及其組合方法,在多任務的訓練下學習更統(tǒng)一的表示。2018年,文獻[11]通過深度神經(jīng)網(wǎng)絡編碼器的輸入和輸出之間的互信息最大化來進行無監(jiān)督表示學習。文獻[12]提出動量對比方法,通過使用一個隊列來存儲和采樣負樣本的方法降低對GPU內(nèi)存的要求。文獻[13]在已學習的表示上使用投影變換網(wǎng)絡來分離學習表征任務和優(yōu)化分類目標。最近,文獻[14]基于局部聚合的方法使相似數(shù)據(jù)的數(shù)據(jù)特征靠近,差距較大的數(shù)據(jù)特征遠離,這類似于聚類的原理,從而提出聚類和實例判別對比學習相結(jié)合的思路。文獻[15]基于負樣本是否完全必要的假想提出一個不同的對比損失函數(shù),以避免算法因附加的隱式約束而崩潰。
圖1 對比學習原理Fig.1 Principle of contrastive learning
預訓練任務可以理解為是為達到特定訓練任務而設計的間接任務,其作用是簡化原任務的求解,在深度學習領域就是避免人工標記樣本,實現(xiàn)無監(jiān)督的語義特征提取。兩種任務之間關(guān)系的本質(zhì)是遷移學習,通過預訓練學到的模型直接用于特定的下游任務,從而避免從頭訓練,提高優(yōu)化模型學習效率。從預訓練任務中學習到的特征表示模型能夠用于計算機視覺的相關(guān)下游任務,如視頻分類、分割、識別等。
在一些實際問題中,可以從多種不同的途徑或不同的角度對同一事物進行描述,這多種描述構(gòu)成事物的多個視圖,多視圖數(shù)據(jù)具有潛在的一致性和互補性??梢允褂枚鄠€傳感器獲得同一事物的多個視圖表示,例如文獻[16]就是通過提取來自同一場景的不同攝像機同時拍攝的兩個視圖進行對比學習。也可以通過不同的傳感器獲得同一視頻的不同模態(tài)的視圖表示,例如文獻[17]利用視覺數(shù)據(jù)和音頻文本數(shù)據(jù)學習視頻的特征表示。
實際情況下,通過多個傳感器獲得多視圖視頻數(shù)據(jù)的方法費時且昂貴,這里可以利用已有的數(shù)據(jù)進行數(shù)據(jù)增強獲得數(shù)據(jù)的多個視圖表示。數(shù)據(jù)增強方法,如拼圖、裁剪、模糊、顏色變換等,是在保持數(shù)據(jù)內(nèi)容語義含義(如類標簽)的同時獲得不同視圖表示的有效方法,如圖2所示。數(shù)據(jù)增強方法能夠破壞低級的視覺特征,迫使模型通過對比方法學習不變表示,例如文獻[18]就是采用數(shù)據(jù)增強方法學習圖像特征表示,該方法同樣適用于視頻數(shù)據(jù),通過對視頻幀的增強處理獲得多視圖表示,從而進行視頻表征學習。
圖2 數(shù)據(jù)增強Fig.2 Data augmentation
從數(shù)據(jù)樣本中提取出全局特征和局部特征也可以獲得相同場景的多個視圖表示,全局特征是指數(shù)據(jù)的整體特征,局部特征則是從數(shù)據(jù)局部區(qū)域中抽取的特征。在無監(jiān)督對比學習中,同一視圖的局部特征與全局特征構(gòu)成正樣本對,與其他視圖構(gòu)成負樣本對。針對視頻數(shù)據(jù)而言,對比預測編碼模型的表征性能較好,其中全局特征是對過去輸入數(shù)據(jù)的總結(jié),然后與來自未來數(shù)據(jù)的局部特征組成正樣本對,與噪聲樣本的局部特征組成負樣本對,通過改進的噪聲估計損失函數(shù)(Info Noise Contrastive Estimation loss,InfoNCE)學習視頻表征,原理框架如圖3所示。
圖3 對比預測編碼模型Fig.3 Contrastive predictive coding model
在無監(jiān)督對比方法中,除上述方法外,還可以利用空間和時間上的一致性來進行模型的預訓練, 該方法適用于可以分解為一系列更小單元的數(shù)據(jù)樣本,例如可以分解為一系列幀的視頻數(shù)據(jù)等,視頻序列中連續(xù)視點的視頻幀為正樣本對,同一序列或不同序列中的不連續(xù)的樣本對和相距較遠的樣本對均為負樣本對。這種對比方法在表征學習中使用了慢速假設,即重要特征是緩慢變化的。因此,通過學習視頻序列中緩慢變化的特征,模型將逐漸具有更強的特征表示能力。例如文獻[19]中的時間對比網(wǎng)絡使用多視圖同步視頻進行對比學習,而文獻[16]中的時間對比網(wǎng)絡則利用視頻序列中的時間相干性進行對比學習,如圖4所示,即同一時間窗口的視頻幀為正樣本對,其余為負樣本對,在三聯(lián)體損失函數(shù)的作用下學習視頻表征。視頻幀的時間一致性也是數(shù)據(jù)轉(zhuǎn)換的自然來源。在視頻中,一個物體可以經(jīng)歷一系列的變化,如物體變形、遮擋、視角和光照的變化,這些變化在文獻[20]利用這些變化學習視頻中的特征表示,而不需要任何額外的標簽。
圖4 序列相干性Fig.4 Sequential coherence
聚類是將物理或抽象對象的集合分成由類似的對象組成的多個類的過程,其目標是同一類對象的相似度盡可能大,不同類對象之間的相似度盡可能小。自然聚類是指不同的對象與不同的類別變量能夠自然地聯(lián)系在一起,不同類間的距離表示類別之間的相似性。與基于實例的對比學習不同,這里使用聚類結(jié)果作為偽標簽進行特征表示??梢詫⒆韵露系膶Ρ确椒ê妥陨隙碌木垲惙椒ㄏ嘟Y(jié)合,這樣就能夠同時進行表示學習和聚類分析,例如文獻[21]提出將聚類任務統(tǒng)一到對比表示學習框架當中。
本節(jié)首先梳理對比學習框架,利用框架描述視頻領域內(nèi)的對比學習方法,然后對框架的每個組成部分及其分類進行說明,上節(jié)已經(jīng)闡述獲取不同視圖的方法,此節(jié)不再額外敘述。
對比學習框架的組成部分包括:查詢樣本、正樣本和負樣本,編碼器、投影變換網(wǎng)絡以及對比損失函數(shù),框架如圖5所示。
圖5 對比學習框架Fig.5 Framework ofcontrastive learning
各模塊功能分別描述為: (1)正負樣本:k+表示正樣本,k-表示負樣本,查詢樣本的增強版本為正樣本,其余樣本為負樣本。(2)編碼器:特征編碼器用來提取輸入數(shù)據(jù)的特征,將輸入視圖映射為特征表示張量v。(3)投影變換:投影變換將特征表示v轉(zhuǎn)化為度量表示z。根據(jù)具體的應用,投影變換可分為降維投影、聚合投影和量化投影。4)對比損失函數(shù):對比損失測量度量表示之間的相似度(或距離)并進行強制約束,使正樣本對之間的相似度最大(距離最小),負樣本對之間的相似度最小(距離最遠)。
無監(jiān)督對比學習中,從輸入數(shù)據(jù)空間到度量表示空間需要經(jīng)過編碼器和投影變換兩部分,編碼器將輸入數(shù)據(jù)投影到特征表示空間,其目的是學習從輸入空間到特征表示空間的映射。根據(jù)架構(gòu)的不同,編碼器可分為端到端編碼器、內(nèi)存庫編碼器、動量編碼器和聚類編碼器。
2.2.1端到端編碼器
端到端架構(gòu)是自然架構(gòu),如圖6(a)所示,查詢編碼器和鍵值編碼器直接使用對比損失函數(shù)反向傳播的梯度進行更新,查詢編碼器在原始樣本上訓練,鍵值編碼器在其增強版本及負樣本上訓練,使用相似度函數(shù)度量編碼器生成的特征與其他特征之間的相似性。文獻[13]提出端到端模型,并證實端到端的架構(gòu)具有較低的復雜性,在大批次和更多迭代次數(shù)的情況下性能更好。Oord等人使用強大的自回歸模型以及對比損失來學習高維時間序列數(shù)據(jù)的特征表示。因為對比學習學到的表征質(zhì)量常常依賴負樣本數(shù)量,所以端到端架構(gòu)需要較大的GPU內(nèi)存,這在大部分情況下難以滿足,例如文獻[22]指出:對于較大的批處理規(guī)模,該架構(gòu)面臨著小批次優(yōu)化問題,需要有效的優(yōu)化方法。
2.2.2內(nèi)存庫編碼器
為了避免較大的批處理規(guī)模對訓練、優(yōu)化產(chǎn)生負面影響,一些研究者提出新的編碼器架構(gòu),如圖6(b)所示。內(nèi)存庫包含數(shù)據(jù)集中每個樣本的特征表示,用該內(nèi)存庫替代負樣本,每次訓練直接從內(nèi)存庫中隨機抽樣,不進行反向傳播,這能夠避免增加訓練批次的尺寸。文獻[18]采用該架構(gòu)的編碼器學習圖像視覺表示,其內(nèi)存庫中包含用于對比學習的所有負樣本的移動平均表示,Wu等人[23]隨機抽取內(nèi)存庫中的特征表示作為負樣本進行模型的訓練,并使用查詢編碼器得到的表示更新內(nèi)存庫,以便后面迭代使用,該架構(gòu)編碼器能避免冗余計算,但更新內(nèi)存庫中的特征表示會導致很高的計算成本。
2.2.3動量編碼器
為了解決內(nèi)存庫編碼器問題,動量對比學習(Momentum Contrast Learning,MoCo)方法使用動量編碼模塊代替內(nèi)存庫,如圖6(c)所示。動量編碼器生成一個字典,該字典鍵由數(shù)據(jù)樣本動態(tài)定義,并被構(gòu)建為一個隊列,當前小批次樣本進入隊列,舊的小批次樣本退出隊列。動量編碼器與查詢編碼器具有相同的參數(shù),但動量編碼器不進行梯度更新,而是根據(jù)下式進行緩慢的更新:
圖6 多種架構(gòu)的編碼器Fig.6 Encoders with multiple architectures
θk=mθk+(1-m)θq,(1)
式中,m∈[0,1)為動量系數(shù),參數(shù)θq通過反向傳播更新,參數(shù)θk通過動量更新。雖然該架構(gòu)使用兩個編碼器,但是動量編碼器是根據(jù)查詢編碼器的參數(shù)進行緩慢更新的,兩個編碼器互相緩慢調(diào)整,與前兩種架構(gòu)相比,該架構(gòu)不需訓練兩個單獨的編碼器。
2.2.4聚類編碼器
以上的三種結(jié)構(gòu)都是計算度量樣本之間的相似度,并通過對比損失函數(shù)使正樣本的距離拉近,負樣本的距離拉遠,從而使模型具有表征能力。聚類編碼器如圖6(d)所示,與上述三種結(jié)構(gòu)不同,它不是基于實例對比,而是使用聚類算法將相似的特征分組在一起。圖7展示了基于實例的對比學習方法和基于聚類的方法之間的區(qū)別?;趯嵗膶Ρ葘W習方法把數(shù)據(jù)集中的每個樣本都視為離散樣本,當負樣本與正樣本屬于同一類時,就會迫使模型學習區(qū)分屬于同一類的樣本,聚類編碼器能夠隱式地解決該問題。聚類的目標不僅是使一對樣本彼此接近,而且還要確保所有其他相似的樣本形成集群,因此能夠?qū)W習更好的表征。
圖7 對比實例學習與聚類學習Fig.7 The based instance contrastive learning and clustering learning
無監(jiān)督對比學習中,從輸入數(shù)據(jù)到度量表示空間需要經(jīng)過編碼器和投影變換兩部分,投影變換是將特征表示空間投影到度量空間,該度量空間能夠有效地計算和最大化相似性表示,投影變換分為三種類型,即降維投影、聚合投影和量化投影。
2.3.1降維投影變換
最常用投影變換為降維投影變換,目的是降低特征表示的維度,便于更高效的計算。降維投影變換可分為線性投影變換和非線性投影變換,例如文獻[24]使用一個線性的多層感知器(Multi-Layer Perceptron,MLP)作為投影變換部分,文獻[13]使用一個非線性的2層MLP作為編碼器后的投影變換部分。除了將查詢編碼器和鍵值編碼器的特征表示投影到度量空間外,還可用投影變換從一個度量空間投影到另一個度量空間,例如文獻[25]除了特征表示空間到度量空間的投影變換外,還使用一個額外的網(wǎng)絡將在線網(wǎng)絡的度量表示投影為離線編碼器的度量表示。
2.3.2聚合投影變換
降維投影變換能夠簡單地將特征表示向下投影到更低的維度,從而進行更高效的計算,但在某些情況下,需要將多個特征表示聚合為一個特征表示,這就需要聚合投影變換,例如對比預測編碼模型中,需要使用門控循環(huán)單元將過去輸入數(shù)據(jù)的信息聚合起來,與未來的局部信息形成正樣本,與噪聲樣本形成負樣本對,從而進行表征的學習。文獻[11]使用聚合投影變換將局部特征圖聚合為單個全局特征向量。類似地,在互信息的圖級表示中,基于對比學習的圖網(wǎng)絡需要聚合投影變換將部分表示歸納為一個固定長度的圖級表示??梢?聚合投影變換得到的度量表示具有多種信息,根據(jù)不同的下游任務,度量表示z具有不同作用。
2.3.3量化投影變換
聚合投影變換是將多個特征表示聚合為一個特征表示,而量化投影變換是將多個表示映射到同一表示來降低表示空間的復雜性,例如將連續(xù)音頻信號映射到一組離散的潛在向量中。在對比學習與聚類相結(jié)合的方法中,SwAV使用Sinkhorn-Knopp算法進行投影變換,將單樣本的特征表示映射到軟聚類分配向量中。
對比損失用來計算度量表示之間的相似度(或距離),并強制約束正樣本對之間的相似度最大(距離最小),負樣本對之間的相似度最小(距離最遠)。對比損失函數(shù)通??梢苑譃橐粋€度量函數(shù)和一個計算實際損失的函數(shù),前者用來計算樣本對間的相似度或距離,后者對樣本間的距離進行約束。如果只將正樣本對之間的距離進行最小化,將會導致災難性的問題,為此對比損失函數(shù)需要明確地使用負樣本對或者其他假設和架構(gòu)約束,例如文獻[15]中雖然沒有顯式地使用負樣本對,但是該文獻仍通過對比方法計算查詢樣本和正樣本之間的相似度。下面將討論不同類型的度量函數(shù)以及常見的對比損失函數(shù)。
度量函數(shù)用來計算兩個度量表示之間的相似度或距離,計算距離的度量函數(shù)包括曼哈頓或歐氏距離(也稱為L1和L2范數(shù)距離)。常使用的相似性度量函數(shù)為余弦相似度函數(shù),例如文獻[13]中提出的NT-Xent損失函數(shù)。另一種相似性度量函數(shù)為雙線性模型S(q,k)=qTAk,矩陣A是從q的子空間到k的子空間的線性投影,然后再進行點積運算,原始的InfoNCE損失使用這種雙線性模型作為度量函數(shù)。
表1 對比損失函數(shù)Tab.1 Contrast loss function
在能量模型啟發(fā)下,Chopra、Hadsell和LeCun[5]重新表述原始“對比損失”。對比損失函數(shù)使用歐幾里得距離D(q,k)=‖q-k‖2作為度量空間的度量函數(shù),其核心思想是使正樣本對之間的距離盡可能近,且負樣本對之間的距離大于給定的邊界,描述如下:
(2)
其中,邊界m(m>0)控制查詢范圍,將該范圍內(nèi)負樣本k-推離查詢樣本q,該對比損失函數(shù)易理解、易操作,但只作用于一對樣本,樣本之間的相互作用有限。
上述對比損失函數(shù)只要求負樣本對的距離大于一個固定的邊界,三聯(lián)體損失[26]函數(shù)在原損失函數(shù)的基礎上進行改進,強制在(查詢樣本,正樣本,負樣本)三聯(lián)體中給定正樣本對和負樣本對之間的相對距離:
L(q,k+,k-)=max(0,D(q,k+)2-
D(q,k-)2-m)。(3)
三聯(lián)體損失函數(shù)廣泛應用于對比學習,但三聯(lián)體損失函數(shù)收斂緩慢且只計算一個正樣本對和一個負樣本對之間的距離,文獻[7]改進三聯(lián)體損失函數(shù)的邊界公式,使其能夠增加查詢的交互次數(shù),同時考慮多個樣本對。
噪聲對比估計損失函數(shù)(Noise Contrastive Estimation,NCE)由文獻[9]提出,后來由Jozefowicz等人[27]加以改進,NCE核心思想是通過學習數(shù)據(jù)分布樣本和噪聲分布樣本之間的區(qū)別,從而發(fā)現(xiàn)數(shù)據(jù)中的特性,因為該方法需要與噪聲數(shù)據(jù)進行對比,所以稱為“噪聲對比估計”。更具體來說,NCE 將問題轉(zhuǎn)換成為二分類問題,分類器能夠區(qū)分數(shù)據(jù)樣本和噪聲樣本,其形式為
(4)
其中,q表示查詢樣本,k+代表正樣本,k-代表負樣本,s()函數(shù)是度量函數(shù),但通常是余弦相似度函數(shù)。
InfoNCE損失函數(shù)在NCE的基礎上進行改進,能夠更精準的區(qū)分正負樣本,Oord,Li和Vinyals證明了最小化InfoNCE損失等同于最大化互信息的下界。設有數(shù)據(jù)增強函數(shù)φ(·;a),其中a從一組預定義的數(shù)據(jù)增強變換A中進行選取,該函數(shù)應用于數(shù)據(jù)集D,對于特定的樣本xi,正樣本對Pi和負樣本對Ni定義如下:
Pi={φ(xi;a)|a∈A},
Ni={φ(xn;a)|?n≠i,a∈A},
當給定Zi=f(φ(xi;·))時,InfoNCE損失函數(shù)為
(5)
Zi·Zp表示兩個向量之間的點積,從本質(zhì)上講,優(yōu)化的目標可以被視為實例區(qū)分,即在同一實例的增強視圖之間的相似性得分更高。
文獻[13]提出歸一化溫度交叉熵(NT-Xent)損失,其使用余弦相似度作為度量函數(shù),隨機抽取N個樣本作為模型的輸入,并在其增強版本上求解預訓練任務,該損失函數(shù)沒有顯式使用負樣本,其描述為
(6)
其中,q表示查詢樣本,k+代表正樣本。τ是最近大多數(shù)方法中使用的超參數(shù),稱為溫度系數(shù),作用是調(diào)節(jié)對數(shù)據(jù)樣本的關(guān)注程度,從而得到更均勻的表示。
為評估學習到的視頻表征質(zhì)量,可將預訓練任務學習的模型用于下游任務,如動作識別、最近鄰檢測等,此過程為遷移學習,即將已訓練好的模型參數(shù)遷移到新的模型來幫助新模型訓練,在無監(jiān)督對比學習中,將預訓練任務中的編碼器直接用于下游任務中,新模型訓練完成后直接用于測試視頻表征的質(zhì)量。
可通過定性可視化方法來評價對比學習特征的質(zhì)量,常用的有核可視化、特征可視化等。核可視化指的是定性的可視化預訓練任務學習的第一個卷積層的核,然后通過比較監(jiān)督模型和無監(jiān)督對比模型卷積核的相似度驗證對比學習方法的有效性。特征可視化是通過比較監(jiān)督模型和無監(jiān)督對比學習模型不同區(qū)域的激活程度來評估表征的質(zhì)量,激活區(qū)域示例如圖8所示。
圖8 監(jiān)督模型與無監(jiān)督對比學習模型的激活區(qū)域Fig.8 The activation regions of supervised model and unsupervised contrastive learning model
視頻動作分類是常見的下游任務,該任務用來識別人們在視頻中所做的動作,并對其進行分類,動作分類任務通常被用來評價視頻表征的質(zhì)量。首先通過預訓練任務對無標記視頻數(shù)據(jù)進行訓練,然后在帶有人類注釋的視頻數(shù)據(jù)集上進行建模,最后將動作分類任務的測試結(jié)果與其他方法進行比較。表2給出現(xiàn)有視頻特征對比學習方法在Kinetics、UCF101和HMDB51數(shù)據(jù)集上的性能。其中R3D表示3D-ResNet,?表示該模型已經(jīng)在另一個數(shù)據(jù)集上進行了訓練,并使用特定的數(shù)據(jù)集進行了進一步的微調(diào),K表示Kinetics數(shù)據(jù)集。
表2中展示了監(jiān)督學習和無監(jiān)督對比學習在視頻動作分類中的top1準確率。當僅考慮已進行模型微調(diào)的情況時,SeCo intra+intra+order[37]在UCF101數(shù)據(jù)集上的準確率優(yōu)于監(jiān)督學習在UCF101數(shù)據(jù)集上的準確率(88.26?% vs 84.4?%),在HMDB51數(shù)據(jù)集上的準確率與監(jiān)督學習基本持平。當同時考慮兩種情況(未進行微調(diào)和已進行微調(diào))時,無監(jiān)督對比學習的top1準確率逐漸接近監(jiān)督學習的top1準確率,甚至超過監(jiān)督學習,SeCo intra+intra+order[37]在UCF101數(shù)據(jù)集上的top1準確率(88.26?%)高于3DResNet-18和P3D在UCF101上的top1準確率(84.4?%),MMV-VA[38]在UCF101數(shù)據(jù)集上的top1準確率為86.2%,該數(shù)據(jù)沒有在特定的數(shù)據(jù)集上進行微調(diào),但仍優(yōu)于已微調(diào)的監(jiān)督學習的top1準確率。HMDB51數(shù)據(jù)集更適合進行目標檢測等任務,當用于視頻動作分類時,相比于UCF101數(shù)據(jù)集,其性能略差,由表2中可得監(jiān)督學習在HMDB51數(shù)據(jù)集上的top1準確率為56.4?%,SeCo intra+intra+order[37]在HMDB51上的top1準確率與監(jiān)督學習基本持平,MMV-VA[38]未進行微調(diào)的準確度仍高于已進行微調(diào)的3DResNet-18。CVRL[35]在Kinetics數(shù)據(jù)集上的性能也有一定的提升。由此可看出,無監(jiān)督對比學習在一定程度上優(yōu)于監(jiān)督學習,具有良好的性能。
表2 動作分類準確率Tab.2 Action classification accuracy%
一般情況下,屬于同一類的樣本在特征空間中更接近彼此??梢酝ㄟ^對數(shù)據(jù)集中的樣本進行top-k檢索來分析對比方法是否達到預期效果,由于該方法直接將提取的特征用于最近鄰檢索,不再進行任何的訓練,所以最能體現(xiàn)模型表征的質(zhì)量。表3展示了不同表征學習方法在UCF101和HMDB51上的視頻檢索性能,使用測試集檢索訓練集視頻,除SpeedNet之外,所有模型都只在UCF101進行預訓練,top-k檢索指的是:如果前k個最近鄰包含一個相同類的視頻,則正確檢索計數(shù),k的取值為1,5,10,20。
表3列舉了近幾年無監(jiān)督對比學習模型在最近鄰檢索上的性能,當k增加時,最近鄰檢測的準確度也會增加。當只考慮在UCF101數(shù)據(jù)集上進行預訓練的對比學習方法時,可以看出:k相同時,不同模型的準確度基本成上升趨勢,這也說明模型的表征質(zhì)量也在逐漸提高。SpeedNet[43]是在Kinetics數(shù)據(jù)集上進行預訓練,然后在UCF101上進行最近鄰檢索,因為兩個數(shù)據(jù)集的差異,top-k檢索的準確度會降低。表3中的CoCLR[44]在UCF101和HMDB51數(shù)據(jù)集上的性能遠遠優(yōu)于其他方法,這是因為CoCLR[44]是在原有的無監(jiān)督對比學習模型的基礎上增加了RGB網(wǎng)絡和Flow網(wǎng)絡的協(xié)同訓練,若不進行協(xié)同訓練,其在UCF101數(shù)據(jù)集上的準確率為33.1%(k=1時),仍優(yōu)于其他方法。無監(jiān)督對比學習方法學習到的視頻表征能力在不斷提升,這說明無監(jiān)督對比學習還有進一步提升的空間,有很大潛力能夠超越監(jiān)督學習。
表3 最近鄰視頻檢索方法性能比較Tab.3 Performance comparison of nearest neighbor video retrieval method%
視頻理解是一個高層語義信息與底層視覺特征信息自然融合的過程,通過有效地對視頻信息進行分析以及根據(jù)視頻的特有知識挖掘其中有價值的信息來實現(xiàn)視頻內(nèi)容的理解,從而實現(xiàn)視頻的有效管理、分類和檢索等。視頻理解任務的關(guān)鍵是特征提取與歸納,目前用來提取特征信息的網(wǎng)絡結(jié)構(gòu)有很多,包括基于二維卷積神經(jīng)網(wǎng)絡的方法、基于三維卷積神經(jīng)網(wǎng)絡的方法、基于長短期記憶網(wǎng)絡(Long Short Term Memory networks,LSTM)的方法等。基于二維卷積神經(jīng)網(wǎng)絡的方法將二維卷積神經(jīng)網(wǎng)絡應用于每一幀,并將多幀圖像特征融合為視頻特征,基于三維卷積網(wǎng)絡的方法采用三維卷積運算從多幀圖像中同時提取時空特征,基于LSTM的方法利用LSTM對視頻中的長期動態(tài)進行建模。對于無監(jiān)督對比學習而言,視頻特征的歸納就是從多個視圖的特征圖中學習不變表示。
視頻理解包括視頻定位、視頻動作識別和視頻目標跟蹤等,將在下面的例子中說明視頻理解中對比學習的應用。
5.2.1視頻聲源定位
視頻聲源定位是視頻定位的一種,是對視頻中發(fā)出特定聲音的物體進行定位。文獻[45]采用無監(jiān)督對比學習的方法學習視頻表征,即視頻中的視覺和音頻作為兩種不同的視圖進行輸入,通過兩個不同的編碼器分別提取特征表示,在對比損失函數(shù)的作用下學習視覺和音頻的對應關(guān)系,并將學習到的視頻表征應用于下游任務。當輸入同一視頻的不同視圖時,通過對比學習方法學習音頻和視頻之間的對應關(guān)系并進行數(shù)據(jù)可視化(熱圖),然后設立軟閾值,閾值大于0.6的部分判斷為正區(qū)域(發(fā)出聲音的物體區(qū)域),閾值小于0.4的區(qū)域判斷為負區(qū)域(不產(chǎn)生聲音的區(qū)域),閾值在0.4~0.6的區(qū)域不進行任何處理,從而實現(xiàn)視頻聲源定位,如圖9所示。
圖9 視頻聲源定位模型Fig.9 Video sound source localization model
5.2.2視頻動作識別
動作識別是視頻理解中的經(jīng)典問題,給定一個視頻,通過提取視頻中的時間和空間特征識別出視頻里的主要動作類型??梢岳脽o監(jiān)督對比方法提高域適應能力,進一步提高目標域動作識別的準確度。例如文獻[46]提出多模式無監(jiān)督域適應方法,通過對源域和目標域同時進行多模態(tài)自監(jiān)督,并利用多模態(tài)鑒別器進行聯(lián)合優(yōu)化,實現(xiàn)目標域性能的提高,如圖10所示。該模型主要分為域?qū)R部分、自監(jiān)督部分和分類部分,域?qū)R部分采用對抗訓練的方法實現(xiàn)源域和目標域的分布對齊,自監(jiān)督部分在對比學習方法的基礎上利用模態(tài)的對應關(guān)系(只關(guān)注于動作)創(chuàng)建偽標簽來實現(xiàn)模態(tài)之間的時序?qū)R,其中,正樣本從每個模態(tài)的相同或不同時間的相同動作中采樣,負樣本從每個模態(tài)的不同動作中采樣,該部分網(wǎng)絡訓練后具有預測模態(tài)是否對應的表征能力。在對抗學習進行域適應的基礎上加上自監(jiān)督部分,能夠進一步提高域適應的性能,提高目標域動作識別的準確度。
圖10 多模態(tài)域適應動作識別模型Fig.10 Multi-modal domain adaptive action recognition model
5.2.3視頻目標跟蹤
三維目標跟蹤是三維數(shù)據(jù)序列中多幀目標的檢測和關(guān)聯(lián)問題。例如,自動駕駛汽車對周圍環(huán)境的持續(xù)感知是通過激光雷達等傳感器完成的,這些傳感器產(chǎn)生3D數(shù)據(jù)序列,車輛必須根據(jù)這些數(shù)據(jù)估計車輛周圍環(huán)境中物體的位置。此外,為實現(xiàn)安全導航,感知算法必須動態(tài)跟蹤對象,如車輛和行人等。目標跟蹤算法首先在每一幀上運行一個目標檢測器進行目標檢測,然后將未來幀中的目標檢測結(jié)果與現(xiàn)有軌跡進行匹配,從而實現(xiàn)目標的跟蹤。文獻[47]使用對比方法學習3D嵌入,并用來改進多目標跟蹤,模型如圖11所示。對于幀t中的任何錨點,計算與同一幀中其他樣本的余弦相似度,選擇相似度最大的作為負樣本,從與錨點有相同的軌跡且相關(guān)聯(lián)的另一幀的檢測中選擇置信度最大的樣本作為正樣本,采用三聯(lián)體損失函數(shù)進行訓練,使嵌入正樣本對比嵌入負樣本對更相似,如圖11(a)所示。對比學習生成的偽標簽不一定完全準確,需要評估樣本的不確定性,通過忽略不確定性高的樣本,從而減少訓練中錯誤標簽的生成。在測試時,從一幀中的每個候選檢測中提取自監(jiān)督嵌入,并進一步利用相似度進行幀間的精確數(shù)據(jù)關(guān)聯(lián),如圖11(b)所示。該文獻將學習的 嵌入和馬氏距離相結(jié)合來改進多目標跟蹤,其目的是對多個目標進行數(shù)據(jù)關(guān)聯(lián),改進后的多目標跟蹤算法的性能得到一定的提升。
圖11 基于對比學習的目標跟蹤模型Fig.11 Object tracking model based on contrastive learning
無監(jiān)督對比學習能夠避免使用人工標注的大規(guī)模的數(shù)據(jù)集,但是其也有局限性?;贜CE的理論和經(jīng)驗,高質(zhì)量的表征需要大量負樣本的比較,所以模型需要在大型GPU集群上進行訓練,但這在大部分情況下難以滿足。緩解該問題的一種方法是使用動量編碼器。另一種方法是不使用負樣本,負樣本的存在只是為了防止特征表示坍縮成單個簇,那么是否可以完全消除對負樣本的需要,通過對度量空間施加額外的約束,以防止它坍縮[21-22]。此外,人們更多關(guān)注負樣本的數(shù)量,而忽略了負樣本的質(zhì)量,質(zhì)量較好的負樣本可以提高模型表征的質(zhì)量,由此提出使用負樣本進行對比學習時質(zhì)量與數(shù)量權(quán)衡的問題。盡管互信息為對比損失函數(shù)提供了理論支撐,但是對比學習的成功不能只歸功于互信息最大化。如果能夠從新的角度看待對比損失,或許能夠設計出更好的、在計算和內(nèi)存方面效率更高的對比損失函數(shù)。
無監(jiān)督對比學習是解決標記訓練數(shù)據(jù)無法獲取或者數(shù)據(jù)不足的方法之一。目前,對比學習逐漸從圖像領域轉(zhuǎn)移到視頻領域,這無疑需要更多的計算資源,但是對比學習模型能夠應用于更廣泛的下游任務中,并能表現(xiàn)出較好的性能。無監(jiān)督對比學習雖然不能解決數(shù)據(jù)分類、預測等方面的所有問題,但是其利用遷移學習能夠減少新模型訓練所需的計算資源,并能提高其性能,具有很高的研究價值。