デジタルゲームの人工知能から人の知能を知る

題名:デジタルゲームの人工知能から人の知能を知る
著者:三宅陽一郎(ゲームAI開発者)

掲載誌:マジレス!(2011年4月)

第一章 「人工知能ってなんでしょう?」

皆さんは人工知能と聞いて、何を連想されるでしょうか?
 パソコン上の検索エンジンや、ロボット、ゲームのキャラクター、SFなど、人によってそれぞれ違うでしょう。しかし、どんな人工知能でも、その規範は人間の知能にあります。人工知能は、人間が自分で持っている(と思っている)推論能力、連想能力、想像力、思考力など、さまざまな機能を、機械の上に写し取ろうとします。同時に、そこは人間と機械の埋めがたい相違と矛盾が渦巻くところです。
 このエッセイでは学術的知識を解説するというよりも、むしろ、人工知能を作ろうとする時に飛び散る火花のようなものを、みなさんにお伝えすることで、人工知能の面白さやワクワク感をお伝えできればと思います。特に、自分が携わっているデジタルゲームにおける人工知能を中心にしつつ、一般的な人工知能についても触れて行きたいと思います。

 さて、人工知能と言ってもピンと来ない方もおられるかもしれません。ロボットやらユーザーの好みを分析してお薦めして来るWebサービスやら、アバターやら、カーナビやら、世の中には「これが人工知能です」と言われるものが溢れています。では、人工知能とは何でしょうか?どうして、そんなたくさんの人工知能と呼ばれるものがあるのでしょうか?そういったものは、本当に知能なのでしょうか?ここで、少し一般的な人工知能の歴史をレビューしてみたいと思います。その前に、ちょっと言葉の説明ですが、ここでは知能という言葉を知的能力という意味でも、知能を持つ実体という意味でも使います。このあたりはゲーム業界でも人工知能の学でも同様です。またゲームにおける人工知能と言えば、この文章では、ゲームに出てくるキャラクターをイメージしてください。

 人工知能の歴史は学会の起源としては60年前のダートマス会議までに遡ると言われています。しかし人間は、そういった研究分野の社会的な形成よりずっと以前から、自動的に動くもの(=オートメーション・マシン)、自動的に考えるもの(=人工知能)を追い求めて来ました。前者については蒸気機関は動力発明として、水力は労働力の代わりとして、蒸気機関は動力発明として、時計は細密機械の典型として「人間の代わりになる」そして「人間を超える」力として開拓されて来ました。後者については、自動的にチェスなどの相手をしてくれる人工知能や、言葉を喋る人工知能、計算を自動的にしてくれる機械が発想されて来ました。しかし、前者に比べて、人工知能は「何が可能なのか」というビジョンが抽象的で難しい問題であり、その発展にはコンピュータ発明以後も長い時間が必要でした。

 コンピュータは当初、計算機と呼ばれていました。それは純粋に計算をするためのマシンとして作り出されました。つまり見方によっては「コンピュータは人間の代わりに計算をする機械として発明された」と捉えることができます。しかし、コンピュータはやがてシンボルや文字情報を扱うになり、現在では抽象的な概念をその体系の中に持つプログラミング言語体系が築かれ、デジタル空間はより豊かに深みのあるものに発展しています。また、皆さんもご存知の通り、コンピュータは通信技術と融合して、今では人間の代わりにコンピュータ同士がインターネットを通して情報をやり取りすることで、地球上の情報フローの革新が起こっています。コンピュータは人間が行っていた、計算、情報処理、情報伝達といった仕事を代替する存在として次第に社会の中に息づいて行きました。
 そんな情報の海の中で、人工知能は単に計算や情報変換をする以上の新しい生息場所を見つけています。情報を解析して新しい情報を自動的に生み出す(ユーザーの好み、社会の動向など)、人間の指示に従って特定の情報を収集する、一定の役割を与えられてアクティブに情報操作をする、などです。膨れ上がった情報の海の中で人間の代わりに目的を遂行する人工知能を「エージェント」と言います。80年代後半から研究が盛んになった分野で、現在では産業的にもインターネット上でたくさんのWEBエージェントが活動しています。

 生物が生きるためには自然が必要なように、一般に人工知能にはその知能が活動するための環境が必要です。
 人間という知能を考えてみましょう。人間という知能もまた地球の中で進化したものです。地球上で活動できる身体を持ち、地球上で生活するためにカスタマイズされた知能を持っています。人間の知能は一般的なもののように言われますが、それが通用するのはこの地上においてだけで、地球という環境に特化した知性と言えます。
 広く銀河を見渡して色々な星の環境における知性を考えてみましょう。それはとても楽しいことです。ある星は引力が強すぎて二次元上の生物が生息しているかもしれません。ある惑星はガス状でガス状の生物が生息しているかもしれません。そういった場所で生物が持つ知性はやはり我々と全く違ったものであるでしょう。また、同じ宇宙に生きているのですから、幾ばくかは似ているところもあるでしょう。「いろいろな環境に応じて作られる相対的な知性」という考えを持っていると、知性を相対化して見ることができます。それは、人の心を少し広くさせます。どんな小さな生き物も、自分なりの環境を持っていて、自分なりに世界を認識しています。これを「環世界」と言います。この地球の、さらに日本の中でさえ、生まれた土地によって形成される知性は少しづつ異なります。生物はそれぞれ自分の環世界を持ち、同じ世界に住みながらも違うように世界を認識しているのです。それは時に争いを産みますが、もう一つ高い視点に立って、生物、個人は、それぞれ違う世界を認識して生きていると思えば、それはお互いの違いを認める契機となり、平和な世界に繋がる可能性を持っています。

第二章 「デジタルゲームの人工知能って何だろう?」

 みなさんはデジタルゲームをプレイされますか?プレイされたことがある方は誰しもゲームの中で、自分のキャラクターでモンスターやボスを倒した記憶があると思います。私は仕事でデジタルゲームの中のキャラクターの人工知能を作っています。デジタルゲームの中のキャラクターたちは、ある時はまるで時代劇の中の名やられ役のように大いに倒され、ある時はハリウッド映画に出てくる最強ボスのように果てしなく強く(最後にはやっつけられ)なければなりません。ゲーム開発者はそれぞれのゲームのそれぞれの敵キャラクターの役割に応じて人工知能を作って行きます。ここでは、そういった表面的な差異は置いておいて、デジタルゲームにおける人工知能の本質はどこにあるか、ということを議論したいと思います。

 デジタルゲームにおける人工知能とは何でしょうか?簡単に言うとそれは「デジタルゲームの世界の中で生息する知能」のことです。第一章で説明した知能は、社会のシステムや情報の海の中で活動する知能でした。コンピュータの黎明期には計算機と人工知能は同義でした。その主な用途は科学の計算であり、ディスプレイさえなかった当時のコンピュータは現実空間の中で役立つ人工知能であったわけです。その頭脳の中で演算された結果はテープや磁気テープに保存されました。しかし、次第にコンピュータが進化すると、科学計算は科学シミュレーションへと発展しました。シミュレーションとは、自然現象をコンピュータの中で再構築し模擬的に実験することです。例えば弾道計算で物理方程式を解くのではなくて、実際に仮想的な物理空間の中で弾を飛ばして軌道を計算します。やがてシミュレーションが大規模になり、一つの物理現象の世界をコンピュータの中に構築するようになりました。1970年代以降になると、コンピューターはその内側にさらに法則を持った仮想世界を構築するようになりました。そこまで行くとコンピュータゲームはすぐ側まで来ていました。他に必要なものは人とコンピュータを繋ぐインターフェースでした。世界最初のコンピュータゲームはオシロスコープのインターフェースを借りて製作されました。それは、テニスボールのような物体が放物線を描くことが出来る簡単な世界でした。やがて宇宙空間を旅する燃料ゲームが作られ、70年代後半になると個人向けのコンピュータが普及が始まり、さらにその廉価盤により、皆さんがご存知の2次元平面状でアクションができるゲームが家庭用に爆発的に広がりました。90年代からは3Dゲームが普及し、00年代からは仮想空間を共有するネットワークゲームがあたりまえのものとなりました。こういった歴史は、コンピュータの内部に、よりリッチな仮想空間を持たせる、という歴史でもありました。仮想空間の発展・拡張はゲーム開発者でさえあっけに取られるほど速いなもので、ゲーム産業では、ますます豊かなる仮想空間をユーザーに向けてどう活用して行くのかを考え続けました。アクションゲームや、よりリアリティを求める3Dゲームや、ユーザー同士の遠隔コミュニケーションを可能にしたネットワークゲームは、そういったハードウェアに伴う仮想空間の進化をゲームに活用しようとするゲームデザイナーのアイデアの中から産まれました。
 一方で、仮想空間の進化は人工知能の進化にとっても大きなチャンスでした。仮想空間が広大で複雑なものになればなるほど、そこに適応する知能は高度であることが必要があります。高度な仮想空間は、高度な知能を作るための絶好の実験場なのです。その可能性に気付いた開発者は実はそれほど多くなかったのですが、90年代後半からMITメディアラボを中心にコツコツと仮想空間の中の人工知能を発展させる研究と開発の努力が続けられ、00年降はデジタルゲームの人工知能は飛躍的な進化を遂げることになります。現在の人工知能をイメージで伝えると、3次元デジタル世界の中で、人工知能は複雑な地形の上を目的地まで迷わずに歩くことが出来、咄嗟に落下して来る障害物にも、地形の変化にも対応しつつ、目的とその実現方法を自分で決めて行動します。人工知能はあたかも、その仮想世界と時間の流れを認識しているように振る舞うことが出来るのです。

 さて、ここで「環境が複雑になればなるほど知性を高度化する必要がある」という点について詳しく解説します。まず俯瞰型の2Dのアクションゲームを想像してみましょう。もし、その世界にに何の障害物もなければ、何ら特別な知性を必要としません。しかし、実際ゲームステージ上には敵やら障害物、複雑な地形があり、人工知能はその中で役割(ミッション)を果たさせねばあなりません。例えば、プレイヤーを倒したりその妨害をせねばなりません。もし、自分とプレイヤーしかいない世界で「おにごっこ」をするAIを作るとすればプレイヤーを見つけては走り寄って行く知能があれば十分です。しかし実際にゲームステージ上にはたくさんの物体や仕掛けがあり、それを乗り越えて活動せねばなりません。また、人工知能は武器を使いこなさなければならないかもしれません。剣であったり、魔法であったり、盾であったり。そして、それらを状況に応じて使い分けなければなりません。ある場合には物陰に隠れて待ち伏せしたり、ある場合は障害物を壊しながら進んで行かなければなりません。知性が為すべきことは深く周囲の環境世界と結びついており、環境の複雑度は知能に要求される複雑度そのものです。実際、人間を例に取っても、現代人を取り巻く世界は複雑化しており、その分、高度な知的能力が要求されています。しかし、知能というのは常に適応です。現代文明で育った知能も、田舎や山の中で生き抜くだけの知恵を持っているはずもありません。その逆も然り。知能というのは、環境の多様性に応じて様々な軸を持っているのです。

 デジタルゲームには様々なゲーム世界があります。ファンタジーの世界でこんぼうで敵を叩きつけたり、戦略ゲームに敵の陣地を征服したり、パズルゲームでピースをうまく扱ったり。それもまたゲームにおける人工知能の多様性を広げて行くことになります。同じ種類のゲームでさえ全く違った人工知能技術を使う場合もあります。
 ゲームというものは、現実のある局面を部分的に切り取ったものです。そして、デジタルゲームの人工知能は、そういった限られた局面において比較的限られた知的機能を発揮する存在であると言えます。そこには、現実世界における人工知能を構築するのと共通する部分と全く違った部分があります。アルゴリズムという点では、一般のアルゴリズムとは何ら違いはありません。しかし、ゲームの人工知能に著しい特徴を与えるのは、仮想空間内で活動する知能であるという点です。現実空間でもなく、シミュレーション空間でもなく、ゲーム空間(=仮想空間)の中で、ゲームのルールを解釈し、自身の役割をその能力の中で果たす存在です。そのためには、ゲーム空間と人工知能の間の情報のフロー、仮想的な感覚を準備してやらねばなりません。しかし、そういった仮想的な知能を作る試みは一見簡単なように見えて実にたくさんの問題を含んでいます。そして、その問題はつきつめると、我々人間が実は自分の知性というものをきちんと理解できていない、という所に帰着します。人間は便宜上、実に曖昧な適当なイメージで知性の本質を置き換えている場合が多く、その理解の欠如はそのまま人工知能の出来に反映します。人工知能を作ることは、常に、知能、即ち、我々自分自身への反省を伴うものであり、それが、人工知能を作るという行為をより一層深いものにしています。

第三章 「人の知能、デジタルの知能」

 ではここで、人が現実で持つ知能とデジタルゲームの人工知能の違いについて考えてみましょう。
 人工知能を作るときに規範となるのは常に人間の知能です。ところがやっかいなことに、我々はその知性そのものであるために、かえって知能というものの正体をつかめずにいます。「知能とは何か」という問は古くから続く人類の問であり、最近では心理学や脳科学を通して科学となっています。ところが長い研究と努力に拘らず、この問に対する答えはまだ断片的にしかわかっていません。言うなれば、この宇宙の成り立ちを知るのと同じぐらい、知能をその構成要素から理解する試みは果てしない試みです。外へ外へという理解が宇宙論だとすれば、内へ内へという理解が人工知能と言えます。そして、この二つは何れ融合する運命にあります。
 そういった知能に関する断片的な知識に基づいて知能の模倣を作ろうとするのが人工知能という工学です。遺伝子工学のようにあらゆる原理を熟知していなくても、ライフ・プロセスをハッキングしてクローンを作るのと違って、人工知能はあらゆるプロセスをプログラム上で再構築しなければなりません。その道はあまりに遠く困難なものです。実際、この世界ではたくさんのロボットが作られていますが、人間の知性には遠く及びません。それは単にハードウェアの性能のせいではありません。ロボットの身体が人間の体を簡略化した構造であるように、現在のプロセッサの構造は、人間の脳の原理とはかけ離れたものです。そもそも、その原理からして違うもの同士が同じ機能を持とうとすると、そこに矛盾が生まれます。
 身体においても知能においても。ロボットの研究はまず機械的な身体を地上で動作させることが研究主題になって来ました。ようやく近年になって身体運動の研究を超えて、そこに高度な知性を入れるという段階に手をかけつつあります。しかしまだ、二足歩行ロボットやお掃除ロボットは誕生したばかりであり、人間の知性に近づく階段を一段一段登っているところです。

 では一体、この現実世界で知性を作るのがどうしてそれほどたいへんだというのでしょうか?インターネットでは高度な検索エンジンが走り、膨大な情報がやり取りされています。そんなコンピュータの性能をもってすれば、現実に人工知能を作り出すなど簡単なことではないのか?と考えるのは自然なことかもしれません。しかし、こういった考え方は重要な二点を見落としています。まず「人工知能の原理はコンピュータの性能と独立である」こと、「現実世界と情報の海では環境が全く違うこと」の二点です。この二点について詳しく解説してみましょう。
 まず最初の点については、人工知能はプログラムとは同義でありません。プログラムは人工知能を実現する最も大切なツールですが、それでも人工知能という学問、工学が求めるのは、知能を実現する原理であり、その次に実装があります。最近の人工知能の基礎論の論文は数式や論理式で埋め尽くされています。それが最終形態とは言いませんが、それは人工知能基礎論という分野における最新の形です。人工知能は最後には製品(プロダクト)として産出されるべきものですが、それでも人工知能というのは実用一辺倒に引きづられることなく、他の基本的な工学と同じように一つの原理を確立した上で製作されるべきものなのです。しかし、その原理も探究の途上にあります。
 二つ目は、現実と情報の海との違いです。現実は情報体ではありません。現実は情報以上のものです。現実を情報に置き換えることはできます。しかし、それは現実のある側面を表現したものに過ぎません。また、人工知能にとって大切なのは客観的世界の情報ではありません。人間がこの世界を主観的に捉えるように、人工知能に必要なのは主観的に知覚された世界なのです。例えば空間は三次元座標で表現できますが、そういった客観的な情報を解析して運動するように知能はできていません。主観的に体験する三次元空間の認識と身体運動を結びつけることで知能は運動を実現しています。また物一つの認識をとっても、それは単なる形状ではなくて、食べるものであったり、危険なものであったり、常に知能にとってそれがどれぐらい脅威なのか、何が出来る対象なのか、ということが瞬時に解釈されています。主観的世界は解釈された世界であり、知能が活動するには解釈された世界を主観的に体験していることが必要になります。それは、例えば単にロボットにカメラをつけるだけで認識を形成できないという事例を考えればわかりやすいと思います
 では、そんな「主観的世界」を構築にはどうすればいいでしょうか?それこそが人工知能という学問が追い求めているテーマの一つです。もちろん、認識過程を含まない反射型人工知能などもありますが、少し高度な人工知能には認識過程が必要です。認識として物事をどう解釈するか?一つ一つの物事について人工知能が持つ表現を知識表現(Knowledge Representation)と呼び、人工知能分野の基礎を形成する重要な分野となっています。
 人間には、この世界を解釈する力があります。その力は人がこの世界に産まれた時から次第に学習や発達の過程で手に入れて来たものです。或いは、人間が進化の過程で形成して来たものです。しかし、人工知能にはそういった力がありません。人間のように学習・発達を模す研究もありますが、それでも問題設定は人間の手で構築しておく必要があり、人工知能に問題自体を発見する力があるわけではありませんし、その学習効果は定義された局面に限定されます。
 世界に対する解釈の表現を人為的に人工知能に与える場合に、どういった表現が最適であるかを探求するのが知識表現という分野です。それは人工知能と世界をつなぐ絆です。その形が人工知能の思考に強い影響を及ぼします。逆に知識表現は、人工知能と人間の知性の決定的な違いを表しているのかもしれません。人間は世界を知覚するのに、必ずしも情報表現を通す必要はありません。しかし人工知能にはそれが必要です。人工知能と言えば思考に目が行きがちですが、実はこの世界を解釈する過程の形成こそが、作ろうとする人工知能の基礎を決定してしまうことを覚えておられるとよいでしょう。人間がどうして食べ物と食べ物でないものが見分けられるのか、何故時計を時計として認識できるのか、なぜこの世界を立体的に認識できるのか、なぜ複雑な世界を複雑な身体で運動できるか、そこには決して自明でない深い認識の力による問題解決が施されています。そして、そういった認識過程を探究することから、人間と言う種が何百万年という時を経て獲得して来た世界に対する認識と言語の歴史を垣間見ることができるでしょう。

第四章 「ゲームの世界を認識するということ」

 さて、ここで話題をデジタルゲームに戻しましょう。前章では、現実における人工知能で認識を形成するということが難しい、奥深いという話をしました。では、仮想空間における人工知能ではどうでしょうか?デジタルゲームの人工知能においても、最初の製作プロセスはゲーム世界の中でどのように人工知能の認識を形成させるか、という課題から着手します。ソフトウェアに詳しい方はこう言われるかもしれません。「えー、デジタル空間は全てデータなのだから、データにアクセスすればいいじゃない?敵は敵データ、物体は物体データ」。確かにそういったデータをそのまま活用する場合もあります。しかし、それはデータであって認識ではありません。ゲームの中で人工知能がどのように世界を主観的に知覚しているか、人工知能から世界がどう見えているか、ということが認識の問題です。つまり認識の形成には人工知能から見た世界、正確に言えば人工知能が本来、主観的に構成するべき世界を客観的な世界から切り取る操作が必要なのです。つまり人工知能を中心に世界の情報を相対化することなのです。
 例えば、ゲーム空間の中で敵が人工知能からどれぐらいの距離にいるか、それは人工知能の身を脅かす脅威になり得るのか、人工知能から見えるのか、攻撃できるのか、今から逃げ出せば見つからずに脱出できるのか、など、客観的情報から相対的な情報を形成する必要があります。そして、その上に、様々な思考を築いて行くことができます。

 ゲームにおける人工知能と言えば将棋や囲碁のAIを思い浮かべる方がおられるかもしれません。実際、ゲームにおける人工知能において一番長い歴史を持つ人工知能は、チェス、将棋、囲碁やカードゲームの人工知能です。では、そういったボードゲームの人工知能とアクションゲーム(デジタルゲーム)の人工知能とはどう違うのでしょうか?
 最も顕著な相違は、ゲームの状態をどのように把握しているかによります。ボードゲームの場合、基本的にゲーム状態を完全な形で記述することが出来ます。それが様々な解析(盤面解析)の出発点となります。ゲームの進行も完全に記述できます。それをゲームツリーと呼びます。しかし、アクションゲームの場合に、これを行うには二つの問題があります。そもそも、ゲームステージが盤面のようなマスで区切られた形ではなくて連続的な地形であるためゲーム状態の完全な記述ができない、という点があります。二つ目の問題点としてリアルタイムにゲーム状態が変化するという点があります。アクションゲームではゲーム状態は将棋やチェスのようにターン毎に固定されません。全ての状態を記憶するとすれば、毎秒60回の記憶が必要とされますが、当然そのような膨大なデータは抱え切れるものではありません。この違いは、その上で作る人工知能の構造に大きな違いをもたらします。

 将棋の人工知能を考えてみましょう。人間ならば、自分が将棋の盤面をどう見ているかは自分で学んで行きます。しかし、自分がどうやってその認識を形成して行ったかを覚えている人は少ないでしょう。また、なぜ、その認識が形成できたかを説明することは実はたいへん難しいことです。しかし、人工知能を作る場合には、自分の知性がどのように形成して行ったかを一度反省する必要があります。それは人工知能を作ろうとしなければ決して反省することのなかったことです。これは人工知能を製作する経験だけが持つ醍醐味です。人工知能を作ることは、深い洞察と確かな製作を交互に行って行く体験なのです。 しかし認識形成のプロセスは心理学、脳科学、様々な領域にまたがる難しい問題です。また人間とコンピュータはそもそもハードウェア(脳とプロセッサ)の原理が違いますから、そこには違ったお互いにないプロセスが形成されているかもしれません。人工知能の認識を作る方法は工学的に様々に探求されて来ました。特に狭い問題を扱う場合には(例えば目の前の積木を積む、など)、人工知能が直面する問題を人間がある程度表現してやった上で構成して行きます。
 将棋やチェスの場合の知識表現を形成するには、盤面を解析する力を人工知能に与えてやらねばなりません。その局面でどこにポイントがあり、どこが自分の優勢な領域であり、どこに相手が攻め入って来るポイントであるか、など、単なる客観的な盤面の情報ではなくて、盤面を自分の立場から解釈した主観的な情報(=知識表現)を形成する必要があります。こういった知識表現が形成されると次に重要なのは、盤面の変化を予想するシミュレーション能力です。人間で言えば未来を想像する力です。人間がその時々の選択において未来を想像して物事を決定するように、人工知能にも未来を想像する力が行動の源になります。将棋における人工知能の想像力=シミュレーション能力は、次の一手を選んだときにどういうふうに局面が変化するかを予想することに対応します。指し得る可能な手のいくつか、或いは全てを検討して、最も局面が良くなる手を選択する、というアルゴリズムが、こういったボードゲームの人工知能では出発点となります。そして、将棋の人工知能の優秀さは、非常に大雑把な言い方をすれば、各手をどれぐらい先まで深く検討できるかに依存します。そのためにはたくさんのメモリと計算パワーが必要です。現代では、囲碁などでは一手のために幾つかの手を終局までシミュレーションする(モンテカルロ木探索)ことが普通になっています。

 では、今度はアクションゲームの人工知能について考えてみましょう。先にコメントしたようにアクションゲームの地形は将棋やチェスのように丁寧に碁盤の目になっていません。そこにはたくさんの起伏があり、乱雑に置かれた岩やアイテムがあり、草があり川があり滝があり森があります。そこで人間が記憶や眼の中に風景そのものを記憶できないように、もちろんAIにも、そんなことをさせることはできません。そこには簡略化(simplication)、抽象化(abstraction)というプロセスが働きます。それは、単に知能の容量や解析能力の負荷を軽減する都合というよりは、現実に生きる知能の本質的な性質の一つです。それが認識の本質と言っていいかもしれません。そうやって知能は自分の生活に必要な世界の側面を切り取ることって自分の内側で認識を再構築します。いわば動的な世界の縮図を自分の内側に持つのです。人がこの世界を各瞬間に認識し、その変化を感じ取るように、ゲーム世界の人工知能も自分が含まれる仮想世界の縮図=イメージを自分の内に持ち、現実に対応させながらその縮図を変化させ差し迫った問題を解決しようとします。将棋で相手の出方を想定して次の一手を検討するように、アクションゲームの人工知能は近寄って来る敵や落下して来る岩の脅威をシミュレーションしつつ、自分が取るべき行動を決定します。このようなアクションゲームにおける連続時間、連続空間の人工知能は、人の知能に親しい存在であり、これまで研究されて来た一般的な人工知能技術をフルに応用できるだけの深さと広さを持っています。

