認知科学と人工知能

  1. 心理学,認知科学
  2. 人工知能

  1. 心理学,認知科学

      「人間に依頼する場合と同じような方法でコンピュータに仕事を依頼できる」,「自分の判断に従って行動できる自立型ロボットが家事や介護の手助けをしてくれる」,などが可能になるためには,コンピュータの知能を高めること,つまり,”人間のように”判断し,行動できるコンピュータを実現することが必要です.人間がモデルである以上,まず,人間を知ることが重要になります.その方法としては,心理学や認知科学などのように,人間を外部から観察する方法と,後に「生命情報」分野で述べるように,人間の内部を観察する方法があります.

      人間の知的行動を知ることは,人工知能の実現だけがその目的ではありません.コンピュータを含め,ほとんどの機械は人間が使用すものです.人間にとって使いやすい機械(そのハードウェアとソフトウェア)を設計するためには,人間が機械の使用に対してどのような応答を示すかといったことを十分考慮する必要があります.そのためにも,人間の知的行動に対する知識は必要です.

      人間は,目,耳,皮膚など,様々な器官を通して外部の情報を取り入れ,それを処理しながら行動しています(「感覚知覚」).また,その過程で得られた知識は,学習や発達という言葉で表される処理を通して自分自身の中に組み入れられていきます(「学習と発達の心理学」).コンピュータにおいても,人間からプログラムやデータとして明示的に与えられた知識を利用するだけでなく,コンピュータ自身が外部から知識を取り込んでくるようなことができなければ,知能の実現は不可能であるといってよいでしょう.

      我々は,知能ということをほとんど意識せず,歩く,走る,投げる,など様々な行動を行っています(「運動と行動」).しかし,障害物を避けながら歩く,多くの部品からなる器材を手で組み立てる,など,運動や行動は,感覚器官と連動した複雑な知的活動であるといえます.特に,自立型の移動ロボットにとっては,なくてはならない機能です.

      人間の知的行動を知るためには,何らかの実験を行いその結果を評価することも必要です.「心理評価法」は,認知科学や心理学のすべての分野で必要になりますので,それらの分野について学びたい人にとっては必ず履修すべき科目です.その際には,初等的な「微分積分」や「確率統計」に関する知識も必要となります.

      現在のコンピュータは,日本語や英語などの自然言語を理解したり,話したりすることはほとんどできません.しかし,将来的には必ず実現したい機能です.もちろん,自然言語を理解するためには,文法など,言語の表面的な性質を知っているだけでは困難ですが,自然言語を分析する方法や考え方(「言語情報論」)については最低限知っている必要があります.

  2. 人工知能

      知的なコンピュータを実現する上で,最もコンピュータに近い分野が「人工知能」になります.「人工知能」には,互いに関連しあってはいますが,以下に示すように様々な分野が存在します.

    1. 知識表現: 知的なコンピュータを実現するためには,何らかの形で知識をコンピュータ内に持っている必要があります.しかし,それをどのようにして表現すべきかは非常に難しい問題です.我々が所有している知識は,コンピュータ上のデータベースとは明らかに異なっています.例えば,「誰々の電話番号を知っていますか?」というような質問をされたとき,データベースで検索を行うように,記憶されている知識をすべて調べてから答えるようなことはしません.「アメリカ大統領の電話番号を知っていますか?」と聞かれたとき,ほとんどの人は即座に「いいえ」と答えると思います.なぜこのようなことができるのでしょうか.また,後の学習の項でも述べるように,言語や記号で表現できない知識はコンピュータ内でどのように表現すべきでしょうか.

    2. 論理と推論: 推論とは,知識の集合から,それらの知識に明示的に表示されていない結果を導き出すことです.例えば,「Aさんの父はBさんです」,「Bさんの父はCさんです」,「父の父は祖父です」とうい3つの知識から,「Aさんの祖父はCさんです」という結果を導き出すことが推論です.「論理数学」で扱う命題論理や述語論理の範囲では,推論された結果は必ず正しいものになります.しかし,人間の社会で行われている推論は,必ずしも正しいとは限りません.そこで,正しいとは限らない結果を推論できる論理体系(非単調論理)についても研究されています.

    3. 学習: 教科書的な知識の多くは,言語や記号で表現できますので,それをコンピュータに移植することはある程度可能です.それでも,移植できるのは知識の一部だけです.さらに,視覚情報を処理する知識や運動に関する知識となると,記号や言語で表現することができず,コンピュータへの直接的な移植はほとんど不可能です.この問題を解決する唯一の方法は,コンピュータが自分自身で学習することです.

    4. 自然言語理解: 自然言語理解も人工知能の重要なテーマです.英語から日本語,日本語から英語などの翻訳をコンピュータが行ってくれれば,その効果は測りしれません.

    5. 画像理解,音声理解: カメラから入った画像に対して,人間の視覚系が行っているように,その中にあるものを正しく認識し,シーンを理解することは,単なる画像情報処理技術だけでは解決できない難しい問題です.それは,その際に,対象としているものに対して人間が持っているような多くの知識を必要とするからです.音声理解に対しても,同様のことが言えます.音声情報処理技術に対する知識は必要ですが,それだけでは解決できない多くの問題があります.

    6. 知能ロボット: 様々な状況において,自分で判断し行動できる自立型の移動ロボットの実現のためには,上で述べた多くの問題を解決しなければなりません.しかし,部分的にでも解決できれば,自立型移動ロボットが,家庭に入り,家事や介護を行ってくれるような時代が来る可能性があります.

      ここで,「学習」ということについてもう少し詳しく見てみます.例えば,次のゲームを行ってみてください.まず,「裏」か「表」のボタンをクリックします.その行動が,コンピュータの予測した結果と一致すればコンピュータの勝ちとなり,人間は 1 点失ないます.また,一致しなければ人間の勝ちとなり,人間が 1 点得ることになります.この勝負を繰り返し,人間が 25 点失えばコンピュータの勝ち,逆に,25 点得れば人間の勝ちとなります.

      勝つのは,なかなか難しかったかと思います.人間は,例えば,「裏裏裏表」と入力した後は,「表」を入力する場合が多いとかいった,ある程度の癖を持っています.このプログラムでは,過去4回の入力結果からこのような癖を読み取り,人間の入力を予想しています.方法は至って簡単であり,過去4回の入力パターンと次に入力するデータの頻度を表の形で持っているだけですが,これも一種の学習と考えられます.このように,簡単な学習は実現可能ですが,人間のような一般的な学習については解決しなければならない問題が多く残っています.

      ゲームも,人工知能の分野でよく扱われる課題です.ここでは,8パズルについて考えてみます.8パズルとは,下に示すように,9個のマス目に入った8つの数字からなるコマを,空白を利用しながら移動し,目的の状態にするゲームです.

      コンピュータによってこのような問題を解く基本は,右図に示すように,コマの移動方法を順番に調べていくことです.しかし,この例からも明らかなように,その組合せの数は膨大なものになります.したがって,片っ端から調べるといった方法では,如何にコンピュータが高速であっても実行不可能です.そこで,何らかの知識を利用しながら探索を行うことになります.

      ゲームの分野だけではなく,人工知能が対象とする分野にはこのような問題が多くあります.例えば,自然言語理解のような分野においても,ある文章を生成するためには,すべての単語の組合せの中から目的にあったものを選択すればよいわけですが,その組合せの数を考えれば,そのような方法では実行できないことが分かると思います.

      実際,このようなことを体験してもらうために,まず,以下の問題を解いてください.つまり,図の左の形から右の形に持って行くために必要なコマの移動状態を順に記述してください.

      では,次に示すもう少し難しい問題を解いてください.

    ただし,この問題を紙の上で解くことは困難ですのでインターネット上のプログラム「8/15パズル」で行ってみてください.その際,何回の操作で解に至ったかを覚えておき,下に示したコンピュータによる解と比較してみて下さい.

    コンピュータによる解法

目次