1
シンギュラリティ株式会社
畳み込みLSTM
NN論文を肴に飲む会 第1回
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
2 2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
 自己紹介
新村拓也
- シーエイトラボ株式会社 代表取締役
- シンギュラリティ株式会社 取締役CTO
- 機械学習のための数学塾
- RNN camp
3
今回読んだ論文
 「Convolutional LSTM Network: A Machine Learning Approach
for Precipitation Nowcasting」
 畳み込みLSTMを用いて短時間の天気(レーダーマップ)予報を行った
実験
 Moving mnistのフレーム予測とレーダーマップ予報を行った
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
https://arxiv.org/abs/1506.04214
4
この論文を選んだ動機(脱線)
 PredNet
 「Deep Predictive Coding Networks for Video Prediction and
Unsupervised Learning」
 Predictive Codingという脳科学の知見を深層学習に組み込んだ
ネットワーク
 教師なし学習による動画予測を行った論文
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
https://arxiv.org/abs/1605.08104
5
PredNet(脱線)
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
予測を行うモジュール
予測できなかった部分
の特徴が次の層に伝播
される
6
PredNet(脱線)
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
 予測モジュールRに何やら見られない言葉が・・・・
 前のフレームの誤差E(t-1)と、今のフレームの次の層の予測モジュールの出力Rが入力
 同じ層のRのみが再帰
 畳み込みLSTM
なんとなく何やっているかは想像つくけど、詳しく調
べないと実装できないので、今回読んでみました
7
前提:CNN
画像処理でいうフィルタ処理を用いてデータの特徴を抽出していくニューラ
ルネットワーク
2016/12/2
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
縦線を検知したりぼかしを入れることが可能
http://deeplearning.stanford.edu/wiki/index.php/Feature_extraction_using_con
volution
8
前提:CNN
 一般的に様々な特徴を検知するフィルタは確率されているが、どんな
フィルタを採用すればいいかはわからない・・・
2016/12/2
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
畳み込みニューラルネットワークが学習するのは、
このフィルタの値!
・画像を扱う際に空間情報を意識
・余計な結合が切り離されているた
めに多層にしても大丈夫!
GOOD!!
9
前提:CNN
2016/12/2
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
32×32の1チャンネル画像を、
28×28の6チャンネル画像に畳
み込み
32×32の1枚の画像を28×28の6枚の画像に変換したという認識で大丈夫!!
画像は複数のチャンネル(画像)を重ね合わせているものであると理解する。
midiのチャンネルのようなもの
10
前提:RNN
2016/12/2
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
入力1 入力2 入力3
中間1 中間2 中間3
出力1 出力2 出力3
中間層を時間方向に展開させることにより時系列
情報をニューラルネットワークで扱えるように。
入力-中間層の重み
中間-中間層の重み
共有重みを用いている
11
Introduction
 今回扱うのはForecasting(予報)ではなくNowcasting(実況予報)
 明日は晴れとかではなく、何時間後にどのくらいの強さの雨が来るとい
うことを予測(0〜6時間程度のスパン)
 空港などで事前に降雨注意を出したりすることに活用
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
15分後
12
Introduction
 従来手法でこの手の予測をする手法は大まかに二つ
1. NWP(numerical weather prediction)
• 確率モデルや数式を元に行う方法
• おそらく普通の天気予報とかで使われたりしている
• Nowcastingを行う場合はかなり複雑な式を立てる必要がある
2. レーダーエコーの情報を外挿する
• レーダーエコーの情報を入力してその動きそのものを予測する
• 今回の手法もこちら
• Real-time Optical flow by Variational methods for Echoes of
Radar (ROVER) がstate-of-the-art
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
13
Introduction
 しかしOptical flowを用いた手法は使用できる状況が限られている
 予測と画像データの外挿のステップが分かれている?
 モデルパラメータの推定が難しい(DeepLearningもだけどね・・・・)
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
機械学習のアプローチでこれを解決しよう!
画像の特徴を捉えるCNN
+
長期時系列情報を扱えるLSTM
畳み込みLSTM
14
Introduction
 今回のような場合に採用されるRNNはSequence to Sequence
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
入力画像群の特徴を
圧縮した中間層 出力側では、前の層の
出力が入力になる
15
Introduction (先行研究)
 実は畳み込みLSTMはすでにされていた
 「 Video (language) modeling: a baseline for generative models
