進化ロボティクス

自然進化を模倣して,ロボットを人工進化させようという試みは進化ロボティクス (Evolutionary Robotics: ER) と呼ばれている.ERにおける人工進化の設計対象は一般的に,ロボットの行動を規定するルールそのもの,制御器のパラメータである.制御器に人工神経回路網 (ANN) を用いる場合はそのシナプス結合強度・ネットワーク構造が設計対象となる.特に構造進化型ANNを用いるERは,幅広い応用範囲をもつと考えられる. 本プロジェクトでは,ロボットを人工進化させる際の進化ダイナミクスの解析およびスワームロボットシステムへの適用を行っている.

進化計算

進化計算は,生物の進化のメカニズムを模したアルゴリズムにより,目的とした仕様や性能を実現しようとする計算手法である.そして,この手法はある点からある点へ解を見つける局所探索ではなく,個体群から解を探索する最適化手法である.大きな特徴として,進化計算は,目的関数の連続性や微分可能性に関わらず適用できること,確率的に変化する法則を使うことが挙げられる. この手法の中心となる仕事のほとんどは,著名なダーウィン理論であり,特に,大半の手法は次の三つの基本的な構成要素を持っている.

  • 適応度:個体が将来の世代に影響を与える範囲を決定する
  • 生殖:個体が次世代に子孫を生成する
  • 遺伝的操作:両親の遺伝子情報から子孫の遺伝子情報を決定する
そして,進化計算は主に三つの進化プロセス,選択,突然変異,生殖を経て,最適化を行う. この進化計算の中には,遺伝の変化のモデルに基づく数多くの方法論とテクニックが存在しており,現在,数多くのアプローチが紹介され改良・改善の研究が行われている.本研究室では主に,遺伝的アルゴリズム(Genetic Algorithm:GA)と進化戦略(Evolutionary Strategy:ES)が進化ロボティクスに適用されている.
  • 遺伝的アルゴリズム
    1975年にHolland, J. H. によって提案され,Goldberg, D. E. によって研究の広がりを見せたGAは,現在進化計算の中で最も広く研究が行われている. GAでは,最適化問題に対する解の集合が個体群に対応し,交叉や突然変異などの遺伝的操作を用いて現在の個体群から次世代の個体群が生成される.このとき,自然選択に類似したメカニズムを用いることで,良質な解が,つまり適応度の高い解が選択され易くなる.選択された解を親として遺伝的操作(交叉,突然変異)を行い,次世代の解が生成される.この繰り返しが進化において世代を重ねることに相当し,この法則に従いGAは最適化を進めていく. 最も基本的なGAでは解の表現にバイナリが用いられるが,我々の研究では解の表現に実数値ベクトルを用い,連続空間での最適化が可能な実数値遺伝的アルゴリズム(Real Coded Genetic Algorithm)を進化ロボティクスに使用している.
  • 進化戦略
    ESは無性生殖の有機体の発達から着想を得た手法である.これは1960年代にRechenberg, I.とSchwefel, H. P.によって開発され,発展して来たものである.当初から連続空間での非線形最適化を主な対象としているため,個体は実数値ベクトルで表現される. ESはGAの自然選択の考え方は導入しているものの,突然変異を主な探索手段とし,個体の探索履歴に基づく自己適応に重点を置いた手法である.現在まで様々な拡張が研究されており,共分散行列により自己適応を行うCMA-ES(Evolution Strategy with Covariance Matrix Adaptation)が注目されている.

大規模計算技術の適用

われわれが取り扱っているスワームロボットシステムにおいて各ロボットの制御器を進化型人工神経回路網で構成する場合,所望の振る舞いを人工進化で獲得させるためには膨大な計算量が必要になる.そのため,グリッドコンピューティング,GPUコンピューティング,スーパーコンピュータ,クラウドコンピューティングを使って計算時間を大幅に短縮することを目指している.

  • グリッドコンピューティング
    グリッド
    ヘテロな複数の計算機をネットワークを介して相互接続することで大規模な並列・分散処理を実現する技術・概念の総称である.われわれが取り扱っているマルチロボットシステム問題において各ロボットの制御器を進化型人工神経回路網で構成する場合,所望の振る舞いを人工進化で獲得させるためには膨大な計算量が必要になる.そのため,グリッドコンピューティングを使って計算時間を大幅に短縮することを目指している.
  • GPUコンピューティング

    http://www.nvidia.co.jpより

    グラフィックス処理用デバイスであるGPUを用い,並列・分散処理を行う手法である.GPUは多数の単純なプロセッサを内蔵しており,この数は多い物で千を超える.この手法の利点としては,CPUに比べ価格性能比に優れることや,今現在も演算性能が向上し続けていることなどが挙げられる.本研究室でのGPUコンピューティングは,CUDAと呼ばれるGPU向け総合開発環境を用いている.
  • スーパーコンピュータ
    スパコン
    高度な演算を必要とするタスクに使用され、多くの場合ハイパフォーマンスコンピューティング向けCPUを採用している.多くの計算ノードを持つことで高い演算性能を誇る.本研究室では複数の共有メモリ型計算機をネットワークで接続した分散共有メモリ型計算機(SMP Cluster)に着目し,実装実験を行っている.
  • クラウドコンピューティング
    クラウド
    ネットワーク上に存在するサーバが提供するサービスを、それらのサーバ群を意識することなしに利用できるというコンピューティング形態である.管理の手間やサービスプロバイダーの仲介作業を最小にしつつ,これらの計算資源を すみやかに利用することが可能である.それにより,必要なときに必要に応じたリソースを利用できる他,サーバーの維持費が節約できるといった利点があるため,近年注目されている.

