首頁  >  文章  >  後端開發  >  Keras LSTM:什麼是時間步長和特徵,以及有狀態 LSTM 如何利用順序資訊?

Keras LSTM:什麼是時間步長和特徵,以及有狀態 LSTM 如何利用順序資訊?

Barbara Streisand
Barbara Streisand原創
2024-11-23 20:17:12452瀏覽

Keras LSTM: What are Timesteps and Features, and How Does Stateful LSTM Leverage Sequential Information?

了解 Keras LSTM

什麼是時間步長和特徵?

時間步長和特徵由張量的最後兩個維度指定。

  • 時間步長:輸入序列中的步數。
  • 特徵:輸入序列中每個時間步長的值的數量。

根據問題中提供的程式碼,trainX是 3D 數組,其時間步長為 3,特徵為 1。這表明該模型正在考慮多對一的情況,其中 3 個粉紅色框對應於多個輸入。

有狀態 LSTM

有狀態 LSTM 允許模型跨批次保留單元狀態值。當 batch_size 為 1 時,記憶體會在訓練運行之間重置。這有助於模型記住序列的先前步驟,以進行更準確的預測。在該範例中,batch_size 設定為 1,且資料沒有被打亂,這表示模型將根據順序看到資料並利用序列資訊。

示例圖解

您提供的圖像對應於以下Keras 模型:

圖1:

  • Keras 會將輸入序列處理為多對多的方式。
  • return_sequences=True 允許層在每個時間步長輸出序列。

圖 2:

  • stateful=True 允許模型跨批次保留狀態。
  • 每一行的紅色框代表原始序列的一個批次。
  • 每一行的綠色框代表模型在每個批次輸出的序列。
  • 連續的行表示該模型將整個序列視為一個連續的序列,即使它是分批饋送到模型中的。

以上是Keras LSTM:什麼是時間步長和特徵,以及有狀態 LSTM 如何利用順序資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn