iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
AI/ ML & Data

Web仔從數學角度學習 AI/ ML & Data系列 第 16

Day 16 - Web仔從數學角度學習 遞迴式神經網路RNN

  • 分享至 

  • xImage
  •  

註:本文同步更新在Notion!(數學公式會比較好閱讀)

遞迴式神經網路 (Recurrent Neural Network, RNN)

是一種專門處理序列數據的神經網路架構,具有記憶過去資訊的能力,並能夠處理序列間的時間依賴性。與前饋式神經網路不同,RNN 的結構允許信息在不同的時間步之間進行傳遞,因此在解決自然語言處理 (NLP)、語音識別和時間序列預測等問題中有廣泛應用。


RNN 的核心數學模型

RNN 的特點在於它的遞迴結構,即在每個時間步驟中,它會根據當前的輸入和前一個時間步的隱藏狀態進行更新。
https://ithelp.ithome.com.tw/upload/images/20240928/20168898aKjs2aXFZL.png
https://ithelp.ithome.com.tw/upload/images/20240928/20168898gW82P0UQry.png
這種隱藏狀態的遞迴更新,使得 RNN 能夠保留並處理序列中前面時間步的資訊,適合處理序列數據中的依賴關係。


從數學角度理解 RNN

RNN 的核心是遞迴性。每一個時間步的隱藏狀態都是由前一個時間步的隱藏狀態與當前輸入所決定,這使得網路具備了處理序列依賴性的能力。
時間步間的信息傳遞:隱藏狀態 h_t 的計算公式顯示,每個時間步的輸出與上一個時間步的隱藏狀態密切相關,因此網路能夠"記住"之前的資訊,並將其應用於後續的計算中。

1. 隱藏狀態的更新

RNN 中的隱藏狀態計算涉及矩陣乘法和非線性激活函數。這裡的重點是使用遞迴公式來描述時間步之間的依賴關係。舉例來說,在 NLP 中,RNN 可以通過遞迴結構記住之前單詞的語境,並利用這些資訊來生成後續的預測。

2. 序列輸入

https://ithelp.ithome.com.tw/upload/images/20240928/201688989xluaJk2Ly.png

3. 損失函數與優化

https://ithelp.ithome.com.tw/upload/images/20240928/20168898g0xDTstGFQ.png

透過反向傳播算法(Backpropagation Through Time, BPTT),我們可以將誤差從後向前傳遞,並更新權重。這個過程在數學上是對序列中每個時間步的梯度進行累積。


梯度消失與梯度爆炸問題

https://ithelp.ithome.com.tw/upload/images/20240928/20168898p7btEDn7Ag.png

1. 梯度消失

在長序列中,反向傳播時的梯度可能會逐步衰減,最終導致前面的時間步無法有效影響後面的輸出。這樣,RNN 難以捕捉長期依賴關係。

2. 梯度爆炸

相反,當梯度在反向傳播過程中不斷增大時,可能會導致權重更新過於劇烈,最終使模型不穩定。

為了解決這些問題,研究者提出了多種改進方法,例如長短期記憶網路 (LSTM)門控循環單元 (GRU)。這些改進型架構通過引入門控機制,有效緩解了梯度消失和梯度爆炸的問題。

再來會開始介紹遞迴式神經網路,包含序列介紹、長短時間記憶Elman、GRU...ヽ(́◕◞౪◟◕‵)ノ


上一篇
Day 15 - Web仔從數學角度學習 卷積神經網路 殘差網路
下一篇
Day 17 - Web仔從數學角度學習 遞迴式神經網路 序列學習
系列文
Web仔從數學角度學習 AI/ ML & Data30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言