[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

[月別過去ログ] 2019年04月

« 2019年03月 | 最新のページに戻る | 2019年05月 »

2019年04月28日

自由エネルギー原理入門(4/7): Sec.4 生成モデルに行動を含める

最新版のPDFファイルが最後のエントリ:「自由エネルギー原理入門(7/7): 「Sec.0 自由エネルギー原理を数式無しで説明する」を追加」にあります。このPDFファイルを最新版としますので、これから読む方にはPDFファイルでの閲覧をオススメします。


[4. 生成モデルの中に行動 を含める]

[4-1-1. 生成モデルの中に行動 を含める]

さてここから生成モデルの中に行動 を含めることを考える。まずは図2-3で使った因果グラフを再掲する(図4-1A)。

EFE4_01.png

図4-1: 行動を付加した生成モデル


これはいわばフルバージョンであるが、じっさいにNeural Comput. 2017でのFristonの期待自由エネルギーの式が前提としている生成モデルは図4-1Bのとおりだ。つまり、行動 が外界の状態 のみに作用しており、感覚入力 への直接的な因果はない。一方で、ここまで用いていた蝶と蛾の例では、行動 とは眼球運動だったので、目を動かしても世界は変わらず、視野だけが変わる。つまり、外界の状態 には作用せず、感覚入力 のみに対して直接的な因果がある(図4-1C)。(これはKatahira et al 2018での病気 と検査法の選択 と検査結果 においても同じ。)

[4-1-2. このセクションで用いる例: スイッチで照明をつけたら明るい]

そこでこのセクションでは、Neural Comput. 2017での生成モデル(図4-1B)に基づいた実例として、「スイッチで照明をつけたら明るい」というのを用いることにする(図4-2)。

EFE4_02b.png

図4-2: スイッチで照明をつけたら明るい


行動、外界の状態、感覚入力 はそれぞれ二つの可能な状態を持っている。 から から の関係には不確定性があり、スイッチオンでも照明がオンにならないときもあれば、照明がオンでも暗いと感じるときもある。これらの関係は以下のサブセクションごとに生成モデルによって規定される。

それではこの例に沿って、expected free energy EFE, epistemic value, extrinsic valueの式の導出までやってしまうことにする。

蝶と蛾の例はサッケードのモデルとして重要なのでまたあとで戻ってくる予定。


[4-2. 行動あり、現在の状態 と過去の行動 の推定(1)]

[4-2-1. 生成モデル と推測 の設定]

ではまず図3-2の現在の知覚の生成モデルに過去の行動 を付加することを考える。過去の行動 を潜在変数として捉えるならば、生成モデルのグラフィカルモデルによる表現は以下の通りになる(図4-3A)。

EFE4_03c.png

図4-3: 過去の行動を付加した生成モデル(1)


このとき生成モデルは以下のように書くことができる。

生成モデルは3つの因子に分解することができる(図4-3B)。 は観察データを生成する「観察モデル」()、 は状態の推移を決める「遷移モデル」 は行動 の「事前分布」、と呼ぶ。行動 の「事前分布」とは、結果となる に依存せずにどちらを選択するかのバイアスを表すから「preference」とも呼ぶ。この呼び方は後で出てくる。

のそれぞれの値をみてもらうと、不確定性のあるシステムであることがわかる。スイッチがオンでも照明がつかない確率が20%あるし()、照明がオンでも暗く感じる確率が20%ある()。照明がオフでも明るく感じる確率は5%なので()、ここに非対称性が入ってる。

また、推測 のほうは以下のように書く。直前の行動 は隠れ値なので と同じく推定してやる必要がある。

式(3-8)と同様、 は独立して動かさずに、同時に推定するため、パラメーターとしては3変数あることになる。

[4-2-2. 変分自由エネルギー の設定]

この場合の観測データは 、潜在変数は となるので、VFEの式は以下の通りになる。

となる。Surprisalの中身は となっていて、図3-2の生成モデル(現在のみ、運動なし)と変わりないことがわかる。KL距離を計算するときに の両方で総和をとるので、KL距離は のみの関数となる。

(さてあとはposteriorを計算して、 をプロットして、と行くところなのだが、ここでは省略する。)

ところで図4-3において過去の行動 を潜在変数として捉えるのは妥当だったろうか?もし生成モデルが、行動 が事前分布 から確率的に選ばれて、それの結果として外界の状態 と感覚入力 が引き起こされた、という場合なら合っている。しかし、expected free energyで想定されているのはそうではない。


[4-3. 行動あり、現在の状態 と過去の行動 の推定(2)]

[4-3-1. 生成モデル と推測 の設定]

図4-3の生成モデルはexpected free energyで用いられているものとは異なっている。Expected free energyにおいては、行動 はその時点での期待自由エネルギー を計算した結果として確定する。つまり、行動 は推定すべき潜在変数ではなくて、生成モデルの一部である事前分布 を特定するパラメーターと捉えるべきなのだ。(「パラメーターとして扱うこと」の意味については、Sec.2-4を見直してほしい。)

そこで図4-4Aで表示した因子グラフは、行動 を生成モデルのパラメーター(白四角)として表現している。

EFE4_04c.png

図4-4: 過去の行動を付加した生成モデル(2)


つまり生成モデルは以下のように書くことができる(図4-4B)。

図4-2についての生成モデルの式(4-1)と比べて、生成モデルの変数に が入ってないことがわかる。その代わりに、 がパラメーターであることを明示するために という表現をしている。

また、今回の生成モデルでは、 のそれぞれについてべつべつの生成モデルがある。つまり、事前分布 の部分を必要に応じて差し替える必要がある(図4-4B)。この点でも図4-3Bの生成モデルとは異なっている。あちらでは の部分に潜在変数 とその事前分布 が入力するので、ひとつの生成モデルの中で、 の両方を計算する必要がある。

生成モデル を特定するパラメーター(図4-4B)自体はさきほどの図4-3Bと同じものを用いているが、上記の違いによって、計算される などは異なってくる。

また、推測 のほうは以下のように書く。

形式上は図3-2とまったく同じになった。あとは を0-1で動かして推定してやればよい。

[4-3-2. 変分自由エネルギー の設定]

この場合の観測データは 、潜在変数は となるので、VFEの式は以下の通りになる。

となる。KLDの中身の は図4-3Bおよび式(4-4)からわかるように、 には依存しない。

Surprisalの中身は となっていて、式(3-3)および式(4-3)とは変わりない。しかしこれを計算するためには、 というように同時確率の周辺化が必要になるから についてそれぞれ別に作る必要がある。よって、式(4-3)でのsurprisalとは違う結果になる。つまり、行動 を潜在変数として捉えるか、パラメーターとして捉えるかは、実際のVFEの計算自体に影響を及ぼす。

にとって がパラメーターになっている、つまり別々の に対して別々の値が出てくることを示すために、それぞれの の中に表記している。こちらは生成モデル の中身の場合とは違って確率ではないので、この表現で正しい。

[4-3-3. 変分自由エネルギー の最小化]

Agentは を変えることによって を下げることができる。今の例では を0-1まで変化させることによって、すべての可能な を網羅できる。それではSec.3-2-3の図3-3と同じ要領で、スイッチと照明の例について、VFE, Surprisal, Bayesian surpriseをプロットしてみよう(図4-5,図4-6)。

EFE4_05c.png

図4-5: VFEの最小化 (a=1: スイッチオン)


EFE4_06c.png

図4-6: VFEの最小化 (a=2: スイッチオフ)


まず図4-5が、つまりスイッチオンにしたときのVFEの最小化。観測データとして (明るい)、 (暗い)のそれぞれで を最小化している。どちらも の初期状態は事前分布 で決まるから、 では からスタートしている。

図4-5Aのときは、スイッチオンしたら明るかったわけで、照明がオンであるという推測は初期状態 0.8からより高くなって0.98になった。いっぽうで図4-5Bでは、スイッチオンしたのに暗かったわけで、照明がオンであるという推測は初期状態0.8から0.45へとかなり下がってる。その気持わかるなー。

図4-6が、つまりスイッチオフにしたときのVFEの最小化。大まかには図4-5のときと左右ひっくり返した感じになっているが、生成モデルを確認してもらえばわかるように、完全に左右対称ではない。

以上をまとめてテーブルにすると以下の通りになる。

初期状態 VFE最小化 初期状態 VFE最小化
0.8 0.985 0.8 0.457
VFE 1.1219 0.6215 1.8723 1.5146
Bayesian surprise 0 0.2396 0 0.4133
初期状態 VFE最小化 初期状態 VFE最小化
0.2 0.800 0.2 0.050
VFE 3.5219 2.3219 0.5236 0.3219
Bayesian surprise 0 1.2000 0 0.1355

テーブル1: VFE最小化のまとめ


そういうわけで、やってることは図3-3とほとんど同じであることがわかる。でもこれが次のサブセクション4-4でexpected free energyを計算するときの題材になるので、この図に再訪することになる。


[4-4. 行動あり、未来の状態 と未来の感覚入力 の推定(1)]

[4-4-1. 生成モデル と推測 の設定]

ここまでくれば、現在の行動 とその直後の外界の状態 および感覚入力 についての生成モデルを作るときには、はどのようになるか想像がつくだろう。図4-4Aから、時間をずらしたものを作ってみた(図4-6A)。

EFE4_07c.png

図4-7: 現在の行動計画の因子モデルと生成モデル


これでいいかというと、ひとつ考慮しなければならないことがある。未来の感覚入力 は観測データでいいのだろうか? はまだ観測されていないのだから。

でもここで考えてほしいのだけど、もし未来の感覚入力 が潜在変数だとしたらすべてが潜在変数になってしまう。観測データがないのだから、推定のしようがない。これじゃあ部分観測マルコフ決定過程POMDPではなくて、無観測マルコフ決定過程NOMDPだよ。エスパーか!

ここで二つの方法がありうる。一つは観測データとして現在および過去の感覚入力 を使うというものだ。これはのちほど紹介するSchwöbel et. al. 2018論文およびParr and Friston 2018論文でとった方法だ。もう一つがFriston et. al. 2017論文で使われたように未来の感覚入力 を観測データとして捉える、ただしcounter-factualな観測データとして捉える、というものだ。いまは後者について説明する。

概念整理のために図4-8のように考えてみる。潜在変数と観測データに加えて、factualかcounter-factualかという軸を考慮する。未来の感覚入力 はcounter-factualな観測データだ。よってこれまでに出てきたものと扱いが異なる。いっぽうで、未来の外界の状態 のほうはcounter-factualな潜在変数だが、潜在変数についてはfactualだろうがcounter-factualだろうが推定するだけなので、扱いを変える必要がない。

EFE4_08b.png

図4-8: [潜在変数/観測データ]と[factual/counter-factual]の軸


それではあらためて、図4-7Aの因子グラフについて生成モデルを作ってみると以下のようになる(図4-7B)。

さきほども書いたように、 は事前分布 の形を決めるパラメーターだ。よって はcounter-factualな行動選択 ごとに、 と別々に定義する。観察モデル のほうは に依存しない。

また、推測 のほうは以下のように書く。潜在変数は ひとつだけだから、形式的には図3-2の現在の外界の状態を推定するのと同じ形になる。

[4-4-2. 変分自由エネルギー の設定]

この場合の観測データは 、潜在変数は となるので、VFEの式は以下の通りになる。

式(4-6)と同様に、KLDの中身は に依存しなくて、surprisalの中身は に依存する。

ここまでは図3-2の現在の外界の状態を推定するのと同じ形だが、これでは終わらない。なぜならこの式に入っている はcounter-factualな観測データなので、実際には一つには決まってないからだ。そこでこのようにして定義された をさらに ごとの期待値で足し合わせてやる必要がある。これが期待自由エネルギーEFE だ。仮にこの期待値を で表しておくと、

4行目にあるように、最終的には の中身について の両方で期待値をとることになる。(なお、2行目から3行目のところでは、 を使ってる。)

この式(4-10)がNeural Comput. 2017のp.10で定義されているFristonの期待自由エネルギーの式だ。(表記に関しては、この文書の表記法を用いているが。)

[4-4-2’. 期待値の重みについて詳しく]

では実際にこの期待値 の部分を計算するにはどうすればよいか。とくに、 は実際のところなにか? Neural Comput. 2017のp.10によれば、このように書いてある。(表記は現在の文書に合わせてる。)

そういうわけで、まず未来の外界の状態 の推定 をしておいて、それに生成モデルのうち観察モデルの部分 を掛け算してやって についての推定を作っている。

よって実際の計算では、期待値として掛けるべきものは であるとわかった。式(4-10)の 部分を加えて書き直すと、以下が期待自由エネルギー の式となる。

じつはここでFriston et al 2018ではさらにもう一段階近似を行っている。

また、Friston et. al. Cognitive Neuroscience 2015のp.192では以下の通りに書かれている。

これらは何を意味しているかというと、式(4-11)の の部分さえも現在の観測データ から作っているということだ。現在の生成モデルおよび照明の例では過去のことは考えていない。ここでは話を簡単にするために、 に加えて、遷移モデル を仮定する。これで として計算することにする。これはFriston et al 2018やKatahira et al 2018で採用されている方法。

ただしこの文書の方針は、「単純な例は用いるが近似はなるたけ用いない」というものだった。以下の照明の例では、 の近似を使わずに によって動かした計算も行う。じっさいやってみてわかったのだが、 を動かすと、 ごとに最小化することができる。


2019年04月22日

自由エネルギー原理入門(3/7): Sec.3 実例を元にvariational FEの定式化について考える

最新版のPDFファイルが最後のエントリ:「自由エネルギー原理入門(7/7): 「Sec.0 自由エネルギー原理を数式無しで説明する」を追加」にあります。このPDFファイルを最新版としますので、これから読む方にはPDFファイルでの閲覧をオススメします。


Sec.3 実例を元にvariational FEの定式化について考える

[3-1. 蝶と蛾の認識の例:世界設定]

ふたたび実例を用いてイメージしやすい形を説明をしてゆくことにしよう。私の以前のスライドで使った、蝶と蛾の認識の例を使って説明してゆく。こういう例だ。左下を見ていたら右上になにかあるので目を向けてみたら蝶がいた(図3-1A)。認識とは他の可能性を排除することだ。この場合、目を向けたら蛾がいる可能性もあったけど、そうではなかった。

この世界は図3-1Bのように単純で、感覚入力 は3通り、これらの感覚入力をサンプルする行動 は2通り、そこから推定される外界の状態 は2通りだけになっている。

EFE3_01.png

図3-1: 蝶と蛾の認識の例:世界設定



[3-2. 行動なし、現在の状態 の推定]

[3-2-1. 生成モデル と推測 の設定]

では図2-2のうち、行動 なし、時間は現在だけ、という生成モデル を考えてみよう。このときの生成モデルは因子グラフを用いて表現すると以下の通りになる(図3-2A)。

EFE3_02.png

図3-2: 行動なし、時間は現在だけ


このとき生成モデル のグラフ構造を考慮した式は以下の通り。

図3-2Bに現在の設定での生成モデルのパラメーターを表示した。事前分布 からすると、視野の中には蝶がいる確率( )が蛾がいる確率( )よりもちょっと高くなっている。また、観察モデル によると、蝶がいる場合は の感覚入力をサンプルしている可能性が一番大きい。蛾がいる場合は の感覚入力をサンプルしている可能性が一番大きい。感覚入力 のときは蝶なのか蛾なのか曖昧っぽい。でもこれについてはtrue posterior を計算してみないとわからないが。

つぎに推測 について考える。潜在変数は のみだから、推測は となる。ここから推測 の形を変えることでVFE を下げることを定式化してゆくのだけど、 の形を変えるというのは汎函数(functional)の概念が入ってきてややこしいので、 という確率分布の形を決めるパラメータ を使って表記することにする。

つまり、 としておけばもう片方の も決まるので、 の分布の形 ひとつで表現できる。この を0-1の範囲で動かしてみる。

[3-2-2. 変分自由エネルギー の設定]

では図3-2の設定の場合の の式はどう書くか。これはsec.1で用いたものと同じ構造だ。Sec.1の式(5)に、観測データ=現在の感覚入力 と潜在変数=現在の外界の状態 を当てはめてみれば、 は以下のように定義できる。

今の段階では行動 のことを考えていないので、 を変えることはできない。だから のみの関数で、Surprisalは定数だ。

[3-2-3. の最小化]

Agentは を変えることによって を下げることができる。今の例では を0-1まで変化させることによって、すべての可能な を網羅できる。それではSec.1の図1-3と同じ要領で、VFE, KLD, Surprisal, Bayesian surpriseをプロットしてみよう。(Sec.1で使ったmatlabのコードを多少改変すればこの図を作ることができる。練習問題としてやってみるとよい。)

EFE3_03b.png

図3-3: 行動なし、時間は現在だけの場合のVFEの最小化


図3-3Aは感覚入力(観察データ)が だった場合、図3-3Bは感覚入力(観察データ)が だった場合を示す。( は省略するが、どういう形になるかは想像がつくだろう。)

図3-3A,Bどちらともに、 の初期状態として を用いている。そこからそれぞれ になる値へと向かっている。感覚入力 の場合、 でKLD=0となり、VFEが最小化する(2.32 bits)。感覚入力 の場合、 でKLD=0となり、VFEが最小化する(1.32 bits)。これらはそれぞれtrue posterior を正しく推定できている。

直接計算によるtrue posteriorはそれぞれ以下の通り。

[3-2-4. の最小化ができたときの近似]

式(3-3)において となるような を見つけることができたとき、

が成り立つ。繰り返すが、 は観察データなのでこれを変えることはできない。将来的に行動によって、サンプルされる感覚入力 を変えることはできるが、そのときは もゼロでなくなってしまう。よってこの式だけから行動について考えることはできない。ではどうすればいいかというと、そこで期待自由エネルギー が出てくる。その話はまた後ほど。

変分推定はふつう近似をするために用いられるものだが、今は原理的な話をするために、推測 を好きに変えることができることにした。つまり得られるものはtrue posteriorを直接計算するのと同じだが、それを を下げるという回り道をして計算していることになる(Gershman 2019)。


[3-3. 行動なし、現在と過去の状態 の推定]

[3-3-1. 生成モデル と推測 の設定]

つぎはこの行動なしのモデルで、時間を1ステップ進めてみよう。現在は になった。このときの生成モデルの因子グラフは図3-4Aのようになる。

EFE3_04.png

図3-4: 行動なし、時間はtからt+1に進んだ


新たに観測値 が追加された(灰色丸で表示)。外界の状態 は直前の状態 から影響を受ける。これは生成モデルのうち、 の遷移モデルとして記述されている(図3-4B)。これはもし なら、 だし、もし なら、 だという、外界の状態の恒常性のモデルになっている。

(完全に単位行列にしていないのは、計算上0が入るとKL距離が無限大になったりしてややこしいからだ。本当はKL距離においては、分母が0なら分子が0になっていないといけないのだが、それは現状では守られていないので、場当たり的な処置をしている。自然は真空を嫌うらしいが、KL距離は0を嫌う。)

時点 における観測モデル は時点 における観測モデル と同じにしてある。同じ過程については時間に依存しないのが自然だろう。

よって、生成モデルは式(3-6)のとおりとなる。

推測 はあらたに も推測する必要があるので、潜在変数二つを推測することになる。

となる。ここで ではないことに注意。あらたな観測値 によって過去の状態 もアップデートすること(post-diction)を想定しているからだ。

あと、推測 のパラメーター は以下のように3つのパラメーターからなっている。

あり得る の全ての組み合わせ4通りのうち、3つのパラメーターを決めれば、合計で1になるので、残りの一つは自動的に決まる。

であることにも注意。 という表記は が独立して動かせることになってしまう。それは平均場近似 を仮定していることになるのでここではやらない。いまの説明ではなるたけexactな方法を行う。われわれが扱っているのは気体じゃないんだから、平均場近似が使える保証はなんてない。最近はFristonのグループからもグラフィカルモデルの因子間での相関を扱えるベーテ近似を使う論文が出てきている。

[3-3-2. 変分自由エネルギー の設定]

それではこのときの を定義してみよう。観測データ=過去と現在の感覚入力 と潜在変数=過去と現在の世界の状態 を当てはめてみれば、以下の通りとなる。

うわあ、なんだか凄いことになっちゃったぞ。今回はKL距離の変数部分が の同時確率になっているので、 がとりうるすべての組み合わせ(4通り)について和を取っている。( で和をとってから で和をとったりするのも、平均場近似の仮定を使っていることになるのでそれはやらない。)

[3-3-3. の最小化]

それでは蝶と蛾の例で、 に感覚入力 をサンプルして、 に感覚入力 をサンプルした場合について考えてみよう。本当はこの から の時間の間にサッカードをして、外界の状態の恒常性を保ったまま、違った感覚入力をサンプルしたことになるのだけど、行動については後ほど行う。

まず比較のために、[3-2]でモデル化したように、時点 に感覚入力 をサンプルして外界の状態 を推定したもの、そしてそれとは独立に時点 に感覚入力 をサンプルして外界の状態 を推定したものを図示してみる(図3-5)。

EFE3_05b.png

図3-5: 時間tとt+1で別々に推定


時点 での「蝶がいる」 の確率(true posterior )は0.6 だったが、時点 では「蝶がいる」 の確率(true posterior )は0.9 になった。 でよりinformativeな感覚入力 をサンプルしたことによって推定がアップデートされたわけだ。

では、今回のモデル(図3-4)で現在と過去の状態を推定するものではどうなるだろうか(図3-6)。

EFE3_06b.png

図3-6: 時間tとt+1を繋げて推定


時点 での「蝶がいる」 の確率(true posterior )が0.6であるのに対して、時点 では「蝶がいる」 の確率(true posterior )は0.92 になった。さっきよりも少々大きくなっている。情報の蓄積の効果があるということだ。

でもそれだけではない。 で感覚入力 をサンプルしたことによって時点 での「蝶がいる」 の確率(true posterior )も0.92 になった。つまり、過去にさかのぼって、当時の認識をアップデートさせたのだ。しかもその当時の推定は0.6だったのに。つまり、postdictionをモデル化することができているというわけだ。

この説明でわかるように、これはFEPの手柄ではなくて、ベイズのグラフィカルモデルを採用したことによる。グラフィカルモデルでtrue posteriorをexactに計算する方法において、このように因果グラフを から へと逆向きに情報が伝搬してゆくことを計算できる。これが確率伝搬belief propagationというものだ。

確率伝搬の過程は因子グラフで計算されたそれぞれの変数の確率が互いに影響を与えながら収束してゆく過程であり、この生成モデルの同時確率が収束する過程は自由エネルギーの最小化として表すことができる。あーそーゆーことね 完全に理解した(<-わかってない)

(追記)調べてみた。確率伝搬での自由エネルギーはベーテ自由エネルギーといって、変分自由エネルギーとはべつものだった。Fristonグループの論文ではde Vries and Friston 2017がactive inferenceの因子グラフについて議論している。そこでbelief propagationについてのベーテ自由エネルギーの最小化を、active inferenceとは別の自由エネルギーの定式化として言及している。両者の数学的な関係については何も言ってない。ベーテ自由エネルギーのほうは F = U - H と書いたうえで、Uが内部エネルギーとして意味のある形になっているので、物理的な自由エネルギーとの対応という意味では、こちらのほうが大事っぽい。

[3-3-4. の最小化ができたときの近似]

こうしてagentは をアップデートすることによって を最小化することができる。 となるような が見つかるとき、

が成り立つ。これを時刻tのときの値と比較してみよう。

式(c3)を変形して式(6)を代入すると、

となる。つまり、 でないかぎり、 が成り立つ。

図3-6の例を見直してみれば、たしかに、surprisalは時点 から で から に増えていた。単純な例ではあるけど「FEPに従うとFはどんどん小さくなる、そして最終的には完全平衡状態、つまり死に至るのだ」なんてことは無いということがわかる。時間経過に伴って観察データの数が増えてゆくので、過去の推測も加味した場合の は増えてゆく一方だ。むしろ、最適なperceptionをすることによって の増加を食い止めている、というのが実情だといえよう。なお、いまの単純なモデルでは忘却を考慮に入れてないのでsurprisalの項は増えてゆく一方だが、完全な記憶が無い場合には、surprisalの項は時間的になんらか定常状態になることが想像できる。


[3-4. 行動のモデルの一歩手前:推測 の代わりに感覚入力 を変える]

サブセクション3-3では、時刻 に感覚入力、時刻 に感覚入力 が与えられるという状況だったが、これがすでに行動のモデルの一歩手前まで来ている。図3-5で扱った、時刻 と時刻 を独立した扱うもの(post-dictionなし版)についてもう一度考えてみよう。

時刻 では感覚入力 (右上になにかあるっぽい画像)が与えられて、そのとき外界の状態の推定()は「蝶がいる」 で「蛾がいる」 だった(図3-3A)。次に時刻 では感覚入力 (右上に蝶がくっきり見える画像)が与えられて、そのとき外界の状態の推定()は「蝶がいる」 で「蛾がいる」 だった(図3-3B)。このシークエンスを時刻 から時刻 で視線を右上に動かした結果として捉えて直してみる。

式(3-3)の の式は のみの関数だった。これは感覚入力 がすでに与えられた観察データであり定数であるからだった。でも未来の感覚入力 なら行動(視線を右上に動かす)によって変えることができる。そのように考えて の式を 未来の感覚入力 の関数と捉えてみると式(3-13)のように書ける。

これで を下げるためには を変えるだけでなく、行動によって未来の を変える方策もできた。図3-7Aにあるように、時刻 では感覚入力として が与えられている状態で、 から に動かすことで になって を最小化した(1)。そこからさらに を下げるためには を固定して、 を変える方策がある。もし をサンプルした場合には(2)のように を下げることができて、さらに(3)のように まで動かすことによって を下げることができる。

EFE3_07d.png

図3-7: 感覚入力sを変えることでFを下げる


しかしagentができることは正確には を変えることではなくて現在の行動選択 (左下を固視)または (右上を固視)なので、 の両方の可能性がある。もし をサンプルした場合にはわずかではあるが は大きくなってしまう。(最終的には(4)によって を下げることはできるのだが。)

(2)でなにをやっているかもう少し説明してみよう。 になったからsurprisalを下げるような を選択すれば良いと思うかもしれないが、そうはいかない。なぜなら式(3-13)のとおり、 の関数なので、 を保ったままSurprisalを下げることはできないから。

そこで代わりに下のBayesian surprise + Uncertaintyの式を使う。Bayesian surpriseは に依存しないので、Uncertaintyが下がるように を変えてやれば、現在の をさらに低くすることができる。

このことは、 についてUncertaintyをプロットしてみるとより明確になる(図3-7B)。 を固定して、 を変えると、 ではUncertaintyが下がるが、 では上がる。Bayesian surprise(緑)は に依存しないので、 の違いはUncertaintyの違いに等しい。

以上の考察から、VFEの枠組みでは、行動選択は未来のUncertaintyの値の評価によって決まるらしいということがわかる。このことがのちほど4-4-10で議論する期待自由エネルギー の見直しという点で関わってくる。

このサブセクションでは、行動 をモデルに組み込む一歩手前の簡易的な説明を行った。行動とは感覚入力を変えることであるという直感から、VFEの式でも行動の説明ができそうだということを示した。行動についてのより正確な取り扱いは次のSec.4で行う。


2019年04月21日

自由エネルギー原理入門(2/7): Sec.2 自由エネルギー原理の前提、世界設定

最新版のPDFファイルが最後のエントリ:「自由エネルギー原理入門(7/7): 「Sec.0 自由エネルギー原理を数式無しで説明する」を追加」にあります。このPDFファイルを最新版としますので、これから読む方にはPDFファイルでの閲覧をオススメします。


Sec.2 自由エネルギー原理の前提、世界設定

[2-1. 前置き]

さてこれからがいよいよ本番、自由エネルギー原理(Free energy principle, FEP)についての説明を行ってゆく。FEPはUCLのKarl Fristonが提案している、知覚と行動と学習の統一原理だ。2005年のPhilos Trans R Soc Lond B Biol Sci.論文から始まって、現在まで理論的にも進歩を続けている。このうちの最新バージョンがFriston et. al. Cogn Neurosci. 2015で提案されるようになったものだ。

この最新バージョンでは、自由エネルギー原理FEPはこれまでに用いられてきた連続的な時間での表現とは別に、部分観測マルコフ決定過程POMDPにもとづいた離散的な時間で表現されるようになった。これによってFEPによれば、われわれagentは「現在の外界の状態を推測する際の(情報理論的)変分自由エネルギー (variational free energy VFE)を最小化するように知覚する」だけでなく「未来の外界の状態を推測する際の(情報理論的)期待自由エネルギー (expected free energy EFE)を最小化する行動を選択する」というように、我々の知覚と行動が定式化されるようになった。

この文書の以下のパートでは、この期待自由エネルギー をどのように導いているかについて、以下の論文を参考にまとめてみた。Fristonの論文では省略されているような、式の導出における前提について、なるたけ詳しくまとめてある。これだけ詳しいものはないのではないかという自負はあるが、それゆえに独自解釈になっている可能性もある。いったんこの文書を理解したならば次は原著論文の方に当たっていただきたい。

References

  • Friston et. al. Cogn Neurosci. 2015 EFEの初出。
  • Friston et. al. Neural Comput. 2017 EFEについてのスタンダードな記述。
  • Schwöbel et. al. Neural Comput. 2018 Predicted free energyの概念の提案。
  • Parr and Friston bioRxiv 2018 Generalized free energyの概念の提案。
  • Gershman arXiv 2019 VFEとEFEについての的確な整理。
  • Katahira et. al. PsyArXiv 2019 単純な例によるEFEの計算とretrospective surpriseの概念の提案。

[2-2. 自由エネルギー原理における世界設定]

この説明では、単純化した世界設定を用いるが、式変形においてはなるたけ近似は使わない(近似の導入をなるたけ遅らせる)という方針で行く。記号は私の以前のスライドにあるものを踏襲する。(マルコフ意思決定プロセスで使われるobservation とstate や機械学習で使われるobserved variable とhidden variable ではないので、置き換えて読んでほしい。)

本説明ではどのように および を計算するかだけを取り扱う。じっさいに生物が および を下げてゆく過程(微分方程式が必要な部分)についてはsec.1の最後で少々言及したが、以降は扱わない。

まず基本的な設定から説明しよう。

EFE2_01.png

図2-1: 基本的な設定


われわれagentは外界の中に存在していて、感覚入力 と行動 を通して外界とつながっている(図2-1A)。現在観察している感覚入力 は世界の状態 から因果的に引き起こされる。Agentは世界の状態 には直接アクセスすることができない。Agentは行動 によってこの を変えることができるし、 を変えて、その変化を への変化として観測することもできる。このようにして、外界のうち、agentとの相互作用に関わっている部分が「生成プロセス」だ。

[2-3. 生成モデル と推測]

Agentはこの生成プロセスを持っているのではなくて、それを経験から学習した「生成モデル」 を持っている。生成モデルは外界にある生成プロセスと同様に の間での因果関係のグラフ構造として表現される。このグラフ構造は

と条件付き確率の掛け算として書くことができる。図2-1Aにある矢印の関係ををより明確にするために、図2-1Bでは因子グラフ(factor graph)を使って黒四角で表示している。つまり生成モデルの本体とはこのような変換器 であり、中に入っている変数 はまだ特定されていない。

(このことを明示するためには と大文字 で表記して、特定された値と区別することもできる。ここでは式(1)の表記を使う。)

( は生成モデルのことを指し、一般的な確率 はべつものとして表記する。)

さらにagentは、時々刻々変化する についてその時その時の推測 を同時確率として持っている。つまり点推定ではなく、不確定性込みで確率的な表現をしている。推測 はただの同時確率であり、生成モデル のような因果的グラフ構造は持ってない。

Sec.1でも書いたように、推測 とはtrue posteriorを推定するapproximate posteriorであるので、 の中身は潜在変数が入る。よってじっさいの の変数は、生成モデルのうちなにが潜在変数であり、なにが観測データであるかによって決まる。

(POMDPなどの強化学習の文脈では、 を信念beliefと呼ぶけれど、ここでは知覚も含めるので「推定」と呼ぶことにする。)

Agentはイマココの潜在変数( のどれか)を推測するように その同時分布(=推測 )を時々刻々アップデートさせてゆく。

このようにして、脳の中で行っていること(図2-1A)を生成モデル と推測 とに分けたうえで(図2-1B)、その間で定義される変分自由エネルギー と期待自由エネルギー を最小化するように の分布の形をアップデートさせることが知覚( の推定)であり、行動選択( の推定)である、というのが自由エネルギー原理だ。ではどうやって, を定義するか。これがこの文書のメイントピックなので、これから順を追って説明してゆく。

なお、推測 だけでなく生成モデル を変えることによって自由エネルギーを下げることはできるが、ここでは考慮しない。つまり生成モデル は時間によっては変化しないものとする。本当は学習などによって変化しうるけど、話を簡単にしておきたいので。

[2-4. このモデルの含意]

脱線、というかある意味こちらが本題として、このモデルの含意、というか世界観についてコメントしておきたい。

正確を期すならば、ほんとうは外界がこのような因果グラフであるわけではない。あくまでagentが認識によって外界を切り分けて、因果で繋いだものを生成モデルとして持っているだけだ。外界はもっと多様で、その中で生成モデルとして切り分けることができたものを外界に投射し直したものが生成プロセスである、というほうが正しいだろう。人間には人間の、カエルにはカエルの生成モデルがある。

そういう目で見ると、推測 と生成モデル というのは、外界を という「対象」を切り分けてきたのが推測 であり、 を繋ぐ「プロセス」を切り分けてきたのが生成モデル である、という整理ができる(図2-1B)。つまり、推測 には因果グラフの矢印はないし、生成モデル は逆に矢印だけであって、中身の は推測 が決まるまでは空っぽだ。これは以前私が書いたブログ記事での、ベイトソン(さらにデビッド・マー)がいう「表象」と「プロセス」そのものであることがわかる。

生成モデル を関数と捉えるならば、推測 がそこに代入される変数だと言える。たとえば生成モデルが1次関数 として記述される場合には、推測 とは のことだ。では関数のパラメーター(ここでは )は何になるだろうか?それが生成モデルのそれぞれのパーツを特定する行列のことだ。(たとえば図1-1Cでの事前分布をきめる および観察モデルをきめる ) これらは学習によってゆっくりと調整されうるstateだから、生成モデルである黒四角に入力するstateとして、生成モデルから追い出すことができる。同様に、生成モデルがなんらかの確率モデルとして記述される場合であればその形を決めるハイパーパラメータがある(たとえば正規分布なら平均 と分散 についての事前分布 、そしてどの確率モデルを採用するか、たとえばガウス分布なのかそれとも別のものか、の情報)。これらも生成モデルへ入力するstateと捉えることができる。このようにして生成モデルの中からstateを呼ばれうるものをどんどん外に出してゆけば、生成モデルの実体とは、どのstateを入力して、どのようにその入力を組み合わせた演算をして、どのstateを出力するか、という矢印の結節点という「関係」だけが残る。

(この説明には図が必要。)

以上のことからも、agentが内部に外界を構成する(弱い意味での表象)をする際には、推測 と生成モデル の両方が、リアルタイムで必要であるということがわかる。つまり、推測 とはイマココのstateについての推測であり、生成モデル とはイマココのprocessについての推測であるのだ。 これは神経回路学会誌の「自由エネルギー原理と視覚的意識」で書いた議論を補強するだろう。

以上。それでは話を本題に戻す。

[2-5. この文章の最終目標: 現在、過去、未来を統一的に捉えた説明]

図2-1に示した生成モデルには時間が入っていなかった。生物の知覚と行動をモデル化するためには時間を考慮した生成モデルが必要だろう。そこで図2-2には現在、過去、未来を入れた最小限の生成モデルを考えてみる。(それでも複雑なので、ここでは因子グラフではなくて、因果グラフで表示してある。)

EFE2_02.png

図2-2: 時間を考慮した生成モデル


話を簡単にするために、現在、過去、未来 の3つの時点だけを考える。部分観測マルコフ決定過程POMDPを仮定しているので、離散的な時間で、直前の状態のみから現在の状態が決まる。そして現在及び過去の感覚入力 だけが観察データで(灰色丸で表示)、あとはみな潜在変数(白丸で表示)として推定する必要がある。

現在観察している感覚入力 に基づいてその原因となる外界の状態 は直前の状態 と以前の行動 から決まる。つまり自分のstateというものを持っている。それに対して感覚入力 はそのときの外界の状態 と直前の行動 によってそのつど因果的に決まる。つまり感覚入力 は自分のstateを持っていない。(なんだか仏教の知覚感を模しているかのようだ。)

この文書の最終目的は、このような現在、過去、未来を統一的に扱う自由エネルギー原理の式を導出することだ。たとえばそれはSchwöbel et. al.のNeural Comput. 2018で扱われている。でもいきなりでは難しいので、次のセクション3では、この生成モデルのうち、部分部分を切り取ったうえで、それぞれどのようにモデル化してゆくかを順番に見ていくことにする。


2019年04月20日

自由エネルギー原理入門(1/7): 変分自由エネルギー VFEの定義

今年の生理研研究会は「認知神経科学の先端 脳の理論から身体・世界へ」と題して、自由エネルギー原理(Free-energy principle, FEP)をテーマに9/2に開催。これに先立つ8/31-9/1には「脳の自由エネルギー原理チュートリアル・ワークショップ」というタイトルでFEP入門のためのレクチャーとハンズオン。

これらに向けてFEP入門の資料を作りました。今日はその第1回。「Sec.1 変分自由エネルギー VFE の定義、基礎」です。これから数日かけて連続してポストして、最終版はPDFでアップロードします。これを使って予習してみてください。

参加募集開始は連休明けの予定。もう少々お待ちください。

最新版のPDFファイルが最後のエントリ:「自由エネルギー原理入門(7/7): 「Sec.0 自由エネルギー原理を数式無しで説明する」を追加」にあります。このPDFファイルを最新版としますので、これから読む方にはPDFファイルでの閲覧をオススメします。


[Sec.1 変分自由エネルギー VFE の定義、基礎]

このセクションでは、変分自由エネルギー VFE について、教科書的な定義と基礎についてまとめてみた。ちゃんとした説明のためには「パターン認識と機械学習(PRML)」の10章とかの機械学習の教科書を読んでみてほしい。

だいたい知っている人のためにまとめておくとこのとおり:以降のセクションを読むために理解していほしいことはたった二つだ。(a) 変分推定を使うためには、問題となっている状況の生成モデルがどういう構造になっているかを因果グラフ、因子グラフを用いてきっちり決めてやる必要がある。(b) そのうえで、変分自由エネルギー を定義するためには、なにが観測データで、なにが潜在変数を理解して、あとはそれは式(5)に代入すれば一意に決まる。

[1-1. ベイズ推定とは]

そもそも変分自由エネルギー variational free energy VFE とはなにかというと、変分推定を行うときに使われる値だ。変分推定というのはある種間接的な推定法なので、それの前にもっと直接的な推定(ベイズ推定)について説明する。ベイズ推定というのは確率論的な推定法だ。

まず問題設定はこうだ。観測データ ( :窓ガラスが濡れている or :窓ガラスが濡れていない)と 潜在変数 ( :外は雨が降っている or :外は雨が降っていない) がある。いま窓ガラスが濡れている、を観測した()。このとき外が雨が降っている確率 を推定したい。これだけだと問題の解きようがないから、潜在変数 (雨が降っているかどうか)という原因が観測データ (窓ガラスが濡れているかどうか)という結果を引き起こすときの関係を、これまでの経験から、両者の同時確率 として持っている。この同時確率のことを生成モデル と表記する。

EFEc01.png

図1-1: 窓ガラスYから降雨Zを推測する


このときの潜在変数 と観測データ の因果関係を有向グラフで表したのが図1-1Aの因果グラフ。両者をつなぐ関係が生成モデル となっている。生成モデルは同時確率なので、具体的な例としては図1-1Cのような2x2の行列で表すことができる。同時確率なので、4つのセルの確率を全部足すと1になる。

しかし図1-1Aでは生成モデル および に対する関係がよくわからないので、それを明示したのが図1-1Bの因子グラフ。このような表現にすると、生成モデル は の事前分布である から を生成する観測モデル に分けることができる。こうすると図1-1Cにあるように、生成モデルの意味もわかりやすい。事前分布 からわかるように、そもそも雨が降る確率は低い。また、観測モデル からわかるように、雨が降ってなくても()、窓ガラスが濡れている可能性はある()。

いま知りたいのはある のときの の確率分布 だから、ベイズの法則が使える。

このようにして、生成モデル から事後分布(以下true posteriorと呼ぶ) を計算するのがベイズ推定だった。

(なお。以下のすべての説明で、総和の記号 のみで説明できる状況の話だけをする。積分記号 は出てこない。つか積分記号嫌い。)

[1-2. 変分推定とは]

しかし、式(1)は分母で全ての可能な潜在変数 で足し算をするという作業が入っている。そんな事できないときもあるし、現実的な場面での応用では生成モデル は変数が多くて計算量的に難しいという事情もある。そこで使われる近似的方法が変分推定だ。

True posterior を直接計算する代わりに、それを近似する確率分布として推測 というものを設定する。(どちらも全ての で和を取れば1になるようになってる。) 推測 の分布の形を変えて、true posterior に一致させることができれば、true posterior を計算できたのと同じことだ。

このために、推測 とtrue posterior というふたつの確率分布の近似度を計算する指標としてカルバック・ライブラー距離 (以下KL距離, KLDと略する)というのを使う。

はすでに観察されて確定している値で、 で総和をとっているから、KL距離は の分布の形だけによって決まる定数だ。もし推測 とtrue posterior が完全一致していたらKL距離は0になる。それ以外は>0となってる。(距離とはいうけど逆向きは同じ距離ではないので、式変形で の中身は交換したりとかはできない。)

[1-3. KL距離の最小化]

しかしこのKL距離が直接計算できるならいいのだが、それができるなら直接true posteriorを計算すればいいだけ。しかしKL距離を式変形すると、式(3)のようになる。(式変形では を使っている。)

左辺は観測データ が生成モデル のもとでどのくらいの確率であり得るかというevidence のlogをとったものなので、log evidence (周辺対数尤度)と呼ぶ。なお、 はただの観測データ の出現確率 では無いことに注意。いまある生成モデルに基づいてのデータの出現確率だから、尤度likelihoodなのだ。このことを明示するためにこの生成モデルに という名前をつけて、 と表示することもあるがここではやらない。そのかわり、生成モデル とただの確率 を分けて表示している。

でもって、このlog evidneceというやつはlogの中身が確率だから、かならず負の値を取る。(実際に観測されたデータだから、 にはならない。) そして右辺の第2項はKLD だから、第1項はlog evidenceよりも必ず小さい。

よって、この第1項はlog evidneceの下限になっている。そこでこの第1項はEvidence lower bound, ELBOと呼ばれる。そして変分自由エネルギー とは と単に符号逆転させただけのものだ。(ELBOはlog evidneceよりも小さいのだから、必ず負の値だ。ということは変分自由エネルギー はかならず正の値。)

[1-4. ちょっと脇道]

ちょっと脇道。といいつつここからが面白い。以上のことからわかるのは、以下のリストが全部同じことだという点だ。
  • (1) ベイズ推定をする
  • (2) true posteriorを計算する
  • (3) 推測 をtrue posteriorに一致させる
  • (4) KL距離を0にする
  • (5) ELBOを最大化する
  • (6) 変分自由エネルギー を最小化する
  • (7) 周辺対数尤度 を最大化する

ただし、生物が扱うような複雑な状況においては、これらすべてを完全に実現することはできない。よって、どこかで近似が入ってくることになる。

自由エネルギー原理についての議論で、どれが目的でどれが結果か、どれがなにを近似しているのか、といった問題を理解するためには、この関係について考えればいい。

たとえば暗い部屋問題というのがある。自由エネルギー原理では (6) を最小化することが生物の目的だというが、それだったら、(7’) 一番ありうる観測データをサンプルすればいいのだから、暗い部屋にじっとしていればいいじゃん、という議論。でもこれは(7)の解釈が間違っている。(7)は生成モデルの元での尤度なのだから、暗い部屋という観測データの出現確率が高い生成モデルをあらかじめ獲得していない限り、これは成り立たない。(だから、冬眠する動物は暗い部屋を選ぶ。我々だって夜は暗い部屋を選ぶ。)

それよりは、ネット言論がタコツボ化することについて当てはめる方がまだ尤もらしいだろう。つまり、我々は自分の持論(=世界についての生成モデル)を持っていて、それをより補強するデータばかり観測しようとする。だからネット言論ではみな自分が聞きたい意見ばかり集めるようになって、分断はより強調されていく。これは自由エネルギー原理から説明できる。なんだってー!

あと、ベイズ脳と自由エネルギー原理の関係についてもどちらが原因でどちらが結果かは自明でない。議論A: 「(1) われわれ生物はベイズ的に情報処理をしているんだ、というのが先にあって、そのための近似法として (6) 自由エネルギー最小化 をするように脳と身体を進化せさせてきた」という議論もあれば、議論B: 「(なんらかの生物学的拘束条件から) (6) われわれ生物は自由エネルギー最小化をするようになっていて、その結果として (1) 行動や知覚でベイズ推定をしているように見えている」ということかもしれない。Friston自身は(6)を自由エネルギー「原理」と呼んだうえで、(1) をベイズ脳「仮説」と呼んでいるので、後者の議論に基づいていると考えるのが筋が通っていると私は思うのだが、Fristonの発言自体はそのつど言ってることがブレているように思う。

[1-5. 変分自由エネルギーとは]

そういうわけで、変分自由エネルギー variational free energy VFE は式(5)のとおりに定義される。

(ここまで観測データに具体例での を使ってきたが、ここからは一般性を出すために、 を使う。しかしこれまでのことからわかるように、 はすでに確定した一つのデータで、 とりうる値を全部並べた変数になっている。おなじ変数みたいに見えて別ものなのだ。慣れた人にとっては当たり前だろうけど、私はこれが馴染むまで相当時間がかかった。)

(ここでは期待値の記号として を使っている。下付き文字の期待値で重み付けして、その期待値の変数 で和をとる。たとえば というふうに。)

ここで第2項は(sensory) surprisalと呼んでいる。この値はlog evidenceの符号逆転で、必ず正の値になっている。得られた観測データが現在の生成モデルに基づいて予想外であれば、 はより小さくなるので、surprisalは大きくなる。Surprisalはシャノンのself informationとも呼ばれる。これをsurpriseと呼ぶこともあるが、次に出てくるBayesian surpriseとの区別のために、この文書ではsurprisalという言葉で統一させてもらう。

[1-6. 実例で変分自由エネルギーの最小化を見てみる]

それでは、図1-1に出した例を使って、推測 を変化させながら変分自由エネルギー の最小化をシミュレーションしてみよう。まず、先に正解をカンニングしてしまうと、図1-1の生成モデル からtrue posteriorを直接計算して、

となる。よって、 (窓ガラスが濡れている)のとき、 (雨が降っている)の確率は53%程度だ。事前分布 であったことを考えると、窓ガラスが濡れている、という観察はinformativeであったことがわかる。

では を変化させてみよう。ここで の形を変えると言ったが、実のところ、 が決まれば、 も決まる。そこでパラメーター の範囲で動かして を計算してプロットしてやる。すると図1-2のとおりになった。

EFEc03b.png

図1-2: 変分自由エネルギーVFEの最小化


の初期状態は事前分布 と等しいと考えてやれば、 からスタートするのが妥当だろう。このとき、

となっている。ここから が小さくなる方に を動かしていくと、

となる。 が最小化された状態では、 となっている。この は直接true posteriorを計算した結果の と同じになっていることが確認できた。

そういうわけで、変分自由エネルギーを最小化することで、true posteriorを近似できるということが確認できた。自由エネルギー原理では、脳はこのようなやり方で観察データ(感覚入力)から潜在変数(外界の状態)を推定していると考える。以降のセクションでは、より知覚や行動に似せた状況での生成モデルを構築して、どのように が計算されるかを見てゆく。

なお、図1-2を見れば想像がつくように、もし の曲線がlocal minimumを持っていたら、そこで停まってしまって、正しいtrue posteriorが計算できないであろうことも想像がつく。そして、もっと複雑な生成モデルではそのようなことはいかにも起こりそうだ。

[1-7. このセクションで言いたかったこと]

長々と書いてきたが、以降のセクションを読むために理解していほしいことはたった二つだ。(a) 変分推定を使うためには、問題となっている状況の生成モデルがどういう構造になっているかを因果グラフ、因子グラフを用いてきっちり決めてやる必要がある。(b) そのうえで、変分自由エネルギー を定義するためには、なにが観測データで、なにが潜在変数を理解して、あとはそれは式(5)に代入すれば一意に決まる。

ではこのセクションのおさらいを兼ねて、新しい生成モデルでこの二つの作業をやってみよう。図1-3Aではさきほどの図1-1の状況にひとつだけ要素が加わっている。図1-1Aでは、観測データ 「窓ガラスが濡れているか」、潜在変数 「雨が降っているか」の二つの要素だけがあった。図1-3Aではこれに加えて、潜在変数 として「スプリンクラーが作動しているかどうか」がある。この図ではスプリンクラーの動作は雨が降るかどうかとは無関係にしてある。(もし、雨が降ったときはスプリンクラーは動かさない、という因果関係を設定した場合には、 から への矢印も必要になる。)

EFEc02.png

図1-3: 窓ガラスYから降雨Zとスプリンクラーの動作Yを推測する


このような関係を因子グラフにすると図1-3Bになる。観察モデル は二つの入力を受けて一つの出力を出すように変わった。ゆえに、雨が降っているかいないか とスプリンクラーが動作しているかいないか の4通りの組み合わせ )について、窓ガラスが濡れているかどうか の確率を知っている、これが観察モデル だ(図1-3C)。

