PredNet --- Deep Predictive coding networks for video prediction and unsupervised learning ICLR 2017 git
2017.03.12 github
Code and video examples can be found at: https://coxlab.github.io/prednet/
算法
摘要:基於監督訓練的深度學習技術取得了很是大的成功,可是無監督問題仍然是一個未能解決的一大難題(從未標註的數據中學習到一個領域的結構)。本文探索了無監督學習中關於 video prediction 的問題。設計了一種 「PredNet」結構,實現了該項工程,而且獲得了很是喜人的實驗結果。實驗結果代表:預測表明了一種很是強大的無監督學習框架,能夠潛在的學習到物體或者場景結構。 網絡
網絡設計:框架
如上圖所示的流程,是有一系列的模塊堆疊在一塊兒產生的。該網絡首先進行局部預測,而後減去真實的輸入,傳到下一層。ide
簡單的說,每一個模塊能夠分爲 4 個部分:學習
1. 一個輸入卷積層 $A_l$ spa
2. 循環表示層 $R_l$設計
3. 預測層 $\hat{A}_l $3d
4. 偏差表示層 $E_l$
$R_l$ 是一個循環卷積網絡產生一個預測 A^l,layer的輸入是 Al。網絡計算 Al 和 A^l 的不一樣,而後輸出一個偏差表示 El, 分爲單獨修正的 positive 和 negative error 傳遞。將該偏差 El 傳遞給卷積層,做爲下一層的輸入 $A_{l+1}$。$R_l$ 模塊有兩個輸入,分別來自於:直接拷貝過來的 El,以及 下一層 $R_{l+1}$ 的輸入。
這個網絡能夠分爲兩個最重要的部分來看,左邊 Rl 部分是循環產生式反捲積網絡;右邊 Al 和 El 是標準的深度卷積網絡。
該模型訓練的目標是:minimize the weighted sum of the firing rates of the error units. 此處的 error units 相似於 L1 error. 雖然此處沒有嘗試,但也能夠嘗試其餘的 loss function。
總的算法框架以下:
實驗部分: