1.Feedforward與Recurrent
在說明Highway Network之前先回顧Feedforward與Feedforward
Feedforward
1.經過t層之後得到y,每個f皆不相同
2.這邊的t所指爲Layer
3.只有一開始有輸入x
經常性
1.同一個f不斷計算,最後經過g得到y
2.這邊的t所指爲time step
3.每個time step皆輸入x
結論:把RNN豎直,它就可以是一個Feedforward。
2. 循環網絡-GRU與Highway Network
2.1GRU變成Highway Network的過程
Highway Network的想法就是要將RNN豎直,測試是否可以訓練出一個非常深的NN,這邊說明將GRU調整爲Highway Network:
左圖爲原始GRU,右圖爲調整之後GRU
1.將每個時步的取消掉
2.將每個時步的取消掉
3.將h調整爲a:原指第t − 1個時步的輸出,調整爲代表第t − 1個Layer的輸出
4.取消reset gate,保留update gate
原GRU中每一個時步皆有輸入,因此不重要的事就可以忘掉,但在Highway Network中只有最開始有輸入,如果過程中忘掉資訊,後面就沒有任何資訊了。另類想法上,取消reset gate也減少大量參數。
2.2Highway Network
上圖是將Highway Network應用於MNIST與CIFAR-100兩個資料集。
橫軸:層數
縱軸:Loss
作法上是將一個訓練好擁有50層的Highway Network直接拔掉一層,看他在訓練資料集中的變化,如果沒有任何影響,代表它在過程中是直接被pass掉的。
可以發現到,在MNIST中間有一大部份被拿掉之後對結果是沒有影響的,這代表訓練過程模型自己發現到前面幾層纔是有用的。
而在CIFAR-100上拿掉幾個Layer都對模型有影響,這是因爲CIFAR-100的資料較爲複雜。
Highway Network的優勢:對網絡的層數依賴性較低,且有的時候回自動決定需要的網絡層數。
3.Grid LSTM
右圖:
LSTM不止可以豎直,還可以橫向發展,這就是Grid LSTM。
第一行的左圖是原始LSTM,第二行的左圖Grid LSTM的差異在於輸入的部份由一個原本的x,變化爲a, b,以此方式同時擁有時間H與深度b的Memory。
第二行的右圖Grid LSTM:同樣的邏輯也可以套用在3維的情況。