Otaku ワールドへようこそ![309]自由エネルギー原理 ― 個体が外界を理解しに行く数理モデル[後編]
── GrowHair ──

投稿:  著者:



『シンギュラリティサロン @東京 第31回公開講演会』聴講レポート

前編はこちら。
https://bn.dgcr.com/archives/20190712110100.html


【内容】

□目次

[前半部]
1. アクティブビジョン
2. 自由エネルギー原理(FEP)とはなにか
3. FEPについて数式を使わないで説明
4. 変分自由エネルギーについて説明
5. 変分原理としてのFEP

[後半部]
1. フッサール現象学での視覚論
2. FEPから見た視覚
3. FEP的な視覚的意識の理論
4. 他の理論との比較
5. Active Inference説の今後の課題

吉田氏のブログで、スライド資料と講演動画を見ることができます。
http://pooneil.sakura.ne.jp/archives/permalink/001673.php


また、68ページにわたる入門者向けの教科書は下記のところで拾えます。
http://pooneil.sakura.ne.jp/archives/permalink/001663.php






□前半部 - 1. アクティブビジョン

我々がものを見ているとき、あたかも視野全体にわたって隅々までピントの合ったシャッキリした写真を見ているかのように感じているかもしれない。しかし、実際はそうではない。ピントが合っているのは、視野角にしてわずか 1°にすぎない。1°というのは、腕を伸ばしたときに見える親指の爪ぐらい。

なので、実際には、視野の中心のごくわずかな領域にだけピントが合っていて、それ以外の大部分の周辺領域がボケボケの画像を見ている。

では、なぜ、全体がシャッキリ見えているように感じられるのか。それは、我々は1秒に3回ぐらいの頻度で絶えず視線を動かしながら、脳内で視覚シーンを構成しているから。

視覚とは、受け身での表象形成ではなくて、行動(例えば眼球運動)によって、主体が視覚情報をサンプルすることである。これを「アクティブ・ビジョン(Active Vision)」という。

□前半部 - 2. 自由エネルギー原理(FEP)とはなにか

「自由エネルギー原理(Free Energy Principle; FEP)」の入り口で、たいてい目にする図式がこれで、まず、「エージェント(個体)」対「環境(外界)」からなるモデルが基本にある。

環境には「外界の状態(External States)」があり、エージェント内部には「内部の状態(Internal States)」がある。環境からエージェントへは、「感覚(Sensation)」の入力があり、逆向きには「運動(Action)」の出力がある。

外界の状態 → 感覚入力 → 内部の状態 → 運動出力 → 外界の状態、という情報の流れを「感覚運動ループ(sensorimotor loop)」という。「自由エネルギー原理」はまさに、感覚運動ループの定式化になっている。

カール・フリストンによる定義は、こうなっている。「いかなる自己組織化されたシステムでも、環境内で平衡状態でありつづけるためには、そのシステムの(情報的)自由エネルギーを最小化しなくてはならない」。

別な言い方をすると、「適応的なシステムが無秩序へ向かう自然的な傾向に抗して持続的に存在しつづけるために必要な条件」となる。

この原理により、知覚と行動選択と学習とを統一的に説明づけることができる。それ以外にも、いろいろ説明がついちゃう。

□前半部 - 3. FEP について数式を使わないで説明

・(1/3)知覚

話を簡略化するために、いま、世界の状態は2つしかないものとしよう。目の前に蝶がいるか、あるいは蛾がいるか。その下で、視覚情報の形で感覚入力として入ってきうるのは、蝶がいる画像か蛾がいる画像かの2つしかないものとしよう。

いま、感覚入力として、蝶がいるという視覚情報が入ってきたとしよう。エージェントの内部では、この視覚情報を利用して、外界にいるのが蝶である確率は90%で、蛾である確率は10%である、という推測をする。この推測を「知覚」という。

これを可能たらしめるためには、感覚入力と外界の状態との間の関係性を記述した辞書のような情報を、エージェントが内部に備えていないとならない。この情報を「生成モデル」という。

エージェントが、内部に備えた生成モデルを参照しながら、感覚入力に基づいて外界の状態を推測する過程は、ベイズ統計学を使って解くことができる。脳が実際にこの計算をしているはずだとする仮説を「ベイズ脳仮説」という。

しかし、その計算は、脳が直接的に実行できるような現実的な計算量なのかというと、なかなかむずかしそうだ。じゃあ、どうしているのか。そこで登場するのが「自由エネルギー原理」である。

自由エネルギー原理は、予測誤差と連動している。予測が大きくズレているとき、自由エネルギーの値が大きくなる。これを下げる方向へ予測を修正していき、自由エネルギーの値が最小になるところへ行き着いたとき、予測誤差も最小になっており、このとき、ベイズ脳と同じ結果に到達している。

つまり、「知覚」とは現在の「外界の状態」のよりよい推定である。

・(2/3)行動選択

いま、画像の左下にピントが合っているとしよう。右上のほうに何かがいて蝶っぽくもあり蛾っぽくもあるが、ピンボケしているので、判然としない。

行動がなければ、これ以上の情報は得られない。目を右上に動かして、ピントを合わせることにより、はっきりと蝶が写った画像が得られる。これで、蝶であることが判明した。

ここで何が起きているかというと、やっぱり自由エネルギーが下がっている。

感覚運動ループの図でみると、右上を見る、という行動をとることによって、次に入ってくる感覚入力を変えることができる。エージェントは、内部に備えている生成モデルを参照することで、右上を見るという行動をとれば、自由エネルギーを下げることができると期待される、ということが先読みできる。

