« 自由エネルギー原理入門(2/7): Sec.2 自由エネルギー原理の前提、世界設定 | 最新のページに戻る | 自由エネルギー原理入門(4/7): Sec.4 生成モデルに行動を含める »

■ 自由エネルギー原理入門(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で行う。


お勧めエントリ


月別過去ログ