落合 wba hackathon2_成果報告_最終版
TRANSCRIPT
Attention Control
第2回 WBA hackathon落合、都築
やったこと
やったことFree Energy Principle のニューラルネットによる実装
Free Energy Principle ?
Free Energy Principle by K.Friston
Free Energy =精度 + 複雑度¿−𝐸𝑞(𝑧∨𝑥 )[ log𝑝𝜃 (𝑥|𝑧 )]+𝐷𝐾𝐿 [𝑞(𝑧∨𝜇)∨¿𝑝𝜃 (𝑧 )]𝐹 (𝑥 ,𝜇 )
𝑧𝑥𝜇
: Hidden or external states: Sensory states: Internal states(ex. z の平均、分散 )
精度 複雑度
Internal state
𝜇=argmin𝐹 (𝑥 ,𝜇)予測誤差を最小化するよう内部パラメータを学習(通常の生成モデル学習)
𝜇
Internal state
Action(Attention)
𝜇=argmin𝐹 (𝑥 ,𝜇)
𝑎=argmin𝐹 (𝑥 ,𝜇)
予測誤差を最小化するよう内部パラメータを学習(通常の生成モデル学習)予測誤差を最小化する行動を生成予測=注目
(Active Inference)
𝜇
𝑎
実装
Free Energy Principle = Variational Autoencoder• Variational Autoencoder(VAE) は変分ベイズをニューラルネットで表現したもの•変分ベイズでは Free Energy を最小化している• Free Energy を内部パラメータ調節で最小化する Network= Variational Autoencoder•今回の目標: Active Inferenceを VAEに追加• Active Inference=Free Energyを最小化する動きを生成すること
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
今回作成範囲
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
Variational Autoencoder
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
Action
学習環境
環境 エージェント
MNIST 画像を並べた56x56 ピクセルの空間( トーラス状に回り込み )
着目領域 28x28 ピクセル
着目領域内の画像
着目領域の相対移動方向
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑥 ′
dx = -1 or 1, dy=-1 or 1
ピクセル単位の移動
結果
Step 0 ~ 100予測画像 軌跡
スタート
Step 4000 ~ 4100予測画像 軌跡
スタート
Step 4000 ~ 4100予測画像 軌跡
スタート
Step 8000 ~ 8100予測画像 軌跡
スタート
Step 8000 ~ 8100予測画像 軌跡
スタート
Step 12000 ~ 12100予測画像 軌跡
スタート
Step 16000 ~ 16100予測画像 軌跡
スタート
Step 20000 ~ 20100予測画像 軌跡
スタート
loss
Epoch(1Epoch = 100Step)
LSTM を追加: Step 16000 ~ 16100予測画像 軌跡
スタート
LSTM を追加: Step 16000 ~ 16100予測画像 軌跡
スタート
LSTM を追加: Step 16000 ~ 16100予測画像 軌跡
スタート
考察•予測誤差を最小化するため一箇所で振動•理由•環境が固定、かつ行動の外乱なし•予測誤差は最小化ではなく一定の値になるよう行動を決めるべき?• 予測誤差が少なすぎる⇨退屈• 予測誤差が高すぎる⇨不安
•報酬、トップダウン信号が必要
•すごい: Free Energy Principle を大規模化可能な 形で実装•おもろい:制御への応用可能性(後述)•脳っぽい: Free Energy Principle は脳の実験 データによる裏付けも出始めている
Future Work
•探索行動の継続を矯正•多層化•トップダウンでの行動生成
•探索行動の継続を矯正•多層化•トップダウンでの行動生成
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
作成予定範囲
柔軟な行動生成・マップ上でのナビゲーション課題
← こいつを探したいある特定の画像を,マップ上で探し出す
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
探索対象の画像を入力、ボトムアップ計算
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎
𝑒𝑛
𝐼
𝑥𝑧 𝑑𝑒FC
𝑎loss
RL
𝑥 ′ 𝑥 ′
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
𝑒𝑛 𝑧 𝑑𝑒FC 𝑥 ′𝑎𝑥
lossRL
t=0 t=1
layer=0
layer=1
Active Inference Network
𝑎𝑧𝑥
FC
𝑑𝑒𝑒𝑛
𝑥 ′
Action
Hidden state
State(Bottom up)
State(expect)
Action Network
Encoder Network
Decoder Network
Probabilistic
上位層の z を固定し、ボトムアップとトップダウン信号を流す
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
ゴム紐
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
Active Inference Network のイメージ
layer0
layer1
layer2
layer3
In Brain
World sensor
END
以降付録
キーワード• Free Energy Principle• Predictive Coding• Policy Gradient(action の強化学習で使用 )• Variational Autoencoder• 変分ベイズ• 変分下界• エントロピー
環境、ライブラリ• Python 2.7• Chainer 1.15.0.1
Variational Autoencoder の式
参考: http://qiita.com/skitaoka/items/64eab1d6c09a189d5841
log 𝑃 𝜃 (𝑥 )
𝑝𝜃 (𝑧∨𝑥) :真の潜在変数の事後分布𝑞 (𝑧∨𝑥 ) :の近似分布( Neural Network で表現)log 𝑃 𝜃 (𝑥 ) :対数尤度。これを最大化する見つけ出したい
下界 = 真の分布と近似誤差の差
𝐿 (𝑥 )・・・①
Free Energy の式
¿−𝐸𝑞(𝑧∨𝑥 )[ log𝑝𝜃 (𝑥|𝑧 )]+𝐷𝐾𝐿 [𝑞(𝑧∨𝜇)∨¿𝑝𝜃 (𝑧 ) ]
𝐹 (𝑥 ,𝜇 )¿𝐸𝑞( 𝑧∨𝑥)¿
参考: https://en.wikipedia.org/wiki/Free_energy_principle
Energy Entropy
・・・②
𝑧𝑥𝜇
: Hidden or external states: Sensory states: Internal states 𝑧𝑥
𝜇𝑎
World In Brain
両者は同じもの𝐿 (𝑥 )=𝐸𝑞(𝑧∨𝑥) [ log𝑝𝜃 (𝑥|𝑧 )]−𝐷𝐾𝐿 [𝑞 (𝑧∨𝑥)∨¿𝑝𝜃 (𝑧 )]
① より ② より𝐹 (𝑠 ,𝜇)=−𝐸𝑞(𝑧∨𝑥 )¿
−𝐿 (𝑥 )=−𝐸𝑞 (𝑧|𝑥 ) [ log𝑝𝜃 (𝑥|𝑧 ) ]+𝐷𝐾𝐿 [𝑞(𝑧∨𝑥)∨¿𝑝 𝜃 (𝑧 )]
−𝐿 (𝑥 )=−𝐸𝑞 (𝑧|𝑥 ) [ log𝑝𝜃 (𝑥|𝑧 ) ]+𝐷𝐾𝐿 [𝑞(𝑧∨𝜇)∨¿𝑝 𝜃 (𝑧 )]
観測された値で Internal states を代用
正規分布と仮定
• Free Energy は最小化、変分下界は最大化。やっていることも同じ。• の確率関数はニューラルネットによる近似
Free Energy Principle = Variational Autoencoder• Variational Autoencoder(VAE) は変分ベイズをニューラルネットで表現したもの ( http://www.asahi-net.or.jp/~fb8t-ysok/docs/vae/ )• 変分ベイズでは Free Energy を最小化している ( http://
nktmemoja.github.io/jekyll/update/2016/08/20/variational-bayes.html )• Free Energy を内部パラメータ調節で最小化する Network= Variational Autoencoder•今回の目標: Active Inferenceを VAEに追加• Active Inference=Free Energyを最小化する動きを生成すること
1枚ものスライド
Free Energy Principle by Friston
implement
“Active Inference Network”
・ある状態を実現するための,行動を生成するネットワークの提案
Test
・マップ上でのナビゲーション課題
← こいつを探したいある特定の画像を,マップ上で探し出す