取材

「ユーザーに新しい感覚を与える」次世代キャラクターAIに必要なものとは?


スクウェア・エニックスのテクノロジー推進部、三宅陽一郎氏が「ユーザーに新しい感覚を与える」という次世代キャラクターAIの実現のための概念とフレームワークについて語りました。

次世代キャラクターAIアーキテクチャーの構築
http://cedec.cesa.or.jp/2012/program/PG/C12_P0159.html

次世代キャラクターAIアーキテクチャーの構築ということで、スクウェア・エニックスのテクノロジー推進部、三宅がお話させていただきます。


今回は非常に抽象的な内容で、次世代に向けてキャラクターAIを作っていくためのフレームワークをご説明いたします。私が働いているスクウェア・エニックスのテクノロジー推進部では次世代のゲームエンジンを作っていて、自分がAIのリーダーなんですが、去年立ち上げてから3名で120回を超えるミーティングを行い、次世代キャラクターAIにとって何が必要かを追求してきました。

次世代キャラクターAIというのは、1に「より深くゲームの世界に参加していく」、2に「環境を認識し、かつ自分自身も認識する」、3「自意識を持ち、自身の身体を感じる」、4「高度から低度の多岐にわたる意思決定をする」。そういったキャラクターAIを作ることで、ユーザーに新しい感覚を与えるというコンセプトでやっております。


我々のAIの設計の進め方は、例えば10年後、AIがどんな動作をしているかというイメージをストーリーとして作っていきます。例えば、風の向きを認識して風上から草原に火をつけて敵を攻撃する。こういったものを100~200ぐらい用意してどのように実現すればいいのかを丹念に追求していきます。


その一部として、概念で必要なものは例えばこのスライドに挙げたようなものです。これを、ひとつひとつゲームエンジンのAI部分に織りこんでいきます。


今回は主要な概念だけを取り上げて、その上でフレームワークを説明していきます。


キャラクターAIという分野は非常にフレームが固定しにくい分野ですので、講演の趣旨として、まずここ10年の産業の蓄積を踏まえた上で、一般的な理論を解説します。そして、共通した基礎の上にこの分野の全体発展を作っていくための概念を共有できたらと思います。


講演のコンテンツは第一章から第七章までで成り立っています。


第一章では知能における情報の流れ、インフォメ―ションフローという話をします。


「知性」というのは、意識を中心にした階層的な構造になっています。


ここには、環境から独立しようとするベクトルと、もう一方で環境に溶け込もうとするベクトルがあります。「意識が世界を制しようとする力」「世界が人間を制しようとする力」という2つの対立です。


この調和と対立の中で知性が運動していきます。


次に階層構造ですが、感覚信号と命令信号という2つの信号があります。身体は感覚を通じて世界から情報を獲得します。知性は獲得した情報を処理して思考し、行動を決定します。これが中心的な概念です。


この概念は不完全な場合もありまして、身体のみで反射する場合と……


あるいは、知性の中でも反射があります。例えば唾液が出るとかですね。


キャラクタ―AIを作る時は、まず様々な反射のレベルを積み上げるということが必要になります。身体からの無意識レベルの反射、例えば「打たれたら打ち返す」ということに加えて、意思決定、例えば「戦略を組む」があります。知能というのは反射レベルと意思決定の多層になっています。


階層レベルというのは「物理情報」「身体情報」「抽象情報」と情報レベルともリンクしています。降りていく時も同じ階層構造です。


そして各階層で反射があるという形です。一番上だけが意思決定です。


こういったインフォメーションフロー、様々な階層における情報の流れを作っていくというのがキャラクターAIの基礎です。本講演ではこの図がよく出てきますので覚えておいてください。


ここまでの話をまとめます。

情報が世界から入って出て行く。そのレベルには色々な反射レベルがある、さらに意思決定がある。この様々なインフォメーションフローにおいて研究テーマがあって、ひとつひとつを掘り下げていくといろいろな形が見られるという大きなフレームになっています。


もっと分かりやすく言いますと、情報というのは物理情報から抽象情報にアブストラクションされつつ、様々な反応をする。さらに降りていくときは逆の流れがあります。


