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

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

深層人工生命 -自己組織型深層サブサンプションアーキテクチャ

 本エントリーでは「深層人工生命」なる概念を提案する。詳しくは「自己組織型深層サブサンプションアーキテクチャ」である。
 「深層人工生命」は、ありがちな名称であるようにも思うが、検索した限り「深層人工生命」「DeepALife」は引っ掛からなかった。ドワンゴが過去に「超人工生命」というワードを使用しているが、深層強化学習を搭載した人工生命であり、本エントリーで目指す深層ネットワークを使用した学習は強化学習では無いため、関係ない。
 今後世の中でこの「深層人工生命」なるワードが目に触れるようになったら、検索した限り、本エントリーが最初である。

 強いAIを構築するための提案アプローチで、特に重要なものは以下の3つである。

  • 知能は、外界、身体、脳の相互作用で構成される
  • 探知→行動を原理とする
  • 十分に複雑であること

 このアプローチにおいて、外界モデル、身体モデルの構築は実作業として実行可能であるが、脳モデルについては、今までは解に至るようなアイデアが無かった。
 そもそも、「構成論的アプローチを、ロボットを使わずソフトウェア上でやるべき」というのが新規性でありモチベーションであったので、脳モデルについては、外界モデル、身体モデルを作った上でいろいろやってみる、というのが当初の考えであった。

 このエントリーにおいては、新しく、脳モデルについても提案を示す。人工生命において、脳部分に深層ネットワークを導入し、特に、コホーネンネットワークのような自己組織型教師無し学習によるサブサンプションアーキテクチャの構築、というものを目指す。

 

 以前のエントリーで、原理検証プログラムでは、食べ物と外敵がいる外界モデル、空腹、移動等を再現する身体モデルで脳モデルを動かしてみると書いた。そのような環境で強いAIの萌芽を見出すには、お腹が空いたら食事を探しに行くだけではなく、蓄えがあるから明日取りに行けばいいやみたいなことを、事前のプログラム無しに自分で思いつくべきである(リスは冬に備え、秋に木の実を蓄えるらしいですが)

 これは、強化学習では成立しない。強化学習は、やってみて評価するという枠組みであり、過去の経験をもとに最適解で行動する、のは、「思いつく」ということとは別であろう。

 では、どうすれば良いのか。

 考えているうちに浮かんだのは、イメージではあるが、無数の選択肢の中を深く沈んでいき、その中でこうしよう(例えば「明日取りに行こう」)と決めることである。選択肢は、RNNように短い時間のループ、長い時間のループ、長短のループが積み重なっている。その中で、重要な決断をして、それに従って行動していく。人間は基本的にシングルタスクだし(歩きながら考えたりも出来ますが)。

 この、長短のループが積み重なっているというのは、実は他で聞いたことがある。そう、サブサンプションアーキテクチャ(SA)だ。

 SAでは、反射的な動作を積み重ね、より長期的、高度な判断を行うアルゴリズムは上の方に重なっているというイメージであった。ただし、SAでは高度な知性を実現することは出来なかった。なぜか?

 その答えは、今なら分かる。ループをプログラミングしていたからである。

 SAは、探知→行動というループにこだわり、間に入る「判断」(人間にプログラムされる)をループから外すことで、プログラミングされた動作をするだけのロボットとは異なり、環境に応じた豊かな動作を得ることが出来た。ただし、肝心のループの積層構造はプログラミングに依っており、結局、判断ループを持ち込むという、古典AIの罠に陥っていたのではないか。弱いAIはプログラミングされたことしか出来ないので、それを打破するためのSAだったが、カナメとなる上層のループがプログラミングされているのである。

 ここで、今まで本ブログで書いてきた以下の概念を網羅するように考えていくと、やるべきことが見えてくる。

  • 探知→行動が生物の原理である
  • 生物が複雑な行動をするのは、環境が複雑だから
  • 十分に複雑になることで、シンギュラリティを越える(例は人間)
  • 判断ループを与えてはならない
  • 脳はとにかく全てを学習する(時系列も含め)
  • 脳は、学習により複雑になっていくべきである
  • 知性が宿ったように見えるためには、選択肢の積層構造を深くもぐり決断をするべき
  • 大脳皮質のコホーネンネットワークは、ヘッブ学習(教師無し学習)により、勝利ニューロン以外を抑制する


 すなわち、求める脳モデルは、

  • 探知→行動により学習する。
  • サブサンプションアーキテクチャのようなループの階層構造を、教師無しで構築する(→自己組織化)
  • 階層構造はRNNの塊であり、教師無し学習により、短期的なループも長期的なループも構築する。深層ネットワークの可能性に賭ける。
  • 不要なループは抑制されていく
  • 十分に複雑であること。脳モデルは人間並みかそれ以上のニューロンを要するのが理想

 一言で表すと、自己組織型深層サブサンプションアーキテクチャ(Self Organized Deep Subsumption Architecture)とでもなろうか。頭文字をとると、SODeSsA(そーでっさ)が良いかな…

 巨大(深層)なRNNが、学習によりサブサンプションアーキテクチャをほぼ無限に自己組織化で構築していくなら、いつか複雑さがシンギュラリティの境界を越えるということは有り得るのではないかと思える。というか、人間とはこういうものかもしれない。

 学習が発散しないよう、実際の脳にあるコホーネンネットワークのような抑制メカニズムが重要になり、深層学習における既存の収束テクニックも活用できるであろう。


 これを積んだエージェントを、外界モデル、身体モデルと組み合わせて動かすことになるので、深層人工生命というもうちょっと広い概念も合わせて提唱する。深層ネットワークを組み込んだ人工生命に取り組むと面白いことが出来そうであり、検索した限りでは試みられていない。
 なんといっても、深層ネットワークはそれまでの常識を越えた性能を示すことがあり、人工生命の脳モデルに入れたら思いもよらない機能性能が得られることは十分期待できる。上記のSODeSsAは、その脳モデルの一例である。