するとこのときのVFE を計算するためには、観察データ と潜在変数 を式(5)の中に入れてやればいい。

その結果が式(9)だ。つまり、式(5)で だったところが、 になっているだけ。つまり、複数の変数は同時確率としてカンマつけて並べておけばいい。


2019年04月11日

今年の生理研研究会は脳の自由エネルギー原理がテーマです

今年の生理研研究会は「認知神経科学の先端 脳の理論から身体・世界へ」と題して、自由エネルギー原理(Free-energy principle, FEP)をテーマに9/2に開催します。これに先立つ8/31-9/1には「脳の自由エネルギー原理チュートリアル・ワークショップ」というタイトルでFEP入門のためのレクチャーとハンズオンをやります。講師はサセックス大のChris Buckleyさん。Google ColabでPythonスクリプトいじってもらう予定です。

どちらも生理研で行いますが、別々のイベントですので、別々に申し込みが必要です。

9/2の生理研研究会の方は例年と同様の講演方式です。公募講演枠を一つ設けました。実はFEP(もしくは類似の変分ベイズ的モデルや予測符号化)を使ってる、やってるって方はぜひ応募してください。

それから8/31-9/1の「脳の自由エネルギー原理チュートリアル・ワークショップ」のほうは講師+チューターで運営していきますので人数制限があります。いまのところ20人くらいを予定してます。連休明けに参加登録開始の予定。Stay tuned!