こういった、上位階層が下位階層を制御する仕組みを、サブサンプション構造と言いまして、反射と意思決定を組み合わせる仕組みとしてキャラクターAIにおいても使われています。


Tips1としては、まず身体レベルの反射や自動制御を作る。次に、知能における反射システムを作る。そして、意志決定のシステムを作り、最後に多層的に組み合わせるというのが、大きな設計の方針になります。


では、実際にインフォメーションフローの中に流れる情報とはどのようなものなのでしょうか。

知能が扱う情報は「知覚」と「作用」という二つの側面があります。


例えばキャラクターがスイカを「緑色だな」や「丸い」と認識するというような情報。一方で自分が行うことのできるアクションとして「食べる」や「割る」という表現があります。これは、知覚と身体が環境に作用できる器官によって形成される二つの側面の情報です。


こういった情報を2つ用意することがキャラクターAIにおける重要な知識表現になっています。知覚でいえばクオリアだとか、行動だとアフォーダンスといった、要は行動のヒント、もしくはものの性質とも言えます。


ここで大切なことは、生物というのは、知覚と環境に作用する器官の双方によって対象をとらえていることです。


これは虫なども持っている感覚で、虫の場合は原始的なものしかありませんが、例えば、虫→リス→人間と高度になればなるほど高度な感覚、行為が積み重ねられていくということになります。


つまり、知性を高度化するとき、「感覚」「環世界」「行為」の3つを高度化するということが、重要なポイントになります。


まとめますと、まずは感覚のほうを高度化します。例えば、バランス感覚だとか、経済感覚ですね。さらに行動に対して、「叩く」や「投げる」だけではなくて、そういった行動のコンビネーションを使えるようになりましょうというのがひとつのフレームであります。


では、どうやってそれを作るのか。感覚の方はこれからお話していきます。行動の高度化に関しては、さらに思考、身体、意思決定において高度化されていくということをお話していきます。


生物というのは作用器官と知覚器官で物事を捉えているとお話しましたが、これを環世界と呼びます。


つまり感覚器官によって情報を得つつ、さらに作用器官によって客体をとらえる。例えばダニは湿気を感じることができて、血を吸うポイントを見つけて噛むと。常に対象に対して感覚と実行をともなっているのです。


こういった作用というのは、赤ちゃんにとってみれば、感覚したものを投げたり、壊したりすることで知覚と作用の円環を成すインフォメーションフローを獲得していくという学習の過程です。


このような関係は色々なオブジェクトに対してキャラクターが持つものです。ゴブリンであれば「悪い奴」「黒い」「怖い」。一方、「叩ける」し「ダメージを与えることができる」。


これは世界全体に対してもあるもので、暗いだとか、不気味だとか……


こういった概念を複合された感覚として、キャラクターにとっての環境というものが現れてきます。


環世界のスキームで言いますと、オブジェクトに対して双方向の情報表現を持っていということです。


様々な客体の集合として世界をとらえる。人間はこの機能が発達していますのでリッチな環世界を構成することになります。


この図でどこが環世界かと言いますと、入ってくるのがセンサーです。そして、出て行くのが作用器官であり、情報世界に影響を与えると情報が入ってきます。我々は様々な感覚器官によって感覚信号と身体信号を発しています。


この二つの器官によって、主観的に構成される世界と、環世界がありまして、生物というのはこういった主観的世界をインターフェイスとして世界と情報をやりとりするというスキームになっております。


スライドのように、全方向に張り巡らせられています。例えば、我々は身体、様々な感覚を統合して世界を捉えつつ、作用器官によってあらゆる作用を世界に及ぼそうとする。そういった知覚と作用の相互作用の世界として環世界というものが現れてきます。


そして、様々な対象が出てきます。


こういった主観世界を構成するということは、キャラクターAIにとって重要です。何故なら様々なキャラクターに個性が出しやすくなるからです。キャラクターが主観的世界に何を構築するにせよ、この前準備をしておくと、それほど思考を頑張らなくてもある程度の個性を構築することができるのです。


Tips2としてまとめると、オブジェクト・状況・環境に対する知識表現を作り、知覚表現と作用表現の2つを作る。AIに扱わせたい対象はできるだけ表現し、それらがAIの主観世界を作る。高度な主観世界を作るためには、高度な知性を作ること、となります。


では、このような知識が流れ着く思考の場というのはどのような場なのか。第3章では思考を取り上げます。


思考は既に深く掘り下げられた分野と言えますが、もう一歩進んで、次世代に向けて自分自身、および環境を深く認識するということを探求していきたいと思います。

第3章では、マシーン・コンシャスネス、アテンション、マルチアテンション、マルチステージという流れでご紹介したいと思います。


マシーン・コンシャスネスというのはマシーンが持つ意識について研究する分野です。最近はこの研究が盛り上がりつつありまして、ゲーム分野においても導入されつつあります。ただ、ゲームの場合、あまり哲学的な議論に立ち入りたくないので、ここで言う意識というのはほぼアテンションと置き換えて考えてください。


意識には2つの分類があります。P-consciousnessというのが我々が主観的に体験する意識。A-consciousnessというのが自分の精神的活動に対して意識する意識です。

取り上げるのはA-consciousnessを人工知能からどう構築するかというモデルであります。


まず、A-consciousnessに関する3つのアイディアをご紹介します。


一番目のブラックボードアーキテクチャーは、2000年になってMITのキャラクターのアーキテクチャーとして捉え直すということがあり、この10年間はFPSのトリプルAタイトルのキャラクターの根幹にあるものです。

アイディアは非常に単純で、ブラックボードが真ん中にあって、周りをKSと呼ばれるモジュールが囲んでいて情報を解析します。解析したらブラックボードに戻し、それらのKSを調整するのがArbiterです。


もうひとつが、Global Workspace Theory。


Workspaceというのは最初に脳にインプットされている一番上のメモリーです。そこにフォーカスした対象が書き込まれ、それに対してプロセッサーが様々な解析を行っていくというものです。


Multiple Draft Modelはプロセッサーが、連携するモデルです。意識の下で色々な思考が強調しつつ情報を解析しています。


これら3つのモデルを掛け合わせるというアイディアが2010年に使われたので紹介したいと思います。これはGWTの進化系になりまして、まず意識の中に入ったフォーカスポイントに対して、下のモジュールが連携しつつ解析します。この構造はよく舞台に例えられます。ワーキングメモリーが舞台だとすれば、そこに色々なイベントが入ってきて、その中で最もフォーカスされる注意点が舞台の上でスポットライトを浴びている役者です。プロセッサーは観客で役者に注目しています。そして野次を飛ばしたり、意見を言ったりして、どんどん書き換えてしまう。例えば、僕が目の前にあるマイクを見ると、僕の中の思考が「金属でできている」「昔使ったマイクはこうだったな」とかいろんなことを想起する。つまりマイクを見るという行為は、目の前のマイクを見ているだけではなく、様々な解析の上で成り立っているのです。


フォーカスポイントに関して、ゲームにおいてはもう少しこれを拡張しまして、マルチアテンションになります。目の前に3体がいれば1体だけに思考を集中する訳にはいきません。複数のフォーカスを舞台の上に上げて、それらの思考を同時に解析したい。例えば最も注目するもの、少し注目するものというように差別化したりします。


さらに拡張して、今度は実際の思考を並列化させたい。同じ注目点に対して違った視点で思考させたい。同じ対象に対して複数の思考を保ちつつ、メインステージの思考をサブが補完したり、複数のサブが提起するのものがメインステージの思考の決定を覆したり。そういった思考の共同性を確立しようというのが次世代の要件として入ってきます。


まとめますとこのようになります。


Tips3はこのようになります。


「情報の流れ」「知識構造」「思考という場」はわかりました。では、それらは身体とどう関係しているのか。第4章では身体の流れについてお話します。


まず、身体から一端離れて、世界そのものの情報表現を復習したいと思います。先ほども話しましたが、様々な階層において様々な情報表現があり、様々な思考が流れて行きます。


様々な境界において、2つの表現があります。環境からつきつけられるもの、意識から見えている世界。この二重表現が我々の内部においてもあります。意識と無意識の境界、つまり我々の意識が見えている世界、世界のほうから感覚を通して無意識を通って我々の意識に浮かび上がった世界の表現があります。


