【CEDEC2016】「人工知能の未来へ　－全脳アーキテクチャ、ディープラーニングを用いた人工生命、ゲームAI －」講演レポート

CEDEC2016の二日目に参加し、多数の立ち見がいた人気セッション
「人工知能の未来へ　－全脳アーキテクチャ、ディープラーニングを用いた人工生命、ゲームAI －」を
最前列で聞いてきたので聞いた内容の一部分と所感、ところどころに三宅さんの「絵でわかる人工知能」という本を読んだり
ネットで調べて学んだ語句に対する解説([memo]と表記)を入れつつ記事にしておきます。

ちなみに私は人工知能に関しては全くの初心者です。


#講演紹介
http://cedec.cesa.or.jp/2016/session/ENG/14380.html
> ゲームAI分野のみならず、社会で人工知能という分野全体が、現在、大きな勢いで邁進しています。本パネルでは、現在、最も勢いのある人工知能分野を率いるリーダーをお呼びして、各分野の現状とこれからについてご講演をいただきます。密度の高いセッションの連続によって、人工知能分野全体の奔流を知ることができます。
>
後半では、それぞれの立場から、人工知能の未来とゲーム開発との関わりについてパネルディスカッションを行います。これによって、人工知能技術が、今後、どのようにゲーム開発に大きく導入されて来るかを見定めたいと思います。
>
詳細としては、まず、脳科学と計算科学を融合させる「全脳アーキテクチャ」（WBA, Whole Brain Architecture）を主導する山川氏から、全脳アーキテクチャ・イニシアティブの目指すところ、全体像、これからについてご説明頂きます。全脳アーキテクチャは、現在、学会、産業を巻き込む大きな流れとなっており、米、欧の同様のプロジェクトと並んで、社会で重要な役割を果たそうとしています。山川氏はそのリーダーであり、ゲーム産業にもわかりやすい形で取組みをご説明頂く予定です。
>
次に、中村氏からは、ディープラーニングを用いた人工生命のオープン・フレームワーク「LIS」について、ご講演をいただます。このフレームワークは、Unity上で動作し、ある程度のディープラーニングへの理解があれば、誰でも使いことなすことができ、ゲームに最も近いディープラーニングの一つとして期待されます。現在、ハッカソンやセミナーを通して、さまざまなアイデアが提案され、デモが作成されており、ゲームへの応用の橋頭保となることが期待されます。
>
最後に、ゲーム産業における人工知能の全体像を、海外のカンファレンスにおけるゲームＡＩの情報収集から、現場での設計・実装までを、幅広く深くこなす長谷氏よりご講演頂きます。ゲーム産業全体の人工知能の現状と、これから、アカデミックなゲームＡＩ技術との関連を俯瞰的に説明して頂きます。
>
後半は、全脳アーキテクチャ、ディープラーニングを用いた人工生命、二つの取り組みと、ゲーム産業におけるＡＩが、どのように接面を持っていくことが可能かをテーマにパネルディスカッションを行います。

#登壇者
山川　宏　株式会社ドワンゴ　人工知能研究所　：　「全脳アーキテクチャ」
中村　政義　株式会社ドワンゴ　人工知能研究所　：　「深層強化学習をゲームエンジン上で動かして遊ぼう」
長谷　洋平　株式会社バンダイナムコスタジオ　：　「デジタルゲームにおける人工知能」
三宅　陽一郎　株式会社スクウェア・エニックス

#「全脳アーキテクチャ」
##大人のAIと子供のAI
・大人のAIは物事に対する理解が既にできているので設計が可能(演繹推論(※1))
[memo]つまり大人のAIは知的な振る舞い(将棋などで勝つこと)ができるように設計されている

・子供のAIは物事に対する理解ができていないので学習が必要、
　つまり、一定以上の計算リソースが必要(帰納推論(機械学習)(※2))
[memo]子供のAIは1歳児レベルの知能(人の顔や動物を判断する画像認識)と運動スキルを持つこと
[memo]技術の進化速度は、今までに積み重ねられてきた技術の上に新しい技術を上乗せしていくので、加速度的です。となると、技術などのリソースは指数関数的に増えていくことになります。

・AGI(汎用人工知能(※3))の基本パーツがほぼ出揃う→分散表現知識(※4)に対する演繹推論を実現→人間のような汎用AIの完成へ

