Meta AI 发布 data2vec!统一模态的新里程碑!
文 | ZenMoore
編 | 小軼
如果讓大家舉一個最成功的自監督模型的例子,尤其對于各位 NLPer,肯定毫不猶豫地祭出我大 BERT. 想當年 BERT 打了一個名叫 MLM (Masked Language Model) 的響指,直接成了 NLP 滅霸。
視覺界、語音界聞聲而來,紛紛開啟了 BERT 的視覺化、語音化的改造。
視覺界,以 patch 或者像素類比 NLP 的 token;語音界,雖然不能直接找到 token 的替代,但是可以專門做 quantification 硬造 token.
但是,思考這樣一個問題:為什么這些圖像或者語音模態的自監督,非要一股 NLP 味兒呢?
要知道,雖然確實有生物學的研究表明,人類在進行視覺上的學習時,會使用與語言學習相似的機制,但是,這種 learning biases 并不一定完全可以泛化到其他模態。
所以有沒有什么辦法,能夠把不同模態的自監督表示學習統一起來,不再是仿照 MLM 做 MIM (Masked Image Modelling)、MAM (Masked Audio Modelling)?
昨天,Meta AI (原 Facebook)發布最新自監督學習框架 Data2Vec,立即在整個 AI 圈瘋狂刷屏。這份工作或許預示著——多模態的新時代,即將到來。
本文就為大家簡單解讀一下,這份 AI 圈的今日頭條,究竟做了些什么。
論文標題:
Data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language
論文作者:
Alexei Baevski, Wei-Ning Hsu, Qiantong Xu, Arun Babu, Jiatao Gu, Michael Auli
Meta AI, SambaNova
論文鏈接:
https://ai.facebook.com/research/data2vec-a-general-framework-for-self-supervised-learning-in-speech-vision-and-language
模型算法
編碼、掩碼
首先,對于三個不同的模態:文本、圖像、語音,采用不同的編碼方式以及掩碼方式。
模態特定的編碼方式 :
文本模態 : token embedding
圖像模態:參考 ViT[1, 2],以 image patch 為單位,經過一個線性變換(linear transformation)
語音模態:使用多層一維卷積對 waveform 進行編碼[3]。
模態特定的掩碼方式:
文本模態:對 token 掩碼
圖像模態:block-wise masking strategy [2]
語音模態:對語音模態來說,相鄰的音頻片段相關性非常大,所以需要對 span of latent speech representation 進行掩碼 [3]
掩碼符為訓練后得到的 MASK embedding token,而不是簡單的 MASK token,原因且看下文。
Student : 模型訓練
之后,在 student-mode 中,根據 masked input 對掩碼位置的表示進行預測。需要注意的是,這里模型預測的并不是掩碼位置(如 text token, pixel/patch, speech span),而是掩碼位置經過模型編碼后的表示。因為這個表示經過了 Attention/FFN 等一系列模塊的處理,自然是模態無關的,不僅如此,它還是連續的(continuous),編碼了豐富的上下文語義(contextualized)。
如果把輸入空間比作物理世界,表示空間比作精神空間。那么,作者相當于直接在“精神空間”中想象被遮住的部分(mask),頗有一種“夢里看花”的感覺。上次見到這“夢一般”的算法,還是 Hinton 老爺子的 Sleep-Wake[4].
具體地,訓練目標為如下的 smooth L1 loss:
其中, 為使用 teacher model 構建的 training target; 為 student model 在時刻 的輸出; 是超參,用來調整 L1 損失的平滑度。
Teacher : 數據構建
最后,還有一個問題,既然變成了對表示的掩碼而非對原輸入的掩碼,那么訓練數據怎么來呢?
這就是 teacher-mode 的妙用。與 student-mode 不同的是,teacher-mode 的輸入不再是 masked input,而是 original input, 這樣,掩碼位置對于 teacher 來說就是可見的,自然能夠得到掩碼位置對應的表示,而這個表示,就是 student-mode 的 training target.
當然,為了保證“師生”兩個模型的一致性,兩者的參數是共享的。另外,又為了在訓練初期讓 Teacher 的參數更新更快一些,作者采用了一個指數滑動平均(EMA):.
其中, 是 Teacher 的參數, 是 Student 的參數, 類似于學習率,也是一個帶有 scheduler 的參數。
具體地,training target 這么構建(按步驟):
找到 student-mode 輸入中被 mask 掉的 time-step
計算 teacher network 最后 K 層 transformer block 的輸出:
歸一化 :
平均 : , 即 training target.
對于第三步的歸一化:語音模態采用 instance normalization 文本和圖像模態采用 parameter-less layer normalization
Representation Collapse
在實驗中,作者還遇到了 Representation Collapse 的問題:模型對于所有掩碼片段輸出非常相似的 representation.
這個已經有好多解決辦法啦~ 對于本文,有以下幾種情況:
學習率太大或者其 warmup 太短:通過調參解決
指數滑動平均太慢了:還是調參
對于相鄰 target 相關性強的模態或者掩碼片段較長的模態 (比如語音模態):設置 variance 罰項[5],或者歸一化[6],歸一化的效果更好一些。
而對于 targets 相關性不那么強的模態例如 NLP/CV 等,momentum tracking 就足夠。
與同類工作的對比
與其他 NLP 自監督算法的對比:
和 BERT 不同,本文預測的并不是離散 token, 而是 continuous/contextualized representation.
好處1: target 不是 predefined (比如有預定義的詞表等), target set 也是無限的 (因為是連續的),因此可以讓模型更好的適配特定的輸入
好處2:考慮了更多上下文信息
與其他 CV 自監督算法的對比:
與 BYOL[6]/DINO[7] 等:本文新增了掩碼預測任務,而且是對多層進行回歸(即參數 K)
與 BEiT[2]/MAE[8] 等帶掩碼預測任務的算法:本文對 latent representation 進行預測
與其他 Speech 自監督算法的對比:
與 Wav2vec2.0[3]/HuBERT[9] 等 : 其他工作一般需要另外預測 speech 中的離散單元(或聯合學習或交互學習),而本文不需要 這種 quantification.
與多模態預訓練的對比:
本文工作重點不在于多模態任務或者多模態訓練,而在于如何把不同模態的自監督學習目標統一起來。
實驗結果
計算機視覺
實驗任務:Image Classification
實驗結論:可以看到本文工作有較明顯的改進
語音
實驗任務:Automatic Speech Recognition
實驗結論:改進很明顯
Natural Language Processing
wav2vec 2.0 masking : masking span of four tokens[3]
實驗任務:GLUE
實驗結果:作者僅僅對比了 19 年的兩個 baseline, 說明在文本模態上的改進效果仍然受限,但是這個分數也非常好了
Ablation 1 : layer-averaged targets
這也是和 BYOL[6]/DINO[7] 等模型的一大區分:對多層進行回歸
從圖表可見,比起只使用 top layer, 平均多層輸出來構建 target 是很有效的!
Ablation 2 : 使用 Transformer 的哪一層?
基于語音模態進行實驗,發現使用 FFN 層輸出最有效,使用自注意力模塊的輸出基本沒用。原因:自注意力模塊在殘差連接之前,得到的 feature 具有很大的偏差(bias)。
寫在最后
也許,在表示空間中而非輸入空間中進行掩碼預測的自監督表示學習,是自監督未來的重要方向!
不過,作者也指出 Data2Vec 的一大局限:編碼方式以及掩碼方式仍然是 modality-specific 的。能否使用類似于 Perceiver[10] 的方式直接在 raw data 上進行操作?或者是否真的有必要統一各個模態的 encoder 呢?
猶記得賣萌屋作者群里有過這么一個分享,是 Yoshua Bengio 等在 EMNLP'20 的文章[11],里面界定了 NLP 發展的五個階段:
毋庸置疑,多模態的火熱標志著我們正在進入第三個階段:多模態時代。
Data2Vec 巧妙地使用“夢里看花”的方式,讓我們看到了自監督的強大威力,也讓我們意識到模態統一大業就在眼前!也許,現在的 Data2Vec,只是一顆不能發揮全部威力的寶石,就像 Word2Vec 一樣,但相信在不久的將來,從 Data2Vec 出發,能夠看到一統多模態的滅霸,就像 BERT 那樣!山雨欲來,風滿樓!
萌屋作者:ZenMoore
來自北航中法的本科生,數學轉碼 (AI),想從 NLP 出發探索人工認知人工情感的奧秘... 個人主頁是 zenmoore.github.io, 知乎 ID 是 ZenMoore, 微信號是 zen1057398161, 嚶其鳴矣,求其友聲!
作品推薦
一文跟進Prompt進展!綜述+15篇最新論文逐一梳理
圖靈獎大佬+谷歌團隊,為通用人工智能背書!CV 任務也能用 LM 建模!
以4%參數量比肩GPT-3!Deepmind 發布檢索型 LM,或將成為 LM 發展新趨勢!?
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] An image is worth 16x16 words: Transformers for image recognition at scale.
https://arxiv.org/abs/2010.11929
[2] Beit: BERT pre-training of image transformers.
https://arxiv.org/abs/2106.08254
[3] Baevski, A., Zhou, Y., Mohamed, A., and Auli, M. wav2vec 2.0: A framework for self-supervised learning of speech representations. In Proc. of NeurIPS, 2020b
[4] The wake-sleep algorithm for unsupervised neural networks
https://www.cs.toronto.edu/~hinton/csc2535/readings/ws.pdf
[5] Vicreg: Varianceinvariance-covariance regularization for self-supervised learning.
https://arxiv.org/abs/2105.04906
[6] Bootstrap your own latent: A new approach to self-supervised learning
https://arxiv.org/abs/2006.07733
[7] Emerging Properties in Self-Supervised Vision Transformers
https://arxiv.org/abs/2104.14294
[8] Masked Autoencoders Are Scalable Vision Learners
https://arxiv.org/abs/2111.06377
[9] HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units
https://arxiv.org/abs/2106.07447
[10] Perceiver: General Perception with Iterative Attention
https://arxiv.org/abs/2103.03206
[11] Experience Grounds Language
https://arxiv.org/abs/2004.10151
總結
以上是生活随笔為你收集整理的Meta AI 发布 data2vec!统一模态的新里程碑!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我在斯坦福做科研的碎碎念
- 下一篇: 部门直推!百度大搜索招聘NLP、搜索方向