SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

NextremerのAI研究開発エンジニアが解説する三歩先のテクノロジー

人間と同程度の適応能力を持ったAI「汎用人工知能」とは?~General AI Challengeで汎用人工知能を作ろう

NextremerのAI研究開発エンジニアが解説する三歩先のテクノロジー 第1回

General AI Challenge

主催企業GoodAI

 General AI Challengeは総額500万ドルの賞金を予定している汎用人工知能開発のコンペティションです。複数ラウンドの開催が予定されており、今年の2月からは第1ラウンドが始まっています。コンペティションの主催はGoodAIというチェコの研究開発企業で、コンペティションのパートナーにはMicrosoftやnvidia、日本のAraya等がいます。

 Marek Rosaが創業し汎用人工知能の構築を掲げるGoodAIは、AGIに関する情報や研究開発方針をまとめてFrameworkRoadmapとして一般公開するなどオープンな汎用人工知能開発を進めているようです。また、Brain Simulatorという64bit Windows上で動くグラフィカルに人工知能を設計するツールを公開しています。

 前述のFrameworkによると、GoodAIでは3つの部分について研究を進め、マイルストーンをまとめていることが分かります。

  • Architecture Roadmap:作りこむべきスキルと汎用人工知能の構造のデザイン
  • Curriculum Roadmap:学ぶべきスキルと徐々に知識を獲得する方法
  • Safety/Futuristic Roadmap:人類の安全、汎用人工知能ができるまでとできてから

 人工知能の研究開発を考えるとき、特に構造に注目しがちですが、アーキテクチャだけでなくカリキュラムにも注目し、両方の観点から開発の労力を最小化しようとしているところがユニークな企業であると思われます。

Artificial General IntelligenceとGeneral Artificial Intelligence

 英文の記事ではArtificial General Intelligence、General Artificial Intelligenceの2つの用語が用いられますが、これら2つ背景にある概念は同じものです。用語が複数存在しているのは次のような事情によります。

 心理学にはスピアマンによる知能の二因子説があり、そこでは知能はg-factor(General intelligence)、s-factor(specific intellectual abilities)の2つの変数から構成されると考えます。そのため、Artificial General Intelligenceとした場合にはg因子の(存在を前提とした)人工化が含意されえます。一方で、General Artificial Intelligenceは汎用的に機能するAIというもう少し広い範囲を表す言葉になります。GoodAIでは後者の立場をとってGeneral AIという用語を用いているそうです。

開催中のコンペティション:Gradual Learning

 開催中の現ラウンドのテーマは、汎用人工知能の学習法であるGradual Learningです。Gradual Learningをできるエージェントを実装することが課題となります。エージェントの評価環境はFacebook AI Researchが公開しているCommAI-envを改変したものを使います。

環境とエージェントのやり取り
環境とエージェントのやり取り

 評価では環境からエージェントへ1文字(1byte)の入力、エージェントから環境へ1文字(1byte)の出力、出力に対するエージェントへの報酬({-1, 0, +1}のいずれか)の1タイムステップが繰り返されます。

トレーニング用のタスクセット

 トレーニング用のタスクセットとしてMicroTask1~20, MiniTask1~5が公開されています。実際の評価には非公開のタスクセットが使われる予定です。MicroTask1からMiniTask5とセットのレベルが上がるにつれて難易度が上がります。前のレベルのセットで得られたスキルを活用すると、後の学習が効率的になるよう設計されているそうです。

 各レベルのタスクセットには問題に変化を与えるパラメータが入っており、パラメータを具体的に決めた問題はタスクインスタンスと呼ばれます。あるレベルをクリアして次のレベルへ進むためには、複数のタスクインスタンスを一定以上の正解率で正解したければなりません。タスクセットとタスクインスタンスのどちらも、切り替わりはエージェントに伝えられません。

 MiniTaskは正規表現のサブセットになっています。

