ページの先頭です。本文を読み飛ばして、このサイトのメニューなどを読む

ログイン

サイト内検索

翻訳

お問い合わせ

サイト内の現在位置です:

TOP  >  Wiki  >  汎用AI

汎用AI anchor.png

Table of contents

やっと汎用AIの作り方を思いついた。

ここ20年間のプログラマとしての俺の宿題だったんだけどね。この問題を考えだしてから、金儲けとしてのプログラミングにまったく興味がなくなってしまったので、プログラマ稼業の方は頼まれた物しかやらないようにしてたんだけど、やっと本腰入れてモノ作りに入れる。

今まで、AIが難しいとされてた最大の理由は「何をAIと定義するのか」という共通認識がなかったからだと思う。AI学者と言われてる人間の論文とか読んでも、目指してるとこがバラバラでさ。そりゃ、完全なる知性の創造を目指してる人と、単に今までのエキスパートシステムよりちょい賢いぐらいのAIを作りたい人間では、その最終目標も違うわけでさ。俺としては、最終目標は前者だけど、とりあえず世の中に役立つって意味では後者も視野に入れていた。前者の実現はまだまだ先の話となると思うけど(だってまだ「意識とはなにか」が分かってねえモン。これは死ぬまで考え続ける宿題であるかもしれん)、後者は実現の目処がついたと思う。まあ、そんなんならいくらでもあるんじゃね?、と思うけど、ちょい基本的なとこが違うと思うのよ。

例えば、チェスのAIを作ってるヤツっているじゃん。IBMのディープブルーとかさ。でもあれって、正確にはAIの範疇に入れてはいけないものだと思う。だってディープブルーの基本的なアルゴリズムって、評価に特化したモノなわけじゃん。もっと言えば、最終的に目指してるのは、全パターン検索の完全手の解析だろ? って、これって別にAI作ってるんじゃなくて、チェスってゲームを解析してるだけじゃん。もし完全手が解析されたら、チェスってゲームはそこで終わる。それはどう考えてもAIを作ってるんじゃないよね。例えば、チェスのルールが1つでも変わってみな。例えば、ポーンが横にも進めるってルールだとしたら、今までのチェスのAIってのは一切役立たずである。それが果たして「AI」って言えると思う? IBMもずいぶん無駄なことをしてると思う、俺は。

俺が将棋のAIを作るとしたら、どんなのを作りたいかというと、最初は弱くてもいいのよ。でも何回か指しているうちにじょじょに強くなるモノが作りたい。だって子供が将棋覚えるって、そういう手順で覚えるだろ? そのためには、まずAIに将棋のルールを教えないといけない。で、後は、実戦で何万局と差してもらって、だんだん強くなる強化学習を組み込めばいい。もし将棋のルールが変わったとしたら(例えばニ歩OKルールとかさ)、またルールを覚えさせてやりゃいい。そして学習。こんな将棋のAIができりゃ、そりゃ一生遊べるって。幸いなことに、最近ではクラスタリングで複数のコンピュータで経験を積み重ねていくことができるから、1台でしこしこやるより、強化学習で強くしても、現実的な時間内で収まると思う。まあ、ついでに定石なんかもあらかじめ組み込みの知識として教えときゃ、いろいろな戦法指してくれるだろうしねえ。それが知性であるかって? さあねえ? 知性ではないかもしれないけど、知能であることは確かじゃねえの?

っていうか、工業用に汎用AIを作るとしたら、これ以外の方法はないように思う。実用って意味でもさ。ルールさえ差し替えりゃ、何にでも応用できるんだからさ。だって、別にコンピュータに最終的な判断まで委ねる必要は、どこにもないわけじゃん。あくまでルールさえ決めておけば、コンピュータはそれ以上の判断ってできねえわけでさ。俺がとりあえず目指してるAIってのは「人間を単純な知的労働から解放する」ことであって、産業革命が、人間を単純肉体労働から解放するのが目的だったのだとしたら、その程度の進歩でも十分じゃねえの? ヘンにAI研究とかいって研究費食い潰してるAI学者なんかが目指してるモノよりも全然世の中の役に立つと思う。別にコンピュータに芸術家や音楽家になってもらう必要はどこにもないわけでさ。でも、地雷処理や原発事故処理のルールを覚えさせたロボットができりゃ、人間が行かなくて済むわけで、産業的価値はそ~と~に大きいんじゃねえの? 「2001年宇宙の旅」でHAL9000に人間を殺さないようにさせるには「第一優先ルール 乗組員を殺さない」ってルール定義しとくだけでよかった。その点、クラークよりもアシモフの方が、先見の明があったと思うがねえ。アシモフの言ってる「ロボット三原則」ってのは、まさにルールを解釈するAIであってさ。だってHAL9000ってチューリングテストなんてど~でもいい基準で認定されたAIだろ? そら、無理だって。チューリングテスト程度だったら「おしゃべりルール」を最初に覚えさせりゃ、楽々クリアするだろ。「ロボット三原則」の悲劇は、主に倫理的側面しか注意されなかったわけでさ。それ以前に「ルールベースのAI」ってのを、もっと早く技術的に掘り下げるべきだったと思う。別にロボットが人間を殺す殺さないなんてルールの中身の話は、それが実現してから考えたんでも遅くねえだろ。

どうやってルールを覚えさせるかというと、ルールは全て、プロトコルとして定義すればいいと思う。まあ、AIのエンジンがやることってのはいい変えれば、汎用プロトコル解析、であってさ。これだと、とりあえずのトコは判定だけでなんとかなる。そして、帰納・演繹をベースとした推論エンジンを組み込みゃ強化学習の助けになる。まあそこらは最近だと計算知能(CI)分野もいろいろやってるみたいだけど、そんなの無数に出る結果を学習にフィードバックしてたら、いくら時間あっても足りるわけねえじゃん。最初にルールである程度範囲を絞ってやらねえと、現実的な実時間内で解なんてはじき出せねえって。

まあ、ここに書いたことぐらいなら、コンピュータに詳しい人間なら、そらできるだろ、と分かると思う。ってわけで、とりあえず俺も今、作ってる最中なんで、いいのができたら公開してね。できりゃ、オープンソースでさ。

これで、またしばらくプログラマ生活に没頭しそうだ、楽し、楽し。



Front page   Freeze Diff Backup Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 1823, today: 1, yesterday: 0
Last-modified: 2011-09-10 (Sat) 01:39:18 (JST) (3670d) by taked2

ページの終端です。ページの先頭に戻る