生理研研究会の方はFEPをテーマの前面に持ってくるという意味で画期的なものかと思います。神経科学(知覚、運動、学習)、情報科学や認知心理学(AI, Alife, 強化学習、内発的動機づけ、curiosity)、精神医学(統合失調症やASD)、哲学(意識、身体性、存在感)などいろんなとっかかりがありえます。

それに加えて8/31-9/1の「脳の自由エネルギー原理チュートリアル・ワークショップ」が画期的なのは、プログラムをいじってもらうことで数式とモデルを理解して活用できることを目指している点です。私もそうでしたが、FEPに興味を持つとまずフリストンの論文やyoutubeの講演など聞いてみるわけですが、フリストンの衒学趣味と物理帝国主義と数式表示の揺らぎと省略でぜんぜん理解できなくてがっかりするわけです。わたし2012年のUCLでのコースに参加してるんですが、正直がっかりでした。

状況が変わってきたのはここ最近のことで、2017年に今回の講師であるChris BuckleyさんによるFEPについての詳細なチュートリアル論文"The free energy principle for action and perception: A mathematical review"がarXivにアップロードされました。(現在はJournal of Mathematical Psychologyに出版されてます。購読している機関からはこちらのPDFのほうが読みやすい。) この論文にはmatlabのスクリプトもついていて、シンプルな形でのactive inferenceまで(generalized coordinateも使うという意味で)省略なく説明した論文です。これにはたいへん助けられました。

