ホームサービスロボットにおける FPGA の応用例 (4): ロボットのための脳型人工知能

ロボットとFPGA

前回までホームサービスロボットのシステムと FPGA を統合する方法を紹介しました。今回は、ホームサービスロボットに搭載する「ロボットの脳型人工知能」、特に我々が開発する扁桃体モデルについて紹介します。

ホームサービスロボットに求められる知能

ホームサービスロボットは人と共に暮らし、働くことが期待されています。このために、ホームサービスロボットは様々な知識を獲得する知能を有することが求められます。

我々は、ホームサービスロボットが必要とする知識は大きく分けて2種類あると考えています。1つは世界共通の常識、もう1つは個人の経験に基づく知識です。

世界共通の常識が求められるのは、例えば「お茶を持ってきて」とロボットが命令されたときです。このときロボットは「お茶とは何か」という知識を有している必要があります。世界共通の常識に関するデータは、世の中に大量に溢れています。したがって、世界共通の常識の獲得には、ビッグデータによって性能を発揮するディープラーニングが効果的です。

個人の経験に基づく知識とは、その環境に依存する知識です。この知識が求められるのは、例えば「アレを持ってきて」とロボットが命令されたときです。「アレ」の意味は、その環境や状況によって変わってきます。この知識に関しては、先程の世界共通の常識とは異なり、大量の学習データは存在しません。したがって、ディープラーニングによるこの知識の獲得は困難です。一方で、我々人間の脳はたった数回の経験を通じて、このような知識の獲得を行うことができます。

そこで我々は、脳の機能からヒントを得て、人間のように考える脳型人工知能の実現を目指す、というアプローチを取ります。今回紹介するのは、脳器官の一つ「扁桃体」を模倣した脳型人工知能モデルで、これを用いて個人の経験に基づく知識の獲得を目指します。また、脳型人工知能モデルをハードウェア指向アルゴリズムへと改良し、FPGA 実装を通してロボットへ応用します。

扁桃体モデル

扁桃体

扁桃体 [1] は脳の側頭葉に位置する「情動」を司る脳器官で、古典的条件づけ学習に関わることが知られています。古典的条件づけの例として有名なのは「パブロフの犬の実験」です。

パブロフの犬の実験では、犬に音を聞かせながら餌を与えることを繰り返します。すると次第に、犬は音を聞くだけで条件反射を起こし、唾液が出るようになります。ここで犬は、個人の経験に基づく知識を、数回の経験によって獲得していることになります。我々はこの機能に着目し、扁桃体をモデル化することで、個人の経験に基づく知識の獲得を目指します。

アルゴリズム

扁桃体の古典的条件付け学習は、扁桃体の外側核と中心核が関わるとされています。我々は、外側核のモデルと中心核のモデルを設計し、扁桃体モデルを構築します。本来、神経細胞はスパイクで情報のやり取りを行いますが、ここでは簡単のために人工ニューラルネットワークモデルを用います。我々が提案する扁桃体モデル (図 1) は、自己組織化マップ (Self-Organizing Map; SOM、外側核のモデル、特定の刺激に反応する神経細胞が局在していることを模倣 ) とパーセプトロン (Perceptron、中心核のモデル ) によって構成されます [2] 。

図1 扁桃体モデル

扁桃体モデルに、非条件刺激 (パブロフの犬の実験では餌に相当) と条件刺激 (音に相当) を与えて、古典的条件づけ学習を行います。学習では条件刺激を外側核に入力し、SOM の学習機能で刺激の分類を行い、その分類結果と非条件刺激を関連づけるように、パーセプトロンを学習します。この学習が完了すると、非条件刺激を与えずとも、条件刺激を与えるのみで条件反射 (パブロフの犬の実験では唾液に相当) を起こすことができます。

ハードウェア

扁桃体モデルをホームサービスロボットに応用するために、ハードウェア指向アルゴリズムへ改良し FPGA に実装することで低電力化を目指します。扁桃体モデルのニューロンは空間的な並列性があるため、全てのニューロンの演算を並列展開することが可能です。また、FPGA では乗算器の数に限りがあるため、扁桃体モデルのアルゴリズムに含まれる乗算をビットシフト演算に置き換えて近似することで、必要な乗算器の数を減らしたハードウェア指向アルゴリズムを実現します。これによって演算を FPGA のリソースが許す限り並列展開できるようになります。

例えば、自己組織化マップの勝者決定のアルゴリズム:\( ( i_c, j_c ) = \arg \max_{i,j} ( {\boldsymbol x} \cdot {\boldsymbol w}_{i,j} ) \) ( \({\boldsymbol x} \) は入力ベクトル、 \({\boldsymbol w}_{i,j}\) はグリッド \( (i,j) \) に位置するニューロンの参照ベクトル、\( (i_c, j_c) \) は勝者ニューロンのインデックス) は下記のニューロン回路 (図2)、および SOM 回路 (図3) によって計算されます。 SOM 回路はニューロン回路を複数内包しており、それらを同時に動かすことで演算の高速化を図っています。

図2 ニューロン回路:ニューロン回路は入力ベクトルと参照ベクトルの内積を計算する。参照ベクトルはニューロン回路内のブロック RAM に保持されており、入力ベクトルが与えられたと同時に読み出される。ブロック RAM の出力ポートは2つあるため、2要素を同時に読み出して並列に計算することができる。入力ベクトルの要素と参照ベクトルの要素の積の結果をレジスタ ( 図中の四角 ) に積算することで、入力ベクトルと参照ベクトルの内積を計算する。
図3 SOM 回路:入力ベクトルに最も類似する参照ベクトルをもつニューロンを検索する。図2のニューロン回路を複数内包しており、すべてのニューロン回路に入力ベクトルを同時に与える。ニューロン回路は類似度(内積)を同時に出力するので、それらの最大値をトーナメント方式に配置されたコンパレータを用いて検索する。

また、自己組織化マップの参照ベクトルの更新のアルゴリズムは下記のように改変されます。

改変前 : \( w_{i,j} (t+1) = w_{i,j} (t) + (x(t) – w_{i,j}(t)) \alpha \exp( -\frac{(i-i_c)^2 + (j-j_c)^2}{2\sigma ^2} ) \)

改変後 : \( w_{i,j} (t+1) = w_{i,j} (t) + (x(t) – w_{i,j}(t)) \times 2 ^{ -(A + |i-i_c| + |j-j_c|) } \)

( \(\alpha\) は学習係数、 \(\sigma\) はガウス関数の分散、 \(A\)は正の整数で、\(2^{-A}\) が学習係数に相当する )

ガウス関数の計算が2のべき乗に置き換えられています。2のべき乗はビットシフト演算で実装できるため計算に乗算器が必要ありません。また、勝者ニューロンとの距離の計算 : \( (i-i_c)^2 + (j-j_c)^2 \) ( ユークリッド距離)もマンハッタン距離 : \( |i-i_c| + |j-j_c| \)に置き換えられ、乗算の回数が減っています。

扁桃体モデルは上記のようなハードウェア指向アルゴリズム化を経ても性能が劣化しないことが示されています[2]。扁桃体モデルは SOM とパーセプトロンで構築されており、これらニューラルネットワークを含むソフトコンピューティングでは、ハードウェアの特性を積極的に生かしたハードウェア指向アルゴリズムを考案することで、回路リソースの大幅な削減や、場合によってはモデルの性能自体が向上することが知られており、純粋な理論モデルからハードウェア指向アルゴリズムを考案するステップは重要な研究テーマとなります。例えばディープラーニングの回路化で大きなブレークスルーとなった2015年に発表された BinaryConnect [3] では、重みの2値化により乗算を加減算に変更可能でメモリ量と回路リソースを削減しつつネットワークの汎化能力も上がることが示されており、この発表を皮切りに多数のハードウェア化に向けた手法が提案されています。なお、ディープラーニングの推論モードの回路化に関しては、本ブログの他の先生方の記事にて多数の紹介がなされています。

ロボット実装

扁桃体モデルのホームサービスロボットの応用として、主人の好みを学習するタスクに適用します。このタスクでは、主人がロボットに物を持ってくるように命令します。このときロボットは注文されたもの (非条件刺激) とその状況 (条件刺激) の情報を取得し、扁桃体モデルに入力します。状況として何を取得するかは任意ですが、今回は主人の顔・注文した場所・注文した時間を取得することにします。これらの情報を用いて古典的条件付け学習を行うことで、例えば「お父さんがお昼にリビングにいる時はいつもお茶を注文する」という個人の経験に基づいた知識を獲得します (図1) 。

A home service robot learns your preferences in daily life using brain-inspired amygdala model
主人の好みの学習の様子:左上がSOMによる条件刺激の分類。右上が扁桃体モデルの出力(条件反射)で、主人の好みの推定値を示す。数回のインタラクションで主人の好みを推定できるようになっている。

学習に用いる外界からの情報は、 HRI* インターフェースを通じて獲得します。注文されたものの情報は音声認識 (Web Speech API [4]) 、主人の顔は画像認識 (YOLO**[5]) 、注文した場所は SLAM を通じて獲得します。これらのインターフェースは脳の知覚系とみなすことができ (例えば YOLO のベースとなる畳み込みニューラルネットワークは大脳皮質の視覚野のモデルと考えられる) 、インターフェースと扁桃体モデルの接続は、知覚系の情報が扁桃体に投射されるという脳の構造の再現と考えることもできます。

* Human robot interaction
** You only look once

まとめ

今回は、ロボットの知能の一つとして我々が提案する扁桃体モデルを紹介しました。我々はさらに、他の脳器官のモデルを考案し、それらを統合することで人間のように考える人工知能の実現を目指します。例えば、扁桃体の他に、エピソード記憶などを司る海馬・嗅内皮質や、予測・行動決定などを司る前頭前野に着目し、研究に取り組んでいます [6] 。ディープラーニングと脳型人工知能モデルの長所を上手く組み合わせることで、将来的に家族と共に経験を共有し、一緒に成長していくようなホームサービスロボットを目指します。

次回はこれまでにも何度か出てきた、ロボットの自律移動のために重要な SLAM の FPGA 化に関する検討について取り上げます。

九州工業大学大学院生命体工学研究科
准教授 田向 権 (Hakaru Tamukoh)、Hibikino-Musashi@Home

参考文献

[1] J.E. LeDoux, “The Emotional Brain: The Mysterious Underpinnings of Emotional Life,” New York: Simon and Schuster, 1996.
[2] Y. Tanaka and H. Tamukoh, “Hardware implementation of brain-inspired amygdala model,” IEEE International Symposium on Circuit and Systems, 2019.
[3] M. Courbariaux, Y. Bengio, and J.P. David, “BinaryConnect: Training Deep Neural Networks with binary weights during propagations,” NIPS 2015, arXiv:1511.00363, 2015.
[4] G. Shires and H. Wennborg, “Web Speech API Specification,” W3C Community Group Final Report, 2012.
[5] J. Redmon and A. Farhadi, “YOLO9000: Better Faster Stronger,” 2017 IEEE Conference on Computer Vision and Pattern Recognition, 2017.
[6] 田中 他, ”海馬・扁桃体・前頭前野の機能を統合した脳型人工知能モデル,” 第29回日本神経回路学会全国大会, 2019.

タイトルとURLをコピーしました