つまり、「行動選択」とは、未来の「外界の状態」のよりよい推定である。

・(3/3)学習

今までのところは、エージェントが内部に持っている「生成モデル」はすでに完成されたものとして扱っていた。しかし、実際には、外界の状態と感覚入力との関係性は最初から知っているわけではなく、経験に基づいて、その都度アップデートしている。このときもやはり、自由エネルギーを下げている。

つまり、「学習」とは(未来の「外界の状態」のよりよい推定のための)生成モデルの構築、更新である。

□前半部 - 4. 変分自由エネルギーについて説明

ここからは数式を用いた説明に入る。エージェントがどのようにして自由エネルギーを下げるかについて、3つのプロセスに分けて説明する。

・(Level 1)知覚(Perception)

エージェントが、感覚入力に基づいて、内部に備えた生成モデルを参照しながら、外界の状態を推測する「知覚」のメカニズム自体は、自由エネルギーを持ち出す以前に、ベイズ統計学を使って説明がついてしまう。

外界の状態を x としよう。神様視点で図を眺めている我々は x の真値を知っているが、エージェントにとっては、100%の確度をもって知ることが決してできない「隠れ値」である。

外界の状態が x である確率を p(x) と表し、これを「事前確率」とよぶ。エージェントは、p(x) の値も正確に知ることができない。

感覚入力を s としよう。外界の状態 x が原因で、その結果として、感覚入力 s が起きるという物理的な因果関係がある。これを「生成過程」という。

外界の状態 x が分かっているという条件の下で感覚入力 s が起きる条件つき確率を p(s|x) と表す。

一方、エージェントの内部では何が起きるかというと、感覚入力 s が得られたという条件の下で、その原因が x であった確率を推測する。因果関係をひっくり返して、遡った推測をすることになる。つまり、p(x|s) を求めようとしている。先ほどの条件つき確率 p(s|x) とは逆になっている。この、因果関係のひっくり返った条件つき確率 p(x|s) を「事後確率」とよぶ。

さて、外界の状態が x であり、なおかつ、感覚入力が s である確率を p(x,s) と表す。これを「同時確率」とよぶ。

公式により、次がともに成り立つ。

  p(x,s) = p(x) p(s|x)               ……【数式1】

  p(x,s) = p(s) p(x|s)               ……【数式2】

【数式1】を平文で読みくだすと、次のようになる。「x が起き、なおかつ s が起きる同時確率 p(x,s) は、x が起きる事前確率 p(x) と、x が起きたという条件の下で s が起きる条件つき確率 p(s|x) との積で表される」。

さて、エージェントにとって求めたい値 p(x|s) は、【数式 2】から、

  p(x|s) = p(x,s) / p(s)              ……【数式3】

であることが分かる。

いま、エージェントはすでにじゅうぶんな経験を経て育ち上がっており、内部にある程度完成した生成モデル p(x,s) を備えているものとする。すると、【数式3】の分子は分かっていることになる。じゃあ、分母はどうすれば分かるか。これは、p(x,s) の x についての総和を取ることにより、得られる。

  p(s) = Σ_x p(x,s)                ……【数式4】

この計算を「周辺化」とよぶ。これを【数式3】に代入して、

  p(x|s) = p(x,s) / Σ_x p(x,s)          ……【数式5】

を得る。エージェントは同時確率 p(x,s) を知っているので、これをもとに、条件つき確率 p(x|s) が求まったことになる。

ここまでをまとめると、次のように言える。事後分布を計算するには、生成モデル(これまでの経験)と感覚入力(イマココでの観測)があればいい。知覚とは、生成モデルと感覚入力に基づいて、外界の状態の事後分布を計算(確率的に推定)することである。これを「ベイズ脳仮説」という。

ここまでは、自由エネルギーを持ち出すまでもなく、説明がついてしまった。

筆者注。ここで「分布」という言葉がさらっと登場している。これについて注釈しておきたい。一般に事象 x が起きる確率を p(x) と表す。いま、x が定数であって、あるひとつの事象だけを特定して指しているのであれば、p(x) はその事象 x が起きる確率である。

一方、もし、x が確率変数であって、起こりうるありとあらゆる事象を総称的に指しているのだとしたら、p(x) はケースAが起きる確率、ケースBが起きる確率、ケースCが起きる確率、……をすべて書き並べたものを表している。この意味の p(x) を「確率分布」という。

さて、我々のモデルでは、エージェントが p(x|s) を求めているが、これはある特定の x についての確率ではなく、ありとあらゆる x にわたる確率分布の意味で言っている。

問題設定としてこれが妥当かどうかについては、後ほど、【所感】で議論する。筆者注、ここまで。

さて、ベイズ脳仮説でほんとうに片がついているのであれば、わざわざ自由エネルギーを持ち出す必要はないのだが、そうはいかない事情がある。p(x,s) を x について周辺化して p(s) を得る計算では、起こりうるありとあらゆる x について総和をとらなくてはならない。

現実の場面において、x はそれこそ神羅万象すべてである。この総和をとる計算はたいへんだ。おそらく脳はこんなことはしていないだろうと考えられる。そこで、厳密解ではなく近似解でよいから、という譲歩をした上で、計算を端折れないか、ということを考える。

つまり、変分自由エネルギー F を導入することにより、論理の道筋は遠回りになるけれど、実際に数値計算してみると、計算量が軽くなっているのでお得である。ここに意義を求めている。この計算量軽減説の妥当性についても、後ほど、【所感】で議論する。

