機械学習
コンピュータ |
人間 |
|
単純な計算 |
◎ |
○ |
長時間の計算 |
◎ |
△ |
たくさんのものを覚える |
◎ |
△ |
言葉の意味を理解する |
× |
◎ |
おもしろい映画を探す |
× |
◎ |
このように、コンピュータと人間では得意とするものと不得意とするものが大きく異なります。では、コンピュータには人間の言葉を理解したり、感情を表現したりするということは本当に不可能なのでしょうか?
その答えを出すための大きな手掛かりになるのが「機械学習」です。
そもそも人間はなぜ言葉の意味を理解したり、おもしろいや悲しいといった感情を表現したりできるのでしょうか?
答えは、学んだからです。
生まれたての赤ちゃんは「ライオン」の写真を見ても「怖い」と思うことはありませんし、それが「ライオン」という動物であることすらわかりません。しかし、「ライオン」の写真や実物を見るたびに、それが「ライオン」と教えてもらうことにより、その形をした動くものが「ライオン」であると学習します。また、「ライオン」が「噛む」ということを学び、「ライオン」=「噛む」、「噛まれる」=「痛い」、「痛い」=「怖い」と様々な経験から「ライオン」に関する情報を学習していきます。その結果、「ライオン」の写真を見たら、それが「ライオン」であり、「怖い」という感情を抱くようになることができます。
では、コンピュータに「ライオン」の写真を見せて「怖い」と答えさせるためにはどうすればよいのでしょうか?
「ライオン」の写真に「怖い」という情報を覚えさせればよい。
人間であれば、それで十分です。ところが、コンピュータではそう簡単にはすみません。コンピュータは覚えることが得意なので「ライオン」=「怖い」や「ライオン」=「足が速い」というような大量の情報を覚えることは簡単にできます。しかし、そのものを見て、それが「ライオン」であるということを判定することがコンピュータにはとても難しいのです。
コンピュータに、あるものが「ライオン」であると認識させるためには、まず、コンピュータにたくさんの種類の「ライオン」の写真を見せ、その形状をしたものが「ライオン」であると判断できる「基準」を作らせる必要があります。この基準を作るためには「ライオン」の写真だけではなく、他にも「犬」や「猫」など「ライオン」と違うものも見せる必要があります。
このように、人間と同じようにものを認識させ、人間らしい行動を行うため、コンピュータに学習させることを「機械学習」と言います。
コンピュータは覚えることは得意ですが、認識したり判定したりすることはとても不得意です。例えば、前向きのライオンと横向きのライオンであっても同じかどうかを判定するのは難しくなります。それならば、コンピュータは単純な計算や大量の記憶が得意なので、とてもたくさんのデータを見せて学習させればいいじゃないか?と思われるかもしれません。しかし、コンピュータに学習させるための大量のデータを用意するのは人間です。その作業には時間も手間もかかります。そのため、最小限のデータで効率的にコンピュータに学習させることができるかどうか、どのようなデータを用意すればよいかという問題が機械学習での重要な課題になります。