身体においてもマルチレイヤ―の構造を導入しましょうということです。


世界を認識するときに一番下にあるのが物理表現。真ん中が中間表現、最も上位に簡易表現があります。


逆に見ると、簡易表現から物理世界に流れます。世界への作用が構成されるということです。


ちょっとまとめますと、以下のようになります。


身体においても同様のことを考えましょう。身体にも様々な境界で2つの表現があります。


つまり、身体から「身体こうだったよ」とのぼってくるイメージ、さらに我々が身体を動かそうとするイメージ。例えば、我々は我々が何本の骨を持っているか知らない。意識にのぼってくる身体というのは非常にシンプルな、記号化された表現として見せられています。だからこそ、非常にシンプルに意思決定ができる。その意思決定を通して逆に今度は複雑な表現ができる。こういった機能はキャラクターを作る時にも重要でして、様々な境界において2つの表現を考えましょう。ここにおいても抽象化と具象化という流れがあります。一番下のレイヤーは物理表現、上に簡略化された身体表現、最上に記号化された身体表現を考えましょう。


まとめると以下になります。


ちょっとわかりやすく言いますと、意識を構成する方としては一番下のボーリング・アニメーションデータであります。そして中間表現においては、例えばアニメーショングラフだったり、さらに、簡易表現においては例えば今自分が走っているということであったりします。もう一方(右)は逆に簡易表現を通して具体的な表現に下りていくということになります。


こういった捉え方をすると、身体を抽象化した表現の中(オレンジの枠)に何があるのかと言いますと、身体感覚、身体内部感覚、バランス感覚、Interoception、Proprioceptionなどがあります。Proprioceptionとは今、自分の身体がどのように動いているかという感覚です。


そして、各階層においても反射があります。例えば一番下の層だとプロシージャルアニメーション。そして中間表現における条件反射。身体の世界もこういった二重表現だということです。


これまで世界の情報表現、身体の情報表現というのを説明してきました。これら2つを合わせたモデルが、最終的に意思決定を行うための土壌になります。


物理世界には物理世界と身体表現があり、中間世界には中間世界と身体表現があり、簡易化された世界には簡易世界と身体表現があります。各階層で身体と世界が相対化された表現において意思決定を行います。


そして、各階層で反射を行います。ということになります。


4章をまとめますと以下になります。


Tips4です。


これで「世界」「身体」「知能」の関係は見てきました。では、具体的な意志決定の仕組みとはどのようなものなのか。

我々はデジタルゲームにおいて使われてきた意思決定アルゴリズムを調査してきました。それは7つの型にまとめることができます。これについては今回説明している時間がないので、WEB+DB PRESS VOL.68という雑誌にまとめています。


知能において情報の流れは線形ではなく非線形です。そこには、情報がストックされる記憶があるからです。第六章では記憶を解説します。


記憶というのは、2000年くらいからFPSの分野で非常に熱心な開発が繰り広げられてきました。その仕事と今回、意思決定の仕組みを組み合わせたようなフレームをご紹介します。まず、ステージというものがあります。ステージとは我々が最初に情報をとりあえず置いておく場所です。そこに注意のフォーカスポイントがあり、プロセッサーが解析します。フォーカスのスポットライトを浴びているポイントというのがワーキングメモリです。ワーキングメモリの中に各瞬間の記憶がスタックされています。


このフレームというのは、2000年くらいからMITのアーキテクチャで採用したモデルです。これはブラックボードアーキテクチャになっております。仮想世界からセンサーを経て知覚システムへ。まずワーキングメモリーに知覚から得ている情報を書き込んでいきます。それをアクションシステムというモジュールが解析して実際のアクションを書き込む。その実際のアクションを動作に還元するのが、ナビゲ―ションシステムになります。いわば左側がプロセッサーでありまして、右側の緑色の部分が全てブラックボードの情報体になります。ブラックボードの中でも一番頻繁に書き込まれるメモリー記憶領域をワーキングメモリーと言いまして、ここに知覚記憶がスタックされています。そのスタックされた状況からデータマインニングして場所を繋いでいって予測ポイントを見出すというのが、このアーキテクチャであります。


