- 締切済み
人工知能の作り方
最近すごく人工知能について興味を持っているんですけど。 実際に人工知能はどのようなアルゴリズムで動いているのか どのようなソースで動いているのかまったくわかりません。 高卒程度の学力しかない自分でも果たして人工知能は作れるのでしょうか? どのようなことを勉強すれば人工知能を作成できるのでしょうか? できればわかりやすい参考書などを教えていただけるとありがたいです。 決してむずかしいものを作ろうとはまだしていませんので、 どうか、どなたかわかる方教えてください。よろしく御願いします。
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- uyama33
- ベストアンサー率30% (137/450)
http://www.geocities.jp/bonanza_shogi/ 最近はプロ棋士を負かす将棋ソフトがあります。 人工知能とは少し異なるかも知れませんが参考にはなると思います。 上のURLは、有名なもので、ソースコードが公開されています。
- m_matsubara
- ベストアンサー率48% (80/166)
長い時間をかけて、様々な方が回答をされていますので 私が回答すべきか悩みどころですがあえて… 人工知能に関してよく言われることは そもそも人間は「知能」というのがそもそも何であるのかを定義できていないということです 人間に知能はあるのでしょう、おそらくチンパンジーにも、では猫には?鼠には?昆虫には?と、その境目も曖昧です ただ、論理的に順番に手順を踏んでいく能力であれば人間は、世界最初の貧弱極まりないコンピューターにさえ勝つことは出来ませんのでそれだけで結果を計算するものは人工知能とはまず言いません 大学の人工知能の教科書などもありますが、人工知能という体系立った学問があるとは言えないで ・将棋などのゲーム有限確定完全情報ゲームの攻略 ・(自然)言語処理 ・コンピュータービジョン 等々の各分野のカタログ的な紹介になっている状態です ただ、誤解を解いておかないのは「人間みたいなものを作る」というのが今の人工知能の研究ではないということです (作りたい研究者はたくさんいそうですが、取っ掛かりが掴めていなのです…) 強化学習やパーセプトロン、サポートベクターマシンや遺伝的アルゴリズム等 ”比較的”よく使われるアルゴリズムや言語などはありますが まずは、人工知能の世界を俯瞰(ふかん)して、自分がやってみたいことを朧気ながら掴みるのがオススメでしょう アルゴリズムはその分野で性能が良く、比較的よく使われるものがあるので、その2,3の候補から自然と選ぶようになるはずです 他の道としては、やっとそういう研究が出来るようになってきたということなのでしょうが 言語処理や認知、コンピュータービジョンなどの、人工知能の各分野の成果を統合するとどうなるかの研究に参加出来るようになる さらに厳しい道として、そもそも知能とは何かを考える、これは回答された方々の中で欲求や五感とは何かを考えるよう答えられた方々がいらっしゃいますが、正直未だ哲学者地味た議論の最中で、コンピューターのプログラムにどう落とすべきか、取っ掛かりがない試練の道ではあります とりあえず、おすすめの書籍は、大学の人工知能の講義で説明されるような本ですね Amazon等で「人工知能 概論」で条件検索して200~350p程度の分量、2500~3500円の価格の 書籍を探すのがよいでしょう ここの当たりに関しては、難解な数式も殆ど出てきませんし、楽々突破できると思いますよ http://www.amazon.co.jp/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD%E3%81%AE%E5%9F%BA%E7%A4%8E-%E6%83%85%E5%A0%B1%E7%B3%BB%E6%95%99%E7%A7%91%E6%9B%B8%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E9%A6%AC%E5%A0%B4%E5%8F%A3-%E7%99%BB/dp/478562048X/ref=pd_sim_sbs_b_4 そこから再度やりたいことが絞り込めたら、その分野のオススメをもう一度こちらで質問してみてください 大学の専門書の場合個々のプログラム言語でのサンプルコードなどは余り掲載されていないで、Φとかλとかの記号で 基本的な数式と論理的な意味の解説に終始しているものが多いので 数式を見てコードが浮かんでくるレベルの経験があるわけでないのならば サンプルコードが豊富な替わりに、平たい文章でワンステップづつ進んでいけるものを求めたほうがいいですよ
- aiueomuretsu
- ベストアンサー率0% (0/0)
2001年の質問だこれ@@ 5感や生命活動をパラメータ的に設定して 例えば一定値以上の温度なったら火傷イベント発生、冷やすや直前で離れるという行動を取ったらその個体(プログラム)は生存、しなかったら失敗 みたいなのを永遠にシミュレートしていってとりあえずプログラム上の(生物)を作るといいかもしれない。 生命活動に影響がありそうなパラメーターが増えてくると恐怖パラメーターが増えていくみたいな感情パラメーターも大切でしょう。 逆に幸福パラメーターも必要でしょうね。でも薬漬けみたいになって頭らりっちゃっても死亡イベント発生するとか。 そうやって生き残ったプログラムが状況に対してどういう判断を下すかすぐれたものにはなってそうです。 範囲外の値を出したら死亡みたいな。 観測者(神)とプログラム(人間)の間で何度も淘汰されつつ我々にとってもっとも親和性の高そうなものを間引いていけばいいのではないでしょうか。 いやまぁ思いつきで適当に書いただけでかなり無茶や的外れ言ってるかもしれないけど。
- mttya
- ベストアンサー率0% (0/0)
機械学習という分野を専門に勉強している学生です. 一般的に言われる人工知能とは,幅広く使われる単語のため,何に焦点を当てて話したらよいかわからないのですが,私の専門である「学習」という分野における人工知能について話します. 「学習」の分野に限って言えば,人工知能の最終目的は「人間みたいな行動をするように学習すること」ではありません.言ってしまえば人間も頭が悪い部分が多いため,人間がとる行動というのは常に最適化されているというわけではありません.よって,学習という分野における人工知能とは,人工的に作り出す知能で,最終的には人間のとる行動よりも良い行動をとることを目指しています. 話は変わりますが,今年4月に行われたプロ将棋棋士とコンピュータの対戦(電王戦という名前だったような...)をご存じですか?この時に使われたコンピュータソフトには全て機械学習という手法が用いられています.この時の電王戦(?)はコンピュータ側の勝利となり,コンピュータは今や将棋においてはプロと同等以上の知能を持っていることになります. 機械学習について語る前に,学習の概念において大切な2つのキーワードを紹介します.教師あり学習と教師なし学習です.それら単語の意味は文字通り,教師がいるかいないかという違いになってきます.たとえば野球のバッティングなどを習う際,コーチがいてスイングの際に腕の角度やら腰の使い方やらいちいちひとつひとつの行動についてチェックしてくれるのが教師あり学習です.一方で教師なし学習はとりあえず,バッティング練習をひたすらやって,自分がうまく打てたかどうかによって,自分で考えて上手なバッティングフォームを見つけることを指します. これら二つの学習にはそれぞれメリットデメリットがあります.教師あり学習では学習速度はめちゃくちゃ早いです.教師がどこが悪いか言ってくれるので,すぐに学習できます.しかしながら,その教師が悪ければ,学習した後の行動もよくなりません.そして,最終目標は教師の模倣であるため,教師以上に賢くなることはありません.教師なし学習では,これらの教師といったものが無いため,学習の可能性は無限大ですが,学習スピードは極めて遅く,また学習効率も悪いです.何事も自分ひとりで考えるのは難しいもんです.教師あり学習と教師なし学習はたぶん人間に対しても同じようなことが言えると思います.そして,今現在の機械学習の多くは人間の学習と似ています.面白いですね. コンピュータ将棋ではこれらのハイブリット手法が用いられていました.教師あり学習では,人間のプロ棋士同士が戦った際の棋譜を教師とし,まずは人間のプロのように打てることを学習させました.そののち,教師なし学習で,何度もほかのコンピュータ等と戦い,そしてプロ棋士以上の知識を身に着けようとしていきました.その結果,プロ棋士対コンピュータ将棋の結果はコンピュータ側の勝利となりました. 今後の機械学習の課題は教師あり学習ではなく,教師なし学習をいかに効率化できるかがポイントとなっています.それさえクリアできてしまえば,本当に人間よりも賢いコンピュータができる可能性も充分にあると自分は思っています. ちなみに,一般人が思っているような,「コンピュータが人らしくなる」という意味での人工知能はこの機械学習という手法ではおそらく難しいでしょう.まず,人間の話している「言語」について教師あり学習させようと思っても,まず教師データ自体をつくるのが極めて困難だからです.コミュニケーションの際に「こういう会話が来たらこう返答する」という教師をつくること自体がそもそも難しく人間自体もわかっていません.また,教師なし学習で学習させようとしても,コンピュータ自体,話すこと自体の良し悪しを決定するのはとても無理です.よって教師なし学習も無理でしょう.100歩譲って,コンピュータができる範囲は言語の意味理解まででしょう. じゃあ人間はコンピュータに学習できないようなことまで学習できるとは天才か,と思う人もいるかもしれませんが自分はそうは思っていません.人間は生まれもって,お腹がすくなどという生命活動をしているため,生きるためにはしなければならないことが数多く存在します.個人的には,「話す」という行為も実は生命活動にかかわっている大切な行動だと思っています.なので,生まれもって人間は「お腹がすくと死ぬ」という学習をすでに行っており,極端な話にはなるけれども「お腹がすかないためには他の人と話してごはんを得る」という学習結果を得て,他の人とコミュニケーションをとるようになります.つまり,人間は話す目的が存在するので,それに従って学習するようになりますが,コンピュータ側は目的が無いので学習できない,私にとって人間とコンピュータの学習の違いはただそれだけのことだと思っています. ちなみに,人間らしいコンピュータを作るための研究ではどちらかといえば人口無脳の研究が多いと思います.これは以前の回答者様が回答済みなようなので割愛させていただきます.
- lil_sevasc
- ベストアンサー率0% (0/0)
今の人工知能に足りないのは生き物は生命活動を中心に生きていて、五感は生命活動をカバーする手段にすぎないという事です。 赤ちゃんは他の動物と同じように本能などで動きます。私は覚えています。 カギになるのは感情、特に三大欲求だと思います。睡眠は情報を整えたりするのに大切で、食欲は動力に必要で、性欲は自分以外の認識に大切だと思います。 睡眠はスイッチ、食事は燃料、性欲は五感が中心だと思います。
- msystem
- ベストアンサー率42% (79/186)
私は、人工知能の作りかたというのは、決まった方法はないと思います。 やはり、「知能」をどう考えるか・・・という点が重要だと思います。おそらく、プログラムというもの自身がそうだと思います。目的があってその目的を達成するために、どのように論理的に考え、それをプログラムにするかが、プログラミングだと思います。 ですから「高卒程度の学力しかない自分でも・・・」は、まったく関係ないように思います。 一般に言われる、「人工知能」とは何かを知りたければ、文献などを探せばよいであろうし、作りたいのであれば、どのような機能を持ったものを作りたいかを徐々に具体化することが必要だと思います。(「人工無能」のような反応は、やはりそのようなことを突き詰めていってできたものだと思います。) アルゴリズムも大切ですが、自分が何かを考えたときに、「何を基準にどのように判断したか」などを、具体化していってはどうでしょうか?
- callhiro
- ベストアンサー率35% (54/152)
どうもこんばんは。 下記の「人工無能」はフリーのチャットCGIでもあちこちにあるので 探して設置してみればいいかと思います。 けっこうおもしろいですよ。 僕は学生時代にQ学習という手法を使ってロボットに学習をさせていました。 それは、学習のプログラムを作った後は、目的の行動を与えてやるだけで、 ロボットは試行錯誤しながら次第に目標の行動を達成できるようになるという物です。 実際には、ロボットにQマップという情報を保持させて、 ロボットのとった行動に従ってQマップの値を変化させていきます。 目標の行動を偶然とった場合にその行動を高く評価してやり、 目標行動へ達する行動、目標行動の直前の行動へ達する行動 その直前の行動へ達する行動と最適な行動を覚えていき、 最後には与えられた環境のどこでも目標の行動をとるというものです。 有名なのは、数カ所の駆動部分があり、そのロボットにメジャーを取り付け、 できるだけメジャーの増え幅が大きくなるように行動させるという学習ロボットです。 最初は適当に動かしていた駆動部分ですが、次第に素早く動き回るようになるという物です。 見たことありませんか? 他には遺伝的アルゴリズムを使って、よりよい行動を個体を残しながら進化させるというプログラムもありますよ。 まずはこれらのキーワード(Q学習、遺伝的アルゴリズム等)で検索して見てくださいな。
お礼
ご回答ありがとうございます。 ロボットの話は初めて聞いたので「そうなのか~」と思いました。 教えていただいたキーワードで検索してみます。 ありがとうございました。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 検索エンジンで調べてみましたが、以下のような面白いものを見つけました。 人工知能ではなく、人工アリです。 http://home.ksp.or.jp/csd/ga/gatrial/ChA_3_2.html また、たくさんヒットしたのでその検索結果をのせておきます。(参考URL) 既存のアルゴリズムを学ぶのも良いですが、自分で考えてみるのも面白いですよ。 奇抜な発想が出てくるかもしれません。 私も人口無能を作って遊んだ事がありますが、なかなか楽しかったです。 基本的なアルゴリズムは Pesukoさんの回答にあるものと同じものを使いました。 「この単語とこの単語が入っていたら、このメッセージを表示」とか独自の拡張をしたりしていました。 参考になれば幸いです(..
お礼
ご回答ありがとうございます。 「人工アリ」ですか、参考URLまで教えていただきありがとうございます。 自分自身、発想力はあまりないので(妄想力は大いにあり)まず既存から 学んでいきたいと思います。 ありがとうございました。
- sesaami
- ベストアンサー率25% (9/36)
リスト処理というデータの処理方法を使用して、アルゴリズムを作成するのが普通です。人工知能を作成しやすい言語としては、LISPやプロローグ(スペル忘れた)が良く使われるようですね。 人の脳に如何に近づけるかということよりも、人の考え方に近いデータをすばやく引き出すことが出来るかが問題となるようです。 人工知能については多くの書籍が出ていますので参考にされたらいかがですか?
お礼
ご回答ありがとうございます。 人工知能に関する書籍を近くの大きな書店で探したんですが、 なかなか、これといったものがありません。 もし、お勧めの書籍がありましたら教えてください。 「リスト処理」で探してみます。 ありがとうございました。
- Pesuko
- ベストアンサー率30% (2017/6702)
10年ほど前に”人工無能”なるプログラムがありました。 PC<こんにちは OP<こんにちは PC<こんにちはてなに? OP<こんにちは、は挨拶 PC<挨拶とは? と延々PCが質問してくることに答えていったように思います。 文章の関連付けのみで50語程度覚えさせるとそれなりにAIのような会話が成立した記憶がありますが、一太郎のVer6(バージョンの記憶はあいまいです)あたりのマクロでも同じようなプログラムがありました。 確かDOS版だったように思います。 AIの回答でなくてごめんなさい。
お礼
回答ありがとうございます。 その「人工無能」は語句の意味を理解していっているということでしょうか。 そのものが「人工知能」のように思えます。 もっと自分でもいろいろ調べてみようと思います。「人工無能」についても ありがとうございました。
お礼
ご回答ありがとうございます。 確かに自分の中で「知能」については漠然とした考えしかありませんでした。 どのような機能を持たせたいかも具体的に考えていきたいと思います。 ありがとうございました。