さらにRafal BogaczによるFEPのチュートリアル論文"A tutorial on the free-energy framework for modelling perception and learning"が2017年にJournal of Mathematical Psychologyに出版されました。機関での購読がない方もPMCからフリーでフルテキストが入手可能です。) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5341759/… が出ました。これが神。Chris Buckleyさんの論文よりもさらに初歩的なところから、まずベイズ推定とは何か、事後分布を直接計算する方法、点推定、Fの計算、ニューラルネットでの計算、と順を追って説明してくれてます。こちらもmatlabスクリプトあり。

そういうわけで、いまからFEPを学ぼうという(情報科学以外の)人は、Bogacz 2017 からスタートして、Buckley et al 2017、の順番で行くべき。情報科学の人は変分ベイズやVAEがわかっていればそこからの類推で行けると思います。

あと、私自身のスライド「自由エネルギー原理と視覚的意識」の前半部分(p.12-71)も役に立つと思うのでぜひご利用ください。元ネタの一つがBogacz 2017です。ただし、このスライドでの説明は自由エネルギーFを下げていく過程を外から見ているだけで、どうやってFを下げているのかは一切説明してないのでご注意を。(情報理論的な式を用いてFを下がってゆく過程を見るのと、神経回路での予測符号化によってFを下げていく過程のうち、後者を混ぜないことによって、専門家でない人に向けた最小限の説明をすることを目指してます。)

