**循環神經網絡**(RNN,recurrent neural network)處理序列的方式是,遍歷所有序列元素,并保存一個**狀態**(state),其中包含與已查看內容相關的信息.
> 當你在閱讀這個句子時,你是一個詞一個詞地閱讀(或者說,眼睛一次掃視一次掃視地閱讀),同時會記住之前的內容。這讓你能夠動態理解這個句子所傳達的含義。生物智能以漸進的方式處理信息,同時保存一個關于所處理內容的內部模型,這個模型是根據過去的信息構建的,并隨著新信息的進入而不斷更新。

*****
### Keras 中的循環層
~~~
from keras.layers import SimpleRNN
~~~
> 與 Keras 中的所有循環層一樣,`SimpleRNN`可以在兩種不同的模式下運行
* 返回每個時間步連續輸出的完整序列,即形狀為`(batch_size, timesteps, output_features)`的三維張量
* 只返回每個輸入序列的最終輸出,即形狀為`(batch_size, output_features)`的二維張量
* 這兩種模式由`return_sequences`這個構造函數參數來控制
* `SimpleRNN`的最大問題是,在時刻`t`,理論上來說,它應該能夠記住許多時間步之前見過的信息,但實際上它是不可能學到這種長期依賴的。其原因在于**梯度消失問題**(vanishing gradient problem),這一效應類似于在層數較多的非循環網絡(即前饋網絡)中觀察到的效應:隨著層數的增加,網絡最終變得無法訓練。
> `SimpleRNN`并不是 Keras 中唯一可用的循環層,還有另外兩個:`LSTM`和`GRU`
**`LSTM`層:**
* 其背后的長短期記憶(LSTM,long short-term memory)
* `LSTM`層是`SimpleRNN`層的一種變體,它增加了一種攜帶信息跨越多個時間步的方法
* 保存信息以便后面使用,從而防止較早期的信號在處理過程中逐漸消失
* **只需要記住 LSTM 單元的作用:允許過去的信息稍后重新進入,從而解決梯度消失問題**
- 基礎
- 張量tensor
- 整數序列(列表)=>張量
- 張量運算
- 張量運算的幾何解釋
- 層:深度學習的基礎組件
- 模型:層構成的網絡
- 訓練循環 (training loop)
- 數據類型與層類型、keras
- Keras
- Keras 開發
- Keras使用本地數據
- fit、predict、evaluate
- K 折 交叉驗證
- 二分類問題-基于梯度的優化-訓練
- relu運算
- Dens
- 損失函數與優化器:配置學習過程的關鍵
- 損失-二分類問題
- 優化器
- 過擬合 (overfit)
- 改進
- 小結
- 多分類問題
- 回歸問題
- 章節小結
- 機械學習
- 訓練集、驗證集和測試集
- 三種經典的評估方法
- 模型評估
- 如何準備輸入數據和目標?
- 過擬合與欠擬合
- 減小網絡大小
- 添加權重正則化
- 添加 dropout 正則化
- 通用工作流程
- 計算機視覺
- 卷積神經網絡
- 卷積運算
- 卷積的工作原理
- 訓練一個卷積神經網絡
- 使用預訓練的卷積神經網絡
- VGG16
- VGG16詳細結構
- 為什么不微調整個卷積基?
- 卷積神經網絡的可視化
- 中間輸出(中間激活)
- 過濾器
- 熱力圖
- 文本和序列
- 處理文本數據
- n-gram
- one-hot 編碼 (one-hot encoding)
- 標記嵌入 (token embedding)
- 利用 Embedding 層學習詞嵌入
- 使用預訓練的詞嵌入
- 循環神經網絡
- 循環神經網絡的高級用法
- 溫度預測問題
- code
- 用卷積神經網絡處理序列
- GRU 層
- LSTM層
- 多輸入模型
- 回調函數
- ModelCheckpoint 與 EarlyStopping
- ReduceLROnPlateau
- 自定義回調函數
- TensorBoard_TensorFlow 的可視化框架
- 高級架構模式
- 殘差連接
- 批標準化
- 批再標準化
- 深度可分離卷積
- 超參數優化
- 模型集成
- LSTM
- DeepDream
- 神經風格遷移
- 變分自編碼器
- 生成式對抗網絡
- 術語表