大多數視覺識別研究在深度神經網絡(DNN)訓練中嚴重依賴群體標記數據,通常為每個視覺識別任務訓練一個DNN,導致耗時費力的視覺識別范式。為應對這兩個挑戰,視覺-語言模型(VLM)最近得到了深入研究,它從互聯網上幾乎無限可用的網絡規模的圖像-文本對中學習豐富的視覺-語言相關性,并用一個VLM對各種視覺識別任務進行零樣本預測。**文中對面向各種視覺識別任務的視覺語言模型進行了系統綜述,包括: (1)視覺識別范式發展的背景; (2) VLM的基礎,總結了廣泛采用的網絡架構、預訓練目標和下游任務; (3) VLM預訓練和評估中廣泛采用的數據集;(4)對現有的VLM預訓練方法、VLM遷移學習方法和VLM知識蒸餾方法進行綜述和分類;(5)對所述方法的基準化、分析和討論;(6)視覺識別中VLM研究面臨的挑戰和未來可能的研究方向。**與此調研相關的項目已在//github.com/jingyi0000/VLM survey上創建。
1. 引言
視覺識別(如圖像分類、目標檢測和語義分割)是計算機視覺研究中長期存在的挑戰,也是自動駕駛[1]、[2]、遙感[3]、[4]、機器人[5]、[6]等無數計算機視覺應用的基石。隨著深度學習[7]、[8]、[9]的出現,視覺識別研究通過利用端到端的可訓練深度神經網絡(DNNs)取得了巨大的成功。然而,從傳統機器學習[10]、[11]、[12]、[13]向深度學習的轉變帶來了兩個新的重大挑戰,即深度學習從零開始[7]、[8]、[9]的經典設置下的DNN訓練收斂緩慢,以及在DNN訓練中費力耗時地收集大規模、特定任務、眾標數據[14]。 最近,一種新的學習范式預訓練、微調和預測在廣泛的視覺識別任務[15]、[16]、[17]、[18]、[19]中表現出了巨大的有效性。在這種新范式下,DNN模型首先用某些現成的大規模訓練數據(被標注或未標注)進行預訓練,然后用圖2(a)和(b)所示的特定任務標注訓練數據對預訓練模型進行微調。通過在預訓練模型中學習到的全面知識,這種學習范式可以加速網絡收斂,并為各種下游任務訓練表現良好的模型。
盡管如此,預訓練、微調和預測范式仍然需要一個額外的階段,使用來自每個下游任務的標記訓練數據進行特定任務的微調。受自然語言處理[20],[21],[22],[23]進展的啟發,一種名為視覺-語言模型預訓練和零樣本預測的新的深度學習范式最近受到越來越多的關注[14],[24],[25]。**在這種范式中,一種視覺-語言模型(VLM)是用互聯網上幾乎無限可用的大規模圖像-文本對進行預訓練的,預訓練的VLM可以直接應用于下游視覺識別任務,而無需微調,如圖2(c)所示。**VLM預訓練通常由某些視覺-語言目標[14],[25],[26]指導,使其能夠從大規模圖像-文本對[27],[28]中學習圖像-文本對應關系,例如:CLIP[14]采用圖像-文本對比目標,通過在嵌入空間中將成對的圖像和文本拉近并將其他圖像和文本推遠來進行學習。通過這種方式,預訓練的vlm捕獲了豐富的視覺-語言對應知識,并可以通過匹配任何給定圖像和文本的嵌入來進行零樣本預測。這種新的學習范式能夠有效地利用網絡數據,并允許零樣本預測,而不需要特定任務的微調,實現起來很簡單,但表現得非常好,例如,預訓練的CLIP在36個視覺識別任務中實現了出色的零樣本性能,從經典圖像分類[29],[30],[31],[32],[33]到人類行為和光學字符識別[14],[34],[35],[36],[37]。
隨著視覺-語言模型預訓練和零樣本預測的巨大成功,在各種VLM預訓練研究之外,人們還深入研究了兩條研究路線。第一行探索了帶有遷移學習[38],[39],[40],[41]的vlm。幾個遷移方法證明了這一點,例如,提示調優[38],[39],視覺適應[40],[41]等,所有預訓練的vlm對各種下游任務的有效適應都具有相同的目標。第二行通過知識蒸餾[42],[43],[44]探索vlm,例如,[42],[43],[44]探索如何從VLM中提取知識到下游任務,旨在在目標檢測,語義分割等方面取得更好的性能。
盡管從圖1所示的大量近期論文中證明了從VLM中獲取大量知識的濃厚興趣,但研究界缺乏一份全面的調查,可以幫助梳理現有的基于VLM的視覺識別研究、面臨的挑戰以及未來的研究方向。我們的目標是通過對各種視覺識別任務(包括圖像分類、目標檢測、語義分割等)中的VLM研究進行系統的綜述來填補這一空白。 從不同的角度進行了綜述,包括背景、基礎、數據集、技術方法、基準和未來的研究方向。我們相信,這項調查將為我們已經取得的成就提供一個清晰的藍圖,我們可以沿著這個新興但非常有前瞻性的研究方向進一步取得成就。
總而言之,這項工作的主要貢獻有三個方面。首先,對用于圖像分類、目標檢測和語義分割等視覺識別任務的VLMs進行了系統綜述。據我們所知,這是視覺識別VLMs的第一次綜述,通過對現有研究的全面總結和分類,為這個有前途的研究領域提供了一個大的圖景。其次,研究了視覺識別VLM的最新進展,包括對多個公共數據集上的現有工作進行全面的基準測試和討論。第三,分享了幾個用于視覺識別的VLM中可以追求的研究挑戰和潛在研究方向。
**本綜述的其余部分組織如下。**第2節介紹了視覺識別的范式發展和幾個相關的調查。第3節描述了VLM的基礎,包括廣泛使用的深度網絡架構、預訓練目標和VLM評估中的下游任務。第4節介紹了常用的VLM預訓練和評估中的數據集。第5節回顧并分類了VLM預訓練方法。第6節和第7節分別對VLM的遷移學習和知識蒸餾方法進行了系統綜述。第8節在多個廣泛采用的數據集上對所審查的方法進行了基準測試和分析。最后,我們在第9節中分享了視覺識別的幾個有前途的VLM研究方向。
2 背景
本節介紹了視覺識別訓練范式的發展,以及它如何向視覺-語言模型預訓練和零樣本預測范式演進。我們還討論了幾個相關的綜述,以突出本綜述的范圍和貢獻。
2.1 視覺識別的訓練范式
視覺識別范式的發展大致可以分為五個階段,包括(1)傳統機器學習和預測,(2)深度從頭學習和預測,(3)有監督的預訓練、微調和預測,(4)無監督的預訓練、微調和預測和(5)視覺-語言模型預訓練和零樣本預測。在接下來的內容中,我們將對這五種訓練范式進行詳細介紹、比較和分析。
2.1.1 傳統的機器學習和預測
在深度學習時代[7]之前,視覺識別研究嚴重依賴特征工程,使用手工特征[13]、[45]、[46]、[47]、[48]、[49]、[50]、[51]和輕量級學習模型[10]、[11]、[12]將手工特征分類為預定義的語義類別。例如,經典的SIFT特征[51]對圖像尺度、平移和旋轉的變化具有容忍度,實現了非常令人印象深刻的視覺識別性能。然而,這種范式需要領域專家為特定的視覺識別任務制作有效的特征,不能很好地應對復雜的任務,也具有較差的可擴展性。
2.1.2深度學習從零開始和預測
隨著深度學習[7]、[8]、[9]的出現,視覺識別研究通過利用端到端的可訓練dnn,用單一框架統一特征提取和分類過程,取得了巨大的成功。基于dnn的視覺識別繞開了復雜的特征工程,在很大程度上專注于神經網絡的架構工程,以學習有效特征。例如,ResNet[9]通過跳躍設計實現了有效的深度網絡,并可以從大量群體標記的數據中學習語義特征,在具有挑戰性的1000類ImageNet分類任務[52]上取得了前所未有的性能。另一方面,從傳統機器學習向深度學習的轉變提出了兩個新的重大挑戰,包括從頭開始深度學習的經典設置下的DNN訓練收斂緩慢,以及DNN訓練中費力且耗時地收集大規模、特定任務和眾標數據[14]。
2.1.3 有監督的預訓練、微調和預測
隨著發現從標記的大規模數據集中學習到的特征可以遷移到下游任務[15],[16],[17],從頭學習和預測的范式已經逐漸被有監督的預訓練、微調和預測的新范式所取代。這種新的學習范式,如圖2(a)所示,以監督損失對大規模標記數據(如ImageNet)進行預訓練DNN,然后用特定任務的訓練數據[15]、[16]、[17]對預訓練的DNN進行微調。由于預訓練的dnn已經學習了一定的視覺知識,它可以加速網絡收斂,并幫助用有限的特定任務訓練數據訓練出表現良好的模型。
雖然范式監督預訓練、微調和預測在許多視覺識別任務上實現了最先進的性能,但它在預訓練中需要大規模的標記數據。為了緩解這一限制,最近的研究[18]、[19]采用了一種新的學習范式無監督預訓練、微調和預測,探索自監督學習從無標記數據中學習有用和可轉移的表示,如圖2(b)所示。為此,各種自監督訓練目標(即,偽裝任務)[18]、[53]、[54]、[55]、[56]被提出,包括學習上下文信息的圖像修復[53],建模跨塊關系的掩碼圖像建模[54],通過對比訓練樣本[18]來學習判別式特征的對比學習等。然后,自監督預訓練模型在帶有標記任務特定訓練數據的下游任務上進行微調。由于這種范式在預訓練中不需要標記數據,它可以利用更多的訓練數據來學習有用的和可遷移的特征,與監督預訓練[18]、[19]相比,導致甚至更好的性能。
2.1.5 VLM預訓練和零樣本預測
盡管有監督或無監督預訓練的預訓練和微調范式提高了網絡收斂性,但它仍然需要一個額外的階段對圖2(a)和(b)所示的帶標簽的特定任務訓練數據進行微調。受自然語言處理的預訓練成功[20],[21],[22],[23]的激勵,一種名為視覺-語言模型預訓練和零樣本預測的新深度學習范式被提出用于視覺識別,如圖2(c)所示。在互聯網上幾乎無限可用的大規模圖像-文本對的情況下,VLM由特定的視覺-語言目標[14],[25],[26]進行預訓練。通過這種方式,預訓練的VLM捕獲了豐富的視覺-語言對應知識,并可以通過匹配任何給定圖像和文本的嵌入,對下游視覺識別任務進行零樣本預測(無需微調)。
與預訓練和微調相比,這種新的范式可以在不進行特定任務微調的情況下有效利用大規模網絡數據和零樣本預測。大多數現有研究探索從三個角度來改進VLM: 1) 收集大規模信息豐富的圖像-文本數據,2) 設計高容量模型以從大數據中有效學習,3) 設計新的預訓練目標用于學習有效的視覺-語言關聯。本文對視覺識別的這一新的視覺-語言學習范式進行了系統的綜述,旨在為現有的VLM研究、這一具有挑戰性但非常有前途的研究領域面臨的挑戰和未來方向提供一個清晰的藍圖。
3 VLM基礎
VLM預訓練[14],[24]旨在預訓練一個VLM來學習圖像-文本相關性,針對視覺識別任務的有效零樣本預測[9],[66],[67],[68]。給定圖像-文本對[27],[28],它首先采用一個文本編碼器和一個圖像編碼器來提取圖像和文本特征[9],[20],[69],[70],然后學習與某些預訓練目標[14],[24]的視覺-語言相關性。有了學習到的視覺-語言相關性,VLMs可以在未見過的數據上以零樣本的方式進行評估[14],[24],通過匹配任何給定圖像和文本的嵌入。在本節中,我們介紹了VLM預訓練的基礎,包括用于提取圖像和文本特征的常見深度網絡架構,用于建模視覺-語言相關性的預訓練目標,以及用于評估預訓練的VLM的下游任務。
4 數據集
本節總結了用于VLM預訓練和評估的常用數據集,如表1-2所示。
5 視覺-語言模型預訓練
如第3.2節所述,VLM預訓練已經用三種典型的方法進行了探索,包括對比目標、生成目標和對齊目標。本節通過表3所列的多個VLM預訓練研究對它們進行了回顧。
5.1 具有對比目標的VLM預訓練
對比學習在VLM預訓練中已經被廣泛探索,它為學習具有判別力的圖像-文本特征設計了對比目標[14],[80],[138]。
5.2 帶有生成目標的VLM預訓練
生成式VLM預訓練通過學習通過掩碼圖像建模、掩碼語言建模、掩碼跨模態建模和圖像到文本生成生成圖像或文本來學習語義知識。
5.3 帶有對齊目標的VLM預訓練
對齊目標通過學習預測給定的文本是否正確描述了給定的圖像,強制vlm對齊成對的圖像和文本。它可以大致分為全局圖像-文本匹配和局部區域-單詞匹配,用于VLM預訓練。
5.4 總結和討論
總而言之,VLM預訓練對具有不同跨模態目標的視覺-語言相關性進行建模,如圖像-文本對比學習、掩碼跨模態建模、圖像到文本生成和圖像-文本/區域-單詞匹配。還探索了各種單模態目標,以充分挖掘其自身模態的數據潛力,如針對圖像模態的掩碼圖像建模和針對文本模態的掩碼語言建模。另一方面,最近的VLM預訓練專注于學習全局視覺-語言相關性,在圖像級識別任務(如圖像分類)中有好處。同時,多項研究[84]、[89]、[91]、[150]、[151]、[152]、[153]通過區域-單詞匹配對局部細粒度視覺-語言相關性進行建模,旨在在目標檢測和語義分割中實現更好的密集預測。
6 VLM遷移學習
除了在沒有微調的情況下直接將預訓練的VLM應用于下游任務的零樣本預測外,最近研究了遷移學習,通過提示微調[38],[154],特征適配器[40],[41]等使VLM適應下游任務。本節介紹了預訓練VLM的遷移學習動機、常見的遷移學習設置以及三種遷移學習方法,包括提示調優方法、特征適配器方法和其他方法。
7 VLM知識蒸餾
由于VLM捕獲了涵蓋廣泛的視覺和文本概念的通用知識,一些研究探索了如何提取通用和魯棒的VLM知識,同時解決復雜的密集預測任務,如目標檢測和語義分割。本節介紹了從VLM中提取知識的動機,以及兩組關于語義分割和目標檢測任務的知識蒸餾研究。
8. 結論
用于視覺識別的視覺-語言模型能夠有效地使用web數據,并允許零樣本預測,而無需特定任務的微調,這很容易實現,但在廣泛的識別任務中取得了巨大的成功。本綜述從背景、基礎、數據集、技術方法、基準測試和未來研究方向等幾個角度廣泛回顧了視覺識別的視覺-語言模型。以表格的形式對VLM數據集、方法和性能進行了比較總結,為VLM預訓練的最新發展提供了一個清晰的藍圖,這將極大地有利于這個新興但非常有前途的研究方向的未來研究。
首篇時序預訓練綜述!
時序挖掘(Time-Series Mining,TSM)是一個重要的研究領域,因為它在實際應用中顯示出了巨大的潛力。依賴大量標注數據的深度學習模型已經成功地被用于TSM。然而,由于數據標注成本的原因,構建一個大規模、標注良好的數據集變得困難。近期,預訓練模型(Pre-Trained Models)在時序領域逐漸受到關注,這歸功于它們在計算機視覺和自然語言處理領域的卓越性能。在這個綜述中,我們對時序預訓練模型(Time-Series Pre-Trained Models,TS-PTMs)進行了全面的調研,旨在指導理解、應用和研究TS-PTMs。具體來說,我們首先簡要介紹了在TSM中應用的典型深度學習模型。然后,我們根據預訓練技術概述了TS-PTMs。我們探討的主要類別包括有監督的、無監督的和自監督的TS-PTMs。此外,我們進行了大量實驗,以分析轉移學習策略、基于Transformer的模型和代表性TS-PTMs的優點和缺點。最后,我們指出了TS-PTMs的一些潛在未來工作方向。源代碼可在//github.com/qianlima-lab/time-series-ptms 獲取。
1. 引言
作為數據挖掘領域的一個重要研究方向,時序挖掘(Time-Series Mining,TSM)在真實世界的應用中得到了廣泛的利用,例如金融[1]、語音分析[2]、動作識別[3]、[4]和交通流量預測[5]、[6]。TSM的基本問題在于如何表征時序數據[7]、[8]。然后,可以基于給定的表征執行各種挖掘任務。傳統的時序表征(例如,shapelets[9])由于過度依賴領域或專家知識,因此耗時較長。因此,自動學習適當的時序表征仍然具有挑戰性。近年來,深度學習模型[10]、[11]、[12]、[13]、[14]在各種TSM任務中取得了巨大的成功。與傳統的機器學習方法不同,深度學習模型不需要耗時的特征工程。相反,它們通過數據驅動的方式自動學習時序表征。然而,深度學習模型的成功依賴于大量標簽數據的可用性。在許多真實世界的情況下,由于數據獲取和注釋成本,構建一個大的良好標注的數據集可能會很困難。
為了減輕深度學習模型對大數據集的依賴,基于數據增強[15]、[16]和半監督學習[17]的方法常常被使用。數據增強可以有效地增強訓練數據的規模和質量,并且已經在許多計算機視覺任務中被用作一個重要的組成部分[18]。然而,與圖像數據增強不同,時序數據增強還需要考慮時間序列中的屬性,如時間依賴性和多尺度依賴性。此外,時序數據增強技術的設計通常依賴于專家知識。另一方面,半監督方法使用大量未標記數據來提高模型性能。然而,在許多情況下,甚至未標記的時序樣本也很難收集(例如,醫療保健中的心電圖時序數據[19]、[20])。緩解訓練數據不足問題的另一個有效解決方案是轉移學習[21]、[22],它放寬了訓練和測試數據必須獨立且具有相同分布的假設。轉移學習通常有兩個階段:預訓練和微調。在預訓練階段,模型在一些包含大量數據、與目標領域有關但獨立的源領域上進行預訓練。在微調階段,預訓練模型(PTM)在目標領域的通常有限的數據上進行微調。
最近,特別是基于Transformer的PTMs,在各種計算機視覺(CV)[23]、[24]和自然語言處理(NLP)[25]應用中取得了顯著的性能。在這些研究的啟發下,近期的研究開始考慮為時序數據設計時序預訓練模型(TS-PTMs)。首先,通過監督學習[26]、[27]、無監督學習[28]、[29]或自監督學習[30]、[31]、[32]來預訓練一個時序模型,以獲得適當的表示。然后,在目標領域上對TS-PTM進行微調,以改善下游的時序挖掘任務(例如時序分類和異常檢測)的性能。有監督的TS-PTMs [26]、[33]通常通過分類或預測任務進行預訓練。然而,由于很難獲得大規模標注的時序數據集用于預訓練,這常常限制了有監督TS-PTMs的性能。此外,無監督TS-PTMs利用未標記數據進行預訓練,進一步解決了標注數據不足的限制。例如,基于重構的TS-PTMs [28]利用自編碼器和重構損失來預訓練時序模型。最近,基于對比學習的自監督PTMs [34]、[35]在CV領域展現了巨大的潛力。因此,一些學者[29]、[36]已經開始探索基于一致性任務和偽標簽技術來挖掘時序數據的內在屬性的設計。盡管如此,TS-PTMs的研究仍然是一個挑戰。
我們基于所使用的預訓練技術提供了一個分類法和全面的現有TS-PTMs綜述。
? 我們進行了大量實驗,分析了TS-PTMs的優缺點。對于時序分類,我們發現基于轉移學習的TS-PTMs在UCR時序數據集(包含許多小數據集)上表現不佳,但在其他公開可用的大型時序數據集上表現出色。對于時序預測和異常檢測,我們發現設計合適的基于Transformer的預訓練技術應該是未來TS-PTMs研究的重點。 ? 我們分析了現有TS-PTMs的局限性,并針對數據集、Transformer、內在屬性、對抗攻擊和噪聲標簽提出了潛在的未來方向。本文的其余部分組織如下。第2節介紹了TS-PTM的背景。然后在第3節中對TS-PTMs進行了全面的審查。第4節介紹了各種TS-PTMs的實驗。第5節提出了一些未來的方向。最后,在第6節中總結了我們的發現。
2. TS-PTMs的概述
在本節中,我們提出了一個新的TS-PTMs分類法,根據預訓練技術對現有的TS-PTMs進行系統分類。TS-PTMs的分類法如圖3所示,請參考附錄A.1中的文獻概述了TS-PTMs。
2.1 有監督的PTMs
早期的TS-PTMs受到CV領域轉移學習應用的啟發。許多基于視覺的PTMs是在大規模標注的數據集(如ImageNet [62])上進行訓練的。然后,相應的權重在通常較小的目標數據集上進行微調。這種策略已被證明可以改善深度學習模型在許多CV任務上的泛化性能。自然地,一些研究也探討了這種策略在時序領域是否有效[26]、[63]。他們在UCR時序數據集[64]上的實驗表明,遷移學習可能會提高或降低下游任務的性能,這取決于源數據集和目標數據集是否相似[26]。
通用編碼器首先在標記的源數據集上對基礎網絡進行預訓練,然后將基礎網絡遷移到目標領域。這通常需要大量的標記源樣本進行預訓練,在時序領域可能很難獲得。當源數據集和目標數據集相似(不相似)時,通常會出現正向(負向)轉移。先前的研究已經探索了如何基于數據集間的相似性或潛在表示空間中的時序表示來選擇源數據。此外,基于領域適應的對齊編碼器考慮了源數據和目標數據分布之間的差異。Voice2Serie [27]提供了一種基于分類的PTMs的新方法。一些特定領域的時序數據(例如語音數據)被用來預訓練基礎網絡,然后通過模型重編程應用于通用時序數據。然而,如何構建一個大規模、標注良好的適用于TS-PTMs的時序數據集尚未探索。
基于時間序列預測(TSF)的預訓練模型(PTMs)可以利用時間序列中的復雜動態性,引導模型捕獲時間依賴性。基于自回歸的模型使用子序列之間的依賴性和同一時間序列未來預測值的一致性,因此使用TSF預訓練時間序列數據。與使用人工標簽進行預訓練的基于分類的PTMs不同,避免在基于TSF任務的預訓練中出現子序列(例如,異常值)之間的抽樣偏差仍然具有挑戰性[68]。同時,基于元學習的自適應編碼器允許目標數據集中存在少量時間序列樣本的情景。另外,基于回歸的單步預測模型(例如,RNNs)可能會因累積錯誤[10],[49]導致性能下降。相反,一些研究[14],[60]采用基于Transformer的模型一次性生成所有預測。因此,設計高效的TSF編碼器將是研究基于TSF的PTMs的基礎。
2.2 無監督預訓練模型
本節介紹無監督的時間序列預訓練模型(TS-PTMs),這些模型通常通過重建技術進行預訓練。與有監督的TS-PTMs相比,無監督的TS-PTMs應用更為廣泛,因為它們不需要有標簽的時間序列樣本。
2.3 自監督預訓練模型
本節介紹了基于一致性和偽標簽訓練策略的自監督時間序列預訓練模型(TS-PTMs),這些策略在自監督學習中常常被使用。與無監督學習(例如,重構)相比,自監督學習在訓練過程中使用自提供的監督信息(例如,偽標簽)。
3. 實驗結果與分析
在本節[68]、[142]中,我們在三個TSM任務上評估TS-PTMs,包括分類、預測和異常檢測。與[68]一樣,我們選擇了相應TSM任務中使用的一系列時間序列基準數據集進行評估。我們首先使用UCR[148]和UEA [149] archives時間序列數據集分析了TS-PTMs在分類任務上的性能。繼[31]之后,選擇了4個時間序列場景數據集進行遷移學習PTMs分析。其次,使用ETT[14]和Electricity[150]數據集比較了TSPTMs和相關基線在預測任務上的性能。最后,利用Yahoo[151]和KPI[152]數據集,分析TS-PTMs和相關基線在異常檢測任務上的性能。有關數據集、基線和實現細節的信息,請參閱附錄A。
6. 結論
在這份綜述中,我們對時間序列預訓練模型(TS-PTMs)的發展進行了系統性的回顧和分析。在早期關于TS-PTMs的研究中,相關研究主要基于CNN和RNN模型對PTMs進行遷移學習。近年來,基于Transformer和一致性的模型在時間序列下游任務中取得了顯著的性能,并已被用于時間序列預訓練。因此,我們對現有的TS-PTMs、遷移學習策略、基于Transformer的時間序列方法以及在時間序列分類、預測和異常檢測這三個主要任務上的相關代表性方法進行了大規模的實驗分析。實驗結果表明,基于Transformer的PTMs對于時間序列預測和異常檢測任務具有顯著的潛力,而為時間序列分類任務設計合適的基于Transformer的模型仍然具有挑戰性。同時,基于對比學習的預訓練策略可能是未來TS-PTMs發展的潛在焦點。
隨著對廣義深度模型的迫切需求,許多預訓練大模型被提出,如BERT、ViT、GPT等。受這些模型在單一領域(如計算機視覺和自然語言處理)成功的啟發,多模態預訓練大模型近年來也引起了越來越多的關注。在這項工作中,我們對這些模型進行了全面的綜述,希望本文能夠提供新的見解,幫助新的研究人員跟蹤最前沿的工作。**具體而言,我們首先通過回顧傳統深度學習、自然語言過程、計算機視覺和語音中的預訓練工作,介紹了多模態預訓練的背景;然后,我們介紹了多模態預訓練模型(MM-PTMs)的任務定義、主要挑戰和優勢,并討論了MM-PTMs,重點是數據、目標、網絡架構和知識增強的預訓練。**在此之后,我們介紹了用于大規模MM-PTMs驗證的下游任務,包括生成、分類和回歸任務。我們還對典型下游任務的模型參數和結果進行了可視化和分析。最后,我們指出了本課題可能的研究方向,對今后的工作有所裨益。此外,我們維護了一個持續更新的大規模預訓練多模態大模型的論文列表://github.com/wangxiao5791509/MultiModal BigModels survey
1. 引言
隨著AlexNet[1]在ImageNet比賽[2]上的識別性能的突破,人工智能有了很大的發展。提出了許多具有代表性的深度神經網絡,如VGG[3]、ResNet[4]、Inception[5]、LSTM[6]等。研究人員通常為他們的任務收集和注釋一些樣本,并基于大規模數據集上預訓練的基座訓練他們的模型(例如用于計算機視覺的ImageNet[2],用于自然語言處理的Glove[7]和Skip-thought vectors[8])。與傳統的手工功能相比,許多任務都可以通過這種端到端方式很好地解決,例如目標檢測、分割和識別。然而,所得到的深度模型泛化能力仍然有限。收集和注釋一個更大的數據集可以在一定程度上解決這些問題,但這個過程是昂貴和乏味的。 為了解決這個問題,Ashish等人提出了Transformer網絡[9],該網絡在機器翻譯任務上取得了新的SOTA(最先進的)性能。之后,在大規模語料上進行自監督預訓練,然后在下游任務上進行微調,吸引了越來越多研究者的關注。許多預訓練的大模型都是遵循這樣的范式提出的,如BERT [10], GPT [11,12], T5 [13], XLNet[14],也引發了CV領域預訓練的新研究熱點。越來越多的大規模NLP和CV模型通過預訓練和微調范式展示了強大的效果,包括ViT[15]和Swin-Transformer[16]。
盡管這一進展為人工智能的發展帶來了新的動力,然而,單模態缺陷所帶來的問題仍然難以解決。研究人員試圖納入更多模態來彌合深度模型的數據差距。許多基于多模態融合的任務也采用傳統的深度學習方式進行探索,如RGB、深度、自然語言、點云、音頻、事件流等。許多大規模預訓練多模態模型[17-23]被提出,這些模型在下游任務上相繼設置新的SOTA,如圖1所示。文中對這些工作進行了全面的綜述,旨在幫助感興趣的研究者快速了解該領域的歷史和最新發展。
綜述組織。文中首先回顧了多模態預訓練技術的研究背景,從傳統的深度學習范式到單模態任務的預訓練,包括自然語言處理、計算機視覺和自動語音處理。然后,在3.1節和3.2節中,重點介紹MM-PTMs,并描述任務定義、關鍵挑戰和好處。在以下子節中還將審查關鍵組件,包括大規模數據、網絡架構、優化目標和知識增強的預訓練。為了驗證預訓練模型的有效性,使用許多下游任務進行定量評估。在第4節中,詳細回顧了這些任務的任務定義和評估指標。在第5節中,我們回顧了用于訓練的模型參數和硬件,并報告了幾個代表性下游任務的實驗結果。最后,在第6節中,總結了本綜述并提出了多個需要研究的研究方向。這個綜述的架構如圖2所示。
與現有評論的區別。雖然已經有兩項針對MM-PTMs的綜述[24,25],但我們的綜述與現有綜述之間的差異可以總結如下: * 范圍:現有的多模態綜述[24,25]只關注視覺-語言,然而,多模態信息問題是一個更廣泛的研究主題。本文比上述綜述更全面,引入了更多的模態,如音頻、視頻、表格等。 * 時效性:本文介紹了針對多模態預訓練提出的最新數據集和算法(從2019年到2022年6月),這是一個很長的綜述,同時,他們的工作屬于短論文。 * 對MM-PTMs的新見解:通過從不同的角度對現有MM-PTMs進行分類和分析,本文可以幫助讀者從詳細和高層次的角度掌握最前沿的方法和技術。此外,提出的MM-PTMs研究方向是經過深思熟慮的,將為后續研究提供新的線索。
2. 多模態預訓練
**任務的定義。**通常,深度神經網絡是在大規模數據集上進行訓練的,例如,廣泛使用的殘差網絡[4]是在ImageNet數據集[2]上使用分類任務進行預訓練的。相比之下,多模態預訓練大型模型通常在大規模訓練數據集上進行訓練。通常,這些數據由于規模太大而無法標注,因此沒有標注標簽。另一方面,參數需要達到一定的規模。如圖4所示,多模態數據、大模型和計算能力是緊密聯系的。總之,多模態預訓練通常是指在計算能力的支持下,對海量多模態數據進行無監督的預訓練,即具有大量參數的多模態模型。
與單模態預訓練大模型相比,MM-PTMs更適合實際應用場景。具體而言,MM-PTMs可以很好地解決多模態協同生成、模態補全、跨域檢索等問題。同時,多模態數據包含更多的信息,可以彌補單一模態的缺陷。因此,MM-PTMs有助于提取多模態的共同特征。最近的許多工作表明,MM-PTMs的使用確實帶來了額外的先驗知識[76-78]。與小規模的多模態模型相比,通過自監督/無監督學習得到的MM-PTMs的泛化能力顯著提高。由于一些先驗知識僅包含在海量的大數據中,而人工選擇的少量標注數據存在偏差,因此小規模模型很難掌握這些知識。
預訓練數據集
如表2所示,針對預訓練任務提出了許多大規模多模態數據集。在本小節中,我們將簡要介紹這些數據集,以幫助讀者快速掌握預訓練所需的數據信息。
預訓練目標
如何設計學習目標是多模態預訓練中非常重要的一步。目前,提出了以下學習目標,包括對比損失、生成損失等。
預訓練架構
在大規模預訓練時代,目前大多數預訓練模型的靈感來自Transformer(主要由自注意力層組成)。它最初是在2017年為自然語言處理任務[9]開發的,它在許多下游任務上大幅提高了新的SOTA性能。此類框架也被引入計算機視覺領域,因此,針對各種任務和輸入設計統一的網絡架構是當前的研究熱點。
多層transformer廣泛應用于目前許多MM-PTMs中。每個模態的輸入首先由獨立的編碼器提取作為特征嵌入,然后與其他模態進行交互。根據多模態信息融合方式的不同,MM-PTMs可分為單模態和跨模態兩類。在本小節中,我們將分別介紹這兩種架構。
目前的大規模預訓練多模態模型大多采用concate、add、Mergeattention、Co-attention和Cross-attention[132]來實現模態之間的交互學習。以下各段將介紹這些模塊。
預訓練知識利用
傳統的預訓練模型邏輯推理能力差,缺乏可解釋性。為了緩解這些問題,在預訓練模型中直接涉及知識,對數據的深入理解,即使用知識進行預訓練,也稱為知識增強預訓練模型(KEPTMs),如圖9所示。
3. 下游任務
在預訓練階段之后,研究人員通常會在許多下游任務中測試他們的模型,以驗證這種強大的能力。具體來說,驗證采用了生成任務、分類任務、回歸任務,下面將討論這些任務。快速學習作為一種新的學習范式,以修改下游任務來適應預先訓練好的大模型為目標,受到越來越多的關注。本部分還對幾種有代表性的提示學習算法進行了綜述。這些下游任務的概述如圖10所示。
在人工智能迅速發展的今天,深度神經網絡廣泛應用于各個研究領域并取得了巨大的成功,但也同樣面 臨著諸多挑戰.首先,為了解決復雜的問題和提高模型的訓練效果,模型的網絡結構逐漸被設計得深而復雜,難以 適應移動計算發展對低資源、低功耗的需求.知識蒸餾最初作為一種從大型教師模型向淺層學生模型遷移知識、提 升性能的學習范式被用于模型壓縮.然而隨著知識蒸餾的發展,其教師學生的架構作為一種特殊的遷移學習方 式,演化出了豐富多樣的變體和架構,并被逐漸擴展到各種深度學習任務和場景中,包括計算機視覺、自然語言處 理、推薦系統等等.另外,通過神經網絡模型之間遷移知識的學習方式,可以聯結跨模態或跨域的學習任務,避免知 識遺忘;還能實現模型和數據的分離,達到保護隱私數據的目的.知識蒸餾在人工智能各個領域發揮著越來越重要 的作用,是解決很多實際問題的一種通用手段.本文將近些年來知識蒸餾的主要研究成果進行梳理并加以總結,分析該領域所面臨的挑戰,詳細闡述知識蒸餾的學習框架,從多種分類角度對知識蒸餾的相關工作進行對比和分析, 介紹了主要的應用場景,在最后對未來的發展趨勢提出了見解.
隨著深度神經網絡的崛起和演化,深度學習在 計算機視覺、自然語言處理、推薦系統等 各個人工智能的相關領域中已經取得了重大突破. 但是,深度學習在實際應用過程中的也存在著一些 巨大的挑戰.首先,為了應對錯綜復雜的學習任務, 深度學習的網絡模型往往會被設計得深而復雜:比 如早期的LeNet模型只有5層,發展到目前的通用 的ResNet系列模型已經有152層;伴隨著模型的 復雜化,模型的參數也在逐漸加重.早期的模型參數 量通常只有幾萬,而目前的模型參數動輒幾百萬.這 些模型的訓練和部署都需要消耗大量的計算資源, 且模型很難直接應用在目前較為流行的嵌入式設備 和移動設備中.其次,深度學習應用最成功的領域是 監督學習,其在很多任務上的表現幾乎已經超越了 人類的表現.但是,監督學習需要依賴大量的人工標 簽;而要實現大規模的標簽任務是非常困難的事情, 一方面是數據集的獲取,在現實場景中的一些數據 集往往很難直接獲取.比如,在醫療行業需要保護患 者的隱私數據,因而數據集通常是不對外開放的.另 一方面,大量的用戶數據主要集中在各個行業的頭 部公司的手中,一些中小型公司無法積累足夠多的 真實用戶數據,因此模型的效果往往是不理想的;此 外,標注過程中本身就需要耗費很大的人力、物力、 財力,這將極大限制人工智能在各個行業中的發展 和應用.最后,從產業發展的角度來看,工業化將逐 漸過渡到智能化,邊緣計算逐漸興起預示著AI將 逐漸與小型化智能化的設備深度融合,這也要求模 型更加的便捷、高效、輕量以適應這些設備的部署. 針對深度學習目前在行業中現狀中的不足, Hinton等人于2015首次提出了知識蒸餾(Knowledge Distillation,KD)[10],利用復雜的深層網絡模型向淺 層的小型網絡模型遷移知識.這種學習模型的優勢在于它能夠重用現有的模型資源,并將其中蘊含的 信息用于指導新的訓練階段;在跨領域應用中還改 變了以往任務或場景變化都需要重新制作數據集和 訓練模型的困境,極大地節省了深度神經網絡訓練 和應用的成本.通過知識蒸餾不僅能夠實現跨領域 和跨模態數據之間的聯合學習還能將模型和知識 表示進行分離,從而在訓練過程中將教師模型作為 “黑盒”處理,可以避免直接暴露敏感數據,達到隱私 保護效果.
知識蒸餾作為一種新興的、通用的模型壓縮和 遷移學習架構,在最近幾年展現出蓬勃的活力,其發 展歷程也大致經歷了初創期,發展期和繁榮期.在初 創期,知識蒸餾從輸出層逐漸過渡到中間層,這時期 知識的形式相對簡單,較為代表性的中間層特征蒸 餾的方法為Hints.到了發展期,知識的形式逐 漸豐富、多元,不再局限于單一的節點,這一時期較 為代表性的蒸餾方法有AT、FT.在2019年前 后,知識蒸餾逐漸吸引了深度學習各個領域研究人 員的目光,使其應用得到了廣泛拓展,比如在模型應 用上逐漸結合了跨模態、跨領域、持續學習、隱私保護等;在和其他領域交叉過程 中又逐漸結合了對抗學習、強化學習、元 學習、自動機器學習、自監督學習等. 如下圖1為知識蒸餾的發展歷程和各個時期較為代 表性的工作.
知識蒸餾雖然有了較為廣闊的發展,但是在其 發展過程和實際應用中也同樣面臨著這一些挑戰;知識蒸餾的挑戰主要可以分為實際應用中面臨的挑 戰和模型本身理論上的挑戰.應用中的挑戰主要有 模型問題、成本問題;而理論上面存在的主要挑戰也 是目前深度學習普遍存在的一些挑戰,包括模型的 不可解釋性等: 模型問題.在實際工業應用中針對不同的任務 教師模型多樣,而如果教師和學生模型不匹配,可能 會使學生模型無法模仿深層大容量的教師模型,即 大模型往往不能成為更好的老師.因此,應用中需要 考慮深層模型和淺層模型之間的容量差距,選擇相 匹配的教師學生模型. 成本問題.模型訓練過程對超參數較為敏感以及 對損失函數依賴較大,而相關原因很難用原理去解 釋,需要大量的實驗,因而模型的試錯成本相對較高. 可解釋性不足.關于知識蒸餾的原理解釋主要 是從輸出層標簽平滑正則化、數據增強等角度出發, 而關于其他層的方法原理解釋相對不足;目前,雖然 關于泛化邊界的研究也在興起,但是并不能全面解 釋知識的泛化問題,還需要有更進一步的探究,才能 保證理論的完備性.
目前,知識蒸餾已經成為一個熱門的研究課題, 關于知識蒸餾的論文和研究成果非常豐富.各種新 方法、新任務、新場景下的研究紛繁復雜,使得初學 者難以窺其全貌.當前已有兩篇關于知識蒸餾的綜 述,均發表于2021年.相較于前者,本文在 分類上作了進一步細化,如在知識形式上,本文關注 到了參數知識及蒸餾中常見的中間層的同構和異構 問題;雖然該文獻中也提及了基于圖的算法,但是本 文以為基于圖形式構建的知識表示是一種新興的、 獨立的、特殊的知識形式,單獨歸為一類更為合理. 相較于后者[40]本文在結構分類上更加宏觀,以知識 形式、學習方式和學習目的為主要內容將知識蒸餾 的基礎解析清楚,而后在此基礎之上對其交叉領域 和主要應用進行展開.本文的主要貢獻可總結如下:(1)結構較為完善,分類更加細化.對于知識的 分類,本文是依據知識蒸餾的發展脈絡對其進行歸 類并細化,增加了中間層知識、參數知識、圖表示知 識,完整地涵蓋了目前知識的全部形式.在文章的結 構上,既保證了分類的綜合性,又避免了過多分類造 成的雜糅,更為宏觀. (2)對比詳細,便于掌握.本文以表格的方式對 同的方法之間的優缺點、適用場景等進行詳細的總 結對比,以及對比了不同知識形式蒸餾的形式化方 法,使得讀者能夠快速準確地區分其中的不同點.(3)內容完整,覆蓋全面.本文遵循了主題式分 類原則不僅分析了單篇文獻,還分析相關領域中知 識蒸餾的重要研究.除此之外,本文以獨立章節對知 識蒸餾的學習目的,原理和解釋,發展趨勢等方面做 了較為全面的闡釋. 本文接下來將從知識蒸餾的整體框架從發,并 對其各個分類進行詳細的闡述,使得讀者能夠從宏 觀上對知識蒸餾有更全面的了解,以便更好地開展 相關領域的學習與研究.本文將按照以下結構組織:第2節首先介紹知識蒸餾的理論基礎及分類;第3~6節分別按照知識傳遞形式、學習方式、學習 目的、交叉領域的順序,從4個不同角度對知識蒸餾 的相關工作進行分類和對比,并分析不同研究方向 面臨的機遇和挑戰;第7節列舉知識蒸餾在計算機 視覺、自然語言處理、推薦系統等領域的一些應用性 成果;第8節對知識蒸餾的原理和可解釋性方面的 工作進行梳理;最后,對知識蒸餾在深度學習場景 下的未來發展趨勢提出一些見解,并進行全文總結.
理論基礎及分類**
知識蒸餾本質上屬于遷移學習的范疇,其主要 思路是將已訓練完善的模型作為教師模型,通過控 制“溫度”從模型的輸出結果中“蒸餾”出“知識”用于 學生模型的訓練,并希望輕量級的學生模型能夠學 到教師模型的“知識”,達到和教師模型相同的表現. 這里的“知識”狹義上的解釋是教師模型的輸出中 包含了某種相似性,這種相似性能夠被用遷移并輔 助其他模型的訓練,文獻[10]稱之為“暗知識”;廣義 上的解釋是教師模型能夠被利用的一切知識形式, 如特征、參數、模塊等等.而“蒸餾”是指通過某些 方法(如控制參數),能夠放大這種知識的相似性,并 使其顯現的過程;由于這一操作類似于化學實驗中 “蒸餾”的操作,因而被形象地稱為“知識蒸餾”.
如圖3是知識蒸餾模型的整體結構.其由一個 多層的教師模型和學生模型組成,教師模型主要負 責向學生模型傳遞知識,這里的“知識”包括了標簽 知識、中間層知識、參數知識、結構化知識、圖表示知 識.在知識的遷移過程中,通過在線或離線等不同的 學習方式將“知識”從教師網絡轉移到了學生網絡. 為了便于讀者快速學習和對比其中的差異,作者將 不同知識傳遞形式下的蒸餾方法的形式化表示及其 相關解釋整理為表1所示結果.此外,本文對知識蒸 餾相關研究進行了總結,主要從知識傳遞形式、學習 的方式、學習的目的、交叉領域、主要應用等方面對 其進行分類,其分類框架如圖4所示,具體內容將在 后續的文章中展開.
知識傳遞形式
知識蒸餾方法的核心在于“知識”的設計、提取和 遷移方式的選擇,通常不同類型的知識來源于網絡模 型不同組件或位置的輸出.根據知識在教師學生模型 之間傳遞的形式可以將其歸類為標簽知識、中間層知 識、參數知識、結構化知識和圖表示知識.標簽知識一 般指在模型最后輸出的logits概率分布中的軟化目標 信息;中間層知識一般是在網絡中間層輸出的特征圖 中表達的高層次信息;參數知識是訓練好的教師模型 中存儲的參數信息;結構化知識通常是考慮多個樣本 之間或單個樣本上下文的相互關系;圖表示知識一般 是將特征向量映射至圖結構來表示其中的關系,以滿 足非結構化數據表示的學習需求.本節主要對蒸餾知 識的5類傳遞形式加以介紹,理清主流的知識蒸餾基礎 方法,后面介紹的各類蒸餾方法或具體應用都是以此 為基礎.相關的優缺點和實驗對比,見表2~表4所示.
學習方式
類似于人類教師和學生間的學習模式,神經網 絡的知識蒸餾學習方式也有著多種模式.其中,學生 模型基于預訓練好的、參數固定的教師模型進行蒸 餾學習被稱為離線蒸餾.相應 地,教師和學生模型同時參與訓練和參數更新的模 式則稱為在線蒸餾.如果學生 模型不依賴于外在模型而是利用自身信息進行蒸餾 學習,則被稱為自蒸餾學習,如圖7 所示.一般而言,蒸餾框架都是由一個教師模型和一 個學生模型組成,而有多個模型參與的蒸餾稱為多模型蒸餾;目前,大部分 蒸餾框架都是默認源訓練數據集可用的,但最近的 很多研究在不使用任何已知數據集的情況下實現 蒸餾,這類統稱為零樣本蒸餾(又稱為無數據蒸餾,).特別地,出于一些 隱私保護等目的,教師模型可以享有一些特權信息而 學生模型無法訪問,在這種約束下,形成特權蒸餾 學習.接下來,將分別介紹不同蒸餾學習方式的代表性工作.
主要應用
**計算機視覺 **
計算機視覺一直是人工智能的研究熱點領域之 一.近年來,知識蒸餾被廣泛應用于各種視覺任務達 到模型壓縮、遷移學習和隱私保護等目標.雖然知識 蒸餾的應用十分廣泛,但是由于各個研究方向的熱 度不同,所以相關研究的論文數量也會有很大的差異.本文重點引用了知識蒸餾在視覺上的熱點方向, 并列舉相關論文的方法供讀者查閱學習,而對于其 他一些方向可能存在取舍.目前,應用知識蒸餾的視 覺研究主要集中在視覺檢測和視覺分類上.視覺檢 測主要有目標檢測、人臉識別、行人檢測、姿勢檢測;而視覺分類的研究熱點主要是語義分割,如表5所 示.另外,視覺中還有一些其他應用比如視頻分 類[105]、深度估計和光流/場景流估計[169]等等.
**自然語言處理 **
自然語言處理(NaturalLanguageProcess, NLP)的發展非常迅速,從RNN、LSTM、ELMo再 到如今非常熱門的BERT,其模型結構逐漸變的非 常的深而復雜,需要耗費大量的資源和時間.這樣的 模型幾乎無法直接部署.因而,獲得輕量級、高效、有 效的語言模型顯得極為迫切.于是,知識蒸餾在 NLP領域也得到了極大的重視.目前,結合知識蒸 餾較為廣泛的NLP任務主要有機器翻譯(Neural MachineTranslation,NMT),問答系統(Question AnswerSystem,QAS)等領域.如表6,本節列舉了 知識蒸餾結合神經機器翻譯和問答系統的代表性的 研究工作.另外,BERT模型在近些年被廣泛應用于 NLP的各個領域,其重要性不言而喻,因此,我們在 表6中一并列舉并在下面對其作詳細介紹.
BERT模型是近年來自然語言中,應用最廣泛的 工具之一,它是由雙向編碼器表示的Transformer模 型組成.由于其強大的編碼表示能力,目前在自然語 言的各個任務中被廣泛應用.但是,BERT模型結構 非常復雜,參數量巨大,很難直接應用于模型的訓 練.目前的應用主要采用的預訓練加微調的方法,因 此,對BERT模型的壓縮顯得尤為必要.目前,這方 面的研究已經吸引的很多研究者的關注.提出的方法 主要有剪枝、量化、蒸餾、參數共享、權重分解.但是, 量化對模型的提升效果有限,權重分解和參數共 享等工作相對較少.因此,主要工作集中在剪枝和 蒸餾.此處將主要介紹表中列舉的較為經典的幾種 模型.首先,知識蒸餾結合BERT較早的方法是 DistilledBiLSTM[221]于2019年提出,其主要思想是 將BERTlarge蒸餾到了單層的BiLSTM中,其效果 接近EMLO,其將速度提升15倍的同時使模型的參 數量減少100倍.后來的研究方法逐漸豐富,如 BERTPKD[222]主要從教師的中間層提取豐富的知 識,避免在蒸餾最后一層擬合過快的現象.Distill BERT[223]在預訓練階段進行蒸餾,能夠將模型尺寸減 小40%,同時能將速度能提升60%,并且保留教師模 型97%的語言理解能力,其效果好于BERTPKD. TinyBERT[224]提出的框架,分別在預訓練和微調階 段蒸餾教師模型,得到了速度提升9.4倍但參數量 減少7.5倍的4層BERT,其效果可以達到教師模 型的96.8%.同樣,用這種方法訓出的6層模型的 性能超過了BERTPKD和DistillBERT,甚至接近BERTbase的性能.上述介紹的幾種模型都利用了 層次剪枝結合蒸餾的操作.MobileBERT[225]則主要 通過削減每層的維度,在保留24層的情況下,可以 減少4.3倍的參數同時提升4倍速度.在GLUE上 也只比BERTbase低了0.6個點,效果好于Tiny BERT和DistillBERT.此外,MobileBERT與Tiny BERT還有一點不同,就是在預訓練階段蒸餾之后, 直接在推測缺乏MobileBERT有一點不同,就是在 預訓練階段蒸餾之后,直接在MobileBERT上用任 務數據微調,而不需要再進行微調階段的蒸餾,更加 便捷.
綜上,BERT壓縮在近些年的發展還是較為顯 著的.這些方法對后BERT時代出現的大型預訓練 模型的如GPT系列等單向或雙向Transformer模 型的壓縮具有很大借鑒意義.
推薦系統
近些年,推薦系統(RecommenderSystems,RS) 被廣泛應用于電商、短視頻、音樂等系統中,對各個 行業的發展起到了很大的促進作用.推薦系統通 過分析用戶的行為,從而得出用戶的偏好,為用戶 推薦個性化的服務.因此,推薦系統在相關行業中 具有很高的商業價值.深度學習應用于推薦系統 同樣面臨著模型復雜度和效率的問題.但是,目前 關于推薦系統和知識蒸餾的工作還相對較少.本文 在表7中整理了目前收集到的相關文獻,可供研究 人員參考.
總結
近年來,知識蒸餾逐漸成為研究熱點而目前絕 大多數優秀的論文都是以英文形式存在,關于系統 性介紹知識蒸餾的中文文獻相對缺失;并且知識蒸 餾發展過程中融入了多個人工智能領域,相關文獻 紛繁復雜,不易于研究人員對該領域的快速、全面地 了解.鑒于此,本文對知識蒸餾的相關文獻進行了分 類整理和對比,并以中文形式對知識蒸餾領域的研 究進展進行了廣泛而全面的介紹.首先介紹了知識 蒸餾的背景和整體框架.然后分別按照知識傳遞的 形式、學習方式、學習目的、交叉領域的結合對知識 蒸餾的相關工作進行了分類介紹和對比,分析了各 類方法的優缺點和面臨的挑戰,并對研究趨勢提出 了見解.本文還從計算機視覺、自然語言處理和推薦 系統等方面概述了知識蒸餾在不同任務和場景的具 體應用,對知識蒸餾原理和可解釋性的研究進行了 探討.最后,從4個主要方面闡述了對知識蒸餾未來 發展趨勢的分析. 知識蒸餾通過教師學生的結構為深度神經網 絡提供了一種新的學習范式,實現了信息在異構或 同構的不同模型之間的傳遞.不僅能夠幫助壓縮模 型和提升性能,還可以聯結跨域、跨模態的知識,同 時避免隱私數據的直接訪問,在深度學習背景下的 多種人工智能研究領域具有廣泛的應用價值和研究 意義.目前,有關知識蒸餾的中文綜述性文章還比較 缺失.希望本文對知識蒸餾未來的研究提供有力的 借鑒和參考.
【導讀】自監督學習是當下研究的熱點。如何在多模態時序數據進行自監督表示學習?最新來自皇家墨爾本理工大學RMIT等學者發表了《自監督表示學習:多模態與時序數據》,首次全面綜述多模態時序數據自監督學習方法,非常值得關注!
近年來,自監督表示學習(Self-Supervised Representation Learning, SSRL)在計算機視覺、語音、自然語言處理(natural language processing, NLP)等領域受到廣泛關注,近年來,它也逐漸被應用于傳感器數據的時間序列等模態。傳統模型通常需要大量注釋良好的數據進行訓練,這一事實推動了自我監督學習的流行。獲取帶注釋的數據可能是一個困難且代價高昂的過程。自監督方法通過使用從原始數據中自由獲取的監督信號對模型進行區分性預訓練來提高訓練數據的效率。現有的研究主要集中在單模態CV或NLP領域的方法,與此不同,本文的目的是首次全面綜述多模態時序數據自監督學習方法。為此,我們 1) 對現有的SSRL方法進行了全面的分類; 2) 通過定義SSRL框架的關鍵組件引入了一個通用流水線; 3) 就其目標功能、網絡架構和潛在應用對現有模型進行了比較; 4) 對每種類別和各種模態下的現有多模態技術進行了綜述。最后,我們提出了現有的弱點和未來的機會。我們相信,我們的工作為利用多模態和/或時間數據的領域的SSRL需求提供了一個視角。
//www.zhuanzhi.ai/paper/88836a11fa745f249523bdfcf9298998
表示學習
過去幾十年,深度學習技術取得了巨大的成功,催生了大量面向大規模數據集的應用。盡管深度學習具有顯著的影響,但許多最先進的技術仍然需要人工干預,例如手動數據預處理和數據注釋。這是監督學習模型的一個主要瓶頸,因為獲取數據注釋通常是一個耗時的過程,需要一些領域知識。自監督表示學習(SSRL)解決了這一瓶頸,它試圖通過從數據本身獲得的監督信號來訓練網絡模型,從而揭示關于數據的有意義的信息。這大大增加了用于訓練模型的數據帶寬,并已被證明可以減少對手動數據注釋的依賴[69]。這也可能被認為是邁向通用人工智能道路上的早期一步,因為與監督學習方法相比,計算機從觀察數據中學習所需的人工輸入要少得多。接下來,我們將概述表征學習和相關的自監督學習技術。
數據表示的研究最初依賴于特征工程,即定義人工步驟將原始數據轉換為有意義的特征。這種轉換的例子包括統計屬性(如均值和標準差)的計算和基于形狀或模式的特征(如圖1中的小波變換)。然而,為一項復雜任務設計良好的特征選擇通常需要大量的人力和大量的領域知識來確保特征的質量。此外,為一個任務選擇的特征可能不適合另一個任務,使其不可行的一般化使用這些方法。為此,提出了一種旨在從數據中自動提取鑒別特征的表示學習方法。其基本原理是降維算法,如主成分分析、流形學習和深度學習將只保留高維數據中信息量最大的特征,并在將數據映射到其低維表示時消除數據中的噪聲。之后,保留和去噪的特征可以用作后續機器學習模型的輸入。由于表示學習對人類干預的依賴程度最低,它不再被視為機器要解決的任務,而是學習一種技能(Satinder Singh),以發展對世界的一般性理解,并匯聚創造一種可以泛化到新場景的一般性共同理解89。因此,表示學習在計算機視覺(CV)、語音識別和自然語言處理(NLP)等多個領域受到了廣泛關注。
自監督表示學習
一個監督模型接受一個帶注釋的數據集用于給定的任務(例如圖像分類的ImageNet),并學習數據表示。由于訓練任務的普遍性,學習到的表示可以作為一個新的但類似的任務(如物體檢測)的良好起點。然而,監督表示學習的主要限制是對注釋數據集的要求。數據注釋是一個昂貴和耗時的過程,需要大量的人力工作。為了獲得高質量的數據集,需要在數據領域(如醫療、法律或生物數據集)擁有廣泛的專業知識。此外,對于一些應用領域(如與人類相關的應用),由于隱私問題,獲取標簽數據集是不可行的。
針對上述問題,提出了一種自監督表示學習方法。它直接處理未標記的數據,不需要外部注釋。與人類的自學習過程類似,這是一個“觀察、行動、觀察和推斷”的重復循環,SSRL以原始數據為輸入,對輸入數據應用一個或多個預定義的動作,觀察動作的結果,并推斷出模型參數的下一個優化步驟。重復這個過程,SSRL模型可以提取數據的分布和局部/全局特征。SSRL的一個關鍵組件是對數據輸入的預定義操作,它生成偽標簽來監督訓練過程。這種行為的一個例子是偽裝學習的前置任務,它掩蓋了一部分數據,使用被掩蓋的部分作為標簽,并引導模型恢復被掩蓋的部分。
由于SSRL不需要外部監督,它可以利用大量可用的未標記數據(例如,所有發布在互聯網上的圖像)。這導致了SSRL的顯著成功。在2000年代,Hinton等人(2006)[70]和Bengio等人(2007)[21]提出了一種自監督算法,在使用真實標簽對模型進行微調之前,對深度信任網絡進行預訓練。他們表明,使用預訓練的權值可以提高監督任務的性能。如今,基于深度學習的模型,SSRL不僅在許多下游任務中實現了與其他完全監督競爭方法相比的競爭精度,而且與類似的監督模型相比,具有參數少得多、網絡小得多的優勢; 因此,它們不容易發生過擬合[78]。此外,SSRL的用例不僅限于作為機器學習管道中的預處理步驟(如遷移學習),還包括其他領域的應用,如通過提高這些學習系統的標簽/獎勵效率的持續學習[113]和強化學習[124]。
多模態和時序數據的自監督表示學習
多模態時序數據在日常生活中無處不在。數字設備的廣泛使用和數字應用(如物聯網應用、無線通信和媒體消費)的普及,使時序數據的可用性越來越高。時序數據的例子包括傳感器讀數、股票價格和醫療記錄等等。時序數據分析在環境(如氣候建模)、公共安全(如犯罪預測)和智能交通(如城市交通管理)等各個領域都有廣泛的應用。
另外,由于產生了大量異構格式的數據,因此涵蓋了多種數據形式。例如,自動駕駛汽車的決策同時依賴視覺和傳感器數據。這些來自不同來源的數據可以被視為同一主題的不同觀點,并提供補充信息。因此,同時利用這兩類數據可以提高機器學習模型的有效性和可靠性。盡管多模態和時序數據很重要,但分析它們并非微不足道。時序數據與其他數據類型(如圖像和文本數據)相比具有獨特的特征,因為它與采集時間有很強的相關性。提取動態時間模式(例如周期模式)對于發現數據如何隨時間演變是至關重要的。當有多種可用的數據模式時,學習在不同模式下不僅有效而且語義一致的表示是至關重要的。
為了解決這些問題,許多SSRL模型被提出,利用大量未標記的多模態和/或可用的時間數據來學習可轉移到下游預測器的數據表示。這些模型在數據模式(如音頻、圖像、文本或時間序列或這些模式的組合)、生成監督信號的方法(如借口任務、聚類、對比數據樣本和相似性計算)和目標函數(如交叉熵、三元組損失和InfoNCE)等方面存在不同。本文系統地綜述了近年來多模態和時序數據SSRL的研究進展。本文對這些研究成果進行了綜述,對它們進行了定位和比較,并指出了未來可能的研究方向。
本文貢獻:
在這篇文章中,我們介紹了快速發展的表示學習領域,并回顧了SSRL技術。特別地,我們討論了現有綜述中較少涉及的模態(時間數據),并特別關注跨模態學習模型。本文將做出貢獻:
據我們所知,這是第一次全面的SSRL調研,涵蓋了視覺數據之外的多種形態。我們包括音頻和時間序列數據類型及其與視覺和文本的組合。這將為研究人員提供一個快速了解這些領域最先進工作的全景圖。
我們提出一個分類方案來定位、分類和比較審查的工作。比較分析可以作為讀者在現實生活中使用哪種模型的實踐指南。
我們確定了多模態和時間數據SSRL領域的公開挑戰。我們進一步討論可能的未來研究方向,可能解決這些挑戰。
本文其余部分的組織如下:在第2節中,我們回顧了關于SSRL的現有綜述論文。在第3節中,我們解釋了重要的術語和背景信息,以使文章易于閱讀和理解。在第4節中,我們描述了現有的類別,并特別介紹了為單一時態數據模式提出的SSRL方法。在第5節中,我們將現有的框架擴展為跨模態方法,并研究跨模態應用可能的框架、需求和挑戰。在第6節中,我們關注用于自監督學習的目標函數的演變趨勢。最后,第7節討論了挑戰和未來的研究方向。
自監督表示學習(SSRL)工作流。首先,SSRL方法以未標記的數據為輸入,利用數據轉換、時間/空間掩蔽、先天關聯和交叉模態匹配等多種技術提取新的實例及其對應的偽標簽。接下來,學習表征的目的是預測那些提取的偽標簽。最后,一個預訓練的編碼器將被轉移到一個有監督/無監督的下游任務,只有有限的標記數據。
適用于所有基礎架構和模式的自監督表征學習框架的類別。
比較不同的自監督表示學習模型的整體架構。
隨著功能強大的預訓練視覺語言模型(如CLIP)的興起,研究如何使這些模型適應下游數據集變得非常必要。最近提出的一種名為上下文優化(CoOp)的方法將提示學習的概念引入視覺領域,以適應預訓練的視覺語言模型。具體來說,CoOp將提示中的上下文單詞轉換為一組可學習的向量,并且僅使用少量標記的圖像進行學習,可以在經過大量調整的手動提示中實現巨大的改進。在我們的研究中,我們確定了CoOp的一個關鍵問題: 學習的上下文不能泛化到同一數據集內更廣泛的不可見類,這表明在訓練期間觀察到的CoOp基類過擬合。 為了解決這個問題,我們提出了條件上下文優化(CoCoOp),它通過進一步學習一個輕量級神經網絡來為每幅圖像生成一個輸入條件標記(向量)來擴展CoCoOp。與CoOp的靜態提示相比,我們的動態提示適應每個實例,因此對類遷移不那么敏感。大量的實驗表明,對于不可見的類,CoCoOp的泛化效果要比CoOp好得多,甚至在單個數據集之外還顯示出很好的可遷移性; 具有較強的域泛化性能。代碼可在//github.com/ KaiyangZhou/CoOp
大型的、預訓練的基于Transformer的語言模型,如BERT,已經極大地改變了自然語言處理(NLP)領域。我們對最近的研究進行了調研,這些研究使用了大型語言模型來解決NLP任務,通過預訓練、微調、提示或文本生成方法。我們還提出了使用預訓練語言模型生成數據的方法,用于訓練增強或其他目的。最后,我們討論了局限性,并提出了未來研究的方向。
引言
近年來,大型預訓練的基于Transformer的語言模型(PLMs),如BERT (Devlin et al., 2019)和GPT (Radford et al., 2018)系列模型席卷了自然語言處理(NLP),在許多任務中實現了最先進的性能。
這些大型PLM推動了NLP的范式轉變。以分類任務p(y|x)(將文本輸入x分類為標簽y)為例:傳統統計NLP方法通常設計手工特征來表示x,然后應用機器學習模型(如SVM (Cortes and Vapnik, 1995)、邏輯回歸)來學習分類函數。深度學習模型通過深度神經網絡(LeCun et al., 2015)。注意,每個新的NLP任務都需要重新學習潛在特征表示,而且在許多情況下,訓練數據的大小限制了潛在特征表示的質量。考慮到語言的細微差別對所有NLP任務來說都是共同的,我們可以假設我們可以從一些通用任務中學習一個通用的潛在特征表示,然后在所有NLP任務中共享它。語言建模需要學習如何在給定前一個單詞的情況下預測下一個單詞,這是一項具有大量自然出現的文本的通用任務,可以預訓練這樣一個模型(因此得名預訓練語言模型)。事實上,最新的、正在進行的范式轉換從引入PLMs開始: 對于大量的NLP任務,研究人員現在來利用現有的PLMs通過對感興趣的任務進行微調,提示PLMs執行期望的任務,或者將任務重新構造為文本生成問題,并應用PLMs來解決相應的問題。這三種基于PLM的范式的進步不斷地建立了新的最先進的性能。
本文調研了最近利用PLM進行NLP的工作。我們將這些工作組織成以下三種范式:
先進行預訓練,然后進行微調(§2): 先對大量未標記語料庫進行通用預訓練,然后對感興趣的任務進行少量的任務特定微調。
基于提示的學習(§3):提示一個PLM,這樣解決NLP任務就會減少到類似于PLM的訓練前任務(如預測一個遺漏的單詞),或一個更簡單的代理任務(如文本包含)。提示通常可以更有效地利用PLM中編碼的知識,從而產生“少樣本”的方法。
NLP作為文本生成(§4): 將NLP任務重新定義為文本生成,以充分利用生成語言模型(如GPT-2 (Radford et al., 2019)和T5 (Raffel et al., 2020)中編碼的知識。
生成式PLMs也可以用于文本生成任務。我們向讀者推薦關于文本生成的優秀調研,如Li et al. (2021b) 和Yu et al. (2021b)。除非另有說明,本文主要關注非生成性任務(如分類、序列標注和結構預測),這些任務仍然涵蓋廣泛的NLP任務,包括文本的語法或語義解析、信息抽取(IE)、問答(QA)、文本蘊涵(TE)、情感分析、等等。除了這三種范式之外,還有另一種互補的方法:間接使用上述任何一種PLM范式來改善目標NLP任務的結果:
數據生成(§5): 運行PLM自動生成NLP任務的數據。生成的數據可以是銀色標記的數據,通常生成的PLM是針對任務進行微調的,或者是一些輔助數據,如反例、澄清、上下文或其他。在第一種情況下,銀色標記數據可以添加到現有的標記數據中。在第二種情況下,輔助數據以某種方式支持目標任務。
論文組織如下: 第2節提供了PLM的背景,并描述了第一種范式,即預訓練然后微調。第三節討論第二種范式,即基于提示的學習。第4節總結了第三種范式,即作為文本生成的NLP。在第5節中,我們將描述通過PLM為廣泛的NLP任務生成數據的方法。我們將在第6節討論局限性并提供未來研究的方向,并在第7節進行總結。
范式1: 先訓練,然后微調
傳統統計NLP的工作重點是在標記數據集上訓練特定任務的模型,而這種模式轉變為在一個共享的、“基本”的預訓練任務上訓練一個大型模型,然后在第二步中將其調整(“微調”)到各種任務。預訓練任務幾乎總是一種語言建模任務,它可以利用大量的未標記數據來學習有利于一系列NLP任務的表示(Rogers et al., 2020)。在本節中,我們首先提供關于預訓練的大型語言模型(PLMs)的入門知識,然后描述使用凍結或微調PLM進行NLP任務的方法。
范式2: 基于提示的學習
我們使用提示指的是在輸入或輸出中添加自然語言文本(通常是短語)的做法,以鼓勵預訓練的模型執行特定任務(Yuan et al., 2021)。使用提示符有幾個優點。提示,特別是上下文學習(例如Brown et al., 2020),可能不需要更新PLM的參數,與微調方法相比,或在2.4.4中描述的基礎上,減少了計算需求。提示還能促使新任務的制定與預訓練的目標更好地結合,從而更好地利用預訓練獲得的知識。更緊密的匹配還支持少樣本方法(Liu et al., 2021b),特別是對于具有小訓練數據集的任務;一個好的提示可以值幾百個標簽數據點(Le Scao and Rush, 2021)。最后,提示允許以一種不受監督的方式探索PLM,以評估PLM對特定任務所獲得的知識(如Petroni et al., 2019)。
下面我們討論三種基于提示的學習方法:從指令和演示中學習、基于模板的學習和從代理任務中學習。圖3顯示了這三種方法的說明。
范式3 NLP即文本生成
基于生成式Transformer的PLMs10(如GPT、BART和T5)的成功,最近激發了人們對利用生成式PLM解決各種非生成式NLP任務的興趣。這些任務包括但不限于傳統的判別任務,如分類和結構預測。例如,圖4說明了Raffel等人(2020)所描述的這種“文本到文本”方法。與傳統的NLP任務判別模型不同,這些任務被重新表述為文本生成問題,從而可以直接用生成式PLM解決。生成的輸出序列通常包括給定任務所需的標簽或其他輔助信息,從而能夠準確地重構預期的類標簽(即避免映射中的歧義),并促進生成/解碼過程(即為預測提供足夠的上下文)。
總結
在這篇文章中,我們介紹了三種使用預訓練語言模型進行自然語言處理的趨勢。我們對每一種方法都進行了深入的描述,并對其應用前景進行了總結。此外,我們還描述了使用預先訓練過的語言模型來自動生成用于提高NLP任務性能的數據。我們希望這一調研將為讀者提供關鍵的基本概念和對范式轉變的全面看法。
【導讀】預訓練模型是當下的研究熱點之一。本文對綜述了近年來與T-PTLMs相關的研究工作,涵蓋了基本概念、分類體系。
引言
基于Transformer的預訓練語言模型(T-PTLMs)在幾乎所有的自然語言處理任務中都取得了巨大的成功。這些模型的發展始于GPT和BERT。這些模型建立在Transformer、自監督學習和遷移學習的基礎上。基于轉換的PTLMs通過自監督學習從大量文本數據中學習通用語言表示,并將這些知識轉移到下游任務中。這些模型為下游任務提供了良好的背景知識,避免了對下游模型從頭開始的訓練。在這篇全面的綜述論文中,我們首先對自監督學習做一個簡要的概述。接下來,我們解釋了各種核心概念,如預訓練、預訓練方法、預訓練任務、嵌入和下游適應方法。接下來,我們介紹了 T-PTLMs的一個新分類,然后簡要概述了各種基準測試,包括內在和外在的。我們總結了與 T-PTLMs一起工作的各種有用的庫。最后,提出了進一步完善這些模型的研究方向。我們堅信,這篇全面的綜述論文將為了解 T-PTLMs的核心概念以及了解 T-PTLMs的最新動態提供很好的參考。
摘要
如GPT-1 [1], BERT [2], XLNet [3], RoBERTa [4], ELECTRA [5], T5 [6], ALBERT [7],BART[8]和PEGAUSUS [9]在NLP中取得了巨大的成功,因為它們能夠從大量未標記的文本數據中學習通用語言表征,然后將這些知識轉移到下游任務中。在早期,NLP系統大多是基于規則的,后來被機器學習模型所取代。機器學習模型需要特征工程,這需要領域專業知識,也是一個耗時的過程。gpu和Word2Vec[10]和Glove[11]等更好的計算機硬件的發展,增加了深度學習模型(如CNN[12]和RNN[13]、[14])用于構建NLP系統的使用。這些深度學習模型的主要缺點是需要從頭開始訓練模型,除了單詞嵌入。從頭開始訓練模型需要大量已標記的實例,生成這些實例的代價是昂貴的。然而,我們希望模型僅使用少數標記實例就能表現良好。遷移學習[15]允許在源任務中學習的知識重用,從而在目標任務中很好地執行。在這里,目標任務應該與源任務類似。基于遷移學習的思想,計算機視覺研究人員使用ImageNet[20],[21]等大規模標記數據集訓練了大型CNN模型[16]-[19]。這些模型學習在所有任務中都通用的圖像表示。預訓練的大型CNN模型通過包含少量特定任務層來適應下游任務,然后在目標數據集[22]上進行微調。由于預先訓練好的CNN模型為下游模型提供了良好的背景知識,他們在許多CV任務[18],[23]中獲得了巨大的成功。
像CNN和RNN這樣的深度學習模型在建模長期上下文和學習帶有局部偏差[24]的單詞表示方面存在困難。此外,由于RNN按順序處理輸入,即逐字處理,并行計算機硬件的利用率受到限制。為了克服現有深度學習模型的這些缺陷,Vaswani等人[25]提出了一種完全基于自注意的深度學習模型,稱為Transformer。與RNN相比,自注意允許更多的并行化,并且可以很容易地建模長期上下文,因為每個令牌都關注輸入序列[25]中的所有令牌。Transformer包含編碼器和解碼器層的堆棧。在編碼器和解碼器層的幫助下,Transformer可以學習復雜的語言信息。在NLP域中生成大量標記數據是一個非常昂貴和耗時的過程。但是,很容易獲得大量未標記的文本數據。NLP研究社區對基于CNN的計算機視覺預訓練模型的成功印象深刻,已經開發了結合Transformer和自監督學習的能力的T-PTLMs。自監督學習允許Transformer基于一個或多個預訓練任務提供的偽監督進行學習。
GPT和BERT分別是第一個基于transformer 解碼器和編碼器層開發的T-PTLMs。在GPT和BERT的基礎上,提出了XLNet、RoBERTa、ELECTRA、ALBERT、T5、BART和PEGAUSUS等模型。這里XLNet, RoBERTa, ELECTRA和ALBERT是對BERT模型的改進,而T5, BART和PEGAUSUS是基于編碼器-解碼器的模型。Kaplan等人[26]表明,T-PTLMs的表現可以通過增加模型的大小來提高。這一觀察觸發了大規模T-PTLMs的發展,如GPT-3 (175B)[27]、PANGU- (200B)[28]、GShard (600B)[29]和switch - transformer (1.6T)[30]等包含數十億個參數的T-PTLMs。繼T-PTLMs在通用英語領域的成功之后,T-PTLMs也被開發用于其他領域,如金融[31],法律[32],[33],新聞[34],編程[35]-[39],對話[40],網絡[41],學術[42]-[44]和生物醫學[45]-[48]。TPTLMs還支持遷移學習,因為這些模型可以通過對目標數據集進行微調或即時調整來適應下游任務。本文綜述了近年來與T-PTLMs相關的研究工作。我們將綜述總結為
我們將簡要介紹SSL,它是開發T-PTLMs的支柱(第2節)。
我們解釋了與T-PTLMs相關的各種核心概念,如預訓練、預訓練方法、預訓練任務、嵌入和下游適應方法(第3節)。
我們提出了一個新的分類方法來分類各種T-PTLMs。這種分類法基于四個視角,即預訓練語料庫、體系結構、SSL類型和擴展(第4節)。
我們提出了一種新的分類法來對各種下游適應方法進行分類,并對每一種方法進行詳細解釋(第5節)。
我們簡要概述了評估T-PTLMs進展的各種基準,包括內在的和外在的(第6節)。
我們簡要概述了各種庫,從Huggingface transformer到Transformer-interpret,這些庫對tptlm的工作很有用(第7節)。
我們簡要討論了一些未來的研究方向,這些方向將推動研究團體進一步改進模型(第8節)。