脳型情報処理機械論:#3(生物の動きを模した柔らかな制御や忘れる機能を具備する研究は面白い)

はじめに

脳型情報処理機械論の3回目はゲスト講師による講義だった。第1回目第2回目の講義の内容はすでに投稿した通りだ。講義の最初に示されたパスコードを指定された場所にコピペして登録すると出席となる。講義に夢中になってその処理を忘れていて、後から登録したら遅刻になってしまった。誰よりも早く出席したのに大失敗だった(汗)。これからは注意しよう。なお、講義は大変面白かった。正直に言えば、ニューロネットワークの基本的な知識がないため、何が分からないかが分からない状況で講義を聞き始めてしまった。まだまだ研鑽が必要だ。今回の投稿も講義メモではない。講義を受けて、ネットで関連情報を調べて、自分なりに理解したことや興味を持ったことをまとめている。このため、もし、良くかけれてる点があればそれは講師やネットの引用先が素晴らしいのであり、逆に良くない点や分かりにくい点があれば私の非学・無知によるものだ。

本日のゲスト講師

中嶋浩平東京大学大学院情報理工学系准教授

今回のゲスト講師は東京大学大学院情報理工学系AIセンターの中嶋浩平(なかじま・こうへい)准教授だ。東京大学を2004年に卒業し、2006年に大学院を卒業し、2009年に博士過程を終了する。その後、スイスのチューリヒ大学研究員、スイス連邦工科大学チューリヒ校研究員、京都大学白眉センター助教を経て2017年4月から東京大学の特任准教授、2020年にAIセンターの准教授に就任されている。チューリッヒならドイツ語がメインと思うけど英語も上手だ。将来を開拓する有望な研究者と言える。

