博客 / 詳情

返回

吳恩達深度學習課程五:自然語言處理 第一週:循環神經網絡 (一)序列數據與序列模型

此分類用於記錄吳恩達深度學習課程的學習筆記。
課程相關信息鏈接如下:

  1. 原課程視頻鏈接:[雙語字幕]吳恩達深度學習deeplearning.ai
  2. github課程資料,含課件與筆記:吳恩達深度學習教學資料
  3. 課程配套練習(中英)與答案:吳恩達深度學習課後習題與答案

本篇為第五課的第一週內容,1.1的內容以及一些基礎的補充。


本週為第五課的第一週內容,與 CV 相對應的,這一課所有內容的中心只有一個:自然語言處理(Natural Language Processing,NLP)
應用在深度學習裏,它是專門用來進行文本與序列信息建模的模型和技術,本質上是在全連接網絡與統計語言模型基礎上的一次“結構化特化”,也是人工智能中最貼近人類思維表達方式的重要研究方向之一。
這一整節課同樣涉及大量需要反覆消化的內容,橫跨機器學習、概率統計、線性代數以及語言學直覺。
語言不像圖像那樣“直觀可見”,更多是抽象符號與上下文關係的組合,因此理解門檻反而更高
因此,我同樣會儘量補足必要的背景知識,儘可能用比喻和實例降低理解難度。
本篇的內容關於序列數據和序列模型,是自然語言處理中基礎內容。

1. 序列數據

在 NLP 中,一個最基礎、也最核心的問題是:語言數據,和我們之前見過的數據,有什麼本質不同?
答案可以簡單概括為:它是有順序的。

在機器學習中,我們把 ”順序本身攜帶信息” 的數據稱為序列數據
最直觀的例子就是一句話,同樣是這幾個詞:

“我 吃 飯”
“飯 吃 我”

包含的詞完全一樣,但表達的含義卻天差地別,這説明:在語言中,信息不僅存在於“有哪些元素”,還存在於“元素出現的順序”。

這與我們之前在 CV 中常見的數據有所不同。
一張圖像在進入模型之前,通常已經被表示為一個固定尺寸的二維像素網格
無論我們先看左上角還是右下角,整幅圖像的所有信息在輸入時是同時存在的,模型面對的是一個“完整畫面”。
在這種設定下,卷積網絡更關注的是空間結構關係:哪些像素彼此相鄰、哪些局部區域可以組成更高層的形狀。

而語言數據的形式則不同,一句話並不是一個天然的“整體對象”,而是由詞語按順序依次出現的。
簡單來説:在按序建模的假設下,模型對當前詞的理解,往往依賴於之前已經出現的所有詞所構成的上下文

需要説明的是,這裏的“按順序”並不一定意味着模型必須像人一樣一個詞一個詞地讀
在後續將要介紹的 Transformer 模型中,整句話的所有詞可以被同時送入模型進行處理,但模型仍然需要通過顯式地引入位置信息,來區分“哪個詞在前、哪個詞在後”。

再打個比方:
圖像更像是一張已經攤開在桌面上的地圖,所有信息一眼都在,模型在處理時不依賴顯式的時間順序,而是直接建模整體的空間結構關係。
而語言更像是一段正在播放的語音或文字流,我們從哪裏聽,哪裏看,結果是截然不同的。
image.png
因此,在語言任務中,“先出現什麼、後出現什麼”本身就構成了信息的一部分,而不能被隨意打亂
正因為這種差異,讓CV 模型更擅長處理空間結構與局部模式,而 NLP 模型必須重點解決順序、依賴關係以及上下文記憶的問題。

我們總結語言、語音、時間等序列數據的特徵如下:

  1. 數據是按順序排列的。
  2. 當前信息往往依賴於之前已經出現的內容
  3. 數據長度通常不固定

這些特徵決定了:在處理序列數據時,模型必須顯式地考慮順序與上下文,而不能僅把輸入當作一個無序的特徵集合來處理。

2. 序列模型

我們分別看看,如果使用我們已經瞭解過的全連接網絡卷積網絡來處理序列數據,效果會怎麼樣。

2.1 全連接網絡:無法自然處理“順序”

如果要應用全連接網絡,最直接的想法是: 把一句話中的每個詞表示成向量,再把這些向量拼接成一個長向量,送進全連接網絡。

這種做法在形式上是可行的,但問題也非常明顯:
首先,全連接網絡要求固定長度輸入,而語言序列的長度是天然不固定的。
一句話可以只有幾個詞,也可以非常長。為了滿足輸入要求,我們不得不進行截斷或填充,這本身就引入了額外的工程複雜度。

其次,更關鍵的是:全連接網絡並不具備“順序感知”能力。在它看來,輸入只是一個高維向量,各個維度之間沒有“先後”這一概念。
模型本身並不知道:“這是第一個詞”“這是第三個詞”。
image.png

因此,這種處理方式天然忽略了語言中最重要的結構信息——順序與依賴關係。不能用來處理序列數據。

2.2 卷積網絡:擅長局部模式,但缺乏長期依賴

那捲積網絡呢? 既然 CNN 能在圖像中建模局部結構,是否也可以用於序列數據?
答案是:部分可以,但不夠自然。

在序列上使用一維卷積時,卷積核可以捕捉局部連續片段,例如相鄰幾個詞構成的短語或固定搭配。 從這個角度看,CNN 確實能夠建模局部上下文信息

