開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2018/12/14

ヒトの「目の動き」をハック!? 汎用人工知能のハッカソンで得られたもの

第4回全脳アーキテクチャ・ハッカソン

「AIにまなざしを」をテーマに、全脳アーキテクチャ・イニシアティブ(以下、WBAI)主催で「第4回全脳アーキテクチャ・ハッカソン」が開催された。眼球運動のタスクを解く計算モデルを構築することを目的に、大学やAI企業、個人など計7チームの有志が3日間という限られた期日で競い合った形だ。10月のイベントなので遅ればせながらのレポートとなるが、本稿では競技の前提となる背景、眼球運動の種類、実装モデル、競技のタスクと評価基準などを中心に紹介したい。

執筆:フリーライター 井上 猛雄、監修:全脳アーキテクチャ・イニシアティブ

執筆:フリーライター 井上 猛雄、監修:全脳アーキテクチャ・イニシアティブ

photo
「第4回全脳アーキテクチャ・ハッカソン」。3日間をかけて戦った参加者の皆さん

全脳アーキテクチャ・ハッカソンで行われてきたこと

 WBAIは、人と同じようにさまざまなタスクに幅広く対応できる「汎用人工知能(AGI: Artificial General Intelligence)」の開発を支援するために設立されたNPO法人だ。人工知能、神経科学、認知科学の領域を横断して、全脳アーキテクチャの実現を目指している。

 開発の基本コンセプトは「全脳アーキテクチャ中心仮説」。これは、「脳は、それぞれよく定義された機能を持つ機械学習器が一定のやり方で組み合わさることで機能が実現されている。それを真似て人工的に構成した機械学習器を組み合わせることで、人間並みかそれ以上の能力を持つ汎用の知能機械を構築可能である」という仮説だ。

詳細は、過去の記事をご参照されたい。

画像
全脳アーキテクチャ(WBA)のアプローチ

 WBAIでは、これまで3回にわたりハッカソンを開催してきた。2015年の第1回ハッカソンでは「複合学習器の開発」をテーマとして参加チームが開発にチャレンジした。

 その後、2016年には、WBAIが作成するプラットフォーム上で多くの人工知能(AI)/機械学習(ML)エンジニアが分業し、脳型AGIのモジュールを構築・統合する「オープンプラットフォーム戦略」が打ち出された。

 第2回ハッカソンでは、Unityの汎用人工知能の環境シミュレータ「LIS」(Life In Silico)上において、様々な認知アーキテクチャを開発した。認知アーキテクチャとは、知的エージェント(動物や機械)の認識行動の全体を統合的に理論化、実装するためのアーキテクチャである。具体的には、知的エージェントを構成するモジュールを配置して、それらモジュールを組み合わせることで、多様な認知機能をモデル化するものだ。

画像
AI/MLエンジニアが分業し、WBAIのプラットフォーム上で脳型AGIのモジュールを構築・統合する「オープンプラットフォーム戦略」のブロック図

 第3回ハッカソンでは、脳器官の具体的な模倣に取り掛かり、海馬(大脳辺縁系に属し、記憶の形成や空間認識に重要な役割を果たす部位)に関するハッカソンを実施した。ここでは、神経科学的な構造や、そこで想定される計算機能を参考として脳型アーキテクチャを実装しようと試みた。

眼球運動ハッカソンのアプローチ

 そして今回の第4回ハッカソンでは、眼球運動のタスクを脳のように解く計算モデルを、複数の計算モジュールが組み合わされたアーキテクチャとして構築することを目指す。眼球の運動には複数の種類がある。このハッカソンでは「Saccade」と「Pursuit」という2つの運動に着目し、ドワンゴAIラボで開発され、WBAI側から参考として提供されたモジュールごとのルールベースの「スタブ」(テストコード)を改良し、完成にこぎつけるという挑戦になる。