そういうわけで、今回の8/31-9/1のチュートリアルでは、1) Bogacz 2017で説明されたような、最小限のベイズ推定をする回路モデルについてのレクチャーとハンズオンを行った後で、Friston et. al. Cogn Neurosci. 2015以降の論文で採用された離散時間でのFEPおよびactive inferenceのモデルについてのレクチャーとハンズオンを行う、という構想をいまChris Buckleyさんと相談しているところです。そういうわけでぜひ来てください!


あとは関連してtwitter上でつぶやいたことをまとめておきます。

いま「Friston et. al. 2015以降」と書きましたのですこし補足しておきましょう。自由エネルギー原理FEPはUCLのKarl Fristonが提案している知覚と行動と学習の統一原理ですが、2005年のPhilos Trans R Soc Lond B Biol Sci. 2005から始まって、現在まで理論的にも進歩を続けています。ざっくりとこれを分類するならば、ARAYA金井良太さんの表現を用いればver.1,2,3と分けることができます。

Ver.1は変分自由エネルギーによって知覚だけでなく行動(active inference)まで包括的に説明するようになったBiological Cybernetics 2010が知覚と行動と学習の統一原理としての、ひとまずの完成を見たものと捉えることができるでしょう。

Ver.2は行動選択の際にまだ実現していない行動とそれが世界及び感覚入力に与える結果を予想した上でその自由エネルギーを下げる(counterfactual)ことを考えたFront Psychol. 2012であると考えることができます。つまり、この時点でFEPは現在だけを考えるのではなく、未来へと時間幅を持つようになったのです。しかしこの時点では、知覚と行動の関係がまだ充分明確になっていませんでした。

