2008年11月23日日曜日

グリードコンピューティングとAI

擬似3D世界での学習と平行して、学習環境について考察してみた。

擬似3D世界でも現在のコンピューターの処理能力では、高精度のリアル体験学習は、相当性能の処理能力がないと難しいと言う事が分かってきた。

それでは、グリッドコンピューティング的に、学習プロセスを分散化させたらどうかという考えが浮かぶ。

サービスから学習レポジトリを受け取り、クライアントで学習した内容をサービスに送信させる事で、学習DBを構築していく。

学習処理は、一般ユーザーに実行してもらう事が考え付く、彼らに実行してもらうためには、鑑賞系ゲームとして配布し、エンターティメントを提供する代価として、学習処理内容を送信してもらう。

この方法は、一般のゲームでも応用できそうな気がしなくもない。

2008年11月6日木曜日

TravianのAI

フレに誘われてTravianというゲームを始めました。

GNO2のように、指示だけ与えれば、放置で活動してくれるゲームなので、プログラミングをしつつ、バックグランドでプレイしています。

規約的に自動化するのは違反になるので、ゲームデータと目標を設定する事で、目標達成最短の手数を教えてくれると役に立つなと思いました。

辛うじてAIの分野に入っていると思うのですが、エキスパートシステム的なシステムは、あまり興味がないので、多分作らないと思いますが。。。

2008年10月31日金曜日

飛行機のお隣さん

昔の高校を訪ねに飛行機で国内旅行をしました。
となりになった人が、System Biologyという本を持っていて、興味をそそられて話に。

なんで、人体の器官の働きをシミュレーションするアプリケーションを作っているとか。

心臓の一回の鼓動をシミュレートするのに一週間かかるそうで、心臓のセルの働きをタンパク質レベルで解析しているそうで。。。

つまりタンパク質が反応して、セルに動作を働きかけて、筋肉として心臓を動かしている・・・

億単位のオブジェクトを動かしてるんでしょうなぁ・・・

さすがに、AIが3D擬似環境から学ぶとした場合に、ここまでの精度は必要ないんだろうけども、精度を上げようとし過ぎると、リアルから学ぶより遅くなる可能性があると言う事が分かりました。。。

3D擬似環境を考えた場合、オブジェクトの最小単位をポリゴンではなく、極小の正方形を原子として捕らえるべきではないかと思いました。

ポリゴン3Dは、「見せる」事を重点に置いた場合には効率的ですが、物理判定や熱伝導をシミュレートするには、不向きなのかなぁ。

2008年10月28日火曜日

擬似世界から学ばせる

さて、前回の投稿で、学習形の汎用AIに興味があると書いた。

学習型と言っても、20qのように、言葉を教えて辞書を構築するだけでは、本当の知覚には繋がらない。
リンゴは、赤く丸い果物。赤は、RGBで、#FF0000。果物とは・・・

と教え込んでも、南国の人に雪を教えるような物で、知識として溜まるだけで、それが何で在るかは、深い理解をする事は出来ない。

究極的には、五感がセンサーとして必要になるわけだが、ハードウェアを製作するのは無理である。それは、大手の研究所に頑張っていただく。

では、ソフトウェアだけで何ができるかと考えると、人間と同じ五感を持ったAIが学習できる3Dの擬似世界を作る事である。物理の法則があり、温度があり、感触を擬似的に体験できる場である。逆に、その擬似世界は、私たち人間に取って、何も意味をしない。熱そうな物を見ても、私たちは、経験上熱そうと思うだけで、それを感じない。しかし、その世界の中のAIは、その熱を熱として感じる事が出来る。現実世界と逆である。

そして、擬似世界の中で、学んでから、現実世界にそのAIを配置する事で、コンロの上にあったフライパンは熱いという事を擬似的に理解している事になる。大金をかけて、ロボットを現実世界の中で、試行錯誤させる必要がないわけである。

ロボットが特定の用途で使用される場合も、この擬似世界は役に立つ。お掃除ロボットがあるとして、対応する段差を少し変えてみると、どうなるか?など、シミュレーションが容易に行えるからである。

次は、擬似世界で、どのようにAIが世界を「知覚」していくかを妄想してみる。

汎用AI

AIは、幅広い分野だ。
しかし、僕が興味があるのは、学習型のAIである。そして、そのAIが汎用的である事が好ましいと考える。
スコープの限られたAIの方が、現状遥かに実用性があるのは、事実だ。しかし、人のように世の中全体を知覚できているかどうかは、そのAIの用途はなんであれ、差を生む。

