ConvGRUを用いた
PredNetの実装と評価(途中経過)
第2回全脳アーキテクチャ研究会オフ会
2016-06-29
株式会社Nextremer
壹岐 太一
PredNet
(*): https://arxiv.org/abs/1605.08104
Deep Predictive Coding Networks for Video Prediction and Unsupervised Learning
W. Lotter, G. Kreiman, D. Cox
PredNet
(*): https://arxiv.org/abs/1605.08104
Deep Predictive Coding Networks for Video Prediction and Unsupervised Learning
W. Lotter, G. Kreiman, D. Cox
ここ
LSTMとGRU
LSTM(Long-Short Term Memory)
ポピュラーなRNNの拡張.
メモリーセルを導入
3つのゲート(input, forget, output)
LSTM以外の構造はないの?
GRU(Gated Reccurent Unit)はその一つ.
RNN Conventional Graph
Deep Gate Recurrent Neural Network
• RNN Conventional Graphの導入
• Vanilla RNN, LSTM, GRUの比較
• RNNの変種SUG, DSUGの提案
Authors: Yuan Gao (University of Helsinki), Dorota Glowacka (University of Helsinki); 2016
Vanilla RNN
RNN Conventional Graphによる比較
LSTM GRU
⨂: Elementwise product
⨁: Tensor product + bias
LSTM
⨂: Elementwise product
⨁: Tensor product
i-gate
f-gate
o-gate
GRU
⨂: Elementwise product
⨁: Tensor product
r-gate
u-gate
どれくらい前回
の出力を入れて
候補を作るか前回の出力と候補の
合わせ具合
○ 計算量: 少ない
○ パラメータ: 少ない
△ LSTMとの性能差: まだはっきりしていない
PredNetに乗せると規模の拡大に多少は有効 ?
GRU-PredNet
まだよくわかっていないので作って調べてみる
quadjr/PredNetをベースにGRU-PredNetを実装しました。
コード:
https://github.com/cavy-t/GRU-PredNet
まだ詳しく見れていませんが、テスト進捗を…
テストの条件
• KITTIのデータ 2011_09_26_drive_0001_sync.zip image_02 108枚 (中央の160*128)
• 10 枚ごとにupdate
• 100エポック相当学習
• 紅莉栖 (gpu1個)
(LSTM)PredNet
(LSTM)PredNet
8 18 28 38 48
入力
予想
正解
(LSTM)PredNet
991 1001 1011 1021 1031
入力
予想
正解
(LSTM)PredNet
10651 10661 10671 10681 10691
入力
予想
正解
GRU-PredNet
GRU-PredNet
8 18 28 38 48
入力
予想
正解
GRU-PredNet
991 1001 1011 1021 1031
入力
予想
正解
GRU-PredNet
10651 10661 10671 10681 10691
入力
予想
正解
LSTM / GRU-PredNet 比較
LSTM / GRU-PredNet
10651 10661 10671 10681 10691
LSTM
GRU
正解
LSTM / GRU-PredNet
10651 10661 10671 10681 10691
LSTM
GRU
正解
見た目ではそれほど違いがない。
(小さいし…)
ロスの変化
LSTM, GRUそれぞれに関して3回
• LSTMもGRUも学習しにくい時があるらしい.
• LSTMの方が到達点は小さそう.
• この結果を見る限りGRUの方が不安定?
[参考]0.1付近で停滞する時
0.1付近で学習が停滞している時, LSTM/GRU共に色がうまく表現できていないケース
1205 1302 1409 1506
LSTM 予想
正解
11081001
形はわかるが色味が違う
[参考]0.1付近で停滞する時
0.1付近で学習が停滞している時, LSTM/GRU共に色がうまく表現できていないケース
7712 7802 7909 8006
GRU 予想
正解
76057508
形はわかるが色味が違う
[参考]0.1付近で停滞する時
7712 7802 7909 8006
正解
76057508
色味の学習が済むまでは入力画像に近い画像を出している。
計算時間・モデルの大きさ
LSTM, GRUそれぞれに関して3回
(MB) 10000.model 10000.state
LSTM 31 63
GRU 20 37
書き出された Chainer用のファイルのサイズ
式に出てきたWの数 11:6 と似た傾向
まとめ
• GRU-PredNetを実装
• KITTIの1つの例でテスト
• 学習後の予想画像を目視した場合LSTMとの違いはあまりわからない.
• Lossで見るとLSTMの方が小さい値に到達している.
• 計算の速さ, モデルのファイル容量ではGRUの方が有利.
• BPTTの深さや画像の大きさを稼ぎたい時にはGRU-PredNetも候補に入れてみると良いかも.
RNNもいれる
GRURNN LSTM
10000.model
10000.state
8.8 MB
15.2 MB
20 MB
37 MB
37 MB
63 MB

GRU-Prednetを実装してみた(途中経過)