iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
AI & Data

ㄧ個八卦的時間也能了解AI最新趨勢系列 第 23

Day 23 Feed Forward Neural Network&RNN

  • 分享至 

  • xImage
  •  

安安!昨天我們一起認識了什麼是神經網路,他的一些基本概念,也了解它就是由許多層神經元組成,每一層都負責把資料處理得更抽象、更複雜,可以藉此處理更複雜的問題,我們今天來看看神經網路的種類有哪些吧!

前饋神經網路 (Feed Forward Neural Network)
這種神經網路是最早期、也最基本的一種結構。它的概念很簡單:資料從前面一層一路往後傳遞,不會回頭,也就是說,前一層的輸出會直接變成下一層的輸入,訊息是「單向傳播」的。

https://ithelp.ithome.com.tw/upload/images/20251007/201787454gyVFESDpW.png
可以看到上圖,資料從輸入層進來,經過隱藏層層層處理後,再到輸出層產生結果,整個過程像是一條筆直的通道,訊息只會往前走,這就是「前饋(Feed Forward)」的意思。

我們昨天說到的MLP 也是一種前饋神經網路喔!

這樣的架構雖然簡單直觀,但也有兩個明顯的限制:

  1. 無法處理序列資料(像文字、語音、時間序列等)
  2. 沒有「記憶」的概念,只能看當下的輸入,對過去的資訊完全沒印象。

因為這些問題,研究者後來提出了一種「能記住上下文」的網路結構——那就是 RNN!

循環神經網路 (Recurrent Neural Network, RNN)
RNN 最大的特色是——它會記住前面的資訊,也就是說,RNN 在每一步的輸入,不只是現在的資料,還會考慮前面出現過的內容。
https://ithelp.ithome.com.tw/upload/images/20251007/20178745VpBd00roQQ.png

RNN 除了接收當前輸入,還會把「前一時刻的輸出」一起餵進來,這樣模型就能理解上下文之間的關係。

舉例來說,如果我們要讓模型理解一句話「我今天吃了蛋糕,它很好吃」,
RNN 在處理「它」這個詞時,會記得前面提到過「蛋糕」,因此能理解「它」指的其實就是「蛋糕」這件事
同樣地,如果我們讓模型預測下一個字,像是:
「我今天吃了蛋糕,它很好_」
那麼模型在看到「蛋糕」和「好」之後,就會傾向預測「吃」的機率比「玩」還要高,
因為它記得前文的語意,知道「吃蛋糕」才是更合理的延續。

RNN 如何運作?
RNN 的整體架構其實和一般神經網路一樣,主要分為三層:
輸入層(Input Layer)、隱藏層(Hidden Layer) 和 輸出層(Output Layer)。
不同的是在隱藏層 中,RNN 會「記住」前一個時間步的資訊。也就是說,在處理第 𝑡 個詞時,RNN 不只看現在的輸入 𝑥𝑡, 還會同時考慮前一時刻的隱藏狀態 ℎ𝑡−1,再一起計算出新的隱藏狀態 ℎ𝑡
最後接著,模型再根據這個隱藏狀態ℎ𝑡 來預測輸出。https://ithelp.ithome.com.tw/upload/images/20251007/20178745sRxZCIqthA.png

RNN 主要有四種類型

  • 一對一:這是最基本的架構,輸入一筆資料就輸出一個結果。

  • 一對多:input 只有一個,但模型會產生一連串的output,例如輸入一張圖片(ㄧ個input),模型就會生成描述這張圖片的文字

  • 多對一:一個input 但會有多個output,像情感分析(Sentiment Analysis),輸入一句話「這部電影真的超好看!」模型可以輸出屬於正向類別

  • 多對多:輸入和輸出都是序列,像是要做翻譯,輸入「I love dogs」,輸出「我愛狗」。

但因為輸入與輸出序列長度不一定相同,因此這類任務通常會用 Encoder-Decoder 架構來實現,這我們之後有機會再來介紹

https://ithelp.ithome.com.tw/upload/images/20251007/20178745jX9tkz3JXK.jpg

RNN 優點

可惜的是,雖然 RNN 能處理時間序列與上下文,但它還是有幾個明顯問題

  • 梯度消失(Gradient Vanishing):
     當序列太長時,模型會「忘記」前面的資訊,記憶力不夠長。
  • 單向記憶:只能從前往後看,沒辦法同時考慮「未來」的資訊。

為了解決這些問題,研究者後來提出了幾個改良版本:

  • LSTM(Long Short-Term Memory):能更長期記憶重要資訊
  • GRU(Gated Recurrent Unit):是 LSTM 的簡化版,速度更快
  • Bi-directional RNN(雙向 RNN):能同時從前後兩個方向看句子

好啦~那今天就先科普在這邊!我們明天見

參考連結
參考連結
參考連結


上一篇
Day 22 淺談神經網路與深度學習 (Deep Learning)
下一篇
Day 24 變形金剛登場?!淺談 Transformer 在做啥
系列文
ㄧ個八卦的時間也能了解AI最新趨勢30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言