相關說明
這篇文章的大部分內容參考自我的新書《解構大語言模型:從線性回歸到通用人工智能》,歡迎有興趣的讀者多多支持。
文章列表:
- 利用神經網絡學習語言(一)——自然語言處理的基本要素
- 利用神經網絡學習語言(二)——利用多層感知器(MLP)學習語言
- 利用神經網絡學習語言(三)——循環神經網絡(RNN)
- 利用神經網絡學習語言(四)——深度循環神經網絡
- 利用神經網絡學習語言(五)——長短期記憶網絡(LSTM)
內容大綱
- 相關說明
- 一、要點回顧
- 二、常見面試問題
- 1. 自然語言處理
- 2. 遷移學習
- 3. 循環神經網絡
- 4. 長短期記憶網絡
一、要點回顧
語言既是人類智慧的棲息之所,也是一個非常復雜難以建模的領域。從本章開始,本書的討論重點放在自然語言處理領域。首先,討論如何將語言數字化,這個過程中涉及兩個關鍵技術:分詞和文本嵌入。對于中文而言,分詞一直是一個挑戰,它直接影響了模型對中文的建模效果。
自然語言處理涵蓋多種任務,為了提高模型在語言處理方面的性能,學術界提出了遷移學習的方法。遷移學習分為兩個階段:預訓練和微調。在預訓練階段,有3種常見的模式:自回歸、自編碼和序列到序列。結合目前的業界發展趨勢,本章將討論的范圍限定在自回歸模式。
在自回歸模式下,本章分別使用多層感知器、標準循環神經網絡和長短期記憶網絡來學習開源的Python代碼。多層感知器由于其模型結構的限制,主要適用于處理定長輸入的情況,對序列數據的建模能力相對較弱。循環神經網絡可以處理不定長輸入,并具備生成定長或不定長輸出的能力,在自然語言處理領域表現出色。然而,標準循環神經網絡受限于短期記憶,難以有效捕捉長距離的依賴關系。為了解決這個問題,學術界引入了長短期記憶網絡,它引入了細胞狀態和門控機制,有效地支持了長距離信息傳遞,從而提高了模型預測的準確性。
在結構上,之前的神經網絡通常按層次結構組織神經元,同一層的神經元之間沒有連接,神經元的結構相對簡單。循環神經網絡打破了這兩個限制,使神經網絡的結構更加靈活,能夠更好地捕捉數據之間的復雜關系。循環神經網絡還有許多復雜的變體,如多層、雙向、編碼器和解碼器等,鑒于篇幅有限,本系列文章只進行了簡要介紹,讀者可以根據興趣在其他文獻中深入了解這些內容。
循環神經網絡正如其名,其核心特點是循環。循環計算的串行性質在很大程度上限制了模型的計算效率。盡管可以通過張量計算來加速模型的訓練,但模型結構的局限性意味著無法完全消除串行計算。因此,在處理大規模數據集時,本系列文章實現的兩個模型(標準循環神經網絡和長短期記憶網絡)都需要較長時間的計算。
二、常見面試問題
針對本系列文章討論的內容,常見的面試問題如下。
1. 自然語言處理
- 什么是分詞器?它的作用是什么?請列舉幾個常用的分詞器。
- 在自然語言處理中,分詞器的選擇對建模任務的成功有何影響?
- 能否列舉分詞器在不同語言中遇到的挑戰?
2. 遷移學習
- 什么是遷移學習?在自然語言處理領域,為什么遷移學習如此重要?
- 什么是自回歸模式和自編碼模式?
- 什么是序列到序列模式?一般的模型結構是怎樣的?
3. 循環神經網絡
- 請簡要介紹循環神經網絡的工作原理。
- 循環神經網絡為什么會出現梯度消失或者梯度爆炸現象?有哪些改進方案?
- 多層雙向循環神經網絡是什么?它為什么能在自然語言處理任務中表現出色?
4. 長短期記憶網絡
- 長短期記憶網絡是什么?與標準循環神經網絡相比,它有什么優勢?
- 長短期記憶網絡是如何實現長短期記憶功能的?
- 在長短期記憶網絡中,各模塊使用什么激活函數?可以使用其他的激活函數嗎?