of natural videos. 」
 フレーム予測が1フレームだけ
 なぜか中間層=>中間層の畳み込みフィルタサイズが1×1のみ
 「 Unsupervised learning of video representations using lstms.」
 Seq to seqになって複数のフレーム予測はするようになった
 でもなぜか中間層=>中間層が全結合のデフォルトLSTM
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
・中間層同士もしっかり畳み込み
・フィルタサイズもいろいろ変更
・多層LSTM
・Seq to Seq を採用して未来の多フレーム予測
このペーパーでは・・・
16
Preliminaries
今回のデータセットは画像データは、縦×横×観測値の3階テンソルに変
換される
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
観測値が複数あるなら多チャンネル、
降水量一つならグレースケール画像
になる
17
Preliminaries
 元になるLSTM
 入力ゲート、出力ゲート、忘却ゲート、ピープホールがついたもの
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
LSTM内だけでの重み、バイアス
は合計15種類
18
Model
 既存LSTMとConvLSTMの違い
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
重みの掛け算のみ
が畳み込みに変更
ピープホールは直
積のまま
19
Model
 補足
 中間層のチャンネル数は128とかにできるが、再帰していくので、入
力も出力もそのチャンネル数に制限される(あたりまえ)
 畳み込みはpaddingありで行って、元画像と同じサイズを維持
 画像生成時に効いてくる
 prednetの論文では書いてあったが、フレームの外から来る不特定
要素を考慮する意味でもGood
 個人的な感想:画像データを足し算するのはぶっちゃけいいのか
なぁ・・・原形留めずにぶっ壊れてしまうのではないか
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
20
Model
 画像生成時
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
画像サイズが全てのレイヤで同じなので、最後は1×1で畳み込んで入力画像と
同じshapeに変換!
注意
最終層を畳み込んでいるわけ
ではない
各層の出力をConcat(結合)して、
それを畳み込み。
チャンネル数=レイヤーサイズ×
中間層のチャンネル数
21
ちなみに(脱線)
PredNetでは入力サイズが違うことを想定しているので、UpSamplingし
てサイズを合わせている。(逆畳み込みとは似てるけど違うよ)
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
ココ
22
Experiments
 まずはConvLSTMの性質をある程度理解するために、Moving
MNISTで検証。
 複数のパラメータで検証。FC-LSTMとも比較
 画像サイズ64×64のグレースケール
 10フレームが入力、次の10フレームを予測
 訓練:10000セット バリデーション:2000セット テスト:3000セット
 誤差関数が何故かクロスエントロピー(PredNetは絶対誤差の変化系)
 最適化手法はRMSProp
 学習率0.001、減衰率0.9
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
23
Experiments
結果
 中間層-中間層は1×1で畳み込むと精度が悪いから必ず1以上
 中間層のチャンネルが大きく層が浅いものより、少なくていいので多層
にしたほうが精度が向上する
 2層から3層に変更して確かに精度は良くなったが、あまり変化はない
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
FC-LSTMは中間層2048が2層のLSTM
24
Experiments
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
3層ConvLSTM
入力
正解
なんとなくあってるけど、後ろの方
に行くとさすがにぼけてくる
25
Experiments
本題のレーダーマップ予測
 前処理頑張ってます
 レーダーマップの値をグレースケールに変換
 330×330の領域を真ん中から切り抜き
 Disk Filter?なるものをかけたあと100×100にリサイズ
 ノイズがあるのでK-Meansで処理(それやっていいのかなぁ、、)
 20フレーム1セット(入力5枚、予測15枚)
 もちろんですが、晴れた日の情報は使いません
 訓練:8148セット バリデーション:2037セット テスト:2037セット
 2層のConvLSTM
 フィルタサイズは3×3(mnistより小さい)
 誤差は相変わらずクロスエントロピー
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
26
Experiments
 評価
 MSE, CSI, FAR, POD、相関係数の5つを採用
 MSEは単なる平方平均
 降水量を0.5mm/hを閾値に設定して、晴れ:0 雨:1にする
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
0, 0の組み合わせはもちろん含ま
れていない
27
Experiments
結果
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
全部畳み込みLSTMが勝ちました!!
入力
正解
Conv
Rover
入力以外は3フレームずつ
うーん、違いがよくわからん
28
Experiments
 何故畳み込みLSTMがうまくいったのか?
 境界部分もうまく処理してくれる
 入力から予測、訓練までが一気通貫で行われているので、複雑な
時空間パターンが学習できる?(飛躍しすぎな気が、、、、)
 いい点悪い点
 ROVERはある程度先のステップでも鮮明に予測するが、
ConvLSTMはどうしてもボケてしまう。(境界領域の不確定性を考
慮しているため)=>ぼやーっと予測しているからスコアは高い
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
フレームの外側から新しい雲がやってくるのもある程度予
測してみたりしている。
29
Conclusion and Future Work
 畳み込みLSTMで予測できた
 次は動画予測やってみる
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
30 2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved
ご静聴ありがとうございました!
31
お問い合わせ
ご興味のある企業・団体・個人様は、以下までお問い合わせください。
シンギュラリティ株式会社
http://snglrty.net
東京都港区浜松町 2-7-15 三電舎ビル6F
Tel 03-5425-2545
取締役/CTO 新村拓也
E-mail:info@snglrty.net
2016/12/2
Singularity Copyright 2016 Singularity Inc. All rights reserved

畳み込みLstm