ちょっと戻りますと、まず対象に対する記憶が構築されていくと。ある程度構築されますと記憶の流れというのができます。例えば、ボールを蹴っている時は、ボールの各瞬間の位置がレコードされていて、ある程度無意識に次のボールの位置を計算して意識を構成しています。こういった情報というのは、長い時間が経つと圧縮され、対象に対する知識として固定されます。これらは短期記憶に格納されます。短期記憶というのは安定した領域です。


様々な対象に対して知識が構成されるというところがテンポラリーな記憶のスタックということになります。


今度は呼び出し側を考えたいと思います。


ゴブリンやスイカに対する知識が中にあります。色々な知識がメモリの中にあります。


ここにゴブリンが現れた場合、過去に蓄積された記憶をリコールします。例えば、昔出会ったことがあるというマッチングが行われます。つまりゴブリンを見た瞬間に、ゴブリンに対する様々な記憶の集合としてゴブリンが見えています。


同様に様々な対象を見た瞬間にそういったマッチングがされます。記憶全体に対してマッチングと書き込みを行うというのは、プロセッサーと同等とみなすことができます。


特定の対象に対する知識は専門家が受け取っているとみなすことができる。つまり、記憶と思考を同じ意識モデルの中で構築することができるのです。


最後に記憶の階層構造をお伝えします。


記憶というのは短期記憶から、長期記憶、固定記憶になります。実際に記憶を扱う場合、必要な記憶というのは、リコールの過程があるわけです。


ここにおいても先ほどのマッチングの過程が行われます。例えば、梨があって、ずいぶん昔に食べた記憶というのは長期記憶にある。その記憶が想起されるということは、もう一回その記憶を使うために呼び出すということです。長期記憶というのは時間スケールで言えば、固定記憶に比べて、高速で書き換え呼び出しがなされています。


上がステージ、下が長期や固定記憶です。ワーキングメモリから対象に対して働く記憶、短期記憶から呼び出される記憶、固定記憶から呼び出される記憶。対象がステージに現れた時点で、過去の記憶を呼び出すということで対象が、単に目の前の対象ではなくて過去の履歴だとか、知識だとか、そういった情報の集合体として捉えることが可能になります。という訳で記憶というのは静的ではなく、アクティブなものだということができます。


Tips6としては以下のようになります。


我々がやりたかったことと言うのは、最初に上げた概念を全部載せるようなフレームワークを作ることでした。


方法としては、上から固定記憶、2次記憶、1次記憶。ステージがあります。


Tips7としては、記憶というものが、アクティビティを持っているということが重要です。情報は眠っている間に圧縮されて、深い階層の記憶に書き込まれていく。しかし、目が覚めている時は目の前の対象に対してリコールされていきます。いわばこちらから、様々なKSを通して呼び出されると同時に、情報が書き込まれ読みこまれていくということです。あるいは意識に登らなくても様々な記憶の階層の中で情報が圧縮されたということ。これが、夢で見るということです。


まとめますと、2つAIを作る場合には身体的存在としての人間と、情報体としての人間、キャラクターにおいても、身体から構成される意識と、記憶体から構成される意識という二つの情報がちょうど重なりあう部分に場を作って、そこで2つの作用を対比させましょうというのが、今回ご紹介したフレームです。これを将来は設計に落として実装していくということになります。


三宅氏によれば、スクウェア・エニックスではゲームAIエンジニア、リサーチャーなどを募集しているとのこと。求人情報は以下のサイトに掲載されています。

Agni's Philosophy FINAL FANTASY REALTIME TECH DEMO
http://www.agnisphilosophy.com/jp/index.html


この記事のタイトルとURLをコピーする

・関連記事
日本のゲームは今後どのように進化していくのか、「CESA ゲーム開発技術ロードマップ」公開 - GIGAZINE

ゲーム制作未経験から世界的ヒット作「ダークソウル」を生んだ宮崎英高氏にインタビュー - GIGAZINE

見るだけでわかる圧倒的なクオリティのゲームエンジン「CryENGINE 3 SDK」最新版トレーラームービー - GIGAZINE

in 取材,   ゲーム, Posted by logc_nt

You can read the machine translated English article here.