(出典:毎日新聞

9つの脳を持つ賢いタコ

中嶋准教授の研究はタコからヒントを得たという。タコは、不思議な生き物だ。地球の95%を占める無脊椎動物の中で最も賢く、脳がなんと9つもある。さらに言えば、心臓が3つ。しかもヘモグロビンの代わりにヘモシアニンが酸素を運ぶため血液が青色。敵に襲われたら6本の腕や2本の足が千切れることがるが、大動脈が傷ついてもタコは自分で止血して、再生する。そんな賢いタコの足を振ると計算ができるかもというインスピレーションをもとに、シリコンで作ったタコのような人工足を水槽の中に吊し,根元に付けたモーターでランダムに振る。タコ足は踊るように複雑に揺れ、数分もすると「パリティチェック」と呼ばれる基本的な非線形演算の計算方法を習得して正しい答えをはじき出すという。さらには、機械学習の性能をチェックするのに使う非線形の学習課題も従来のニューラルネットを超える正確さで解決する。このクニャクニャしたタコ足が学習に必要な演算を蓄積する「リザバー(貯水槽:Reservoir)」だという。タコ足などの物理系に様々な非線形応答を起こし、その中から目的に合う組み合わせを引き出すことで答えを得る。これが最近注目されている「リザーバーコンピューティング」と呼ばれる手法だ。生物体が持つ計算能力を利用する計算方法と言える。しかし、人間の脳ではなく、たこの足の動きという物理的な動きと計算をつなぐというのはユニークな発想だ。

(出典(左):毎日新聞、出典(右):Science of Soft Robots)

中嶋准教授の力作である著書

中嶋准教授が持つノウハウや知見を一冊の図書にまとめたのが、下の図の「レザーバーコンピューティング」であり、2021年8月5日に出版された。アマゾンでは、20,490円(Kindleなら18,627円)で購入できる。リザーバーコンピューティングについて詳しく学習したい人にはオススメだ。クチコミが2件あり、星5つだ。


(出典:アマゾン

リザーバー・コンピューティング(RC:Reservoir Computing)

リザーバー・コンピューティング(以下「RC])は、下の図に示すように、入力層(Input Layer)、中間層(Reservoir Layer)、出力層(Output Layer)の3層からなっている。RCの特徴は、入力層とReservoir層において重みの更新が行われない点だ。最初にランダムな値で決め打ちしたら、中間層のノードの内部状態と出力層の重みに任せて出力層の重みを調整することで学習する。中間層のみ同層間の結合を許し、中間層のノードが内部状態を持つことでモデル内に短期記憶を用意する。これにより、時系列データの持つ因果関係を扱えることが可能となる。中間層のReservoirは貯水池という意味があり、この中間層に入力データを貯めているようにみえる。RCの場合には、学習の部分を出力層のみに任せることでこの大量の学習コストの問題を解消できる。出力層の重みは最小二乗誤差をベースに学習する。RC は単一のアルゴリズムを指す用語ではなく、アルゴリズム全般を指す言葉である。RCでは重みの大部分を乱数で初期化し、そのあとは固定する。つまり、学習データが入ってきても重みを変更しないことが特徴だ。


(出典:Qiita)

RCの歴史

リザーバー・コンピューティング(RC)の始まりは、ジェイコブス大学ブレーメン国際大学コンピュータサイエンスのHerbert Jaeger博士とグラーツ工科大学理論計算科学研究所のWolfgang Maass博士が2000年代初めに提唱したニューラルネットワーク(NN)のアルゴリズムと言われている。リカレント・ニューラル・ネットワーク(RNN)の学習方法は、BPTT(Back-Propagation Through Time)法とRTRL(Real-Time Recurrent Learning)法が主流だったが、多層になると購買消失問題(Vanishing Gradient Problem)や計算量の増大などの課題が生じた。これらを解決する手法の一つとして、RCが注目された。


(出典:IoT)

リカーレント・ニューラル・ネットワーク(RNN:Recurrent Neural Network)

リカレント・ニューラル・ネットワーク(以下「RNN」という)は、ディープラーニングのネットワーク構造であり、過去の情報を利用して現在および将来の入力に対するネットワークの性能を向上させる。RNN の特徴は、ネットワークに隠れ状態とループが含まれる点だ。時系列情報をネットワーク内で表現する方式であり下の図(左)のマイケル・ジョーダン発案のジョーダンネットや、下の図(右)のジェフ・エルマンあ発案のエルマンネットなどが有名だ。最近のディープラーニングの議論では、LSTM(Long-Short Term Memory)や、その改良版であるゲート付き回帰型ユニット(GRU:Gated recurrent unit)などが注目されている。RNNの最適化が困難な理由の一つは、「Backpropagation」が面倒くさいことだ。RNNの学習をする場合には、BPTT(Backpropagation through time)を使うが、過去に遡る形で多層のネットワークでの誤差伝播をしなければならない。BPTTは時系列を展開して過去に遡りながら重みを更新していくという方法をとるため、正直煩雑だけど、RCがこの煩雑さを解消してくれるのではないかという期待がある。
(出典:東京女子大学)

RCとRNNの違い

RNNは学習された重みで過去の情報を受け取る。一方、RCは学習されていない重み(ランダム重み)で過去の情報を受け取る。RNNは入力、マルコフ性抽出のための過去情報の伝搬、出力全般の重み学習を行う必要がある。しかし、RCならば、入力、過去情報の伝搬部分は固定されたランダム重みで計算を行うために簡単だ。さらに、出力の重みのみをタスクに最適な出力をだすように学習するため計算コストも低廉となる。出力部分の重みのみの学習になるため、入力、過去情報の伝搬部分は共通なタスクを利用可能だ。


(出典:Qiita)

リキッドステート・マシン(LSM:Liquid State Machine)

前述のWolfgang Maass博士が提唱したのは、リキッドステート・マシン(LSM:Liquid State Machines)という方式だ。後述のエコーステート・ネットワーク(ESN)と似ているが、LSMは小脳のモデルから提唱された考えである。ネットワークを池の水のような液体と見なし、水に石を投げ込むと池に波紋が生じる。このような時空間のパターンをヒントにして提案されたリカレント・ニューラル・ネットワーク(RNN)がリキッドステート・マシン(以下「LSM」)だ。生物学に触発された人工的なニューロン間の接続は動的プロセスを定義される。各人工ニューロンの特性は、任意の履歴入力のシーケンスを液体の時空間パターンの活性化に変換する。残響はネットワークとその再帰性の関数であるため静的なMPニューロンを用いても時間的な記憶が可能である。時間的な側面はもっぱらネットワークにあるため、ESMでは、信号を維持するために、より強い接続性と介在ニューロンの重みが必要となり、LSMに比べてロバスト性が低くなる。

(出典:hananel)

エコーステートネットワーク(ESN:Echo State Network)

前述のHerbert Jaeger博士が提唱したのはエコーステートネットワーク(ESN:Echo State Network)という方式だ。一般的なニューラルネットワークでは、入力層・中間層・出力層の3層で重みづけのパラメーターを調整して目的の結果が得られるように学習するが、ESNでは、ニューロン同士を繋ぐ重みを固定し、学習はリザーバー層と出力層を接続しているリードアウトのみとする。ニューロン間の結合の重みはランダムな固定値のままで、ニューロンの結果の重みだけを調整してたし合わせる。回路の制御が簡単になる反面、学習能力が高まらないので、ニューロン数を増やす必要があった。パラメータを固定するならば、コンピュータ上にリザーバーを構築しなくても物理系のダイナミクスをリザーバーとして活用できるという発想から、物理現象を情報処理デバイスの一部として活用する物理的リザーバー・コンピューティング(PRC:Physical Reservoir Computing)という考え方が注目され、これがまさに中嶋准教授が研究しているものだ。

エコーステート・プロパティ(ESP:Echo state property)

エコーステート・ネットワーク(ESN)はRCの代表的なモデルの一つである。ESNがうまく行く理由の一つは、ESNは入力データを低次元(K次元)から高次元ニューロン状態空間(NxN)へ非線型変換で写像することで、入力の線形分離を可能にする。これはカーネル法の発想と同じだ。ESNのリザーバー層は非線型関数ニューロンモデルで表現されたニューロンの再帰的ネットワークで構成されている。ニューロン間連結の仕方と重みはランダムに決められるが、過去の情報を持つニューロンの状態により、時系列パータンが学習される。ESNは過去の記憶が時間によって消失するという制限(ESP:Echo state property)をかけることで、短期な記憶情報のみを活かす。ESPを持たせることで、ニューロンの状態がリザーバーへの入力データに漸近的に依存することや、初期状態の影響が徐々になくなる。記憶したものを時間の経過で消失させるという仕組みは、従来のコンピュータにはないが、人間の頭脳では一般的な機能であり、非常に面白いと思う。自慢ではないが、自分は記憶する能力は優れていないが、忘れる能力は人一倍高速だ(笑)。なお、モデルにESPを与えるには、スペクトル半径(spectral radius)「ρ(Wres)<1」を満たす必要がある。

(出典:MINDS)

FORCE(First Order Reduced and Controlled Error)

エコーステート・ネットワーク(ESN)を拡張したアルゴリズムがFORCE(First Order Reduced and Controlled Error) Learningだ。運動生成の再現が出発点である。ある運動パターンを覚えさせておいて、後できっかけを与えたらそのパターンが再生されたり、あるパターンから自然に別のパターンに変化させる。歩行から走行に移行するとき、動物はいったん立ち止まらなくても自然に移行できる。下の図のAが望ましい状態を出力させ、図中Bでそれを記憶し、その後は図中Cのように教師信号なしでも自発的に同じ出力を繰り返す。今後注目したい方式だ。

(出典:nature)

オープンループ制御とクローズドループ制御

制御方式には、下の図(左)に示すように、クローズドループ制御とオープループ制御がある。オープンループ制御システムは、フィードバックループを持たない手順だ。一方、クローズドループ制御とは制御されるべき量(被制御量)を継続的に測定し基準量と比較して、調整する手順である。したがって,閉ループ制御は,出力変数がフィードバックによって制御変数にも影響を与えるプロセスである。出力の実際の値は制御装置にフィードバックされ、不正確なモデルにもかかわらず設定値に到達できるように修正される。下の図(右)は、渦巻きポンプとポンプシステムの閉ループ制御の例だ。ポンプの運転に関連して、流量の閉ループ制御とは、この流量を変化させ、所望の値(設定値)に合わせて調整する方法とそれに付随する機器を指す。渦巻きポンプの性能は、特定のタイプのポンプについて、流量QにヘッドHをプロットすることで、その特性をH/Q曲線としてグラフ化できる。

ソフト・ロボッティクス(Soft Robotics)

リザーバーコンピューティング(RC)の応用が期待されるものにSoft Robotics (SoRo) がある。制御の難しい柔らかさを逆に計算資源として使う。SoRoは,フレキシブルエレクトロニクス、材料科学、コンピュータ科学、バイオメカニクスなど広範囲な技術を統合する。SoRoはこれらを編集して発行するロボット専用のジャーナルであり、生体と安全に相互作用や複雑な自然環境、人間が構築した環境で機能するロボット技術の研究などをテーマとする。様々な環境に適応するために形状やサイズを変化させるデバイスの構築アプローチをカバーする。この新技術は、外科手術、補助医療機器、緊急時の捜索・救助、宇宙機器の修理、地雷探知などさまざまな用途で重要な役割を果たすと期待されている。

(出典:liebertpub)

自律型マイクロ・ロボット

注目されるソフトロボットの一つが自律型マイクロ・ロボットだ。エネルギーが限られた環境で実作業を行う自律型マイクロ・ロボットでは高いエネルギー効率の運動制御が必要だが、大きな自由度を持つロボットシステムの同期動作を実現するには、集中制御方式ではなく、分散局所的な制御が有効だ。これは、実際の生物の動きに着想を得たロボットの運動制御スキームと言える。頸・腰髄膨大部に存在する歩行、呼吸、咀嚼運動などのリズミックなパターン運動を惹起する神経回路網として、セントラル・パターン・ジェネレーター(CPG:central pattern generator)は、脊椎動物の脊髄や無脊椎動物のガングリオンに存在する神経振動子の集合体であり、運動、呼吸、咀嚼などの多くのリズムパターンの生成に複雑に関与している。CPGは、脳の高次領域からの単純な入力信号を受けながら、局所的に複雑な運動パターンやシームレスな歩容の変化を生み出している。このCPGと結合した振動子の位相パターンと運動の歩容との関係を制御することが可能になると期待される。

(出典:nature)

まとめ

今回は、新しいコンセプトとして、リザーバー・コンピューティング(RC)を習った。従来のニューラルネットでは処理が非常に煩雑となるものを生物の動きを模倣させることで直感的に優しい動きを作り出すことができれば、ソフトロボットの制御にも役立つと思った。また、人体も頭脳による集中制御システムのように見えるが実際は思った通りには動かない。動いたことを指示したと解釈しているに過ぎないという意見もあり、興味深い。会社でも、上司は部下に指示を与えていると思っているかもしれないが、実際には部下が動いた結果を見て、指示を出したと錯覚しているのかもしれない。それでも、上司と部下の人間関係がうまくいっていれば問題はない。頭脳と肉体もよく似た関係のような気がする。全てを頭脳で制御することは無理だ。肉体側で分散制御をしながら、それらを頭脳でうまく統合するということができればと、ソフトロボットにも期待が高まる。

以上

最後まで読んで頂きありがとうございました。

最新情報をチェックしよう!