簡單循環神經網路
Simple RNN
學習目標:了解RNN的建構原理與應用
基本原理:RNN 在處理序列中的每一個元素時,它都會將這次的輸出(或更準確地說,是它內部的「隱藏狀態」)傳遞給下一個時間步作為輸入的一部分; 每次處理一個新的輸入時,RNN 會同時接收當前的輸入和上一個時間步的隱藏狀態。它會根據這兩者來計算當前的輸出和更新後的隱藏狀態
RNN應用基礎:處理序列數據 (如文本、時間序列) 的基本思想,後續有LSTM, GRU的RNN變體,用來解決RNN架構遇到的問題
模型趨勢:目前較多的NLP技術是以Transformer模型為主
基本原理:RNN 在處理序列中的每一個元素時,它都會將這次的輸出(或更準確地說,是它內部的「隱藏狀態」)傳遞給下一個時間步作為輸入的一部分; 每次處理一個新的輸入時,RNN 會同時接收當前的輸入和上一個時間步的隱藏狀態。它會根據這兩者來計算當前的輸出和更新後的隱藏狀態
RNN應用基礎:處理序列數據 (如文本、時間序列) 的基本思想,後續有LSTM, GRU的RNN變體,用來解決RNN架構遇到的問題
模型趨勢:目前較多的NLP技術是以Transformer模型為主
股價趨勢預測
RNN 股價預測範例
模擬資料:生成隨機股價趨勢,前50天上升,後50天下降,並加入一些隨機噪音
資料類型:X,股價連續數值型資料;y,0/1二元分類型資料
預測漲跌:使用過去 `look_back` 天的股價來預測下一天的趨勢。本範例使用5天的資料來預測下一天的趨勢
實作範例程式碼📖
情感分析
RNN 情感預測範例
模擬資料:生成對於產品使用後感想資料
資料類型:X,文字資料;y,0/1二元分類型資料
資料處理:文字資料必需tokenize詞元化後,再轉為數字Sequence,接著將所有Sequence長度Padding到相同長度,以供輸入模型前進行向量化Embedding
預測情緒好壞:
實作範例程式碼📖
長短期記憶網路
LSTM
學習目標:了解LSTM的建構原理與應用
應用機時:RNN中最常使用的模型
模型優化:旨在解決傳統RNN在處理長序列資料時面臨的梯度消失 (vanishing gradient) 和梯度爆炸 (exploding gradient) 問題,這些問題導致RNN難以捕捉長期依賴關係。 LSTM通過引入門控機制 (gating mechanisms),使其能夠選擇性地記憶或遺忘資訊,從而在時間序列資料、自然語言處理等領域取得了巨大的成功。
應用機時:RNN中最常使用的模型
模型優化:旨在解決傳統RNN在處理長序列資料時面臨的梯度消失 (vanishing gradient) 和梯度爆炸 (exploding gradient) 問題,這些問題導致RNN難以捕捉長期依賴關係。 LSTM通過引入門控機制 (gating mechanisms),使其能夠選擇性地記憶或遺忘資訊,從而在時間序列資料、自然語言處理等領域取得了巨大的成功。
股價預測
LSTM 股價預測範例
模擬資料:假設數據是簡單的正弦波,模擬時間序列數據
資料類型:X,股價連續數值型資料;y,標記look_back天數的股價
預測股價:使用過去 `look_back` 天的股價來預測下一天的股價。
實作範例程式碼📖
情感分析
LSTM 情感分析範例
模擬資料:Keras Dataset,IMDB電影評論數據集
資料類型:X,文字資料已詞元化、詞彙映射、填充的整數序列;y,0/1二元分類型資料
預測情緒好壞:
實作範例程式碼📖
英翻中
LSTM 機器翻譯:英翻中範例
模擬資料:生成平行語料
核心架構:Encoder-Decoder with Attention
實際應用:當前最先進的機器翻譯模型大多已轉向基於 Transformer 的架構(如 Google 的 BERT, OpenAI 的 GPT 等)
概念性 Keras 程式碼框架,沒有訓練模型:
實作範例程式碼📖