画像
眼球の運動には多種あるが、今回のハッカソンでは上2つの「Saccade」と「Pursuit」に着目して、その動きを実現するエージェントをつくる

 スタブを提供する理由は、いきなり脳型AGIを作ることは困難であるため、まずは各脳器官モジュールを機能をルールベースのコードでつくり込み、段階的にそれらのモジュールの中身を機械学習に置き換えていくというアプローチを開発方針にしているからだ。

 Saccadeは、周辺視野に見える対象を中心視野にとらえる際におきる運動だ。この動きの典型例は「周辺視野で目立つ物体を検出」→「物体の視点を中心視野へ移動」となる。一方のPursuitは、意識的に見ようとした物体が移動しているさいに中心視野で物体をとらえ続ける場合に起こる滑らかな眼球運動をいう。この動きの典型例は「中心視野で物体を知覚」→「物体が移動し、中心視野から外れかける」→「中心視野に収まるように追跡」となる。

 このような眼球運動を実現するために、WBAIが整備した脳器官の標準外部仕様である「脳器官フレームワーク」(脳器官ごとのインターフェイスや能力、他の脳器官との結線、どのようなタスクをこなしているのかといったこと)と、スタブ(テストコード)を手掛かりに、ハッカソン参加者は該当スタブを機械学習モジュールに入れ替えて、眼球運動を行うプロトタイプのエージェントを作ることが最終ゴールとなる。

 このほか事前に提供される環境やツールとしてDockerファイル、各種モジュールなどのほか、前回も用意された「BriCA」(Brain-inspired Computing Architecture)がある。これは、全脳アーキテクチャ中心仮説をベースとし、脳の多数の機械学習モジュール同士を非同期並列でつなぐ認知アーキテクチャを構築するためのミドルウェアだ。

キモとなる具体的なアーキテクチャと眼球運動のプロセス

 さて、今回のハッカソンのお題である眼球運動のエージェントを作るうえで、WBAIより提供された参考のアーキテクチャは次のとおりだ。

画像
WBAIより提供された参考のアーキテクチャ。このうち「Cortex(大脳皮質。上記のFEF、PFC)」、「BG(大脳基底核)」、「SC(上丘)」を担うモジュールを使うことがハッカソンでの制約条件となっている

 上図では、特に「Cortex」(likelihood を算出するAccumulatorモデル)、閾(しきい)値を調整する「BG」、出力を調整する「SC」をモジュールとして使うことが制約条件になっている。それ以外は、どのようなモジュールや構造にしてもよいというルールだ。

 各モジュールは、前出のBriCAで連結させて機能するものだが、以下に各モジュールがどのような働きをするのか、眼球運動における入力から出力に至るプロセスを通して説明しよう。

 まず人間が物体を見るときは、目の網膜「Retina」に映る対象物は周辺がぼやけていることが知られている(視野の視力が低下する)。対象物を中心によく見えている範囲は中心視野、ぼやけて見える範囲は周辺視野と呼ばれる。

画像
グラフのように、人間が物体を見るときは、目の網膜の角度が大きくなると(対象物の周辺になると)視力が低下し、ぼやけて見えることが知られている

 次に、目に入ってきたRetinaからのイメージが「Visual Cortex」(視覚野)と「LIP」(LIP野)に渡される。

 大まかにいうと、Visual Cortexは形状を認識する「What回路」に相当する機能を担う部分だ。最近の人工知能の文脈では、物体認識を行うモジュールに該当すると考えられる。またLIPは、目立った動きを見つけるWhere回路の一部を主に担う部分である。入力イメージの特徴(輝度、色、方位、方向)から「Saliency Map」と呼ばれる画像の特徴量を生成していると考えられている。

 このSaliency Mapの情報は、眼球運動を誘発する「FEF(前頭眼野)」と、さまざまな高次認知機能を担う「PFC(前頭前皮質)」と呼ばれるモジュールに渡される。FEFでは眼球運動の指令が出され、PFCではタスク切替の管理などが行われるが、これらは相互に連携して動くものだ。

 さらにFEFとPFCは、強化学習を行う「BG(大脳基底核)」とも連携する。そして運動指令の出力を調整する「SC(上丘)」と呼ばれるモジュールが、FEFとBGからの出力をみながら、実際に眼球運動するかどうかを決定するという流れになっている。

【次ページ】眼球運動を決定する重要な因子である「Likelihood」とは何か?

AI・人工知能・機械学習 ジャンルのセミナー

AI・人工知能・機械学習 ジャンルのトピックス

AI・人工知能・機械学習 ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!