Home > プログラミング > アンドロイド

アンドロイド

ちょっと前のエントリですが、taraさんとこの
[Resident of Virtual World]最近考えていること
を見て。


人工知能とかは今も盛んに研究されていると思うが、自分のためのソフトとして補助的な知能が構築できたらすごくいいなという単純な発想だ。そもそも人はどんな風にとらえて展開していくのかなぁという素朴な疑問から脳について、もう少し知りたいと思ったんだ。

でも、やはり人が機械と違うのは、認識力と連想+想像ができることなんだろうな・・・これが今のコンピュータにはできないことなんだろう。それ、まったく同じにできなくてもいいから何か近づけ無いかなってここ数日考えていることだったりする。

実は、私も似たようなことを考えていたりします。
大学時代にファジイ理論を使ったプログラムを作ったことがあって、そのときに「アンドロイド作りてえなあ」と思って(痛い)から、ずっと考え続けてきたことでもあります。
最近、やたらと「オンメモリ・データベース」にこだわっていたのも、実はこれが理由なのです。

ということで、今の段階で私が考えていることをまとめてみます。


自律学習

機械学習を使った人工知能も面白いのですが、人の作ったアルゴリズム上では、どこまで進化しても感情を持つことはできません。
よく漫画などで、機械が感情を持ち始めるというストーリーがあるのだが、感情を考慮していなかったシステムで感情が自然発生することは不可能です。
機械が自律的に学習を行い、勝手に成長していくようにするためには、得られた情報の良し悪しを判断する機構が必要であり、それを構成するのが、感情・本能・性格の3つと私は考えています。


本能

娘が生まれてから気付いたことなのですが、人は生まれたときにゼロの知識で生まれてくるのではありません。
実はいろいろなことを知っている状態で生まれてきています。
例えば、状況によって泣き方を変えたり、母親という存在を知っていたり、母乳を飲む方法を知っていたり。
これは、誰かが教えなくても絶対に知っていることであって、いわゆる本能というものです。


性格

性格は度が過ぎると、本能と異なる行動を取る場合があります。
例えば、人間は危険なときに本能でストレスを感じるようになっていますが、危ないことをすることが好きな人はストレスを超えた興奮を覚えるなど。
生きていく上で必須でない事柄に関しては、本能より性格が及ぼす影響の比重が高いように思います。


感情

楽しいことはどんどんやりたい、嫌なことはしたくないといった行動の指標。
自律的に学習させるためには、知識を得ることが楽しいと感じるようにしなければならないと思う。
が、この感情がとても難しい。
例えば、人の笑い顔はその人に対して一種類しか無い訳ではありません。楽しさの度合いによって、顔面のくしゃくしゃ具合が違うだろうし、他のリアクションが加わったり、涙が出てくるかもしれない。
アンドロイドを作るためには、微妙な感情表現がなにより重要だと思う。


本能の実装

危険から逃れる行動が取れるような初期データをあらかじめ設定しておく。
変更不可能。


性格

これも初期設定なのだが、ランダムデータとした方が、面白みがあるし、教育次第では想像以上の天才が生まれるかもしれません。
感情と連動して、徐々に修正される。


感情の実装

人間は、セロトニン、ノルアドレナリン、アドレナリン、ヒスタミン、ドーパミンなどのモノアミン神経伝達物質が分泌されることにより、感情が制御されているらしい。
ということで、インプットされた情報によって、これらの分泌量を示すパラメータ値を変化させる仕組みを作る。
こういう難しい仕組みは、深く考えずに、人間の仕組みをそのまま実装するイメージで作った方が良いのではないだろうか。

また、パラメータ値制御とは別に、笑いを制御するコントローラ、悲しみを制御するコントローラなどの複数のコントローラをマルチスレッドで起動する。
これらのコントローラは、共有メモリにあるパラメータ値を監視し、しきい値を超えると体本体の動きを制御するようになっている。
例えば、笑い泣きを例にすれば、笑いに関する数値に比例して顔がほころび、泣きに関する数値がしきい値を超えることで涙が出るようにすると、笑いと涙にタイムラグが生じるので、より人間らしい感情表現となる。

このモデルは、Blackboardアーキテクチャとほぼ同じである。


記憶

最大の難関がコレだ。
当たり前のことだが、二次元表を使ったリレーショナルデータベースなど論外である。
有向グラフでデータ表現をするのが良いのではないかと思っているのだが、概念のようなデータをどう扱うか、逆向きのリンクをどうするか、などの問題が今のところ解決できないでいる。
また、相当なデータ容量となるので、これをどうバックアップするのか、どう復元するのかも想定しておく必要がありそうだ。


検索

記憶ときたら検索がセットですね。
最大の課題が巨大なデータ容量でしょう。
検索は一瞬で完了し、思い出せなかったら何度かトライしてみるだとか、ひょっとしてコレかな?といった推測ができるようにしないといけない。
常に検索結果が同一というのは、アンドロイドでは全く意味を成さない。
何度も試行錯誤しながら、その中から最適解を決定していくという仕組みが必要である。

実はこれ、私の頭の中では、最適解を決定するアルゴリズム以外は大体できています。
どんなに巨大なデータ容量であっても、瞬時になんらかの答えを返すことができる画期的な方法ですが、具体的な方法はまだ内緒にしておきます。


ということで、弁慶フレームワークの次は、「脳モデルデータベース」プロジェクトになる予定。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/518
Listed below are links to weblogs that reference
アンドロイド from LibertyBoy

Home > プログラミング > アンドロイド

Search
Feeds
Tag Cloud
Recommend

SQLパズル 第2版 プログラミングが変わる書き方/考え方
SQLパズル 第2版 プログラミングが変わる書き方/考え方

ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系

ITアーキテクト vol.1
ITアーキテクト vol.1

オブジェクト指向における再利用のためのデザインパターン
オブジェクト指向における再利用のためのデザインパターン

アンチパターン―ソフトウェア危篤患者の救出
アンチパターン―ソフトウェア危篤患者の救出

おら!オラ!オラクル
おら!オラ!オラクル

プログラマの数学
プログラマの数学

スタイルシート スタンダード・デザインガイド―SEO/ユーザビリティ/アクセシビリティを考慮した実践的HTML&CSSデザイン術
スタイルシート スタンダード・デザインガイド―SEO/ユーザビリティ/アクセシビリティを考慮した実践的HTML&CSSデザイン術

セオリー・オブ・スタイルシート
セオリー・オブ・スタイルシート

テクニカルセキュリティ技術
テクニカルセキュリティ技術

まってる。
まってる。

Return to page top