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 透過無監督學習提升語言理解