LSTM model問題
Hi:
我想問一下Day69的程式中
在LSTM的後面加上一個Dense形成一個news_output
解說是說讓LSTM可以有效的被訓練
但是這個news_output後面沒有接Hi:
我想問一下Day69的程式中
在LSTM的後面加上一個Dense形成一個news_output
解說是說讓LSTM可以有效的被訓練
但是這個news_output後面沒有接任何layer阿
他能夠訓練什麼
回答列表
-
2019/07/12 下午 01:05陳明佑 (Ming You Chen)贊同數:1不贊同數:0留言數:1
同學您好
LSTM 層當中的 h 與 c, 都算是結構的一部分
所以在 Keras 的模型中, h 已經算在 LSTM 層裡面囉
至於他的下一層 Dense, 才是 LSTM 真的對外輸出
這邊輸出層使用 simoid 並 Dense 到 1, 應該是用作二元分類的模型
可以用在新聞資料上, 做 Yes / No 的判定
當然實務上使用時, 這邊的 Embedding Layer 需要載入 Word2Vec / Glove 等權重, 還有其他的前處理
但 LSTM 模型確實是自然語言處理(NLP)訓練的核心要素
如果是因為太簡化, 造成同學的誤解, 在此跟同學致歉
我們只是希望向同學展示 : 在課程之外, 也有很多實用的模型, 是在Keras裡面就有的
-
2019/08/06 下午 02:09陳明佑 (Ming You Chen)贊同數:0不贊同數:0留言數:0
顏同學你好 :
A1.
LSTM中, 雖然 h, c 都是中層神經元往下一個時序同層神經元傳遞的內容, 但設計上意義是不同的
簡單的說 :
對於 h, c 的由來, 可以參考 這篇文章, 摘錄如下 :
- h 是傳統 RNN 就有的橫向傳遞設計, 用上一個時態的隱藏層決定下一時態的隱藏層 (圖上方的橫向傳遞)
- c 是 LSTM 新加入的長期記憶狀態, 紀錄更久遠之前的資訊狀態 (稱為細胞狀態-cell state, 圖下方的橫向傳遞)
而 h, c 的具體用法同學可以參考 這篇文章, 裡面有清楚的解釋, 摘錄如下 :
A2.
確實後面的輸出與
news_output 無關, 我們會修正後更新正確的程式碼
希望有回答到您的問題