在這裏,我們需要引入一個概念:感受野(receptive field)
感受野指的是卷積層中某個神經元能夠“看到”的輸入區域範圍
打個比方:

  • 在圖像中,如果一個卷積神經元的感受野是 \(3\times3\),它只能感知這九個像素的局部信息;
  • 類似地,在序列上,一個卷積核的感受野就是它一次性能看到的連續詞的數量
    image.png
    這就意味着,卷積網絡在處理序列時天然擅長捕捉局部模式或短距離依賴,但如果想讓模型理解“句首的詞”與“句尾的詞”之間的關係,就必須堆疊很多層卷積人為擴大卷積核範圍,才能覆蓋整個序列。
    簡單來説,感受野越大,模型越容易捕捉長距離依賴,但這也帶來了計算和訓練上的問題。
    這使得模型:
  • 短距離依賴敏感。
  • 長距離依賴不夠高效。
  • 並且仍然缺乏一種明確的“時間狀態”概念。

可以這樣理解:
卷積網絡更像是在掃描局部片段,而不是在沿着時間軸逐步理解一句話的發展過程,因此,雖然卷積對序列數據的處理能力強於全連接網絡,但是它仍有所侷限。

2.3 序列模型要解決的核心問題

通過以上對比可以看到,全連接網絡和卷積網絡並不是“不能”處理序列數據,而是處理方式與序列數據的本質存在衝突

序列數據的核心特點在於:信息是隨順序逐步展開的、當前理解依賴於歷史上下文且序列長度不固定
因此,我們真正需要的是這樣一類模型: 在處理當前輸入的同時,能夠保留並更新對“過去信息”的表示。
也就是説,序列模型的核心能力並不在於“輸入形式”, 而在於它是否具備一種可隨時間演化的內部狀態,用來承載上下文信息,並參與後續決策。
後續我們將看到的 RNN、LSTM、GRU 以及 Transformer, 雖然實現方式不同,但都圍繞着同一個目標展開: 讓模型在理解當前內容時,不是孤立地“看這一刻”,而是基於整個上下文來判斷。

這就是序列模型所具備的能力。

3. 序列模型的應用領域

序列模型在 NLP 中應用廣泛,但需要注意的是:序列模型不一定要求輸入和輸出都是序列。它的核心能力在於能夠保留上下文信息並處理隨時間展開的數據。只要輸入或輸出中存在序列性質,序列模型就能發揮作用。
從輸入和輸出的角度,可以分為以下幾類情況:

  1. 序列→序列: 輸入和輸出都是序列,例如機器翻譯。模型需要根據輸入序列的上下文生成對應的輸出序列。
  2. 序列→標量或類別: 輸入是序列,輸出是單個值或類別,例如情感分析、文本分類。模型需要理解整段序列的語義,並輸出整體判斷。
  3. 標量或固定輸入→序列: 輸入不是序列,但模型需要生成序列作為輸出,例如文本生成或對話系統中根據提示生成完整回答。

由此可見,序列模型的核心能力不是“必須處理序列輸入或輸出”,而是能夠在處理過程中維護上下文信息
來看看序列模型的一些常見應用領域:

任務 輸入類型 輸出類型 説明
文本分類 序列 類別 如情感分析、新聞分類,理解整段文本並輸出單一標籤
命名實體識別 (NER) 序列 序列 對每個詞進行標註,如“人名”“地名”等
機器翻譯 序列 序列 將源語言句子轉換為目標語言句子
文本生成 序列或標量 序列 根據輸入文本或提示生成完整文本
語音識別 序列 序列 將語音信號轉為文字序列
問答系統 序列 序列或標量 根據問題生成答案,答案可以是短文本或單一類別
時間序列預測 序列 序列或標量 如股價預測,根據歷史序列預測未來數值

通過這個分類,可以清晰地看到:序列模型的核心是處理順序和上下文,不必限制輸入輸出都為序列。只要有序列信息存在,它就可以發揮價值。

4. 總結

概念 原理 比喻
序列數據 數據元素按順序排列,當前理解依賴歷史上下文,長度不固定 圖像像攤開的地圖,一眼可見整體;語言像正在播放的語音或文字流,需要順序感知
全連接網絡處理序列 只能接受固定長度輸入,無法天然感知順序 只是把所有詞拼成一個長向量,模型看不到先後順序
卷積網絡處理序列 能捕捉局部連續模式(短距離依賴),感受野有限,長距離依賴不高效 卷積像掃描局部片段,而不是沿時間軸理解整句話的發展
感受野 (Receptive Field) 一個卷積神經元一次能夠看到的輸入區域 圖像:3×3像素只能看到局部;序列:卷積核一次看到幾個連續詞
序列模型核心能力 通過可隨時間演化的內部狀態,保留並更新上下文信息,理解當前輸入時考慮歷史信息 模型像帶記憶的閲讀者,理解每個詞時參考整段上下文
輸入/輸出類型靈活性 序列模型不要求輸入輸出都為序列,只要一方為序列即可發揮作用 輸入是流,輸出是判斷或生成,模型記憶歷史信息
序列模型應用 NLP、語音、時間序列等領域,如文本分類、NER、機器翻譯、文本生成、語音識別、問答、時間序列預測 依賴上下文信息,模型像“順序感知器”,根據過去信息做當前決策
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.