翻訳機を例にする。野球=baseballである事は、明確だ。
しかし、野球がどのようなゲームであるかを知覚しているかいないかで、コンテキストを理解し、より正しい訳を行う事が出来るだろう。その後に、straight ballが飛んできたという文があった場合、真っ直ぐな玉ではなく、直球と訳す事ができるようである。

画像解析機を例とした場合も、机の上に何があるかを解析する場合、何がその上にある事が多いかを「経験上」知っているかいないかで、判断に影響を与えるだろう。逆にその経験が弊害となり、似ている物を見て、「勘違い」を引き起こす原因になるかも知れないが。それも寿命が無いAIの知能にしてみれば、「経験」で処理できる範疇ではないかと思う。

という事で、このブログで扱うAIは、学習型でかつ汎用的なAIに対しての考察になるという事である。

2008年10月27日月曜日

GPSについて

将来のGPSについて妄想して見ました。

1. 車間通信の強化
P2P的に、車同士が教えあう仕組みです。
イラク戦争での戦車でも使われたそうですが、把握している状況を車同士で交換する事です。
一時的に必要な通行止め情報から始まり、口コミ情報なども含むかもしれません。

2. リアルタイムな口コミ情報の登録
例えば、レストランの駐車場に駐車した場合、レストランに行った事は、ほぼ疑いの余地がないでしょう。
餃子を食べて、美味しかったとポツンと呟けば、ほかの車とすれ違った際などに、どこどこの餃子は美味しかったよと伝達していくわけです。

このシステムの良いところは、一般的に移動する範囲の情報しか必要としないと言う事。すれ違う車からもらう情報は、当然同じエリアの人間からの情報なので、必要な情報である可能性が高いという事。

後は、P2Pのメリットである大量の情報を保持するサーバーとそれとの通信が不要である事でしょう。

情報の信頼性も、匿名でデタラメな情報を書けるインターネットよりずっと信頼できると思われます。

GPSが付いていれば、iPhone、携帯でも同じ事が出来そうな気がする。
っと、P2Pではないけど、既にあった。。。
http://japan.internet.com/busnews/20060407/5.html

オブジェクトの判別

オブジェクトの判別について考察してみました。

恐らくロボット工学なのでは、かなり研究されていると思うのですが、画像から機械が、何が写っているのかを判別したいとします。

事象を単純化して、背景はないものと、画像には純粋に対象のオブジェクトのみが写っているとします。
その場合、オブジェクトの形状や、色のみで判断する事になるのでしょうが、恐らく形状と色から複数の特徴を捉えて、特徴に合致するオブジェクトを検索する事になるでしょう。

そこで、国旗を特徴から判別するソフトを想像してみます。特徴は、階層化かする事ができるとします。

XML的に記述すると日の丸の場合は、このような感じです。

<日の丸>
<四角>
<円>
<色>赤</色>
  <面積>20%</面積>
  <場所>
  <縦>中央</縦>
  <横>中央</横>
  </場所>
</円>
<色>白</色>
</四角>
</日の丸>

白の四角の中に、赤の円がある。円の面積は、四角の面積の20%。(実際に20%かは、図っていない)
円は、縦横共に親オブジェクトに大して、中央にある。

恐らく、赤に塗りつぶされた円は、太陽の絵と認識させた方が応用が利くでしょう。

このデータ形式で表現できないオブジェクトがないか少し考えて見る事にします。

2008年10月26日日曜日

初カキコ

誰が書いているのか重要と考える方もいらっしゃるので自己紹介をば。

15才~21才 ニュージーランドに留学。商業部情報システムを専攻。間、中国にも4ヶ月ほど留学。
21才 帰国後、インド系ソフトハウスに入社。
22才 退社し、自営業を始める。業務内容は、JavaでのWebアプリケーション開発が主。
26才 自営を辞め、リーマンをしたりバイトをしたり、海外に旅行に行ったり、風来坊生活。

ASP、PHP、Javaと経て、C#に溺愛中。プログラム以前に、研究対象として、AI全般に興味がある。ゲームでの応用は、実績として実を結べていないが、ちょろちょろとはやっている状況。恐らくC#をサンプルコードにしたゲーム用AIの内容が主になると思われる。

ブログをはじめて見ようと思ったのは、自分と似ている事をしている人と知り合いになりたいから。という事なので、共通点を感じたら、気軽にメールくださいー