第五章 「知能を知るということ」

 人工知能とは、知能を考察すると同時に作って行くこと、と述べました。
 しかし、知能を実際に知るのはとても難しいことです。では、ここで人間の持つ知性の仕組みを簡単に紹介しましょう。自分はその専門家ではありません。そして、実際、人間の知能の専門家というのはいません。これはよく考えると驚くべきことです。脳科学の専門家はいます。心理学の専門家もいます。人工知能の専門家もいます。しかし、それらを総合して人間の知性とは何か、ということを研究する専門家は、少なくとも僕の知る限りいません。これは学問というものが常に細分化されたテーマを扱うように発展したことによります。総合的な知性を探求する、或いは総合的な人工知能を構築するということは、必ずしも扱いやすいテーマではありません。これもよく考えると驚くべきことです。人工知能研究のパイオニアであるミンスキーはそういった状況を批判しています。
 さて、自分は人工知能を構築する専門家であっても、人の知性の知識については他分野の情報を参考にします。脳科学なら脳科学の専門書や一般書、論文、心理学なら心理学の専門書や一般書、論文を読みます。これ実は個人的にはとても残念なことです。人工知能を構築する基礎は他分野から借りて来るしかありません。そして、そういったある時代の学説というのは、一定の期間が過ぎると改変されるか、精密になるかして、形を変えて行くものです。人工知能というものは、所詮、そういった変化して行く学説を基礎にしているとも言えるからです。ひょっとすると自分が思っている人工知能の基礎は、他の分野の発展に従っていつか全く形を変えてしまうかもしれません。
 では、人工知能という分野に堅牢さを与えるものは何なのでしょう?曖昧な基礎しかないとしたら、そこには何か普遍的なものが含まれていると言えるのでしょうか?人工知能に確かな存在を与えるのは、原理よりも構築したシステムが発揮する知能です。構造と工夫の上に作られたシステムが知能を発揮する時、そこには部分や部品を越えた生きたシステムの脈動を感じることがあります。そういう時、人工知能は構築原理を越えた一つの知性としての息吹を持っています。環境と人工知能が固有の関係を結んでいます。それは、人工知能の目指すところであり、人工知能という分野だけが持ち得る成果です
 
 人間の脳の仕組みはニューロンという神経細胞がネットワークになった構造(神経回路)であると言われています。脳は生後、環境との相互作用をしながら、神経回路の中で序々に必要な機能を学習し形成して行きます(脳の可塑性)。
 脳は環境からの刺激に応じて、神経回路の様々な部分を同時に活性化させ、かつそれらの部分を連携させます。同時に学習の機能が働きます。知識はネットワークの回路の構成の形で保存されています。くり返しになりますが、こういった脳のシステムは現代のコンピュータが持つ仕組みと異なります。人工知能をコンピュータの上に構成しようとする時には、どんなにうまくソフトウェアを構築しても、原理的な相違というものが、最終的に出来上がる知能に大きな相違をもたらすことになります。例えば、ソフトウェアは脳ほど柔軟性がなく、ある部分がある機能に対応しています。しかし、脳はある部分の機能が失われても、ある程度は他の部分で補おうとする適応的な機能が働きます。こういった機能は現代のソフトウェアの思想では実現することはできません。
 しかし、ソフトウェアの技術で脳の構成そのものを再現するのではなくて、その機能を模倣しようとするのが人工知能という学問なのです(もちろんニューラルネットワークのように脳を模そうとする研究方向もあります)。また、そういった模倣の中でも、人間の知能に限りなく近付こうとする方向を「強いAI」、知能のある機能を実現すればよしとする立場を「弱いAI」と呼んだりします。
 人工知能はこのように、足元の基本構造を考えればコンピュータの原理に制限され、上を見れば人間の知能に遠く及ばない、という中途半端な状況に置かれています。そして、そもそも動作原理が異なります。それでも、人工知能は、特定の問題に限定したり、特異な単一の作業を繰り返すという能力を活用して、人間とは違った方向にその才能を伸ばそうとしています。それはもはや人の知能にこだわらない方向です。人工知能固有の能力を探究しようとする方向です。

 アクションゲームの話題に戻りましょう。アクションゲームの人工知能は、人工知能分野の中でどういう分野なのでしょう?それは「強いAI」なのか「弱いAI」なのか?人間の知能を模すのか、それとも固有の知能なのか?ゲームにおける人工知能の作成において、一般の人工知能の研究と全く違う点が一つあります。それは、ゲームにおける人工知能は常に環境と一緒に作る、という点です。ここで「環境」とはゲームステージのことです。ゲーム製作では人工知能とそれが活躍する舞台とルールを同時に作って行きます。現実のように最初から対象となる環境が想定できるわけではないのです。いわば右手で舞台を作り、左手で人工知能を作ってその中で活躍させる、自作自演のようなシステムがゲームで人工知能を作るということです。そして舞台(仮想世界)は本当に様々なバリエーションがあります。無限と言っていいでしょう。それに応じて、人工知能も姿を変え、形を変え、知能の流れを変えます。だからゲームの人工知能は、ある場合には極めて人に近い思考をする場合もあれば、ある場合には全く違った思考をする場合もあります。ゲーム世界の環境があまりに違えば、人間にはない思考の形を持つこともあるでしょう。しかし、殆どの場合、人類が作るゲームは見かけはどうであれ地球の環境から大きく逸脱するわけではないので、人間の知性を模すことになります。

 ここで、ゲームにおける人工知能の製作を現場視点から記述してみましょう。ゲームデザイン、レベルデザイン(ステージ製作)、CGデザイン、アニメーション、様々なパートを専門のスタッフが結集しし、素材を組み合わせることでゲームと人工知能は出来上がって行きます。ゲームの中で、人工知能キャラクターは役割を与えられ(プレイヤーを倒せ、とか、プレイヤーの持ち物を盗めとか)、モデルを与えられ、アニメーションを与えられ、(比較的)最後にそれを達成するための知能が与えられます(実際にはこの過程がブラッシュアップを重ねるために何度もくり返されます)。知能はこの「ゲームの中で果たすべき役割」「用いることができる身体能力」「環境から強いられる制約」3つのジレンマを解消するものとして機能します。自分の果たすべき役割を理解し、自分が何が理解できるかを把握し、現在置かれている状況を認識し、為し得る行動の中から想像=シミュレーションによって状況を最善に導く行動を見出します。また、人工知能には、リアルタイムにたくさんの情報が流れ込みます。しかもそれは途切れることのない情報です。最初に説明したように、将棋やチェスのようにターン毎に状況は静止してくれません。常に変化する情報を取り込み、状況を解析しなければなりません。そのために、人工知能の中に、知覚した情報を貯めこんでいく記憶領域を作ります。こういった領域をワーキングメモリーと言います。ワーキングメモリーでは、知覚から得た情報が整形され圧縮され蓄積されて行きます。それは、人工知能の中に形成された環境世界の表現です。人間が頭の中に現実世界のイメージを常に抱き続けているように、人工知能はその記憶の中で、常に世界のイメージを更新し続けます。
 我々が体験しているように、それは自分を中心に再構成された世界です。決して客観でなく、全てが自分の生存を中心に組み立てられた世界です。そういった主観的世界は知能が行動するために必要な世界です。人工知能では、そういった主観的世界を構築することがとても重要になります。生物が持つ主観的な世界の見方は、行動するために必要なものです。それは身体から解釈された世界でもあります。人はその主観的世界を、無意識の中で、どのような運動が可能かを解釈して構築しています。こういった無意識の解釈をアフォーダンスと言います。運動は何も意識の思考を通して決定されるわけではありません。むしろ、思考は選択しているだけで、実際の運動を組み立てているのは、身体と密接な関係を持つ無意識の領域です。世界を運動から解釈することで、たくさんの運動を主観的世界に組み込んだ認識を形成することが出来ます。

 人工知能を組んでいると、つい思考に目が行きがちですが、思考だけではたどり着けないものが、あまりに多いことに気付きます。既に第一歩である「世界を認識する」こと自体がとても難しいということがわかります。そういった認識を構成する技術が知識表現やアフォーダンスです。それは、人が無意識下で行っている世界の解釈を端的に技術化したものです。人工知能は、ずっと人間の意識的な知能を模倣するように進んで来ました。しかし、意識に顕れる知能は、人の持つ知能のほんのわずかな上澄み部分であることが認知科学の研究を通じて明らかになって来ました。意識の上よりも人はずっと無意識の中で実に多様で深い世界解釈を行っています。おそらくそれは何十億年という生命の進化の過程で育まれて来たものなのです。無意識下のダイナミクスを探究し人工知能の知見として引き出し、これまでの意識的な人工知能と組み合わせて知能を構築して行くことは、今後の人工知能の構築に大きな進化を促すことになるでしょう。また、それは同時に人間を知るということでもあります。