ほんとうは p(x|s) が欲しいけど、計算を端折って得られる近似解を q(x) と表すことにする。

この q(x) と同時確率 p(x,s) とを用いて、「変分自由エネルギー F」を定義する。

  F = Σ_x q(x) ln( q(x) / p(x,s) )        ……【数式6】

ここに、ln() とは自然対数関数である。

q(x) を変化させると F の値も変化するが、F の値を最小にするような q(x) が、求めたい p(x|s) に一致するという仕掛けになっている。近似解 q(x) としては、F の最小値にぴったり到達しないまでも、数値計算により、近所まで迫っていければよしとしよう、という妥協をしている。

しかし、妥協したからといって、このままの形では、問題がちっとも簡単になっていない。易しい問題をかえって難しくしている。

実際、自由エネルギー F の定義式には、あらゆる x にわたって総和をとるという記述が残っている。なので、F の値そのものを求める計算は、p(x|s) を求める計算と同等以上にたいへんになっている。

じゃあ、どうすると話が簡単になるのか。F を未知数で偏微分すると、すばらしいことが起きる。総和をとる計算が一気に消滅して、たった 1 項しか残らないのである。そこがミソ。

未知数は q(x) であるが、この q(x) はある特定の x に関する生起確率を表しているのではなく、ありとあらゆる x に関する生起確率をすべて書き並べた確率分布を表している。未知数はひとつではなく、いっぱいある。

計算の初期設定として、q(x) は適当な値を割り振っておく。例えば、x の起きうるケースが N 通りあるのだとしたら、すべての x に対して均等に確率 1/N を割り振っておく。

F を未知数のうちのひとつで偏微分することにより、その未知数の値を上げるか下げるか、どっち方向に動かすと F の値が下がるのかが分かる。

偏微分の値にも意味がある。F をそれぞれの未知数で偏微分した値を書き並べて得られるベクトルを「グラジエントベクトル」とよぶ。これは、F の坂道がいちばん急峻になる方向を示している。地図で言えば、等高線に垂直な、登るのがいちばんしんどい方向である。

すべての未知数をいっせいに、グラジエントのマイナス方向、つまりは F の坂道を効率よく下る方向へ、ほんのちょこっとだけソリっと動かす。あんまり大きくガンっと動かしすぎると、F の最小値を飛び越えて、また上がってしまう可能性があるので。

動いた先では、グラジエントの向きが変わっている可能性があるので、また計算しなおす。坂をちょっと下ってはグラジエントをとりなおし、またちょっと下ってはグラジエントをとりなおし、盆地の底にたどり着くまでソリソリソリソリと反復する。

ぴったりでなくても、だいたい底の近くまで寄れればよし、としておけば、近似解 q(x) が得られている。

・(Level 2)行動(Action)

ある場面で、画像の左下を見ているとき、そこの近辺にしかピントが合っていない。画面の右上に、蝶っぽくもあり蛾っぽくもある何かがいそうな感じがしているけれども、ピンボケしているため、それが何なのか、特定できない。視線を画面の右上に移してみたら、ピントがしゃっきりして、そこにいるのは蝶であることが確認できた。

このとき、視線を左下から右上へ移すという行動をとったことによって、やはり、自由エネルギー F の値が下がっているのである。

自由エネルギー F の定義式には、感覚入力 s と同時確率 p(x,s) と近似解 q(x) が関わっていて、先ほどの知覚の例では、s と p(x,s) が固定されている上で、q(x) を動かすことができた。今回の行動の例では、s を別のもの s' に差し替えることができる。これにより、p(x,s) がp(x,s') に差し替わる。

F を最小化するような q(x) を求めるに際して、もともとの p(x,s) を使うよりも、差し替えたものを使ったほうが、運がよければ、もっと下へ行ける可能性がある。

フリストンによれば、「行動する理由は周りの世界を知りたいから」ということになる。これを吉田氏は「学者の欲望に忠実な世界観だな!」と返している。ううむ、我々凡人は、別の動機で行動することのほうが多そうだ。これをスケベ心という。そっちも定式化してくれないかな。

・(Level 3)反実仮想(Counterfactual)

先ほどの行動においては、s を変えることによって、p(x,s) を別物に差し替えていた。運がよければ F をさらに下げることができるけれども、運が悪ければ、かえって上がってしまうかもしれない。上がる場合も下がる場合もあるけれど、総合的な期待値としては、下がり目だろうと予測して行動を選択しているのだろうと考えられる。

つまり、エージェントがある行動をとるとき、未来の状態を予測していて、そ
れに基づいてどんな行動をとるか選択しているのであろう。時間がちょこっと
進んだときになっている状態は、現在の状態とは異なっているであろう、とい
うことで「反実仮想(counterfactual)」とよぶ。

時間の推移も組み入れたモデルを考えると、変数が多くなってきて、たいへんややこしいのだが、グラフィカルモデルを用いることで、これらの依存関係を整理して眺めることができる。詳細をレポートするのは省くので、スライド資料と動画を参照してください。

□前半部 - 5. 変分原理としての FEP

統計物理学でも「自由エネルギー」という概念が出てくるが、それの定義は、我々がいま定義したものとは異なる。

我々の F は、式変形することにより、カルバック・ライブラー距離の項と周辺尤度の項との和の形に分離することができるが、物理の F は周辺尤度のほうを指しているっぽい。

