- 自然語言處理導論
- 張奇等
- 936字
- 2023-11-17 16:47:05
1.2.3 基于深度學習的方法
基于深度學習(Deep Learning)的方法通過構建具有一定“深度”的模型,將特征學習和預測模型融合,通過優化算法使模型自動地學習到好的特征表示,并基于此進行結果預測。基于深度學習的自然語言處理方法的基本流程如圖1.5所示。與傳統機器學習算法的流程相比,基于深度學習方法的流程簡化很多,通常僅包括數據構建、數據預處理和模型學習三個部分。同時,在數據預處理方面也大幅度簡化,僅包含非常少量的模塊,甚至目前很多基于深度學習的自然語言處理方法可以完全省略數據預處理階段。例如,對于漢語,直接使用漢字作為輸入,不提前進行分詞;對于英語,也可以省略詞的規范化步驟。

圖1.5 基于深度學習的自然語言處理方法的基本流程
深度學習是機器學習的一個子集,通過多層的特征轉換,將原始數據轉換為更抽象的表示。這些學習到的表示可以在一定程度上完全代替人工設計的特征,這個過程也叫作表示學習(Repre-sentation Learning)。與基于特征工程的方法通常所采用的離散稀疏表示不同,深度學習算法通常使用分布式表示(Distributed Representation),特征表示為低維稠密向量。分布式表示通常需要從底層特征開始,經過多次非線性變換得到。由于深層結構可以增加特征的重用性,從而使得表示能力呈指數級增加,因此,表示學習的關鍵是構建具有一定深度的多層次特征表示[39]。隨著深度學習研究的不斷深入和計算能力的快速發展,模型深度也從早期的5~10層增加到現在的數百層。隨著模型深度的不斷增加,其特征表示能力也在不斷增強,從而也使得深度學習模型中的預測部分更加簡單,預測也更加容易。
自2018年ELMo模型[28]被提出之后,基于深度學習的自然語言處理范式又進一步演進為預訓練微調范式。首先利用自監督任務對模型進行預訓練,通過海量的語料學習到更為通用的語言表示,然后根據下游任務對預訓練網絡進行調整。這種預訓練微調范式在幾乎所有自然語言處理任務上的表現都非常出色。預訓練模型在模型網絡結構上可以采用LSTM、Transformer等具有較好序列建模能力的模型,預訓練任務可以采用語言模型、掩碼語言模型(Masked Language Model)、機器翻譯等自監督或有監督的方式,還可以引入知識圖譜、多語言、多模態等擴展任務。自2018年以來相關研究非常多,取得了非常好的效果,但仍然面臨模型穩健性提升、模型可解釋性等諸多問題亟待解決。本書6.4節將對預訓練語言模型進行詳細介紹。