第六章 「自分という知能を超えて」

知能は目に見えません。しかし、人工知能とは我々の知能を目に見えて移す鏡です。我々の知能への深い理解は、そのまま人工知能に反映され、その無知もまた同様です。時計の部品が一つでも抜ければ動けないように、知能の部品の何かが抜けると知能でなくなります。知能はその研究を通じて次第にその部品が明らかにされて行きます。当初は10の部品でよいと思っていたものが、様々な知能の研究から100の部品、場合によっては1000の部品、これまでになったステージ全体を設定することが必要になって来ます。だからこそ、人工知能は工学でありながら、同時に知能の研究に対する最も強烈な批判になっています。誤った知見は、それを実際に作ることでテストすることが出来ます。知能というあいまいなものを研究する時に、人工知能は大きな指針と制限と検証を与えてくれるのです。
また人工知能は我々の存在のあり方に問を投げかけます。この世界で我々がどのように位置づけられているか、我々が如何に無意識的に自分を中心に主観世界を構築しているかを教えてくれます。それは生命が持つ宿命であると言っていいでしょう。主観世界を通じて我々はこの世界に参加し行動することが出来ると同時に、主観世界から生じる誤解と他者との衝突が大きな争いのもとになるからです。
人工知能を作り、人の知能を知るたびに、我々は知性を相対的に見ることができるようになります。人の知能は中世の人が考えたような絶対的なものでは決してありません。知能は環境に対して相対的に形成された一つの現象に過ぎません。人の知能は普遍的なものでなく、むしろ様々な知性の一形体なのです。そういった理解は、人を知能の中心にいるという幻想から解放し、様々な他の知能への深い理解へと導きます。天動説が地動説に代わることで新しい思想と活動が生まれたように、知能に対する正確な理解は人の新しい思想と活動へと繋がって行きます。この文章が皆さんのそのような契機になれば幸いです。最後まで読んでくださってありがとうございました。

-------------------------------------------------------------------------------
(文章おわり)


この記事が気に入ったらサポートをしてみませんか?