數學軟體應⽤ 235 遞歸層原理 x1 t x2 t xn t h1 t h2 t hk t x t h t 遞歸層 遞歸神經網路的特點是, 遞歸層每個 神經元的輸出我們會收集起, 來成⼀ 個向 , 我們叫 hidden state: ht ht = ht 1 ht 2 ⋮ hk t 這個 hidden state 向 下次會當成 輸入的⼀部份。 h t−1
數學軟體應⽤ 243 簡化的表⽰ 注意 為了讓⼤家更容易瞭解, 我們會⽤較簡單的圖⽰。請 注意輸入都是個向 、會有權 ; 輸出都是純 。 實際輸入⻑這樣 x1 t x2 t xn t wx 1k wx 2k wx nk bk σ(wx 1k x1 t + wx 2k x2 t + ⋯ + wx nk xn t + b k )
數學軟體應⽤ 256 RNN 的訓練 BPTT x 3 x 4 x 5 ̂ y 3 x m x 2 x 1 ̂ y 1 ̂ y 2 ̂ y 4 ̂ y 5 ̂ y m 我們假設我們的 RNN 函數學習機有個參數叫 , 記得每個時間 點都有這個參數在。雖然是同⼀個參數, 但依時間不同叫 。 w wt w1 w2 w3 w4 w5 wm
數學軟體應⽤ 257 RNN 的訓練 BPTT 訓練的時間我們先把整個過程看成⼀個很深的神經網路, 把每個 時間點的 看成不同的參數去調整。每⼀個參數要調多少再平 均, 就得到 要調整的⼤⼩。 wt w w1 w2 w3 w4 w5 wm x 3 x 4 x 5 ̂ y 3 x m x 2 x 1 ̂ y 1 ̂ y 2 ̂ y 4 ̂ y 5 ̂ y m
數學軟體應⽤ 258 RNN 訓練上的問題 w1 w2 w3 w4 w5 wm backpropagation RNN ⾃然變成「很深的神經網路」成為⼀個訓練上的問題! ∂L ∂wm ∂w6 ∂w5 ∂w5 ∂w4 ∂w4 ∂w3 ∂w3 ∂w2 ∂w2 ∂w1 × × × × × × x 3 x 4 x 5 ̂ y 3 x m x 2 x 1 ̂ y 1 ̂ y 2 ̂ y 4 ̂ y 5 ̂ y m
數學軟體應⽤ 287 為什麼 LSTM/GRU 可以救 RNN? Li,H., Xu, Z., Taylor, G., Studer C., Goldstein T. (NeuraIPS 2018). Visualizing the Loss Landscape of Neural Nets. . without skip with skip
數學軟體應⽤ 292 要應⽤: 對話機器⼈ P(x i ∣ w t−T , w t−T+1 , …, w t−1 ) 當然, 因為基本上最後我們都是用 softmax 等方式 去預測每個字的機率, 所以大家更愛寫成這樣的 model 是在逼近這個機率分布。 其中 是我們字庫裡的 第 i 個字。 x i