Ver.3では、知覚については現在の変分自由エネルギー(Variational free energy VFE)、行動については現在の行動選択が未来の知覚にどのように影響を与えるかを考慮した期待自由エネルギー(expected free energy EFE)というように分けて扱われるようになりました。また、連続的な時間でgeneralized coordinateというものを使った定式化から、離散的な時間での定式化が加わったことによって、より理解しやすいものになりました。また、比較的わかりやすいです。また、離散的な時間での定式化は部分観測マルコフ決定過程を仮定しているため、強化学習の理論との関連もつけやすくなってきました。

そういうわけでチュートリアルにおいてはこのver.3についてのレクチャーとハンズオンまでやっておきたいというわけです。ちなみに日本語の資料として、このver.3に基づいて全脳アーキテクチャ・ハッカソンでVAEを使って実装した例があります。“Free EnergyによるAttention Control” こちらは日本語での貴重な資料かと思います。

ともあれまだ構想中で、内容は未確定ですのでその旨ご理解ください。そういうわけで、参加希望の方が何を望んでいるか知りたいです。私は神経科学や計算論的精神医学からの興味で考えているけれど、情報科学の方はもっと違う興味があると思います。ぜひ吉田までご意見お寄せください。


いまexpected free energyについての(自分なりの)入門用文書を作成しているんだけど、そうすると部分観測マルコフ決定過程POMDPについて知る必要があって、さらにそもそも強化学習についてちゃんと知っておく必要が出てきた。そういうわけで「これからの強化学習」の第1章読んでます。

