多模態再次統一!Meta發布自監督算法data2vec 2.0:訓練效率最高提升16倍!
近幾年人工智能領域的突破大多由自監督學習推動,比如BERT中提出的MLM (Masked Language Model) ,通過將文本中的部分單詞遮蓋后重新預測,使得海量無標記文本數據也能用來訓練模型,自此開啟了大規模預訓練模型的新時代。但自監督學習算法也有明顯的局限性,通常只適用于單一模態(如圖像、文本、語音等)的數據,并且需要大量的算力從海量數據中進行學習。相比之下,人類的學習效率要顯著高于當前的AI模型,并且可以從不同類型的數據中進行學習。
2022年1月,Meta AI發布了自監督學習框架data2vec,將三個模態的數據(語音、視覺和文本)通過一個框架整合起來,大有一統多模態的趨勢。最近Meta AI發布了data2cec 2.0版本,主要在性能方面對上一代進行了改進:在精度相同的情況下,訓練速度相比其他算法最高提升了16倍!
論文鏈接:??https://ai.facebook.com/research/publications/efficient-self-supervised-learning-with-contextualized-target-representations-for-vision-speech-and-language
代碼鏈接:??https://github.com/facebookresearch/fairseq/tree/main/examples/data2vec
data2vec 1.0
目前來說,大部分機器學習模型仍然是基于有監督學習的模式,需要有專門的標注人員對目標數據打標簽,但對于某些任務來說(比如地球上的幾千種人類語言),收集標注數據是不可行的。
相比之下,自監督學習不需要告訴模型正確和錯誤,而是讓機器通過觀察世界來學習圖像、語音和文本的結構。相關的研究成果促進了語音(如,wave2vec 2.0)、計算機視覺(例如,掩碼自編碼器)和自然語言處理(例如,BERT)等領域的發展。
data2vec的主要思路就是先建立一個教師網絡,首先計算來自圖像、文本或語音的目標表征。然后對數據進行掩碼遮蓋掉部分輸入,并用一個學生網絡重復該過程預測教師模型得到的表征。
也就是說,學生模型只能在接受「不完整輸入信息」的同時預測「完整輸入數據」的表示。為了保證兩個模型的一致性,二者的參數時共享的,但在訓練初期會讓Teacher模型的參數更新更快。在實驗結果上,data2vec在語音、視覺、文本等任務上對比baseline模型性能提升明顯。?
data2vec 2.0
data2vec提出了一個通用的自監督學習框架統一了語音、視覺和語言三個模態數據的學習,而data2vec2.0主要解決的痛點就是構建自監督模型需要大量的GPU做算力支撐才能完成訓練。與最初的 data2vec 算法類似,data2vec 2.0預測數據的上下文化的表征(contextualized representations),或是神經網絡的層次,而非預測圖像的像素、文本段中的詞或語音。
與常見的其他算法不同,這些所謂的目標表征是上下文化的,這意味著算法需要將整個訓練示例考慮在內。
比如說,模型學習單詞 bank 的表征是基于包含bank的整個句子,從而更容易推算出單詞的正確含義,比如區分具體指代「金融機構」還是「河邊的土地」。研究人員認為上下文化的目標會促進更豐富的學習任務,并使 data2vec 2.0比其他算法學習得更快。
data2vec 2.0通過以下三種方式提高了原始 data2vec 算法的效率:
1、為特定訓練樣例構建目標表征,并將該表征重用在掩碼版本上。在掩碼版本中,訓練樣例中的不同部分會被隨機隱藏。隨后兩個版本學到的表征都會輸入到學生模型中,為不同的掩碼版本預測相同的上下文化的目標表征,從而有效地分攤了創建目標表征所需的計算量。
2、類似于掩碼自編碼器(masked autoencoder, MAE),學生模型中的編碼器網絡并不運訓練樣例中的空白部分(blanked out)。在圖像實驗中,大約80%的部分都是空白,從而顯著節省了計算周期。
3、使用了一個更有效的解碼器模型,不再依賴于Transformer網絡,而是依賴于一個多層卷積網絡。
實驗部分
為了更直觀地理解 data2vec 2.0 比 data2vec 和其他同類算法的效率要高多少,研究人員在計算機視覺、語音和文本任務相關的基準測試中進行了廣泛的實驗。實驗中主要考慮最終的精確度以及預訓練模型所需的時間,實驗環境都是在相同的硬件上(GPU 的型號、數量等)來測量算法的運行速度。
在計算機視覺任務上,研究人員在標準 ImageNet-1K 圖像分類基準上評估了 data2vec 2.0,模型通過該數據集可以學習圖像表征。實驗結果顯示,data2vec 2.0可以等同于掩碼自編碼器(MAE)的準確性,但是速度要快16倍。
如果繼續給data2vec 2.0算法更多的運行時間,它可以達到更高的精度,并且仍然會比MAE的速度快。
在語音任務上,研究人員在 LibriLanguage 語音識別基準上進行了測試,它的準確性是 wave2vec 2.0的11倍以上。
對于自然語言處理任務,研究人員在通用語言理解評估(GLUE)基準上評估了 data2vec 2.0,僅需一半的訓練時間即可達到與 BERT 的重新實現 RoBERTa 相同的精度。