[memo]：
(※1)演繹推論は一般的な原則から個々の結論を導き出すこと
　   (例：[原則]星は明るい　[結論]火星は明るい、金星は星である→星は明るい→金星は明るい
(※2)帰納推論は個々の事実から一般的な原則を導き出すこと
(※3)人間の知能を人工的に再現したような機械のこと
(※4)http://brainvalley.jp/%E5%88%86%E6%95%A3%E8%A1%A8%E7%8F%BE




##今後のAIで課題となる部分はどこか
||       齧歯類 　　　|   猿人類   　　　　 |     人類           |
|:--------------------------------|:------------------|:------------------|:---------------|
| 既存AIで実装済み                 | スキル |        ・高度なパターン認識<br>・計画      |   ・四則演算<br>・論理推論            |
| 未実装で数年後実現しそう   　　　　　　　　        | ・直観<br>・注意 |       創造性       |      ・心の理論<br>・モラル 　　　　       |
|  まだまだ目処が立たない            |               |      言語意味理解        |   ・プログラミング<br>・権利と義務            |

###AGIとは
・特化型AIとは個別の領域において知的に振る舞う
・既に人以上の能力が数多く実用化されている
・専門性のある知識をAIに設計し実装する
[memo]特化型AIを弱いAIと呼ぶ

・目指す汎用人工知能(AGI)とは多様で多角的な問題解決能力を自ら獲得する
　 → 設計時の想定を超えた新しい問題を解決出来る(自己理解/自立性)
・AI創世記からの夢でありつつ、実現の困難さから取り組みは少なかった
・専門性を自ら学習するAI
・物理的な補助がなくても、主人好みのコーヒーを入れたり場面に応じて適切な行動をする知能を目指している
[memo]汎用人工知能を強いAIと呼ぶ

###世界のAGI開発組織
・昨年から脳全体に学んでAGI検証が正しい方向に進んでいくように開発する組織が増えている
・一方で20世紀中は脳は開発に役立ったが、現在は工学的に発展しており、脳に学ぶ必要を感じないという組織もある

###既に汎用化が進んでいる人工知能
・2010年頃までは設計特化で知識を個別に設計していた
・現在は学習特化AIとBig Switch型AIがある
・今後の目標は人間のようなAGI

###AIに残された課題の本質「汎用性」
・汎用性：適用範囲の拡大によるデータの不足
・実時間問題解決：データ収集時間の不足
・これらの問題を踏まえて、少数のデータでも対応出来るAIにする必要性
・帰納推論のみでは性能が低いため、帰納推論で獲得した分散表現知識に対する演繹推論の実現を導入したい

###脳アーキでの一万人規模の共同開発とは
・多くの開発成果を統合する足場
・脳の設計図上で分散共同開発
・知識を集約するための足場

#「深層強化学習をゲームエンジン上で動かして遊ぼう」
###序章
・ネズミがボールを触ると餌がもらえると学習
・ネズミがボールを運ぶと餌がもらえると学習
・ネズミがボールをゴールまで運ぶと餌がもらえると学習

###人工知能を育てる
・深層学習で知能を育てるのは楽しい
・学習環境と学習手法として、学習環境フレームワークLIS(Life in Silico)が存在する

###LIS
・UnityとDeep Q-Networkがソケット通信し、Unity内のキャラクタを深層強化学習でコントロール
・特徴として、様々な実験環境をUnityで手軽に作ることができる

###強化学習エージェント
・観測情報をもとに行動決定をする
・Unityで「何をしてほしいか」という報酬設計をすればキャラクタがそのやり方を探索しながら学習し、直接的に育てられて楽しい
・徐々に緑の物体を追いかけていくエージェントにキュン死する人も
・初心者でも、マリオみたいに壁から逃げながらアイテムを取得するエージェントの設計をした人も

#ゲーム産業における人工知能技術
###人工知能とは
・強いAIと弱いAIの二種類がいる
・キャラクターAIは限られた環境で動けばいいという点で弱いAI
・ユーザからは強いAIのように見えなくてはならない→キャラが知的に見えるようにするテクニックが必要
・理想としては自由奔放に動くプレイヤーにも対応出来る、アドリブにめっぽう強い舞台役者

###キャラクターAIに使われる技術
・昔は台本が決まっていたのでif文の羅列などでも問題なかった
・最近はゲーム自体の自由度が高くなっており、複雑化して網羅が困難になっている
・そこで学習分野で培われたような高度な人工知能技術が必要となる
・最終的にキャラクターAIを仕上げていくのは企画側の人間なので、AIの知識に乏しくても理解しやすく扱いやすいシステムにする必要がある

###プランニング
・合理的で自然な振る舞いをするAIを作成するために、AI自身に自律的に行動を計画させることが増えてきている
・ゲームでよく用いられるのは、STRIPS(※1)とHTNプランニング(※2)

[memo]：
(※1)自動計画(※3)に関する人工知能の一つで、ゴールベース(※4)のAI。
　  STRIPS(Stanford Research Institute Problem Solver)は1980年代にスタンフォード大学で開発された、
　  操作や行動のシーケンスを作るアルゴリズムの一つ。
(※2)自動計画(※3)に関する人工知能の一つで、タスクベース(※5)のAI。
　  タスクを階層的に分解しつつタスクの順序構造を構築する手法で、
　  階層型タスクネットワーク、又はHTN(Hierarchical Task Network)と言う。
(※3)人工知能のテーマの１つ。初期状態から目的の状態にするまでに必要な動作や順序を求める問題の解決を目的としたもの。
(※4)ゴールベース、又はゴールファーストと言い、このAIはまず最初に目的を決める、または与えられる。
　  そして目的達成のプランを殆どの場合AI自身が作る。アクションをつなげるプランをリアルタイムに作るのに
　  ゴール指向アクションプランニング(GOAP)と呼ばれる手法が用いられている。
　  例)服を買いに行こう→店舗を選択する→経路や営業時間を調べる→バスに乗る→最寄りのバス停で降りる→服を買う
(※5)ある問題や目的をタスクに分解して行動を構築する方法。
　  まず問題領域を決定し、領域内の対象と領域内で可能な操作を定義する。
　  タスクはその問題領域で明確に定義された操作であり、そのタスクの積み重ねによって問題を解決するのがタスクベース。
　  また、問題が複雑な場合はタスクに階層構造を持たせ、タスク間で順序構造を設定する。
　  例1)カレーを作る(問題領域)→食器や調理器具が必要 > 鍋に入れる材料が必要(大タスク且つ順序構造設定(先に器具が必要))→
　  　  材料を切る事が必要(中タスク)→材料を買いにいく事が必要(小タスク)→材料を選出(極小タスク)→
　  　  食べたい材料選出 > 入れるべき材料選出(超極小タスク且つ順序構造設定(先に、何を入れたカレーが食べたいか決める))
　  例2)まだ行ったことのない服屋へ行こう→選出→評価や距離を調べる→営業中か確認→決定

