參考:
微軟在ICML 2019提出全新的通用預訓練方法MASS,在序列到序列的自然語言生成任務中全面超越BERT和GPT。在微軟參加的WMT19機器翻譯比賽中,MASS幫助中-英、英-立陶宛兩個語言對取得了第一名的成績。
MASS: Masked Sequence to Sequence Pre-training
MASS對句子隨機屏蔽一個長度為k的連續片段,然后通過編碼器-注意力-解碼器模型預測生成該片段。
如上圖所示,編碼器端的第3-6個詞被屏蔽掉,然后解碼器端只預測這幾個連續的詞,而屏蔽掉其它詞,圖中“_”代表被屏蔽的詞。
MASS預訓練有以下幾大優勢:
- 解碼器端其它詞(在編碼器端未被屏蔽掉的詞)都被屏蔽掉,以鼓勵解碼器從編碼器端提取信息來幫助連續片段的預測,這樣能促進編碼器-注意力-解碼器結構的聯合訓練;
- 為了給解碼器提供更有用的信息,編碼器被強制去抽取未被屏蔽掉詞的語義,以提升編碼器理解源序列文本的能力;
- 讓解碼器預測連續的序列片段,以提升解碼器的語言建模能力。
MASS有一個重要的超參數k(屏蔽的連續片段長度),通過調整k的大小,MASS能包含BERT中的屏蔽語言模型訓練方法以及GPT中標准的語言模型預訓練方法,使MASS成為一個通用的預訓練框架。
當k=1時,根據MASS的設定,編碼器端屏蔽一個單詞,解碼器端預測一個單詞。解碼器端沒有任何輸入信息,這時MASS和BERT中的屏蔽語言模型的預訓練方法等價。
當k=m(m為序列長度)時,根據MASS的設定,編碼器屏蔽所有的單詞,解碼器預測所有單詞,由於編碼器端所有詞都被屏蔽掉,解碼器的注意力機制相當於沒有獲取到信息,在這種情況下MASS等價於GPT中的標准語言模型。
MASS在不同K下的概率形式如下表所示,其中m為序列長度,u和v為屏蔽序列的開始和結束位置,x^u:v表示從位置u到v的序列片段,x^\u:v表示該序列從位置u到v被屏蔽掉。可以看到,當K=1或者m時,MASS的概率形式分別和BERT中的屏蔽語言模型以及GPT中的標准語言模型一致。
當k取大約句子長度一半時(50% m),下游任務能達到最優性能。屏蔽句子中一半的詞可以很好地平衡編碼器和解碼器的預訓練,過度偏向編碼器(k=1,即BERT)或者過度偏向解碼器(k=m,即LM/GPT)都不能在該任務中取得最優的效果,由此可以看出MASS在序列到序列的自然語言生成任務中的優勢。