---
# System prepended metadata

title: RNN part1(李宏毅)

---

# RNN part1(李宏毅)
### RNN基本概念(0~13:29)
1. Simple RNN示意圖：<br>![](https://i.imgur.com/sfh3T2q.jpg)
   - 1. Yt+1 = Xt+1*W2 + y1*U1(U1=某個權重矩陣)
   - 2. 亦即Yt+1除了考量當下的Xt+1，還會考量到t時間點的產出Yt+1
   - 3. 請看程式碼簡單說明Simple RNN的流程
補充：

![](https://i.imgur.com/nejINu3.png)
RNN帶有順序性，故input順序不同或是前後文不同都會造成output機率不一樣。
2. Elman & Jorden Network示意圖：<br> ![](https://i.imgur.com/LivtCxA.jpg)

   - 1. Elman針對Yt+1，僅會考量當下Xt+1、Wo以及t時間點hidden layer的值；Jorden則是考慮上t時間點的最終產出(Yt)而非t時間點的hidden layer
3. Bidrectional RNN示意圖：<br> ![](https://i.imgur.com/rq2s0JH.jpg)
   - 1.對t時間點但正向、反向RNN所得出的結果，再丟入一個output layer得到一個Yt
   - 2.亦即Yt會在考量前面和後面的資訊後，再被決定出來


### LSTM基本概念(17:52~)
1. LSTM基本架構：<br> ![](https://i.imgur.com/CUBDmF3.jpg)
   - 1. 共有input, input gate, forget gate, output gate, ouput, Cell(C or Memory cell)
   - 2. input係指來自上一個layer的output
   - 3. input gate的功能是決定input有多少比例的資訊會進入Cell
   - 4. forget gate的功能是決定要保留當下C多少資訊
   - 5. input, input gate, forget gate的共同考量下，會得到一個新的C，也就是圖中的C'
   - 6. output gate是決定C'中有多少資訊有拋到下一個hidden layer

補充：

![](https://i.imgur.com/z0rlUnA.png)
想要存進input的值，是否能存入input Gate+控制3個Gate訊號

![](https://i.imgur.com/pOvsNFI.png)