ちなみにSutton and Bartoの"Reinforcement Learning: An Introduction"の第2版が著者のサイトからPDFでダウンロードできるようになっているので、ざっと調べてみたら、17章に最近の話題の一つとしてPOMDPに言及してる(p.464-468)。


Chris Buckleyさんには9/2の研究会での講演、8/31-9/1でのレクチャーと大活躍していただきます。彼のWebサイトの記載を見ていたければ、彼もFEPとエナクティヴィズムを繋げようとしていることがわかるかと思います。そういうわけで北大サマーインスティチュートの方もよろしく。

The central theoretical component will be to examine the feasibility of the assumptions of the FEP but also to address a tension at the heart of AI concerning the role of models in cognition. To what extent does utilising internal models demand the capacity for representation? Is this framework naturally at odds with strong enactivism?

あと、以前のセミナーの告知のようだけど、これとかガチでしょう。“The Neuroscience of Enactivism: Reasons why we are not just our brains” Speaker: Dr Christopher Buckley

I will finish by describing how, in agreement with the enactivist movement, this work strongly suggests we are not just our brains but who we are only rightly emerges from the interaction of our brain/body and environment.


生理研研究会の講演者の一人がARAYAのMartin Biehlさんですが、彼にはおそらく内的動機づけの話をしていただくことになると思います。論文はこちら: Front. Neurorobot., 2018 “Expanding the Active Inference Landscape: More Intrinsic Motivations in the Perception-Action Loop”

