OpenAI 透過無監督學習提升語言理解

OpenAI 開發了一種兩階段訓練流程,使單一 Transformer 模型能在各式自然語言處理(NLP)任務上達到高效能。先以大量資料進行無監督語言模型預訓練,之後在較小、針對特定任務的監督資料集上微調,系統即可以最小的調整解決複雜問題。

兩階段訓練架構

該系統採用由無監督預訓練接續監督微調的管線。此方法讓模型在應用於特定任務前,先建立對語言的通用理解。

  • 無監督預訓練: 模型是一個在極大量資料上以語言模型作為訓練訊號的 Transformer。此階段使模型能從原始文字中學習具辨識性的特徵,無需人工標記。
  • 監督微調: 預訓練好的核心模型再以更小的監督資料集調整至特定任務。此過程只需極少的調整,即可將模型從通用語言模型轉換為任務專屬的解決器。

與先前研究的比較

此工作在無監督與半監督學習的多項先前方法上進行了擴充與延伸:

  • 半監督序列學習(Semi-supervised Sequence Learning): 此研究確立了先以 LSTM 進行無監督預訓練,再以監督微調提升文件分類的方式。
  • ULMFiT: 此工作證明單一與資料集無關的 LSTM 語言模型,經微調後即可在多個文件分類資料集上達到最先進的表現。
  • ELMo: 雖然 ELMo 也包含預訓練,但 OpenAI 的方法更具任務無關性;相較之下,ELMo 透過針對任務客製化的架構取得成果。

效能與能力

模型在超越簡單文件分類的廣泛任務上展現強勁效能,涵蓋語意相似度、閱讀理解與常識推理等。

常識推理與世界知識

最顯著的成果之一是模型在 COPA、RACE 與 ROCStories 資料集上的表現。模型在這些資料集上以大幅領先的成績創下新紀錄。因為這些任務被認為需要多句推理與豐富的世界知識,結果顯示模型主要透過無監督學習階段提升了此類能力。

任務多樣性與最小微調

系統設計強調效率與一致性。所有資料集皆使用單一前向語言模型處理,未使用集成;且大多數報告的結果皆在完全相同的超參數設定下取得,顯示只需極少的微調即可達成這些成果。

評估資料集與任務範例

模型在多樣的 NLP 基準上進行測試,包含:

資料集 任務類型 範例
SNLI 自然語言推理 判斷兩句是否相互矛盾(Contra.)或相互蕴含。
SciTail 自然語言推理 判斷句子是否對另一句有蕴含或是中立的。
QNLI 自然語言推理 判斷陳述是否對上下文有蕴含。
RTE 自然語言推理 判斷句子是否與另一句相矛盾。
STS-B 語意文本相似度 評分兩句之間的相似度(例如 2/5)。
QQP Quora 問題配對 判斷兩個問題是否相同。
MRPC Microsoft Research 釋義語料庫 判斷兩句是否相同。
RACE 閱讀理解 根據文本段落回答多項選擇題。
ROCStories 常識推理 選擇最有可能的故事結局。
COPA 常識推理 辨識事件的原因或結果。
SST-2 情感分析 將文本分類為正面或負面。
CoLA 語言可接受性 判斷句子在語法上是否可接受。

SUMMARY: OpenAI 展示了透過無監督語言模型預訓練,然後在小規模監督資料集上微調的基於 Transformer 的模型,能在包括常識推理在內的多樣語言任務上達到最先進的表現。

TITLE: OpenAI 透過無監督學習提升語言理解

Sources