###ORCA
・経路探索をしてマップ上の障害物を避けられるようになっても他のキャラクタなどにぶつかってしまうことがある
・移動中の衝突回避の議題を解決するアルゴリズムの一つ
・ORCAがあるとキャラクタとぶつからないように動き出す

###Behaviour Tree
・AIの意思決定をツリー状に表現する手法
[memo]ビヘイビアとは身体的行動のことで、ビヘイビアツリーは末端のノードが全てビヘイビアであるツリー状のグラフのこと

###空間認識
・環境からの情報の取得、評価をデータドリブンで行えるシステム
[memo]データドリブンは処理すべきデータが発生したことをキッカケとして、処理できるデータから順に処理を行う方式。

###エージェントアーキテクチャ
ここは図だけでした。
[memo]以下URLのスライドに詳しく書かれています
http://www.slideshare.net/youichiromiyake/y-miyake-tgu2014626

###BDIアーキテクチャ
・意図の理論をベースとしたエージェントアーキテクチャ
・エージェント内部に信念、願望、意図をパラメータとして持ち、これをもとにプランを立てて動作し、目標を達成する
・ソフトウェアエージェントやロボットの分野で広く使われている

BDIの動作手順として
1.信念と欲求から、達成すべき目標（behaviourTree）を決め、達成手段の候補(HTNドメイン)を求める(プランライブラリから探す)
2.達成手段の候補から実際に行う手段を考慮して決定(HTNプランナ)
3.選定した手段を意図として実行する
4.[memo]実行する手段の本体の１ステップ目が基本行為なら実行。福目標ならその目標を発生させる。
5.外部からの知覚をもとに信念を更新する([memo]成功、あるいは不可能と分かった意図の破棄)(Perception)

