序列到序列模型

使用 Keras 建立語言模型的循環神經網路(RNN)

David Cecchini

Instructor

序列到序列

可能的架構:

  • 多輸入對單輸出
    • 情緒分析
    • 分類
  • 多輸入對多輸出
    • 文字生成
    • 神經機器翻譯(NMT)
使用 Keras 建立語言模型的循環神經網路(RNN)

文字生成:範例

文字生成:範例

# Pre-trained model
model.generate_sheldon_phrase()
'knock knock. penny. do you have an epost is part in your expert, 
too bealie to play the tariment with last night.'
使用 Keras 建立語言模型的循環神經網路(RNN)

文字生成:建模

如何建立文字生成模型:

  • 決定 token 為字元或單字
    • 單字需要超大資料集(數億句)
    • 字元訓練較快,但可能產生錯字
  • 準備資料
    • 以(過去 tokens、下一個 token)建立訓練樣本
  • 設計模型架構
    • 嵌入層、層數等
  • 訓練與實驗
使用 Keras 建立語言模型的循環神經網路(RNN)

NMT:範例

神經機器翻譯:範例

# Pre-trained model
model.translate("Vamos jogar futebol?")
'Let's go play soccer?'
使用 Keras 建立語言模型的循環神經網路(RNN)

NMT:建模

如何建立 NMT 模型:

  • 取得已翻譯句子的樣本
    • 例如 Anki 專案
  • 準備資料
    • 將輸入語言句子做斷詞/斷字
    • 將輸出語言句子做斷詞/斷字
  • 設計模型架構
    • 編碼器與解碼器
  • 訓練與實驗
使用 Keras 建立語言模型的循環神經網路(RNN)

章節大綱

本章重點:

  • 文字生成
    • 使用預訓練模型產生句子
    • 學習準備資料與建立模型
  • 神經機器翻譯(NMT)
    • 一體化 NMT 模型
使用 Keras 建立語言模型的循環神經網路(RNN)

一起來練習吧!

使用 Keras 建立語言模型的循環神經網路(RNN)

Preparing Video For Download...