スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

モデルベース強化学習の調査をしませんか


下記のメモに書いてある内容を手掛かりに研究したい人はいないでしょうか。

BESOM(ビーソム)ブログ 海馬の機能と脳全体の計算論的モデルとの関係についての考察:モデルベース強化学習、メモ化、BPTT

論理的推論のような記号処理(=思考)と
ディープラーニングのような統計的機械学習(=直観)の統合は、
AGI実現に向けて解決すべき重要な課題です。

モデルベース強化学習は、そのための中心的機構になると思います。

まずはモデルベース強化学習のわかりやすい解説を誰かが書く必要があります。

産総研の脳型人工知能研究チームでは当面大脳皮質モデルに専念する必要があるため、
モデルベース強化学習にはまったく手を付けることができません。
スポンサーサイト

モデルベース強化学習とシータ位相歳差が結びつく?

「海馬 モデル」で検索してもわかるように、
国内だけでも様々な海馬のモデルが存在します。
(私は海馬のモデルの調査は後回しにしてきたので、
いまのところあまり把握していません。)

ボトムアップの知見だけからモデルを構築すると、
多くの可能性があり得ることになると思います。

そういうときに、脳全体のアーキテクチャのモデルからの
トップダウンの要請によって、
個別の器官のモデルの候補を選別するアプローチが有効だと思います。
ということで、少し考えてみました。

脊椎動物の脳全体はモデルベース強化学習をやっていると仮定します。
(皮質の発達していない哺乳類以外の脊椎動物の脳も想定します。)
モデルベース強化学習では外界の状態遷移確率 T(s,a,s') を
学習する必要があります。
これは、状態 s のときに行動 a をとったら状態 s' に変化する確率です。

T(s,a,s') は、(s,a,s') という3つの値の組のデータベースとして
実現可能です。
そのデータベースを記憶する場所としては海馬が考えられます。
(大脳皮質や小脳も T(s,a,s') を学習する場所だと思いますが、
ここでは置いておきます。)
海馬が記憶するエピソードは (s,a,s') のことである、
というのはもっともらしい話に思えます。

しかし、 s と s' は、脳内ではそれぞれ異なる時刻における
ニューロン発火のポピュレーションとして表現される値です。
これを海馬の連想記憶装置に対し、
1つのエピソードとして入出力する方法は自明ではありません。

工学的に実現しようと思えば様々なやり方があり得ますが、
どのやり方が最も効率的かを知るためには膨大な試行錯誤が必要になってしまいます。
今度は神経科学的知見からボトムアップに、
実現方法の候補を選別するアプローチが有効だと思います。

1つのヒントがシータ位相歳差という現象です。
(s,a) と (s',a) を1つのシータサイクルの中に時分割で
海馬に入力することで、 (s,a,s') を海馬に記憶させることが、
可能かも知れません。
s と s' の間を連続につないだものがシータ位相歳差として
観測される気がします。

さて、この着想、様々な神経科学的知見と整合性はあるでしょうか。
文献調査や、シミュレーションによる動作の確認や神経科学的現象の再現、
モデルからの予言の生物実験による検証が必要です。

時分割で想起される (s,a) と (s',a) を、
皮質などの他の器官がはたして区別して利用可能なのかも、
まだ検討していません。

ともかく、こういうやり方で、こつこつと脳のモデルの候補を絞り込んでけば、
脳全体のアーキテクチャが解明できると思います。

実際に手を動かしてこういう研究ができる人が増えてほしいです。
現状では圧倒的に人が少なく、非常にもったいないです。
人、物、金、情報のうち、
物(特殊な実験設備)は不要、
金(研究費)はつけたがっている人が多く、
情報(機械学習や神経科学の知見)はすでに膨大な量がネット上にあるのですが、
とにかく人が不足しています。

海馬の機能と脳全体の計算論的モデルとの関係についての考察:モデルベース強化学習、メモ化、BPTT

海馬の「エピソード記憶」という機能を、
脳全体の計算論的モデルにどう取り込むのかが自分にとっての
大きな問題の1つでしたが、
だいぶん解決の糸口が見えてきた気がします。

以下、取り急ぎのメモです。間違いがあったらご指摘ください。


強化学習の研究者や、大脳基底核の計算論的神経科学研究者が、
「モデルベース強化学習」という言葉を使うのをよく聞く。
モデルフリーとモデルベースの違い - Togetterまとめ

モデルベース強化学習とは、外界のモデルを学習する強化学習の手法らしい。
意思決定に必要な計算時間は増えるが、
学習に必要なエピソードの経験回数は減るらしい。

従来のモデルフリー強化学習は、状態 s のときに行動 a をとったときの
価値 Q(s,a) を学習し、それに基づいて意思決定を行う。

一方モデルベース強化学習では、それに加え、
外界の状態が s のときに行動 a をとったら外界の状態が s' になる、
という「外界の状態変化のモデル」も別途学習するものらしい。

もし外界のモデルが正しく獲得できていれば、
遠い将来までのあらゆる行動の組み合わせを
すべてシミュレーションしてみることで、
その時点での最適な行動を選択できる。

計算論的神経科学研究者たちは、
脳もモデルベース強化学習をやっていると考え始めている。
http://www.itn.brain.riken.jp/05_publication/J_technicalreports/14_BSI_ITN_TechReport_No%2014-01


モデルベース強化学習は、
人工知能研究の2つの大きな流れである、論理的推論と統計的機械学習を
結びつける枠組みと考えることもできるのではないか。
その発展は、汎用人工知能実現のブレークスルーの1つになると思う。

SLAMの機能(ナビゲーション)も
モデルベース強化学習という枠組みの中で表現可能だろう。


ところで、最適な行動を得るためのシミュレーションを、
行動の毎ステップごとにやっていては、計算時間がかかりすぎる。

それを高速化する簡単な方法がある。メモ化という手法を用いればよい。
メモ化 - Wikipedia

状態 s のときに行動 a をとるとその先で失敗するとか成功するとかを
一度計算し、結果を覚えておいて、あとで再利用すればよい。
例えばシミュレーション中、
ゴールにたどり着けないと分かっている状態に行き着いたら、
その先の探索は打ち切ることができるので、計算時間が減る。

脳にメモ化の機構があるかというと、ぴったりのものがある。
それが海馬。

人間が行動計画を立てた後、どういう機構でその計画通りに行動を遂行できるのか
ずっと悩んでいたのだが、
海馬にメモした情報を参照しながら遂行していると考えると、納得がいく。


海馬のエピソード記憶は、もう1つの別の機構、
時系列データの学習のためにも使われている可能性があると思う。
時系列データを学習するモデルとしてRNNやHMMがある。
どちらのモデルも、学習するときには、
過去から現在にいたるまでのすべての観測データと整合性を持つように
モデルを修正する。
RNNではBPTT、HMMでは forward-backward アルゴリズムが使われる。
(なお、RNNに関しては、時間をさかのぼる必要のないアルゴリズムも存在する。
RTRL法


生物にとってはBPTTのような時間をさかのぼる学習則は素直には実現しにくい。
入力データと脳の内部状態は時間とともに次々に更新されていくから。
しかし、過去の入力データと脳の内部状態の一部は、
海馬にエピソード記憶として蓄えられる。
脳はこの情報を時系列データのモデルの学習を近似的に実行するために
使っているのではないか。

例えば人間は目の前で予想とは異なる事態が起きた時、
頭の中で過去にさかのぼって、どこでどう思い違いをしたのかを反省する。
また、ラットで後悔しているかのような神経活動が観測されている。
ニュース - 動物 - ラットも誤った選択を後悔する? - ナショナルジオグラフィック 公式日本語サイト(ナショジオ)

計算論の観点でいえば、反省や後悔は、
外界の状態変化や自分の意思決定のモデルを
近似的に修正していると考えることができるのではないか。


上に書いた、エピソード記憶とメモ化の関係、エピソード記憶とBPTTの関係の
両方に共通する特徴がある。
どちらにおいてもエピソード記憶は、
Marr の3つのレベルの中の「計算論のレベル」の概念ではなく、
「表現とアルゴリズムのレベル」の概念である。
このことは脳全体のアーキテクチャを推定する際のよい指導原理になるかもしれない。

脳と Reservoir computing

昨日の全脳アーキテクチャ勉強会、おかげさまで大変勉強になりました。

ところで、講演者の1人電通大の山崎さんにメールで質問したところ、
明快なお返事をいただきましたので、ご本人の許可を得てここに転載します。

質問:

> Wikipedia によると Reservoir computing の主なものとして
> liquid-state machines と echo state networks がある、とのことですが、
> この2つは一言でいうとどう違うのでしょうか?
> Wikipedia の説明を見てもよくわかりません。
>
> 小脳のモデルは liquid-state machines であって echo state networks ではない、
> という理解でよろしいでしょうか?
>
> それと、大脳皮質で Reservoir computing をやっている、
> と言っている人はいないのでしょうか?

山崎さんからのご回答:

> ご連絡ありがとうございます。発表当初は
>
> 出自の違い:
> Liquid state machine = 大脳皮質のコラムのモデル (神経科学)
> Echo state network = カオスを利用した時系列予測 (信号処理・工学)
>
> 構造的な違い:
> Liquid state machine = 連続時間+スパイキングニューロンモデル+ネットワークの作り方は割と適当
> Echo state network = 離散時間+レートモデル+ネットワークの作り方は数学的(固有値の実部をどうするかとか)
>
> でしたが、まあ統一されてしかるべきコンセプトだと思います。
>
> 大脳皮質でReservoir computingというと、LSMの最初の論文(Maass, Naschlager, Markram 2002 Neural Comput)は皮質のコラムから出発しています。V1のモデルとしても提案されたことがあります(Buonomano & Maass 2009 Nat Rev Neurosci参照)。Hennequin, Vogels, Gerstner (2014) は大脳皮質の運動野の活動を再現するために提案されました。探すとまだあると思いますが、今私がフォローしているのはこれくらいです。


おかげさまで大変すっきりしました。

Reservoir computing は BPTT(backpropagation through time) のような
生物にとって実現しにくい機構を使う必要のない、単純な機構なので、
脳のあちこちで使われている可能性は高いと思います。
私の大脳皮質モデルにも入れることを検討したいと思います。


それから、きのう勉強会後に聞いた話では、

・機能を再現する上で spiking neuron である必要はない。発火頻度モデルで十分。
発火頻度でのシミュレーションならば計算時間はかなり減る。
・小脳顆粒細胞は数は多いがシナプス数は非常に少ない。
プルキンエ細胞はシナプス数は多いが細胞の数が少ない。

とのことでした。
この2点を踏まえると、ヒトの小脳の機能を計算機上で再現させるために必要な
計算コストはかなり少なくてすみそうです。(大脳皮質と比べて無視できるくらい?)
これは、全脳のモデルの実用化を目指す上では Good news でした。

質問への回答その4(確率伝搬アルゴリズム)

先日の大脳皮質ベイジアンネットモデルへのご質問への回答その4です。

>アルゴリズム自体の大枠は難しくないのですが、メッセージのところが
>難しかったです(さっき読んだばかりなので今もちゃんと理解出来て
>いないです)。いきなり頭ごなしに「下記のように定義」という説明
>になっています。式的には理解できるのですが、直感的なイメージが。
>「メッセージの意味」で直感的な説明もしてくださって
>いるのですが、これも何度か読み直さないとよくわからなかったです。
>(なぜ隣接するノードからの情報だけを使った局所的な処理になっている
>所が利点なはずなのにm_xyの中に隣接しないノードの項があるのかとか)
>なにかうまいメタファーでもあるといいんですが。

メッセージの直観的な意味は、私自身もまだまだよくわかってないので、
いろいろな人がいろいろな観点から解説を書いていただけるとありがたいです。


>loopyな場合のiterativeな近似解法についてとアルゴリズムの一般形の部分
>も鍵となるアイディアかと思いますのでもっと詳しい解説があるとよいかと
>思いました(というか私が読みたいです)。

Loopy belief propagation の理論的根拠ですが、
ベーテ自由エネルギーの停留点を計算している、
ということが分かっているようです。
ベーテ自由エネルギーとは何かと言うと、
たぶん同時確率の近似の1つということだと思います。
私はここは詳しく調べていません。

確率伝搬アルゴリズムの一般形は、 Pearl の本でも唐突に出てくる気がします。
たぶん、地味に場合分けして式を整理して導出するしかないのだと思います。

EMアルゴリズムの説明にしてもそうですが、
第一原理からアルゴリズムをきれいに導出するようなスタイルの教科書が、
ベイジアンネットの場合すごく書きにくいのかもしれません。

実装にもいろいろ落とし穴があって、けっこう参入障壁の高い技術かも。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。