ぼくちんの極秘アイデア倉庫

ぼくちんの考えたアイデアなどを書きます

画像認識AIの設計と論理的思考するAIの設計アイデア

前回の記事公開から約5か月経過して、前回の記事の最後の方の具体的なAI設計を記述しようとした不明瞭な文章部分をいくらか具体的にさせるための思考の進展がありましたので今回この記事にて記述していこうと思います。

 

 初めから汎用的な機能を持つAIを作るのは難しいと考え、MNISTデータを判別するAIのような画像認識AIの仕組みから考えようと思いました。

教師あり学習の精度を超えた!?相互情報量の最大化による教師なし学習手法IICの登場! | AI-SCHOLAR | AI:(人工知能)論文・技術情報メディア

 前回の記事でも紹介したこちらの記事の論文の手法では、画像を関数で変換して別の画像に近づけることで、画像同士はその関数で互いに関係付けるということをしていますが、このアイデアをもう少し発展させたものを考えました。

 そのアイデアというのは、画像変換に使う関数を統合情報量φが高まるように抽象度を上げていく、つまり抽象度の高い関数を自動で構築していって、統合情報量φが高い視点での画像データ同士の関係性を獲得したAIニューラルネットワーク)を作るというものです。初めは、画像変換関数はランダムな変換を行うものを複数生成し、画像同士の関係性の密度つまり統合情報量φが高くなるように徐々に関数を変化させていくという事です。

 

 もう一つ画像認識AIの手法のアイデアがあります。それは先ほど説明した画像を変換する関数にて別の画像との関係性を構築するという手法ではなく、単に、画像を記述するその記述の抽象度をだんだん上げていくというものです。例えばある正方形が映っている画像データの記述法には単に「何番目のピクセルが1で何番目のピクセルが0で」という記述の仕方ができますが、これは抽象度の低い記述法です。「正方形である」とか「四角形である」とかその画像を記述する方法はいろんな抽象度で可能であり、抽象度の高い記述法を得られれば、より多くの画像データがその記述法で関係づけられつまり統合情報量φが高い状態のAIニューラルネットワーク)が構築できるというアイデアです。かの有名な畳み込みニューラルネットワークCNN)は、線を認識するフィルター、目や鼻、口を認識するフィルター、顔を認識するフィルターのようにフィルターの抽象度を上げていき、認識力の高いニューラルネットワークを作るというものです。私のアイデアは、フィルターによらない方法で抽象度を上げていく方式であると言えます。これは画像認識能力ではCNNにかなわないかもしれませんが、より一般的(汎用性の高い)方式であると考えます。具体的にどのような方法で画像の記述の抽象度を上げていくのかですが、積層オートエンコーダを作る方式を参考にした方式をまず考えました。積層オートエンコーダは、中間層のユニット数をだんだんと少なくしていきますが、私の考えた方法では、統合情報量φが高まるようにパラメータを学習させることによって、中間層のユニット数を増やすこともできるということです、ユニット数が増え、多層化することで、より画像データの関係性のネットワークの密度が高い視点を持ったAIニューラルネットワーク)が作れると考えます。

 

 問題としては統合情報量を高めるアルゴリズムをまだ考案できていないという事です。脳は統合情報量を高めるアルゴリズムを持っていると思います。覚醒時に情報を記憶し睡眠時に情報を整理しいらない情報を忘却する、それが統合情報量を高めるアルゴリズムの一つとして可能性があるのではないかと思っていますがどうでしょうか。なんとなくですが脳のニューラルネットワークの必要リソース(細胞数、エネルギー量など)と情報源の表現力の効率性を最大化するような感じのアルゴリズムではないかと思います。

ニューラルネットワークにはバックプロパゲーションなど実際のニューロンにはないアルゴリズムが使われていることもあるので、なんらかの直接的な統合情報量を高める人工的なアルゴリズムを考えることもできると思います。

 

 以上が画像認識AIの仕組みのアイデアです、次に汎用AI、強いAIの仕組みのアイデアを書きます。

 

 人間の知能とは、メンタル統合をしながら、無限に論理を連鎖させ思考を続けられる能力だと思います。心理学の用語でいえば、システム1とシステム2のうちシステム2の思考方法ですね。

 それが可能であるには、物事を捉えるのに、概念同士の合成後の概念もまた再びほかの概念と合成できるものである、つまり例えば四則演算について「有理数」のように閉じた群の様になっている必要があると思います。ゲーデル不完全性定理のように、自然数自体で自然数論を記述するような自己言及的な形式である必要があると思います。人間の使う自然言語は、高階関数の形式になっていることは分かっていることです。高階関数のように関数自体を関数の引数に出来ることが無限の思考の連鎖が可能なのではないかと思います。そのような思考の形式で、頭の中で記述可能な概念同士を関係づけ、統合情報量φを上げていくことで人間は、他の生物よりも統合情報量が高い認知能力を獲得できると考えます。しかしやみくもに思考を連鎖させていっても計算量の爆発によって効果的に統合情報量φは上げることは出来ないでしょう。DQN(deep Q-network)のような、状況を他の似た状況と同一視して、取るべき一手を取るように、ある概念をほかの概念と似たものとして考えて、アナロジー思考をすることで、新しい知識、新しい関係を発見するような強化学習のようなアルゴリズムが必要だと思います。

 そこで肝心な必要物となってくるのが私の考案した統合情報理論(理論の名前はまだ決まっていませんが便宜的にこう言います)です。

 強化学習では報酬が設定されます。通常の生物にとっての報酬は、食べ物を得た時、子孫を残せた時などに受け取られるでしょう。人間もそうでありますが、もう一つ、他の生物にない報酬をもらえる時があると考えます。それが、脳が思考をして脳内の概念同士が結びつき、脳内の統合情報量φが高くなった時です。人間はなぜアートを見て感動するのか、なぜ数学理論を閃いて嬉しくなるのか、食べ物を得た時とは違い、なぜ生命にとって必要不可欠でないことに、脳が脳に報酬を出すのか、これで説明がつきます。思考という行動をして統合情報量φが高くなった時に報酬を得られるように強化学習を設定すれば、人間のような抽象度の高い知性を持つ汎用AI、強いAIが作れると思います。

 

以上のようなアイデア以外にもまだ文章にまとめられない、スクラップのようなメモ書き的アイデアがたくさんありますが、これからは実際にプログラミングをして試行錯誤していこうと思っています。