先ほどの説明だと、ベイズ脳を実現するという目的が先にあって、そのための近似的な手段として自由エネルギー F を下げるという方法を導入した。しかし、ほんとうは逆なのではないか。

物理的な制約から、脳には何らかの作動原理があって、自由エネルギーあるいは周辺尤度を下げるように機能しているのではないか。その結果として、ベイズ脳が実現しているのではないか。

□後半部 - 1. フッサール現象学での視覚論

前半部で、自由エネルギーを下げるプロセスには3つあることをみてきた。
(1)知覚的推論(Perceptual Inference)
(2)能動的推論(Active Inference)
(3)反実仮想(Counterfactual)

では、意識にとって、どのプロセスが必要なのか?

吉田氏は能動的推論派、フリストンは反実仮想派。

能動的推論は、フッサールの「現象学」から着想を得ている。例えば、サイコロを眺めることひとつをとっても、自分が動くことによって、これまで見えていなかった側面を見ることができる。ものを見るというのは受動的な経験ではなく、つねに自分の身体の運動可能性と結びつけられる仕方で経験されている。

□後半部 - 2. FEP から見た視覚

「見る」とはどういうことか。受動的か能動的かでふたつの説に分かれる。

エージェントは外界から感覚情報のひとつとして視覚情報を得て、その情報が脳内に取り込まれる。脳内に反映された外界の像が「表象(representation)」である。エージェントは表象に基づいて、外界のありようを推測する。これは受動的な視覚観であり、「表象説」とよばれる。

一方、「見る」とは、「感覚運動随伴性(Sensorimotor Contingency; SMC)」の習熟に媒介された探索的活動であるとする考え方がある。能動的な視覚観であり、「SMC説」とよばれる。

自由エネルギー原理の考え方は、SMC説と整合的である。しかし、視覚情報に基づいて外界のありようを推論する方法論の部分では、表象説とも整合的である。つまり、視覚には表象とSMCの両方が必要。

自由エネルギー原理の考え方は、表象説とSMC説とを発展的に統一する。

□後半部 - 3. FEP 的な視覚的意識の理論

現象学において、意識は次の3つで構成される構造になっている。
(1)注意を向けられている対象
(2)注意を向けられてはいないが、目に映っていると思われるような周辺視
(3)視覚世界を成り立たせている前提条件が互いに緊密に結びついた構造

自由エネルギー原理において、(1)は「イマココの推測 q(x)」に相当する。
(3)は「世界のモデル p(x,s)」に相当する。(2)は両者の相互浸透に相当する。

意識は(1)であるとするのが表象説であるのに対して、(3)であるとするのがSMC説である。現象学では(1)~(3)をひとつの構造と捉える。

意識とは、イマココの推測 q(x) と世界のモデル p(x,s) が一体となって、知覚のたびにオンラインで統合され続ける「過程(process)」である。

イマココの推測 q(x) と生成モデル p(x,s) との間の差異こそが意識を生き生きと成り立たせている。この差異がなくなったら、主体は環境と単に地続きとなり、意識も消滅してしまう。

意識は過程(process)であるとしたところが大事。対抗する説として意識は「状態(state)」であるとする説がある。表象説においてはこの立場をとり、脳の状態に対応して意識の状態があるとしている。

自由エネルギー原理の立場では、脳の状態が変化していくプロセスこそが意識であると捉える。

吉田氏は、意識が生じるための必要十分条件は何かという問いに対して、能動的推論(Active Inference)説の立場をとる。感覚的推論(Perceptual Inference)は必要ではあるけれど、その機能なら現状のAIにも備わっており、これだけでは意識が生じるには十分ではない。一方、反実仮想ができれば十分ではあるけれど、この機能がなくても意識が生じている可能性はあり、必要ではない。

ちょうどよい中間にActive Inference説があり、本質的なのは、世界へ介入できることである。カエルは世界への介入が可能なので、おそらく最小限の意識をもつであろう。

「介入することで、世界はリアルになる」。吉田氏のツッコミは「実験家の欲望に忠実な世界観だな!」。

□後半部 - 4. 他の理論との比較

渡辺正峰氏(東京大学准教授)は著書『脳の意識 機械の意識』の中で、「生成モデルを持つことが意識の十分条件」と言っている。これはPerceptual Inference 説に属する。

「人工知能(Artificial Intelligence; AI)」の一ジャンルとして、「機械学習」があり、3つに大別される。
(1)教師あり学習
(2)教師なし学習
(3)強化学習
ちなみに「深層学習(Deep Learning)」は(1)~(3)のすべてにおいて、下請けの便利な道具として使われている。

「教師なし学習」の一手法として、「変分自己符号化器(Variational Autoencoder; VAE)」というのがある。これは生成モデル p(x,s) を備えており、p(x|s) による推論と p(s|x) による生成をおこなっている。Perceptual Inference説の立場をとると、VAEが意識を持ちうるという話になる。

金井良太氏(株式会社アラヤ代表取締役)は、「機能としての意識は自由エネルギー原理で決まり、意識がどの程度の強さをもって生じているかは情報統合の度合いによって決まる」と言っている。情報統合の度合いを測るための理論として「統合情報理論(Integrated Information Theory; IIT)」がある。帰結として、やはりVAEに意識が宿りうることになる。

カール・フリストン氏とアニル・セス(Anil Seth)氏(英国サセックス大学)は、意識が生じるためには反実仮想が本質的だと言っている。

意識が本質的にどこから生じるかについて学者たちがとる立場を、KirchhoffとFroeseは4つに分類している。4つの領域は田の字をなしている。