MiniTaskの例
タスクセット インスタンスの例(環境入力) 正解
MiniTask 1 description: C; verify: CCCC. true.
MiniTask 2 description: AB or CD; verify: ABAB. true.
MiniTask 3 description: AB and CD; verify: ABCFABAB. true.
MiniTask 4 description: not AB and anything; verify: ADFCFHGHADDDB. true.
MiniTask 5 description: C; produce. C.

 大きく分けてverifyとproduceの2種類があります。2つに共通して「;」の左側までが条件です。verifyの場合は右の文字列が条件を満たすならば「true.」を、満たさないならば「false.」を返せば正解で、エージェントは報酬+1がもらえます。produceでは条件を満たす任意の文字列を返せば正解です。MiniTask1では条件が一つの文字列、MiniTask2ではorが、MiniTask3ではandが、MiniTask4ではnot(直後の文字列にのみかかる)が追加で出てきます。最後のMiniTask5ではそれらの条件を満たす文字列を実際に作るスキルが要求されます。前のレベルの問題で得たスキルを活用すると次の問題が解きやすくなるよう意識されています。

 問題自体は単純な文字列比較ですが「.」が打たれるまではスペースを返して黙っていなければならない、「;」で条件が区切れるなど1文字ずつのやり取りの中で正解文字列をきっちりと出し続けるのはそれほど簡単ではありません。そこで、MiniTaskをさらにかみ砕いたMicroTaskが用意されています。

MicroTaskの例
タスクセット 環境入力 正解
MicroTask 1 oqpskd aaaaaa (事前に決められた文字)
MicroTask 2 abcdef dddccc (事前に決められた対応)
MicroTask 5.1 93747421 3 4 4 1 (事前に決められた対応+空白)

 MicroTask1は色々な文字を試してみて正解の文字を見つけ出すスキル、MicroTask2は文字間の対応を見つけるスキル、MicroTask5.1出力した後にスペースを出すスキルを獲得します。MicroTask1~MicroTask4はその後のタスク異なり、自然言語のような明確な構造が出てこないため、あまり深く追求しない方がいいかもしれません。

応募に必要なもの

  • エージェントを実装したコード
  • 学習済みエージェントを作るために必要なデータセットなど(テストタスク以外にあれば)
  • 学習済みのエージェント
  • エージェントの説明を記した2ページ以内のwhite paper
  • スケーラブルなgradual learningのアイディアがあればwhite paperだけでも応募可能。(white paperの記入事項など詳細は公式マニュアル5、6ページ)

スケジュール

  • 開始: 2017-02-15
  • 締め切り: 2017-08-14 23:59 CET (2017-08-15 07:59 JST)
  • 結果公表: 2017-09-30

参加者への支援

 現ラウンドの参加者は開発用にチェコスロバキアのMicrosoftからBizSparkアカウントの提供を受けることができます。アカウントには月$150の無料枠がついたMSDNサブスクリプションが5個含まれ、Azure上の仮想マシンを借りるために使用できます。無料枠は1年間にわたって有効だそうです。アカウント提供を受けるためにはMicrosoftのTomas Prokop氏への連絡が必要ということで、少し手間がかかりますが、本気で取り組む場合にはぜひ活用したいものです(公式マニュアル8ページ)。

評価と賞金

 評価には専用の非公開タスクが用いられます。提出した学習済みエージェントがCPU用かGPU用かによって、次に示す性能と同等の計算環境で、最大24時間評価される予定です。

  • CPU: Microsoft Azure F16 VM(Intel Xeon E5-2673 v3 with 16 cores 32 GB RAM 256 GB disk)
  • GPU: Microsoft Azure NV6 VM (6 cores, 56GB RAM, 340 GB disk, NVIDIA M60 GPU)

 提出前に、この環境下動かすことができるか、時間は間に合いそうか、確認しておくとよいでしょう。

優秀な参加者には賞金が出ます
評価基準 賞金
Quantitative Prize 全ての評価タスクを少ないステップ数で解けたエージェント(中身は見ない) 1~3位にそれぞれ$15000、$10000、$5000
Qualitative Prize スケーラブルな漸進学習のアイディア、コンセプト、デザイン(審査員評価、動作しないものも対象) 1~3位にそれぞれ$10000、$7000、$3000

次のページ
エージェントを作ってみよう(1)

この記事は参考になりましたか?

この記事の著者

壹岐 太一(株式会社Nextremer)(イキ タイチ)

 株式会社Nextremerにて深層学習の論文調査や新規アルゴリズムの開発を行っています。機械学習の論文読み会を定期開催しています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10199 2017/08/07 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー