\documentclass[a4]{jarticle} \begin{document} \section{運動学習におけるモジュール性と階層性} 「運動学習におけるモジュール性と階層性」に関する話を少しだけしましょう。 僕たちは毎日異なった環境で異なった物体に対して運動してますが、 運動というのは一般に高次な目的があるわけで、それを達成するために、 一般的に階層的な構造を持っています。 また運動には文脈があります。 人間においてはインプットといえば聴覚であり視覚であるわけですが、 言語だ何だといったって何かそこで働きかける運動をしなければいけないわけですよね、 だから一言で運動といっても、 そこに現れる運動の文脈にはあらゆるマルチモーダルな物事が含まれるわけで、 それが変化するに従って、運動の入出力が変わる。 だからそういうことを考えに入れて運動の指令が変化しなければならないわけです。 (質問)運動の入出力といった場合の出力と、運動指令とは違うのか? (春野)一緒です。ほとんど一緒です。 次にモジュール性というのは本当かどうかなのですけど、本当かどうかは知りま せん。 ただ例えば腕のリーチング運動で、まずふつうにやらせておいて、 次にしばらくフォースフィールドを外からかけた環境でやらせて適応させる。 それで、適応させたらまた元に戻す、 適応させて元に戻すを繰り返すと、スイッチングがどんどん早くできるようになる。 つまり新しい適応によってもともとあるものが完全に壊れてしまうことはないので、 すると、なにかモジュール性があるのかな、と言える気がします。 昨日の樫野さんの講義に、 プリズム適応で両方の表現が残っているという話もありましたよね、 ああいうのもまたモジュール性ですよね。 つまり新しい学習をしても昔の学習が壊れてしまわずに残っているわけです。 そこで、まずここではじめの問題なのですが、 モジュール性は受け入れてもらうことにして、ここからの話をしたい。 (質問)視覚学習の場合、適応後のものが何年も続くということは、 以前のものが壊れてしまって新しく変化したものが続いていると言うことになりますよね。 (春野)それはもとにもどしたら、また最初から学習すると言うことですか? (質問者)課題はあくまでも、あるものを良くするという課題であるから、 課題というのは課題specificな適応を導くわけで・・・ (春野)課題は日常ではどんどん条件がスイッチしていますよね、 それに追随しないといけない。 そのときに、前のものが毎回完全になくなってしまうのか、 それとも、変わったものに徐々に適応するけれども、 もとのものにすぐに戻れるのかという問題です。 日常全く体験しないような入力に対する適応はよくわからないけれど、 入力はほぼ同じであるふつうの条件ではという・・・ (質問者)わかりました モジュール性はそういうものだと納得していただいたとして、 いまコントローラーが複数並んでいるとしましょう、 こういう場合にどのコントローラーが適切かを選ぶ問題があります。 制御は生きている中でやるわけで、 あれもこれも試して選ぶということはできないわけです。 やる前にどれがよいかを決めねばならない、それを考えるのが前半の話になります。 \section{確率に関する復習} [スライド:ベイズ則手書きスライド] 細かい話をやる前に、簡単な話をしておきましょう。 $n$個の選択肢があってそこから$i$番目を選ばねばならないとき、 事前確率$p(i)$は何の根拠もなしに$i$番目の確率はこれくらいだ、 と信じているということを意味します。 これに対して事後確率$p(i|X)$は、 観測$X$を見た後に$i$番目の確率はこれくらいだと言うことです。 条件付き確率の定義に戻ると、 $X$のもとでの$i$の確率$p(i|X)$というのは、 $X$と$i$とが両方起こる確率$p(i,X)$に比例しますよね。 \[ p(i|X) \propto p(i,X) \] $X$と$i$が両方起こる確率$p(i,X)$は、 $i$のもとでの$X$の確率$p(X|i)$と$i$の確率$p(i)$をかけたものですよね。 \[ p(i,X) = p(X|i)p(i) \] $X$の確率$p(X)$というのは、 $j$と$X$と両方起こる確率$p(j,X)$を$j$に関して和をとったものですよね。 \[ p(X) = \sum_{j=1}^N p(j,X) \] 必読論文の中で$\lambda$だなんだと ごちゃごちゃうるさいのがあったとおもいますが、あれはこれだけのことなんです。 こんどは、$j$と$X$の両方起こる確率$p(j,X)$をばらすと、 $j$がおこったときに$X$が起こる確率$p(X|j)$と、 $j$の起こる確率$p(j)$をかけておけばいいわけですよね。 \[ p(j,X) = p(X|j)p(j) \] そうすると、 全体はこのようになります。 \[ p(i|X)=\frac{p(i,X)}{p(X)} =\frac{p(i)p(X|i)}{\sum_{j=1}^N p(j,X)} =\frac{p(i)p(X|i)}{\sum_{j=1}^N p(j)p(X|j)} \] 次に、$x$というvectorがあります。 例えば、今日のいろいろな株価と言うことにしましょう。 $y$は明日の株価平均と言うことにしましょう。 \[ X=(x,y), y=f_i(x)+\epsilon_i \] $N$個の関数$f_i(x)$があって、 それぞれが明日の株価を予測するということを考えましょう。 $i$というのはそれぞれ、野村証券、丸三証券、山一証券ということにしましょう。 それぞれは、今日の株価のvector $x$をみて、明日の株価平均の予測をしています。 それぞれの予測$f_i(x)$にはノイズが含まれているためピタッとは重ならず、誤差があります。 ここで$i$社―たとえばつぶれてしまった山一証券―の予測が 正しいものである確率を考えましょう。 山一証券の予測確率は、$\epsilon$がGaussian ノイズであるとするならば、 $i$社のもとで、こういう株価の関係になった確率はこうなります。 \[ p(X|i)=p(x,y|i)= \frac{1}{\sqrt{2\pi}\sigma_i}e^{-\frac{1}{2\sigma^2}|y-f_i(x)|^2} \] 数日間ぶんのデータと各社の予測を見て、 それでどの会社に任せようかなということを考えるとしましょう。 はじめは山一証券が大きい会社であることから、 事前確率$p(i)$としてここに任せようと思っていたかも知れない。 その後各社の予測をみて、データを見た上で、 各社を選ぶ確率はこういうようにしたらいいのです。 \[ p(i|X)=\frac{p(i)\exp(-\frac{1}{2\sigma_i^2}|y-f_i(x)|^2)} {\sum_{j=1}^N p(j)\exp(-\frac{1}{2\sigma_j^2}|y-f_j(x)|^2)} \] みなさんに読んでいただいた論文では、 ここ$p(i)$に$\hat{\lambda}_i$がはいっていて、 ここ$p(i|X)$に$\lambda_i$が入っているわけです。 もしこういうフレームワークになじみのない人がいたら、 こういうことだったと理解してください。 ここでは各証券会社がどういう予測をするか知っていたわけですけれども、 それを知らない場合に、 コントローラーとか予測モデルを入れて予測部分の学習もしようというのが、 ここからの話です。 ここまで理系の人にはつまらん話かも知れませんけども、 あの論文にはこれを書くスペースがありませんでしたので以上のような解説をしました。 \section{mixture of experts} [スライド:mixture of experts] これまでの関連研究はいろいろあるのですが、 その中からmixture of expertsを挙げます。 これを構成する要素にexpert network、gating networkがあります。 先ほどと同じで、$x$と$y$のセットを考えます。 $x$は実数値のベクターで、$y$を予測します。 $x$が入力で、$y$が出力です。 各expert networkは入力を受け取って、それぞれが$y$予測値を出します。 これだけですとどれを信用していいか分からないので、 gating networkを考えます。 gating networkは、$x$を受け取ってその信頼度$g^1,g^2,\dots$を出します。 このとき全体の出力$y$は、重みをかけて足すことで、 \[ y=\sum_i^Ng_iy_i \] というように計算します。 信用するエキスパートは重みを小さくして、 山一証券は信用しない ・・・ここに山一証券の関係者いないでしょうね?(会場笑)うちの親は山一だとか。 細かい学習則は説明しませんがポイントとなるは、 gating net.の重みを決めるのに、入力を見てやるのだというところです。 mixture of expertsの親戚にhierarchical mixture of expertsというのがあって、 それはmixture of expertsが縦につながっているのですが、 縦につながっている場合にもgating net.は$x$だけみるわけです。 このことの何が気に入らないかというと、 [スライド:2ページ目] gating net.が入力を分割するという困難な仕事を請け負っているため 分割がうまくいかないことが多いのです。 全部をgating net.のせいにすることがよいことかどうか、 これだけではっきりと何かを主張することはできませんが、 脳のモデルに少しでも関連を持たせるとしたら、 あらゆる階層のレベルで、入力を直接観測しているというのはどうも信じにくい。 それぞれの階層でそれぞれの重みを決めるのに、 すべてが最初の入力を見て決めているとは思いにくい。 \section{Multiple paired of forward inverse models} じゃあどうするんだというのが、 [スライド:MFIM] こういうモデルです。 フィードバック誤差学習がここにあります。 これら一つ一つの箱がモジュールの種(たね)のようなもので、 それぞれ等質的なものが$n$個並んでいます。 各モジュールの種はinverse model、forward model、responsibility predictor からなります。 各モジュールに関して見ていくと、 まずinverse modelに理想軌道が与えられて それぞれを実現するための運動コマンドをinverse modelが出します。 各モジュールのinverse modelがそれぞれ制御コマンドを出してきて、 どれを選ぶかと言うところでforward modelを使います。 制御コマンドを実行したらどういう軌道が実現するかを、 forward modelがもとに戻して予測するわけです。 さっきのヘルムホルツマシンに似てますよね? $n$個並んでいる各forward modelが次の時点の位置・速度・加速度を出します。 その中でどれがよいかを、ベイズ則に似たこういう式で決めます。 \[ \lambda_t^i = \frac{e^{-|x_t - \hat{x}_t^i|^2/2\sigma_i^2}} {\sum_{j=1}^N e^{-|x_t - \hat{x}_t^j|^2/2\sigma_j^2}} \] なんの事前知識もなしにこの$\lambda_t^i$を決めるので、 ベイズ則の$p(i)$に当たる部分を省略して上のようになります。 (質問)各モジュールで順モデルは全部同じですか? (春野)違います違います。 それぞれが違う関数を使って、次の状態$x$を予測しています。 $x_t$が理想状態で、$\hat{x}_t^i$はそれぞれの予想状態です。 ついでに言えば、inverse modelも違います。 理想軌道が入ってくると各inverse modelが運動指令を出し、 同時に各forward modelが自分の予測を出すわけです。 (質問)評価したいのは制御信号の善し悪しなのに、 それを異なる順モデルで予測して良いのか?そこのバイアスがかかってこないか? (春野)正確にはそうなのですが、forward modelは 学習によって徐々に正しくなっていくものです。 ある時点でみると、forward models同士にたまたま差があって、 たまたま一つのモデルの予測がよい場合、 これにばかり教師信号がいきます。 つまり現時点のcontextにおいてこのmodelだけが学習します。 それにつれて、inverse modelとforward modelが一緒に正しい学習をします。 しかしcontextがバーンと変わったら今度はこのモデルは不適切なわけですよね。 こんどは他のどのモデルがよいか再び決めて、 そこにばっかり誤差が集められてそこが学習すると、そういうことになります。 学習則の話をしましょう。 [スライド:学習則] $\lambda_t^i$はそれぞれのモジュールの良さを表します。 これが事後確率にすぎないと言うことは分かっていただけたと思います。 これを使って学習するときに、学習則には誤差があって、入力があって、 $i$番目のモジュール重みを持って学習するわけです。 だから、$\lambda_t^i$がゼロであるモデルは学習しないわけです。 たまたま良かった人のところばっかりに誤差が行って学習しますが、 良くない人には誤差が行かず、学習が行なわれません。 全体の運動指令は、各inverse modelの出力をそれぞれの良さに応じて足して決めます。 つまり$\lambda_t^i$の値の大きさに応じてモデルの制御コマンドを信用してやるわけです。 inverse modelの学習もforward modelの学習と全く同じようにします。 誤差の項$u_t^*-u_t^i$と責任信号$\lambda_t^i$と入力を掛け合わせています。 夏の学校ではここまでの話が内部モデル講習会になってましたので 理解していただいていると思いますが、 制御コマンドの誤差は本当は分からないので、そのために、 かわりにフィードバック誤差$u_{fb}$を使っています。 \[ \Delta\alpha_t^i=\epsilon\lambda_t^i\frac{d\psi_i}{d\alpha_t^i} (u_t^*-u_t^i)=\epsilon\frac{du_t^i}{d\alpha_t^i}\lambda_t^iu_{fb} \] ここにfeedback controlerからの出力$u_{fb}$が入ってきます。 まとめると、「責任信号を事後確率で計算して、 それによって順モデルと逆モデルを同時に学習を進める」ということです。 さてはじめに、「運動というのは入力がいろいろで、出力が一つです。 だからいろんな情報を一緒に入れられる扱える枠組みにしなければいけませんね」 という話をしましたが、それをするのが、responsibility predictorです。 [スライド:責任信号予測器] 責任信号予測器というのは視覚などの運動にあまり関係ない入力から、 次の状態の責任信号を予測しています。 それがこの式です。 \[ \hat{\lambda_t^i} = \eta(\gamma^i,y_t) \] 勘のいい人は分かると思いますが、ものを見て予測をたてるというのをここでやっています。 予測をたてることは事前確率に相当します。 $y_t$というのは時刻$t$における外からの文脈入力で、 何か視覚入力でもいいし、音でもいいです。 $\gamma$というのはresponsibility predictorのウェイトです。 出力($\hat{\lambda}$)は時刻$t$におけるresponsibilityの予測値です。 わかりにくかったようですが、$\eta$は例えば$\gamma$をウェイトとした 3層perceptronによって、予測値を出します。 実際に運動してみると本当の$\lambda_t^i$が分かるわけですから、 本当の$\lambda_t^i$を教師信号として予測値$\hat{\lambda}_t^i$の学習が進められるわけです。 例えば視覚入力に対して予測信号を出力した場合その誤差が後から帰ってくるので、 それを使ってこれ自体の学習を進めると言うことになります。 それですから、責任信号予測器で計算したこの$\hat{\lambda_t^i}$というのは 事前確率と思えばいいわけです。 つぎに事前確率と運動した結果を混ぜるにはどうすればいいかというと、 これ \[ \lambda_t^i = \frac{\hat{\lambda_t^i}e^{-|x_t - \hat{x}_t^i|^2/2\sigma_i^2}} {\sum_{j=1}^N \hat{\lambda_t^j}e^{-|x_t - \hat{x}_t^j|^2/2\sigma_j^2}} \] をつかうわけです。 これは先ほど見ていただきました、Bayesの形をしています。 $p(i)$のところが$\hat{\lambda_t^i}$になっているだけです。 これで、全体でこのアーキテクチャの一番簡単な学習がどうなるかについて、 そのなかでキーとして働く責任信号というのがどういうものかという説明をしました。 \section{シミュレーション} では、実際に簡単なシミュレーションをしたらどうなるのか、 [スライド:シミュレーション] 腕のモデルとしてこういう線形のモデルを考えます。 \[ M\dots{x}+B\dot{x}+Kx=u \] 外からの外力として$u$があり、腕のダイナミクスが時間とともに変わります。 具体的には$M$と$B$と$K$の値が5秒ごとに、$\alpha,\beta,\gamma$に変わります。 これに関していい例がないので、昔銅屋さんに教えてもらった例を出しますが、 「スノーボードをしていて急にアイスバーンにつっこむような感じ」です。 5秒ごとにアイスバーン(会場笑)。 3つのダイナミクスがあるので3つの順逆モデルを用意します。 また各モジュールの順逆モデルは、ともに線形ネットワークだと思って学習します。 [スライド:結果の3次元グラフ] 初期値を与え、学習をがんがん回していくと正解へ収束していきます。 ニューラルネットのウェイトを使って、forward modelから予測される$M.B.K$と、 inverse modelから予測される$M,B,K$とを計算できるのですが、 それを見ると、いつもforward modelの方がよいということが分かります。 それはなぜかというと、まずフォワードモデルの方の学習がある程度進んで、 正しく問題を分割できるようになってはじめてインバースモデルの学習が進んでいるからです。 本当にこんなことができるのか? ということを見てもらうために、プログラムを走らせてもらいましょう。 (演習) [スライド:責任信号予測器とsize weight illusion] 今度はresponsibility predictorに対する入力として、 4かける4の行列のうえで表現された「形」を入れます。 (こんなのをsize weight illusionなんていうと絶対怒られるんですけど。) 同じ大きさで、重さの違うのを持ち上げると、 絶対ちいさいもののほうが重たい。それは自分が予測したものとの差が大きいので、 重いと感じるのですが、 そいういうのをsize weight illusionと呼びます さて、運動と視覚的なものの入力とのアソシエーションとしてこういう例を与えます。 学習の時は$A$と$\alpha$,$B$と$\beta$,$C$と$\gamma$というペアにして学習させます。 $\alpha,\beta,\gamma$、というのは物体の特徴です。 そして学習後にはじめて$A$と$\gamma$の組み合わせを与えて責任信号と加速度の誤差を見ます。 いままでは、$A$と$\alpha$の関連しか知らないので、 運動前は視覚入力に基づいて緑($\alpha$)が選択されているわけです。 しかし実際に運動が選択されてみると違いに気付いて、 正しいもの($\gamma$)が選択されるわけです。 こうして外からの文脈としての入力と実際の運動とを 連合させて学習することができていることがわかります。 (質問) 途中で真ん中のモジュールが選択されているのは何ですか? (春野)これは、何なんでしょう? ノイズのせいだと思うのですけど (質問者)AかなBかなと迷ってCだったと? (春野)そうですね。 ノイズが軌道に入っているのでそのせいでたまたまだと思うんですけど、 両方の入力の組み合わせが効いてきますよね、形からの出力と運動の誤差と。 そのせいでこのへんでは迷っている、と、そういうことだと思います。 ここまでのところで、モジュールの選択が学習にもよるけれども、 初期値(事前分布)にも依存するということが分かってきました。 なぜかというと、ノイズがあるときに、 その時点その時点の誤差だけから制御をして良いのか、実際の人間の行動でも、 もうちょっとある程度、しばらくはモジュールがするべき行動が変わらないとか、 トップダウンの予測などがあるのではないか? そこで、このモデルに時間的なこと、急には変わらないぞと言うことを入れるために マルコフ的なことを入れてみました \section{マルコフ的にモジュール遷移するMPFIMとEMアルゴリズムによる学習} [スライド:マルコフ性を利用したMPFIM]   マルコフ性というのは強化学習で学んだので、大体ご存知だと思います。   今やっていたことを時間的に書いてみると図のようになます。  $S_{1}$、$S_{2}$、$S_{t}$があってそれぞれ状態に対応します。 tは時間で、それぞれが時刻tにどれかのモジュールの値を取りながら、 逆モデルと順モデルを使って制御する状況になっています。 ここで考えたいのは、 $S_{n}$によるモジュール選択がちょこちょこ変わらないという 大きなレベルでの予測をしたいということで、 $S_{t}$から$S_{t+1}$に移るときにその移りやすさを遷移行列にしました。 マルコフ性の性質によって、$S_{t+1}$は$S_{t}$にしか依存しないと考えます。 i番目の順モデルの線形パラメータを$W_{i}$つまり、 重みとして、標準偏差を$\sigma_i$とします。 今、モジュール$i$だと考えて、 そのモジュール$i$がデータを生成した確率が次式のように正規分布になっています。 この状態は、外からでは、わからない、つまり、隠れ変数というわけです。 隠れ変数がわかったとして、$i$番目の隠れ変数を取っているとしたときの尤度は、 次式のようにあらわされます。 \[ L_{i}(Y|W_{i},\sigma_{i}) = \frac{1}{\sqrt{2\pi\sigma_{i}^{2}}} \exp^{-\frac{1}{2\sigma_{i}^{2}}(Y-X_{i}W_{i})'(Y-X_{i}W_{i})} \] あとは、石井先生に習ったようEMアルゴリズムを使って計算できます。 [スライド:結果比較1] 前記の課題に上のレベルから安定化するような要素を入れたもの (HMM)と前記の方法を適用したものを比較した結果を図に示しました。 上側のパネルで、実線は目標加速度、点線は実現加速度、下側のパネルは、責任 信号の変化です。左側のパネルはHMMの方法を、右側は前記の方法の結果を示しています。 見て、おわかりの通りHMMでは、切り替えが適切に行われるのに対し、前記の手法は 頻繁に切り替えが起こっています。 これに伴いHMMでは、加速度の誤差も小さくなっています。これはHMMでは、状態遷 移確率を考慮してモジュールの切り替えを安定化させるためだと考えられています。 (質問) それは、3状態ですか? (春野) そうです、3状態です。 (質問者) 学習をしたのは、遷移行列の対角成分が、割に大きくて、状態Aにいるとしたら そこにしばらくいるということを学習したのですか? それとも5秒経ったら、次に移り変わるような学習をしているのですか? (春野) それは、単に時間的に一定で、対角成分も大きくて、次の状態に移るものが ちょっとあるということです。 [スライド −結果の比較2] これを、様々な切り替え数(何回ごとに切り替えるか)、 とノイズレベルの違い、つまり初期状態の違いで両者の比較を行いました。 表に様々な間隔でモジュールを切り替えた場合の両者の誤差の比を示します。 具体的には、分子がHMMの誤差、分母が前記の方法での誤差です。 各ネットワークの初期値として20%、40%のノイズを加え、50回の試行平均 値を示しました。 結果からわかることは、初期値が真の値から遠く(ノイズが大きい)、モジュール切 り替えの頻度が低い場合にHMMの頻度が顕著に高くなることがわかります。 \section{ 階層的なMPFIM } [スライド:小脳ー皮質ループと階層的MPFIM] 階層性を取り扱うようなメカニズムとして、もっと深い階層をやろうと思います。 現在の研究では大脳基底核ループが非常に人気がありまして、 中原さんや銅野さんもやっておられます。 階層性のもとになるのは何であろうかと考えるてみます。小脳に内部モデルがあると して、階層性というのはいろいろなレベルの 内部モデルがインタラクションして仕事を行っているとおもいます。 都合のいいことに、脳にはそのような構造があって、図のように歯状核が視床を介 していろいろなところとループになっていることがわかりました。 M1やワーキングメモリをすると言われている46野やpre-SMA、SMAなど高次なところと ループを作って、それぞれ異なる部位のシステムで、 別々の内部モデルを使って学習をしているのではないかと思います。 それは、非常に高次なところと、運動制御に密着した低次なところが皮質の双方向結 合を用いて双方向的にインタラクションをして、階層的な所動をしているのではないかと考えられます。 この仮説のモデルとして階層的なMPFIMを考えます。 (質問) それは、M1と上位のレベルでやるのか。それともM1の中にいろいろなモジュール があってその間でやるのですか。 (春野) M1のループの中に複数のモジュールがあって、同じようなタスクはこのループをや っていて、上位の方は、また違うタスクを行います。 MPFIM図でみせた横に並んだモジュールが、この一つのループに対応していると考え ています。 [スライド:階層的なMPFIM] この階層的なMPFIMを安直に図にしますと二つの階層の簡単なものになります。 それぞれのモジュールの中に逆モデルと順モデルがあり、それぞれ三つ並んでいま す。 その上に上位レベルをつけました。下のモデルでは、順モデルが軌道予測をしてい て、逆モデルが制御コマンドを送っています。 先ほど、責任信号予測の話で、上から事前確率を計算しているという話しをしまし たが、ここでは上のレベルというのは、 それぞれ下のレベルの事前確率を計算していることになります。 下のモデルの順、逆モデルは、制御に密着した入出力をしていますが、上のレベル ではもうちょっと抽象化した レベルのことを取り扱いたいので、下のレベルのどれがいいかという事前情報を出 力しています。 事前情報を出せば、次の時点、答えが返ってくるので、それを使って上位レベル の学習をすることができます。 [スライド:階層性MPFIMと双方向性] 先ほどもお話ししたようにぼくは言語に興味がありまして、言語とか運動とか一緒 ですけど、その生成と認識というのが密接に結びついていて、 それは先ほどのHelmholtzマシンにもありましたね。 このモデルの楽しいところは生成するときと認識するときで同じアーキテクチャが 使えるというところです。 このことをまず系列物体制御のシミュレーションを使ってお見せします。 [スライド:系列物体制御のシミュレーション] 異なる物体をもち与えられた軌道に従って腕を30秒間動かす課題です。物体の特性 は以下の2つの系列に従い5秒毎に変化します。 系列A:$\alpha$,$\beta$,$\gamma$ 系列B:$\beta$,$\alpha$,$\gamma$      勘のいい方は、お気づきでしょうが、先ほどの、下三つ、上二つのモジュールから なるシステムの図がありまして、 [スライド:階層性MPFIMと双方向性] 下のモジュールにはそれぞれ順、逆モデルがありましたので、そこのモジュール は、このシミュレーションのそれぞれ $\alpha$、$\beta$、$\gamma$の学習を行い、上の二つはシーケンス1と シーケンス2に対応する学習をしてほしいわけです。 [スライド:系列の学習] 結果は図から系列Aの要素が学習できていることがわかります。 下位レベルは、$\alpha$、$\beta$、$\gamma$に対応するシーケンスができてお り、上レベルでは、学習時はだめだが、学習後は、 それぞれの順番に対応して発火します。 系列の学習を行うと上レベルにそれぞれ 系列に対応するパターンができていることが わかります。    下の図は、系列1と系列2の運動制御をしているわけですが、それをやっている間 に上のレベルのそれぞれに系列1と系列2に対応するパターンが 生成されたことを示しています。 実際、サルの記憶主導による系列運動課題で、歯状核の前頭連合野とループ構成 する部分にこのような系列に特異的に反応するニューロンが見つかって います。 [スライド:階層性MPFIMと双方向性] 他人が制御した信号を、理想軌道として入力をすれば、 自分が学習をしたシーケンスに基づいて、 その信号を分けることができます。 今までは、生成するときは、自分の理想軌道を入力していたが、 人がした運動系列を実現するためには、 自分だったらどのようなモータコマンドを出力するか、 上のレベルはどのように活動すればいいのかという結果が出てくるわけです。 そうすると観測したほかの人のデータのリダイヤルつまり、自分がデータを生成す るときや、異なる人の似たアクションを見たときに セグメンテーションをやっているということが できます。        [スライド:ノイズがある場合の生成] 最後に階層性がどのようなメリットあるのかをお見せして終わりにしたいと思いま す。 このグラフは、先ほどの系列Aを実行しているときに5%のノイズを感覚フィード バックに加えたものの結果を示しております。 中央のパネルは上のレベルの責任信号を示しています。 下の二つのパネルは下の階層での尤度と責任信号を示していて、その中で上のほう は、トップダウン信号を切ってしまったとき、 つまり、運動誤差だけから決めた責任信号のようなものの推移を表しています。 ノイズのせいでガタガタしているのがわかります。 一方、下のもう一つの方のパネルは上のレベルからの系列予測の信号があって、 その結果、安定しているのがわかります。 \section{ おわりに } [スライド:おわりに] 予測と制御に基づく階層的運動学習のモデルをMPFIMを中心にして述べました。 シミュレーションの結果を通してこのようなモデルが階層的な運動を学習し得る ことを示しました。 また、単なる工学的なモデルではなく、このようなモデルを用いて、数理的な背景を もつ実験を設計できる可能性について述ました。 (質問) 高次46野のループからpre-SMA,SMAのループを通して、信号が伝わっていくとき、 それぞれのモジュールの役割の違いはどうなっていますか? (春野) ここでは大脳基底核のループを考慮に入れていないので、わかりませんが、 小脳帝国主義の見地からいいますと、46野と小脳のループがシーケンスのメイン のところであって、pre-SMAやSMAは上の信号を受けているだけで、ニュー ロンがシーケンスに特異的に発火しているだけだと考えられます。 (質問) 先生の興味はモジュールを切り換えることが中心で、それをたまたま、運動制御に応 用して見たということでよろしいのでしょうか。 (春野) それは、good quetion です。もともとは、統計学をやっていたので、そういう事が いえますが、今は、こちら(脳のモデル)にシフトしています。 (質問者) モジュールに分けてやるメリットは何ですか? (春野) 一個所のところで学習させたのでは、新しい学習をさせると今までの学習が保存で きませんから。 (質問) 運動制御のときは軌道目標があって、それを自分の中に取り込んでアクションを起 こし、その結果をフィードバックして学習しますが、言語認識の場合は 言葉を聞いて瞬間的にフィードバックをするわけじゃない、つまり、例えば僕はこう いう事が分かりました、 あなたは、こう言っていることはあってますかいいえ違ってますというような フィードバックがあるわけではありませんね。それについてはどのように考えてい ますか。 (春野)  [スライド:階層性MPFIMと双方向性] 言葉の場合は、五味先生がやっておられますが、調音パラメータやもっと上のレベ ルの意図があるわけですね。 まず、運動制御の話しからいいますと(下のモジュールを指して)この辺のレベル がいきなりわかったわからないというのではなく、まず、パッと話しを聞いて(音声 波形を見て)それを自分がやるのであればどういう制御コマンドをつか い、音の系列に直したらどうなってとかを考えるのではないでしょうか。 (質問者) はじめは、おっしゃるような方法で、エラーを含んだ情報で構築したものを使って やってみる。その誤差を耳で聞いて、学習していく。 つまり、聴覚系から運動系への情報を使って学習していくわけなんですよね。 (春野) はい、聴覚系から運動系へのなにかしらの関数があって、聴覚のフィードバックを 誤差として運動系で学習をするわけです。 (質問者) しかし、耳が聞こえても話せない方の場合は、どのように言語認識してるのでし ょうか。 (春野) それは、わかりません。 (質問) このモデルの目標は、不連続なあるいは離散的な変化に対応するようなモデルを たてたいという事からはじまって、それを言語のような離散的なものに応用して いこうということですね。 (春野) 特に、離散的にバシッと変ることにこだわっているわけではなく、 複数のコンテキストによって変るということのがやりたいというの が一つです。それと順モデルと逆モデルを組み合せるとパーセプション とジェネレーションとい話しができるのでそういうことがしたいのです。 \end {document}