###AI Director(メタAI)とは
・プレイヤーの行動によって逐一状況が変わるゲームにおいて、固定された演出では最大限の体験を提供しきれない
　→ゲーム内にも演出家を入れてしまう(敵やアイテム配置の変更、ミッションの動的な生成)
・LOST REAVERS では AI Directorによる動的なペーシングを実装

###ペーシング
・ゲームには緩急の波をつけると面白くなる
・波があることで、ゲームプレイ単調化を防いだり、プレイヤーの疲弊防止になる
・Holo's Journeyという神話を分析して導き出されたストーリー構成法がある
・古代から人の興味を引く物語の感情の波はパターン化されていた
・これらの構成法はゲームでも用いられている
・インタラクティブなメディアであるゲームではあらかじめ決め内で作っておいたものを提供するだけでは不十分

###VRにおける人工知能
・入力インターフェイスにおいては普段の行動に近く、より自然な形で入力できる
　ナチュラルユーザーインターフェイス(NUI)の需要が高まっている(音声認識など)
・NUIを使うには技術に合わせたゲームデザインが必要で気軽さがない(ディープラーニングによる精度の向上に期待)
・キャラクターにおいては、実在感が格段に上がっているので、従来のゲーム以上に
　プレイヤーとのインタラクション(HAI)をどれだけ作り込めるかが鍵となる
・コンテンツにおいては、現実に近い感覚が得られるからこそ、人それぞれの感じ方の違いが如実に出る
・プレイヤーに合わせてコンテンツを変化させることでその人自身の体験として感じられ、最大限の体験につながる

#パネルディスカッション
・学習するエージェントは扱いが難しい
・ゲーム業界では学習を使ってこなかった
・ゲームにおける学習は今までだとキャラを育てたりプレイヤーの行動を真似る部分に使われていたが数は少ない
・企画の人は漠然と、うまく動いてくれたらいいと思っている部分が多い
・人であれば行動の制限が出来るが、モンスターの場合は環境によってうまく移動できないなどを学習させる方法もある
・ゲームを設計する段階で学習や進化を使うということと、学習すること自体が楽しいというフェーズを分けるべき
・仮想的な世界を作っている見方と、ハリウッドの世界で役者を動かしていると言う見方がある
・個性的な面として、学習がうまくいかない時もあり応援したくなる
・演出じゃないリアルさがあるからこそ応援したくなる。それを活かせたら面白くなりそう
・AIが相手、つまりプレイヤーの情報を持っていると思い入れが急激に上がる
・AI自体の学習も昔のようなわざとらしいものではなく、中身のある人工知能をコンテンツにしたい
・ディープラーニングによって自分の顔をAIが認識したり、人間が作りこんだルールで動いていないのが生々しくなる
・作り込まれすぎた制約の中で学習した場合、まぁそうなるよね、と冷めてしまうような行動になるが、
　無理難題を押し付けるとむしろ動かなくなるという行動になり、なるほどね、という面白さがある
・エンジニア一万人でAIを作る場は、ゲーム的な楽しさの要素を取り入れて、みんなで楽しく開発しようという状況にしたい
　いい知恵を拝借したりとか
・AIを主人公にして色々やりたいが、ゲームとしてやるにはなかなか成立しないので、実験できる環境をまず整え、
　実験することによって気づきをもたらして生きたい
・ゲームのAIは特殊で、他のAIは最適なものを求めるが、ゲームは人を楽しませることに重点を置き、
　最適じゃないところも重視する必要がある
・これからの10年はゲームという場でAIを育てたり、試してみることになる

#所感
今後もゲームにおいて、AIはほぼ必須になると思うので、全職種向けで
ここまでわかりやすく、分野に踏み込んだセッションや資料は大変貴重だと感じました。
AIは、私の中でゲームに必要な世界観、UX、音楽と並ぶほどに重視しなければいけないものです。
なので、このセッション目当てで行ったCEDEC二日目でしたが、想像以上に得られた知識や刺激は多かったです。
以前から興味はあったものの、人工知能という分野について更に深く知りたくなりました。
また、このセッション以外にもUnityの最新機能に関するセッションやGPU最適化入門も聞きに行きましたが
そちらも新しい知識の連続でとても興味深かったです。

SEGA本著者の平山さんやUE4逆引きリファレンス著者のalweiさんとも話せたので満足です。
また来年も行きたいな、CEDEC。そしていつか行ってみたい、GDC。