下半分は、心は生命に宿るものであり、生命と心は切っても切れない直結したものだと捉える立場である。上半分は、生命と心とは独立であって、心というものはそれを宿す主体に依存しない形で捉えうるものだと考える立場である。

自由エネルギー原理は、エージェント対環境のモデルを提示し、エージェントが外界を理解するためにおこなっている計算の仕方について述べた理論であって、生命にはまったく言及していない。なので、上半分に属するはずである。

……かと思いきや、Active Inference説では、世界に介入する行動が必要になるので、身体を持ってないとならないことになり、したがって、下半分なのか。しかし、ルンバは世界を掃除しに行くけど? 生命をもたないロボットの身体が世界に介入したんじゃ、だめなの?

左半分は、エージェント内部でおこなっている計算的操作から意識が生じるとする立場である。右半分は、自己組織化するものに心はあるとする立場である。エージェントと外界との相互作用から意識が生じるとする立場だとも言える。

この田の字の中にいろんな学者を配置するとどうなるか? セス氏は下の真ん中。金井氏は、サセックス大学でセス氏と一緒に意識の研究をしていたが、立場としては上の右。渡辺氏は上の左。フリストン氏は、書いた論文によりけり
で、下の左にも下の右にも上の右にもいる。おいおい、節操ないぞなもし。

□後半部 - 5. Active Inference 説の今後の課題

物理世界にあるもろもろの物体やもろもろの物理現象をどうやって(概念的なひとつひとつのカテゴリとして)分節するのか、そして、「分節した別のものを同じものとみなす」という確率的扱いがいかにして可能なのかという問題はまったく解決していない。

筆者注。そここそ自己組織化などの教師なし学習の方法論が目指すところなのではあるまいか。

【所感】

分厚い専門書を一冊読み切ったかのような、情報量に圧倒された感があった。これだけの分量の情報をうまく整理して、全体を効率よく構成して時間配分していたので、入門者向けの話から専門家向けの話まで、奇跡のように一回の話としてまとまっている。

自由エネルギー原理について初めて聞く人にも分かりやすいように、まずは数式を使わない定性的な導入から入り、イメージをつかんでもらった後で、数式を持ち出してくるといった工夫を凝らしている。

最も単純な例を挙げて、それに沿って計算の過程をなぞっており、説明が非常に分かりやすかった。自由エネルギー原理にいちから入門しようとするのなら、やはり吉田氏から教わるのがベストであろう。

しかし、単なるチュートリアルで終わらず、前半で解説した基礎を踏まえた上で、後半では、意識の仮説について、諸説を俯瞰的に整理して示しており、高度で踏み込んだ内容だった。

今までのシンギュラリティサロンの中で、歴代の登壇者たちが4人も聴講しに来た回はなかったのではあるまいか。おそらく専門家の期待も裏切らなかったであろう。

さて、そういうわけで、吉田氏の話の内容について、苦情を申し立てようという気持ちは少しもない。ただ、自由エネルギー原理そのものへの基本的な理解が、まだ不完全な状態であるというもやもや感が解消しきれていない。

というか、もっと言ってしまえば、この理論、ほんとうにこれでだいじょうぶなのか、という疑義が残る。そういうのはフリストンに直接言ってくれ、と言われればそれまでである。

□ばかでかくてスカスカな表

エージェントは内部に生成モデル p(x,s) を保持しているという。まあ、そこにも疑いがないわけじゃないのだが、そこからやっていると話が始まらなくなってしまうので、いちおうよしとしておこう。

ただ、ここで確認しておきたいのは、p(x,s) を真っ正直に書きくだすと、やたらとでかい上にスカスカな表になっているという点である。どういうことか。

まず、x は外界のありとあらゆる神羅万象である。蝶がいるとか、蛾がいるとか、猫がいるとか、犬がいるとか、ゾウがいるとか、キリンがいるとか、クジラがいるとか、タコがいるとか、リンゴがあるとか、ミカンがあるとか、雨が降っているとか、雪が降っているとか、ぬるめの燗酒が出されたとか、あぶったイカが出されたとか、そんなやつである。

表の左側面の欄外の見出しに、上から下へ、これらを書き並べたとしよう。全部で N 個あったとしよう。N の値は数千とか数万とかになろう。

一方、感覚入力 s は、視覚を例にとれば、目に入ってきうる、ありとあらゆる画像である。薄茶色の子猫が寝転んでいる絵とか、でかい黒猫がジャンプしている絵とか、まあ、そんなたぐいの視覚情報すべてである。

表の上辺の欄外に、左から右へ、これらを書き並べたとしよう。全部で M 個あったとしよう。M の値は、数百万とか、数億とか、あるいはそれ以上のオーダーになるかもしれない。

そうすると、p(x,s) とは、N行×M列からなるやたらと巨大な表であったということになる。第 j 行が「猫がいる」という外界の状態に対応しており、第 i 列が「三毛猫が餌を食べている」視覚情報に対応しているとすれば、表の第 j 行第 i 列に記入される値とは、猫がいて、なおかつ、目には三毛猫が餌を食べている絵が入ってくる確率である。

M × N 個の確率の値をぜーんぶ合計すると、1 になるようになっている。

さて、いま、目に飛び込んできた画像は、ピントがボケていて、蝶か蛾かは判然としないけれども、それっぽいものが何かいる、というものだったとしよう。このとき、外界に実際にいるのが、ゾウやキリンやクジラやタコであるはずがない。

つまり、この画像の列を縦にざーっとみていくと、ほとんどの確率がゼロで、ほんのわずかのコマに非ゼロの値が入っていることになる。これが「スカスカ」ということである。「疎」、あるいは「スパース(sparse)」であるともいう。

自由エネルギー原理では、我々エージェントの頭の中には、この巨大でスカスカな表が格納されていることになっている。ほんまかいな。そこは次項で考察しよう。

□圧縮は概念理解の本質かもしれない

もちろん、p(x,s) が頭の中に入っているとき、そうとう圧縮して格納しているに違いない。例えば、動物、植物、建物、日用品、飲食物、などのようにカテゴリ分けして、動物をさらに陸棲と水棲のサブカテゴリに分けたり、陸棲の動物をさらに猛獣と家畜といったサブサブカテゴリに分けたりして、階層化し、各階層の末端にそれぞれ比較的小さい表を作っておくことにすれば、それだけでも、広大なゼロ平原をばっさりカットすることができる。

情報を圧縮するというのは、メモリを節約できるという利便性にとどまらず、ものごとを理解する上での本質を表しているのではなかろうかと思う。

たとえば、一個のリンゴがあったとしよう。これに「リンゴ」だの「色」だの「大きさ」だの「つや」だの「傷」だのという属性ラベルを貼り付けて理解することを抜きにして、目の前にあるただの物体として、写実的にデッサンするかのように微に入り細にわたり記憶しようとすれば、そうとうな情報量になるであろう。

二個目のリンゴ、三個目のリンゴについても同じことをやっていると、占有する記憶容量が2倍、3倍と増えていく。ここでズルをして、一般的なリンゴというものについて、ひとつ分だけ記憶しておき、個別のリンゴについてはそれぞれの属性や特徴だけを記憶しておくことにすれば、そうとうなメモリの節約になるはずである。

一般的なリンゴとは、プラトンの言う、リンゴのイデアみたいなものか。ここにおいて、「リンゴ」という抽象概念が形成されている。

我々は、入ってきた感覚情報をできるだけ多く記憶したいとする。そうしたら、情報をナマのまま丸ごと記憶するのではなく、他の情報と共有できる部分は共有して、圧縮して記憶したほうが、メモリの節約になる。余ったメモリには、また別の情報を詰め込むことができる。

情報圧縮は、すなわち抽象化であり、概念形成である。ここに、表のコマの分節の仕方のヒントがあろう。

□知覚とは辞書を引くようなことなのか

エージェントが内部に備えている同時確率分布 p(x,s) は辞書として機能する。感覚入力 s を手掛かりに、外界の状態 x を推測しようとして p(x,s) を参照するとき、これを辞書のように利用している。

また、行動によって外界の状態 x を変えたはずだと思うとき、その変化後の外界の状態 x' の推測に基づいて、一瞬後にはどんな感覚 s' が入ってくるだろうかと予測する際にも、p(x,s) を逆引き辞書として参照する。

ところで我々は、感覚入力から外界の状態を推測したり、その逆をしたりする際、頭の中で起きている推論とは、辞書を引くようなことだろうか。これでは「中国人の部屋」みたいではないか。もうちょっと高級な処理をしてそうな気がしないか。

まあ、ここは深追いしないことにしよう。

□問題設定、それでいいの?

知覚における問題設定とは、次のようなものであった。いま、エージェント内部には p(x,s) が格納されていて、これは既知であるという前提であった。さらに、ある感覚入力 s が得られた。このとき、エージェントは s が得られているという条件の下で、その原因は外界 x が起きたせいだったという条件つき確率 p(x|s) を求めたい。

これでよいのか、という疑問がまず第一にある。

エージェント内部に備わっている p(x,s) は先ほどみたように、N行×M列のばかでかい表であった。この時点では、x も s も確率変数であって、どちらも確定しない。

ある感覚入力 s が入ってきた時点で、s は確率変数から定数へと切り替わり、可能性が M 個から 1 個へと収縮した。先ほどまで、p(x,s) は縦横に広がりをもつ広大な表だったが、s が確定したことにより、その s に応じた、縦 1 列だけを参照することで事足りるようになった。

先ほどの【数式 4】を再掲すると、こうであった。

  p(s) = Σ_x p(x,s)                ……【数式 4】

これは、確定した s について、表の縦一列の値を全部合計して p(s) を得る、ということである。この計算は x が N 個もあるのでたいへんだ、ということになっていたが、ここでは仮にこの合計が求まったとしよう。

先ほどの【数式 3】を再掲すると、求めたい p(x|s) はこうであった。

  p(x|s) = p(x,s) / p(s)              ……【数式 3】

これは何をしているかというと、表中のいま参照している縦一列だけについて、ひとつひとつのコマに書いてある数値を、今求めたばかりの合計で割り算していることに相当する。こうすることで、縦一列の合計が 1 になる。

ここで気づくべきことは、s は確率変数から定数へと収縮しているけれど、x は相変わらず確率変数のままであって、どれかに確定しているわけではないということである。つまり、p(x|s) とは、すべての x について、条件つき確率を列挙せよ、と言っているのだ。

いま、蝶か蛾か判然としない画像 s を眺めているとき、この下で、原因 x が蝶である条件つき確率、蛾である条件つき確率、クジラである条件つき確率、あぶったイカである条件つき確率、……と、神羅万象すべてにわたって、その条件つき確率を書き並べよ、と言っているのである。そんなにたくさん、情報が要るだろうか。問題設定、おかしくないですか?

先ほどの割り算をするまでもなく、生の数値の状態で、一列分だけ、上から下までざーーーっとなめていって、最大値を見つければ、そのコマの x が、いちばんありそうな x である。その x についてだけ、割り算を実行すれば、自信の度合いがパーセンテージで求まる。

これが、もし、99.9%ぐらいに達していれば、もう、それで終わりでよいではないか。もし60%ぐらいと低ければ、第二位、第三位と順繰りにみていって、割り算してみればよい。累計の確率が99.9%ぐらいになったところでやめれば、ありそうな候補 x のリストとそれぞれの自信の度合いが手に入っている。こんなもんで、よくないですか?

□計算、得しない。

第二の疑問は、先ほどの N 個の合計をとる計算を実行するのに比べて、変分自由エネルギー F を定義して、それを最小化するようにグラジエントの坂をソリソリソリソリ下っていく計算のほうが、計算量が軽くて済むという主張に対するものである。

N 個の数値の合計をとると言うが、p(x,s) の表はスカスカであって、ほとんどの値がほぼゼロである。ゼロはいくら足しても増えないので、ゼロでないところだけを足せばよい。あんなでかい表を、そのままの形でメモリに保持しておくことはそもそもできない話であって、圧縮されているに決まっている。

値がゼロのところは、最初っからメモリを割り付けないような方法で圧縮しておけば、非ゼロのコマはそんなに多くはなく、割と楽に計算できてしまうのではないか。

それは脇に置いておいて、真っ正直に計算したとして、計算量を比較してみよう。N 個の数値の合計をとるための足し算の回数は (N - 1) 回である。N 個の x すべてについて、合計 p(s) で割り算するので、N 回の割り算が追加される。

一方、変分自由エネルギーのグラジエントベクトルの計算はどうだろうか。未知変数 p(x|s) の個数は N 個あるが、全部足すと 1 になるという制約がついているので、実質的には (N - 1) 個である。

F をひとつの未知変数について偏微分した値を計算するのに、割り算を 1 回実行する上に、対数関数に値を代入して関数値を求める計算を実行しなくてはならない。

(N - 1) 個の未知変数について偏微分した値を書き並べて得られるグラジエントベクトルを算出するのに、割り算と対数関数の計算を (N - 1) 回実行しないとならない。これだけでもう、先ほどよりも計算量が超過している。これをさらに反復するのだから、ぜったいに損すると思う。

今は、知覚の計算について考えたが、視線を動かした場合も同様である。s が変化するということは、表において、別の列をみることに相当する。以下、同じ議論になるのだ。

変分自由エネルギー F を導入する意味を、計算量を軽くする効果に求めようとするのは、どうやら無理があるのではなかろうか。

じゃあ、これを導入する意味は何なのか。次のような説明のしかたがあるらしい。p(x,s) はどんな形をしているか分かったものではなく、一方、それを近似しようとする関数 q(x) は例えば複数の正規分布の重ね合わせなど、パラメタで表現可能な、形の決まった関数を用いざるを得ない。そうすると、誤差なく答えを求めることは、そもそもできない話になる。これは、ふつうによくやる「平均場近似」ということらしい。

この説明を成り立たせるためには、p(x,s) が分かっているという前提ではおかしいような気がする。条件設定から練りなおして問題設定しなおさなくてはならない話になるのか。人から聞いた話を横流ししているだけで、私は実は、さっぱり分かっていない。


【GrowHair】GrowHair@yahoo.co.jp
セーラー服仙人カメコ。アイデンティティ拡散。
http://www.growhair-jk.com/


《 シンギュラリティ来ない派にもの申す! 》

6月22日(土)に大阪で開催されたシンギュラリティサロンの終了後、主催者である松田卓也氏(神戸大学名誉教授・宇宙物理学者)と対談した。議題は『シンギュラリティ懐疑派へもの申す!』。これが記事になって公開された。
https://hillslife.jp/innovation/2019/07/16/singularity-and-superintelligence/


2019.07.16 TUE
HILLS LIFE DAILY
シンギュラリティ懐疑派へもの申す!:人工知能による社会の大変革にあなたは準備できているか?
TEXT BY ATSUHIKO YASUDA@XOOMS

松田氏は、著書に『人類を超えるAIは日本から生まれる』(廣済堂出版、2015/12/28)があり、前々から一貫して来るぞ来るぞと言ってきている。
https://www.amazon.co.jp/exec/obidos/ASIN/4331519902/dgcrcom-22/


松田氏とはこれまでもよく話を聞いたりディスカッションしたりする機会があり、お互いに相手の考えをだいだい理解した上での対談となった。なので、特に対立するポイントはない。初期のころはよく吠えられたものだが。

私の感覚だと、最近1~2年で、一般の人々の間では来ない派が巻き返してきており、どうやらそっちが多数派になっている気配。大方は、シンギュラリティをSF的妄想を現実と混同した迷妄の産物ぐらいに扱い、感覚的に拒絶しているようにみえる。近年の機械学習の手法の急速な進展ぶりについて、あまり直視せずに言っているようだ。まあ、そのへんのところで、一撃を加えられればと思う。

裏話に属することをちょこっと言うと、対談では、「来ない派」の実名を挙げての攻撃もあったけど、そこは、そーっと包み隠した。

あと、脇道に逸れた話として、飛行機が飛ぶ仕組みが面白かった。翼の裏側に空気の分子が衝突する反作用で揚力を受けるから、という単純な説明ではだめなのか。これに基づいて計算すると、揚力が足りなくて、飛ばない。

