(1) ![]()
乾敏郎・阪口豊『自由エネルギー原理入門(2021)』p.36 に「
は平均の運動に対応し,
は運動の平均に対応する」というミステリアスな一文とともに期待値についての勾配更新式(1)式が登場する.しかし,同書の文中では上式の導出について一切触れられておらず,あたかもこの一般化された勾配更新式が天から降ってきたかのような印象を与える.そこでこのノートでは,この印象的な(説明不足な?)勾配更新式(1)式とミステリアスな一文の解読を試みる.
- この一文を素直に読むと
と
は一般には一致せず,等号
が成立する経路でのみ,自由エネルギーの経路積分(変分作用)の最小化が起こる.そもそも経路積分はファインマンが量子力学を自分なりのやり方で理解するために開発したツールだった.変分作用の最小化を与える経路が量子力学的なゆらぎを持たない古典力学解と一致することを思い起こせば,等号
が成立する経路は,確率変数
の確率性を忘れて,通常の数のように扱うことが許される唯一の経路だという類推が働く. - 時間に依存する確率変数の時間微分については一般には以下の関係があることが知られている.
(2)
![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle E_{q(X(t))}[\dot{X}(t)] \neq \frac{d}{d t} E_{q(X(t))}[X(t)] \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-88a05118100fa54a33f12bf7d95ed5b6_l3.png?resize=266%2C39&ssl=1)
これを時間微分した変化量を「運動」と呼ぶフリストンの流儀にならって言い換えれば「運動の平均 ≠ 平均の運動」ということになる.逆に「運動の平均 = 平均の運動」が成り立つとき,そのような確率過程
を強微分可能な確率過程と呼ぶ.この確率過程の性質と上の一文の間にはなにか関係があるだろうか?
1. 確率変数に対する「速度」の定義
1−1. 用語の確認
まずは基礎的な用語について確認しておこう.隠れ状態
の一般化状態ベクトルを
(3) 
(4) ![]()
で与えられる(磯村拓也「自由エネルギー原理の解説(2018)」p.75 を参照).隠れ状態
と期待値
との関係をみるために成分を具体的に書くと
(5) ![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle \tilde{\mu}(t)=\left(\begin{array}{c} \mu(t) \\ \mu^{\prime}(t) \\ \mu^{\prime \prime}(t) \\ \vdots \end{array}\right)=E_{q(\tilde{x}(t))}\left[\left(\begin{array}{c} x(t) \\ x^{\prime}(t) \\ x^{\prime \prime}(t) \\ \vdots \end{array}\right)\right]=\left(\begin{array}{c} E_{q(x(t))}[x(t)] \\ E_{q(x(t))}\left[x^{\prime}(t)\right] \\ E_{q(x(t))}\left[x^{\prime \prime}(t)\right] \\ \vdots \end{array}\right) \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-52602f19b90b9fd94f3f0d9995d344b7_l3.png?resize=533%2C169&ssl=1)
となっている.次にブロック行列演算子
を以下のように定義する.
(6) ![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle \begin{aligned} D \tilde{\mu}(t) &=\left[\begin{array}{ccccc} 0 & I_{n} & 0 & \cdots & 0 \\ 0 & 0 & I_{n} & & 0 \\ \vdots & \vdots & & \ddots & \vdots \\ 0 & 0 & 0 & & I_{n} \\ 0 & 0 & 0 & \cdots & 0 \end{array}\right]\left(\begin{array}{c} \mu(t) \\ \mu^{\prime}(t) \\ \mu^{\prime \prime}(t) \\ \vdots \end{array}\right) \\ =&\left(\begin{array}{c} \mu^{\prime}(t) \\ \mu^{\prime \prime}(t) \\ \mu^{\prime \prime \prime}(t) \\ \vdots \end{array}\right)=\left(\begin{array}{c} E_{q(x(t))}\left[x^{\prime}(t)\right] \\ E_{q(x(t))}\left[x^{\prime \prime}(t)\right] \\ E_{q(x(t))}\left[x^{\prime \prime \prime}(t)\right] \\ \vdots \\ \end{array}\right) \end{aligned} \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-e427950ceb55729ba01e71475043441b_l3.png?resize=359%2C383&ssl=1)
ただし,(6)式の最後の等号の導出には(5)式を使った.ブロック行列演算子
は微分演算子のようで実は微分には関与しないことに注意しておこう.ブロック行列演算子
は一般化状態ベクトルの一つ下の成分を一つ上へ押し上げる操作を行う演算子でしかない.
1−2. 平均の運動
運動の平均
の証明
これで用語の確認ができたので,いよいよ本題に入っていこう.
まず隠れ状態
とその期待値
について,時間
を1ステップだけ進めた(ステップサイズ
:
)ときの隠れ状態
の期待値
を考える.
(7) ![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle \begin{aligned} \mu(t) &=E_{q(x(t))}[x(t)] \\ \mu(t+h) &=E_{q(x(t+h))}[x(t+h)] \end{aligned} \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-717cbbc5919ad35aaf88c612459eda86_l3.png?resize=243%2C53&ssl=1)
これを使うと「平均の運動
」の各成分を具体的に書き下すことができることをみていく.期待値の一般化状態ベクトル
の運動(時間微分)は
(8) ![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle \dot{\tilde{\mu}}(t)=\frac{d}{d t}\left(\begin{array}{c} \mu(t) \\ \mu^{\prime}(t) \\ \mu^{\prime \prime}(t) \\ \vdots \end{array}\right)=\frac{d}{d t}\left(\begin{array}{c} E_{q(x(t))}[x(t)] \\ E_{q(x(t))}\left[x^{\prime}(t)\right] \\ E_{q(x(t))}\left[x^{\prime \prime}(t)\right] \\ \vdots \end{array}\right)=\left(\begin{array}{c} \dot{\mu}(t) \\ \dot{\mu}^{\prime}(t) \\ \dot{\mu}^{\prime \prime}(t) \\ \vdots \end{array}\right) \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-25540e5269bb99cd9b2243b0f0e9a9e5_l3.png?resize=496%2C169&ssl=1)
と書ける.(7)〜(8)式より,「平均の運動
」の第1成分は以下のように書き直せる.
(9) ![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle \begin{aligned} \dot{\mu}(t) &=\frac{d}{d t} E_{q(x(t))}[x(t)] \\ &=\frac{d}{d t} \mu(t) \\ &=\lim _{h \rightarrow 0} \frac{\mu(t+h)-\mu(t)}{h} \\ &=\lim _{h \rightarrow 0} \frac{E_{q(x(t+h))}[x(t+h)]-E_{q(x(t))}[x(t)]}{h} \end{aligned} \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-cc0d111cf292698a62ad5538dabb966a_l3.png?resize=371%2C182&ssl=1)
一方,「運動の平均
」の第1成分は(6)式より
(10) ![Rendered by QuickLaTeX.com \begin{eqnarray*} & \displaystyle \begin{aligned} \mu^{\prime}(t) &=E_{q(x(t))}\left[x^{\prime}(t)\right] \\ &=E_{q(x(t))}\left[\frac{d}{d t} x(t)\right] \\ &=E_{q(x(t))}\left[\lim _{h \rightarrow 0} \frac{x(t+h)-x(t)}{h}\right] \\ &=\lim _{h \rightarrow 0} \frac{E_{q(x(t))}[x(t+h)]-E_{q(x(t))}[x(t)]}{h} \end{aligned} \end{eqnarray*}](https://i0.wp.com/hayashiyus.jp/wp-content/ql-cache/quicklatex.com-fc014def3bbb4adbdd68a39aa8716584_l3.png?resize=356%2C177&ssl=1)
となるので「平均の運動
」の第1成分
と「運動の平均
」の第1成分
が一致しないことは明らかだ(と言いつつ(10)式は(9)式との比較を明確にするためのお気持ち的展開で厳密な展開ではない点には注意).実際,各第1成分の差をとると
(11) ![]()
となるが,2つの期待値
は
とならない限り一致しないことがわかる.この(11)式は
(12) ![]()
のようにも書き直せる.この(12)式は,磯村拓也「自由エネルギー原理の解説(2018)」p.75 にある
ここでは1時刻前までの感覚入力から求めた隠れ変数の変化量の推定値である.一方で
の計算には現時刻の感覚入力から求めた尤度の勾配による補正(摂動)が加えられている.すなわち(1)式は現時刻の感覚入力を用いることによる,古い変化量推定値
から新しい変化量推定値
への更新を意味している
と書かれていることを見事に体現している.第2成分以降についても同様の「平均の運動
」と「運動の平均
」の不一致が起こるので,一般化状態ベクトル
の勾配更新式として,変分作用
の最小化を目標に,このギャップを減少させる方向に進む勾配更新式を考えると
(13) 
となって(1)式を導くことができた.このような確率的にゆらぐ変数に対する新しい種類の勾配降下法を,フリストンらは一般化勾配降下法と呼んでいる(確率変数に対する新しい種類の「速度」の定義とみても良いかもしれない).
(14) ![]()
参考文献
- 乾敏郎・阪口豊『自由エネルギー原理入門(2021)』
- 磯村拓也「自由エネルギー原理の解説(2018)」
- Karl Friston (2008) Hierarchical Models in the Brain. PLoS Comput Biol 4(11): e1000211.
- Friston KJ, Trujillo-Barreto N, Daunizeau J (2008) DEM: a variationaltreatment of dynamic systems. Neuroimage 41(3): 849–885.