強いAIの実現方法 ~実践的な作り方~

強いAIの実践的な作り方を検討しています。メイン記事に主張をまとめています。人工知能関係の書評もあり。なお、今後、任意団体として活動してみたいと考えており、手伝ってみたいという方は是非ご連絡下さい。詳しくは、メイン記事の7を参照下さい。

久々の更新(エージェントに意思を与える方法)

 ほぼ1年ぶりの更新である。

 昨年の9月に、仕事上で大きな問題が発生し、半年以上かかりきりになってしまった。また、4月に昇進があり、そちらでも考えることが多くなってしまった。ようやく落ち着いてきたので、こちらの活動を再開したい。

 そもそもこのブログ自体は、人間のような知性を実現するには身体が必要である、という「身体性」に基づくアプローチにおいて、

  • 実際にロボットを使っていては実現が難しい
  • 重要なのはエージェントの脳と身体と環境の相互作用であり、全てソフトウエアで実現できる

という2点を主張するために始めた。その論旨は今でも変わっていない。

 加えて、ブログにおいて議論を進める中で、「プログラムされていない行動をするにはどうしたらよいか」ということを考えた時に、

  • エージェントには意思が必要である。サールの言うように意識は強いAIを実現した結果ではなく、実現する手段なのだ(意思と意識でやや言葉を言い換えているが…)

という論点にたどり着いた。

 すなわち、人間の知性はロケットや自動車に限らず、あらゆるシステムを生み出しているが、そのためには膨大な記録を理解し、それを活用し「こうしたら良い」と思いつくことで実現している。エジソン風に言えば、99%は記録の理解であり、残りの1%の意思の力で新しいシステムを生み出しているのだ。人間の普段の活動は、それほど知的ではないということである。

 ここまでは過去のエントリーでも記載されているので、そちらを参照頂くとして、今回は、意思を工学的に実現するにはどうしたらよいかということを考える。

 

 ここでいう意思というのは、あらゆる瞬間において、何をしようというのを決める能力である。幸い、人間はほぼシングルタスクと考えられる。歩きながらスマホを見る歩きスマホはマルチタスクかもしれないが、歩くこと自体は意識の外で自動で行われ、スマホを見る以外の周囲を警戒することもできないので、非常な迷惑をかける時がある。

 三宅陽一郎氏の「ゲームAI技術入門」に、ゲームAIにおける意思決定方法が7つほど紹介されている。
・ルールベース
・ステートベース
・ユーティリティベース
・ゴールベース
・タスクベース
・ビヘイビアベース
・シミュレーションベース

 シミュレーションベースというのは、今はやっている「世界モデル」を脳内で作って、というものに近いかもしれない。

 「世界モデル」をのぞくこれらの意思決定方法は、私が求める意思とはいいがたい。基本的に、プログラムされている行動を、プログラムに従って選択しているからである。「世界モデル」については後述する。

 単純な例えであるが、2つの部屋があり、片方が暑く片方が涼しいとする。暑い部屋にいる時に、プログラムされていなくても涼しい部屋に行こうと思いつくようなエージェントにしたい。隣の部屋が涼しいということを知っていることは許される。

 暑さによる不快指数が一定値を越えた時に、隣にいくというプログラムでは、いわゆる弱いAIである。すなわち、上にあげられた意思決定方法はすべて、弱いAIである。弱いAIの一番の問題点は、全てをプログラミングしなくてはならない、ということだ。暑い時ではなく寒い時、湿っぽいとき、うるさい時等…

 あらかじめプログラムされていない行動をAIがとる手段としては、強化学習もある。しかし、一般の強化学習は、やってみて評価してというのを繰り返し、ある条件での評価値が高い行動を選択するように強制的に学習させるというものだ。結局これは、ある場合に最適な行動を、やってみることで選べるようにするという、弱いAIのプログラム手法であるといえる。これまた、あらゆる条件で評価値を評価するということをやってみなくてはならない。

 

 私が実現したいアーキテクチャは、隣の部屋が涼しいという記憶と、現状が暑いという認識、それを改善したいと考える意思により、隣の部屋に行こうと決断を下せるようなアーキテクチャである。

 困難なのは、改善したいと思った時に、あらゆる行動を探索しなくてはならないという、いわゆるフレーム問題の解決かもしれない。しかし、涼しくなりたい、ということまで明確であれば、涼しさを得ることが出来る記憶とリンクすることはそれほど難しくないだろう。すなわち、何かをしたい、ということであれば、フレーム問題の罠に陥らなくて済む可能性がある。
 ただし、隣の部屋が涼しかったのか、その時に薄着だったからなのか、エアコンが入ってたから涼しかったのか等、単純に記憶をするといっても、因果関係を適切に整理できるのかという問題はある。教師なし学習で、勝利ニューロン以外は抑制することで、適切な記憶に絞るということは出来るかもしれない。

 また、涼しくなりたい、隣の部屋は涼しいということが分かったとして、隣に行けば涼しくなると予測する能力も必要になるかもしれない。これは、上にあった世界モデルと近いが、そこまでしなくても良いかと思う。いちいち、隣の部屋に移動した時のシミュレーションを脳内の世界モデルで実施するということまではしなくても、予測することは出来ると思われる。
 隣の部屋が涼しいという記憶があるとして、その記憶があればそこに移動するという決断ができるのか、そこに移動すれば涼しくなるという予測をすることで決断ができるのかは、さらに考えたい。

 整理すれば、①記憶、②予測の2つの機能が脳には必要で、記憶あるいは記憶と予測の両方を使って行動を起こす意思を、エージェントが備えれば良いと考える。


 脳の仕組みは、基本的には単純であるはずだ。環境が複雑であれば知能も複雑になるというブルックスの主張にも一致していて、仕組みは単純ながら大容量を備えた脳があり、複雑な環境にふれることで複雑な記憶を蓄えることが出来れば、複雑な判断ができるようになるであろう。すなわち、部屋が暑いから涼しい隣の部屋に行こうという決断が出来るようになれば、あとは大容量の脳と複雑な環境を用意することで、複雑な決断が出来るようになると期待する。

 さらに、知能が複雑な事象を扱うのには言語能力が必要と考えられる。
 ただ、人間レベルの脳の規模で極めて複雑な事象を扱うのには言語が必要だったが、脳自体の能力が人間よりはるかに大きくなれば、言語が無くても処理できてしまうのかもしれない。

 いずれにせよ、人間と同じように物事を決断する意思を持つAIをソフトウェアで実現することで、人間のような不確実な記憶ではなく正確な記憶を持ち、かつ決断する意思をもつ知能が誕生することになる。