強化学習

実例に基づく強化学習法

荷押し

 強化学習とは,心理学実験で観察される動物の行動変容から着想を得た学習理論である. 強化学習では,入力に対する正しい出力を明示的に示す教師は存在しない代わりに,強化信号(報酬と罰)と呼ばれる数値化された情報に基づいて学習が進行する. すなわち,先験的知識を必要とせず,環境のダイナミクスが未知であったとしても,目標状態を与えられるだけでそこへ至る達成方法を試行錯誤を通して自律的に獲得することができる. さらに,環境の不確実性や報酬の遅れといった現象をも扱えるという特徴を持つ. これらの特徴から,強化学習は自律ロボットに代表される知的エージェントの行動獲得に用いられており,環境がマルコフ的である場合は無限回の試行によって最適解を獲得することが保証されている. 我々の研究グループでは,実環境で作動する自律ロボット群の行動獲得を目指し,連続な状態・行動空間を自律的に分割する機能を持つ強化学習法 Bayesian-discrimination-function-based Reinforcement Learning (BRL) を提案している. これまでに,BRLを制御器として複数台のアーム型ロボットや移動ロボットの協調行動獲得に成功してきた. しかし,過学習により未経験な状態の識別が難しくなり,獲得したロボットの振る舞いが不安定となる場合があることがその後の実験で観察された. この問題に対し,高い識別性能を示す識別器Support Vector Machine (SVM) を用いてBRLの拡張を行い,不安定な振る舞いが改善されることを確認している.

人間機械協調系

荷上げ

 近年,技術の目覚ましい発展によってロボットが人間社会に密に接する分野,例えば介護福祉や医療といった現場に参入する時代に入ってきている.そんな中,人間と機械が協調して作業を行う人間機械協調システムの研究が注目を浴びている.
 この人間機械協調システムを取り扱う上で重要となってくる課題としては,一緒に作業をする人間の安全性の確保,および人間とロボットの役割分担をどのように行うべきか,といったものが挙げられる.安全性については言うまでもなく,役割分担においては,その設計法の仕方次第ではユーザのシステムに対する不信・過信へつながる場合があるため,適切な設計に関する研究が求められている.
 我々の研究グループでは,こうした問題に対して,複数台のロボットを用いるマルチロボットシステム(MRS)の適用を提案している.一台のロボットを高性能化していくアプローチと比べ,MRSでは一台あたりが非力であってもタスク解決が見込まれるため,人間へ及ぶ危険性を最小限にとどめることができる.また,適応的機能配分の一種である自律的機能分化という概念をMRSに導入し,状況に合わせて動的に役割分担を行うシステムの開発を行っていくことで,ユーザが抱え得るオートメーションサプライズの抑制を目指している.

バイオミメティクス

 社会性生物は,単体では到底成し得ないタスクを達成するために相互に協調し合うことが知られ,集団レベルにおいて頑健で柔軟な振る舞いをみせる.この振る舞いの一例として鳥や魚などの群れ行動が挙げられる.群れ行動は,多数の個体がまとまり進行方向を揃えて集団で移動する振る舞いであり,自然界で広くみられる.動物行動学の認識によると群れを構成する各個体は利己的に振る舞い,集団や種のことを考慮していないとされる.このような説にも関わらず,生物が群れ行動をとる理由として,単体では得ることの不可能な様々な強みを獲得できるためと考えられている.例として生存率の向上やより正確な移住,エネルギーコストの減少などが挙げられる.このように,生物は進化の過程で優れた振る舞いを獲得してきた.このような背景から,生物の群れ行動を模倣し応用することは工学的立場から見て極めて有意義である.
 そこで,本研究では生物学における知見を利用した群れ行動の生成手法を提案している.具体的には,カモの群れ行動モデルや生物集団における意思決定モデルを基に群れ行動規則を構築する.行動規則に従い生成されたロボット群の振る舞いは定量的に評価され,群れ行動としての特徴を検証していく.

群れ行動

クラスタリング

 SR において,ロボット群の挙動生成に関する研究はなされているが,我々の知る限りではその分析に関する先行研究例は未だない.これは, SR のシステムが複雑かつ超冗長であることから,群挙動の分析は非常に困難なためと思われる.しかし,SR を扱う上でその特性や有効性を確認するためにも群挙動の分析は不可欠である. 我々の研究グループでは,SR の群挙動分析のための一手法を提案している.一般に,多くの社会性昆虫は効率的なタスク達成や自身の能力を超えたタスク達成を実現するために,群れ全体として,状況に応じた適応的なタスク割当(task allocation)を行っている.これをふまえ, SR の群挙動分析手法のアプローチとしてタスク割当に着目している. 具体的には,社会性昆虫と同様に SR においても,自律的なタスク割当が行われているという観点から,その時々で割り当てられた“ サブグループを抽出する ”という手法を提案する.SR の協調行動は,局所的なロボット間の情報の繋がりに深く関連していると推測される.それ故,ロボット群を情報の繋がりを利用したネットワークの一種としてとらえ,複雑ネットワーク理論に基づく SRS の群挙動分析手法を構築する. さらに,実際の社会性生物を取り扱う動物行動学において使用される解析手法は,ロボット群に対しても効果的であると考え,動物行動学で用いられる解析手法の適用を試みている.

荷押し