あと、動画もあります。100分。“Tutorial on comparing intrinsic motivations in a unified framework” こちら見て予習して、講演者に質問できるようにしておくとよいと思います。

さっそくトークの動画を飛ばし飛ばしで見てみました。論文の本題に入るのは30分あたり(スライド35ページ)から。けっきょくメインのパートはFront. Neurorobot., 2018のセクション7.3のところで、FEPとPOMDPの枠組みに沿って、内発的動機づけの定義を

  • Free energy minimization
  • Predictive information maximization
  • Knowledge seeking
  • Empowerment maximization
  • curiosity (a)
  • curiosity (b)

と6種類くらい列挙して評価していた。どれがいちばんいい定義だ、みたいな結論はつけてなかったような。最後に紹介してたのはこちらの論文(arXiv 2018 “Large-Scale Study of Curiosity-Driven Learning”)の模様。

あと、Martin BiehlさんはFEPを情報幾何から理解しようとしたって論文もある。こちらも知りたいけど、研究会では両方ともは時間的に無理だと思う。てっとりばやくどこで三平方の定理が使えるかだけ知りたいけど。

以前FEPの式をいじってたときに、true posteriorがKL距離で、VFEもKL距離なら、情報幾何的に三平方の定理使えるんじゃ?と色めき立ったのだけど、VFEのほうは\sum_x q(x) \ln (q(x) /p(x,s)) と分母がxの確率ではない(xとsの同時確率)のでKL距離では書けないと指摘されて、勘違いだったことを知った。


お勧めエントリ

  • 細胞外電極はなにを見ているか(1) 20080727 (2) リニューアル版 20081107
  • 総説 長期記憶の脳内メカニズム 20100909
  • 駒場講義2013 「意識の科学的研究 - 盲視を起点に」20130626
  • 駒場講義2012レジメ 意識と注意の脳内メカニズム(1) 注意 20121010 (2) 意識 20121011
  • 視覚、注意、言語で3*2の背側、腹側経路説 20140119
  • 脳科学辞典の項目書いた 「盲視」 20130407
  • 脳科学辞典の項目書いた 「気づき」 20130228
  • 脳科学辞典の項目書いた 「サリエンシー」 20121224
  • 脳科学辞典の項目書いた 「マイクロサッケード」 20121227
  • 盲視でおこる「なにかあるかんじ」 20110126
  • DKL色空間についてまとめ 20090113
  • 科学基礎論学会 秋の研究例会 ワークショップ「意識の神経科学と神経現象学」レジメ 20131102
  • ギャラガー&ザハヴィ『現象学的な心』合評会レジメ 20130628
  • Marrのrepresentationとprocessをベイトソン流に解釈する (1) 20100317 (2) 20100317
  • 半側空間無視と同名半盲とは区別できるか?(1) 20080220 (2) 半側空間無視の原因部位は? 20080221
  • MarrのVisionの最初と最後だけを読む 20071213

月別過去ログ


« 2019年03月 | 最新のページに戻る | 2019年05月 »