角度(の1乗)ではなく2乗に比例する揚力が得られるところがポイントで。そのメカニズムが解明されたのは、飛んだ後だった、と。だから、飛ぶ以前には、飛ばない理由にもそれなりの根拠と説得力があった、と。

対談のあった日のシンギュラリティサロンでは、若林健一氏とお会いした。自分以外の任意の一人の日本人が、デジクリのライターであり、なおかつ、シンギュラリティサロンの聴講者である同時確率って、そうとう小さそうな気がする。

《 第三勢力狂想曲 》

7月21日(日)に投票と開票が行われた参議院選挙では、「れいわ新選組」と「NHKから国民を守る党」がそれぞれ2議席と1議席を獲得した。のみならず、両党とも比例代表で2%以上の得票を集めて政党要件を満たしたため、国庫から政党交付金が交付される見通しとなった。

「世も末だ」、「ふざけている」、「詐欺師だ」、「内容空疎な、盛り上がりだけのポピュリズム」、「税金の無駄遣い」、「支持者たちはだまされている」などと、嘆きと怒りの声が聞こえてくる。

しかし私は、この第三勢力こそが、未来の日本のあり方を方向づける希望の光だとみている。

新元号が決まる前、渋谷の街角で女子高生に予想を聞いたら、「タピオカ」だの「嵐」だの。すばらしいセンスだ。漢字二文字の制約はどこへ行った?

我々ジイサン世代がすべて死に絶えた後の日本では、おそらく元号はタピオカみたいなやつになり、与党第一党は橋本環奈ファンクラブみたいなところがなっているであろう。よいなぁ。「橋本環奈かわいい(おっふ)」が閣議決定されたりして。よかったら、二次元キャラや球体関節人形との結婚も認めてほしいなぁ。

日本は科学の研究や先端技術の開発において、世界のトレンドから立ち遅れ、基幹産業であるところのものづくりにおいて後進に追い抜かれ、工業国としてのステータスを喪失しつつある。世界では産業革命に匹敵するAI革命が起きそうな気配がするが、日本はこの波に乗りそこない、米国や中国と明暗を分かつであろう。

他にろくな産業が台頭してくるでもなく、経済的に没落し、極貧国に甘んじるしかなくなる。日本は沈没への道筋をいやおうなくたどっていく。日本の土地のほとんどすべては中国人の所有物となる。経済力では、そのうち北朝鮮の後塵をも拝することになろう。

少子晩婚化に歯止めがかからず、人口減少がますます加速し、日本は国民の数でも劣勢に立たされる。あたりを見回せば、外国人だらけ。新宿のゴールデン街を見てくるとよいが、まさにそんな感じで、日本文化の灯が消えていく。国そのものが、実質的になきがごとくなっていく。

これらの問題は非常に根が深く、どこが政権を掌握したところで、もたもたした議論が延々と続くだけで、どうせ何も変わりゃしないのだ。

中学・高校・大学時代、近くにY村Y弘というやつがいて、いい皮肉を言った。「政治思想は射影空間である」。射影空間において、X軸のプラス方向へずんずんずんずん進んでいくと、しまいには無限遠点を踏み越えて、X軸のマイナス側のはるか遠方から出てきちゃうのだ。極右思想と極左思想とは、見かけ上、区別がつかない。

私のスタンスは真ん中よりも、やや左寄りであることを自覚している。その自覚があるからこそ、あえて右寄りの意見にはちゃんと耳を傾けようと努力している。いったんは心を無にして拝聴し、もしごもっともなことを言っているのであれば、説得されて寝返ることだってありうるぞ、という姿勢である。

ところが、たいていはダメなんだな。完全に馬鹿扱いしてくるだけだったり。だまされているとか。まるでまともな判断力のない人のような扱いである。そんなのを聞いて、説得されるわけがない。もう、ただただ不快なだけである。

これは、右寄りが左寄りに対してとる特有の態度ではない。逆は逆で同じような態度なのだ。だから射影空間。お互いにそんな態度なので、右は右、左は左でますますかたくなになっていく。脳内BGM: 石川ひとみ『右向け右』。

右か左かの問題ではない。偉そうな態度がもう嫌で嫌でしょうがないのだ。権威主義的な高圧的な姿勢で、自分とは異なる考え方を抑え込みにかかるアレ。内容で議論するのではなく、おまえはものを知らない、みたいに、相手方の人格の欠陥に由来するかのごとく片づけようとする態度。

相手陣営をひたすら馬鹿扱い。そういうアンタはそんなにお利口さんなんですか? 追い詰められたかのようなキャンキャン声、まるで死にゆく世代の断末魔の叫びのようだ。

できれば、そういうのではなく、オレみたいな政治音痴にもよーく理解できるように、易しく噛んで含めるようなチュートリアルを提示していただけるとたいへんありがたいんだけどなぁ。相手陣営をむやみにけなすよりは、よほど味方を増やすと思うぞ。

現在日本が抱える課題の徹底的な洗い出しと、可能な対策の検討という、実質的な政策内容への掘り下げを欠いて、他人を馬鹿呼ばわりするオジサンたちの姿を若者が見るとき、自分が将来なりたい姿はあれだと思えるだろうか。どちらかというと関わり合いになりたくないと思うのではなかろうか。

日本はもう極貧でよい。よくなくてもそうなる。誰が政治をやってもどうせそうなる。もう個人の生活は個人で自己防衛するしかない。そしたらあとは、せいぜい楽しくやろうじゃないか。

タピオカ時代、環奈時代、早く来い。