# 李宏毅_ATDL_Lecture_6 ###### tags: `Hung-yi Lee` `NTU` `Advance Topics in Deep Learning` [課程撥放清單](https://www.youtube.com/channel/UC2ggjtuuWvxrHHHiaDH1dlQ/playlists) ## Highway Network & Grid LSTM [課程連結](https://www.youtube.com/watch?v=dxB6299gpvI&list=PLJV_el3uVTsPMxPbjeX7PicgWbY7F8wW9&index=6) ### Feedforward v.s. Recurrent  在說明`Highway Network`之前先回顧`Feedforward`與`Recurrent` 上圖說明著兩者的計算過程: * Feedforward * 經過`t`層之後得到`y`,每個`f`皆不相同 * 這邊的`t`所指為Layer * 只有一開始有輸入`x` * Recurrent * 同一個`f`不斷計算,最後經過`g`得到`y` * 這邊的`t`所指為`time step` * 每個`time step`皆輸入`x` 把RNN豎直,它就可以是一個`Feedforward` ### GRU -> Highway Network   `Highway Network`的想法就是要將`RNN`豎直,測試是否可以訓練出一個非常深的`NN`,這邊說明將`GRU`調整為`Highway Network` 上圖為原始`GRU`,下圖為調整之後`GRU` 1. 將每個時步的`x^t`取消掉 2. 將每個時步的`y^t`取消掉 3. 將`h`調整為`a` * 原$h^{t-1}$指第$t-1$個時步的輸出,調整為$a^{t-1}$代表第$t-1$個Layer的輸出 4. 取消`reset gate` * 原`GRU`中每一個時步皆有輸入,因此不重要的事就可以忘掉,但在`Highway Network`中只有最開始有輸入,如果過程中忘掉資訊,後面就沒有任何資訊了。 * 另類想法上,取消`reset gate`也減少大量參數 ### Highway Network  調整架構之後將橫圖豎直,輸入$a^{t-1}$在下,輸出$a^t$在上,在取消掉`reset gate`之後,剩下`update gate` 1. $h'=\sigma(Wa^{t-1})$ 2. `update gate`: $z=\sigma(W'a^{t-1})$ * 操控紅色箭頭處 3. $a^t=z\odot a^{t-1}+(1-z)\odot h$ * `GRU`中,`update gate`是`input gate`與`forget gate`的綜合,因此兩者連動 以上,就是`Highway Network`,後來微軟又出現了`Residual Network`,更精簡的版本,連`Z`都不要了,直接將$a^{t-1}$與$h'$相加得到$a^t$ 有人提過,`Rdsidual Network`就是將`LSTM`豎直。 ### Highway Network  `Highway Network`可以自動決定要用幾個Layer。 ### Highway Network  上圖是將`Highway Network`應用於MNIST與CIFAR-100兩個資料集。 * 橫軸:層數 * 縱軸:Loss 作法上是將一個訓練好擁有50層的`Highway Network`直接拔掉一層,看他在訓練資料集中的變化,如果沒有任何影響,代表它在過程中是直接被pass掉的。 可以發現到,在MNIST中間有一大部份被拿掉之後對結果是沒有影響的,這代表訓練過程模型自己發現到前面幾層才是有用的。 而在CIFAR-100上拿掉幾個Layer都對模型有影響,這是因為CIFAR-100的資料較為複雜 ### Grid LSTM   `LSTM`不止可以豎直,還可以橫向發展,這就是`Grid LSTM`。 左圖是原始`LSTM`,與右邊`Grid LSTM`的差異在於輸入的部份由一個原本的`x`,變化為`a, b`,以此方式同時擁有時間$h$與深度$b$的Memory ### Grid LSTM  加入深度的Memory非常直觀,只要將$h, b$並在一起,$c, a$並在一起,其它相同去做計算就可以產生相對應的$c', a', b', h,$ ### 3D Grid LSTM  同樣的邏輯也可以套用在3維的情況,左圖是老師畫的,右圖是論文上的。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.