機械学習とは?素人が聞いてスッキリする納得の説明

AI(人工知能)分野のキーとなる概念の一つに「機械学習」というのがあります。

「AIに機械学習させる」というように使うわけですけど、「機械学習」って「機械が学習すること」じゃないの?

とすれば、「AIに機械学習させる」って、AIはそもそも機械なんだから、「機械に機械学習させる」って言う、あたりまえのことになってしまう。

どうもおかしい?

「機械学習」って、「機械が学習する」以上の内容を含んでいるに違いない。

あんまり深く知りたいわけじゃないけど、「ああ、なるほどね!」と言えるくらいの説明が欲しい。

レッツ・トライ!

AIは学習する

AIの基本的特徴として「学習」する能力があります。

AIは、そもそも、何か仕事をさせるために作られているわけですが、その仕事ができるようにするために、まずは「学習」させる必要があるわけです。

「機械学習」とは、そのAIのとる典型的な学習法であるわけです。

「機械学習」のエッセンスはこれだ!

例えば、いろいろな動物の写真から「猫」の写真を選び出す仕事をさせるAIを考えたとしますね。

そのAIに、まずは、猫がどういうものかを学習させなければならないわけですが、このときに、猫の一般的特徴を教え込むのではないのです。

いろんな猫の具体的な写真をAIに見せて、自ら、猫の一般的特徴を抽出するような学習をさせるのです。

一般的特徴と言うのは、「耳が二つある」とか「ひげが生えている」とか「しっぽがある」とか(これだけじゃ、犬との区別もできませんが)等々という、そういったことです。

これが「機械学習」のエッセンスです。

つまり「機械学習」というのは、「機械が自分で一般ルールを見出すような学習」のことです。

よく考えれば、我々人間も、これと似たことを、生まれてから成長する段階で行ってきたわけです。

「猫」を「猫」と判別できない大人の人間はほとんどいないと思いますが(小学校高学年になれば判別できますかね?)、誰も、猫の一般的特徴を教わったわけではないですよね。

いろんな猫を見てきて、ほかの動物も見てきて、理由は説明できないけど、猫を猫と、猫じゃない動物は猫じゃないと、判別できるのです。

この人間の知的能力を模倣し乗り越えようというのが人工知能(AI)であるわけです。

「機械学習」には大量のデータが必要

上の説明で、猫の写真をAIに見せて学習させる、という話がでてきましたが、これって、生半可な数の写真じゃダメだろうな、ってことが直観的にわかるんじゃないでしょうか。

猫の写真と言っても、いろんな種類の猫がいるわけですし、一匹の猫にしたって、いろんな角度から撮った写真がありえます。

また、猫の特徴を学ぶには、猫でない動物の写真もいるわけですよ。

あまり少ない例しか見せてないと、偏った判断しかできないAIになっちゃいます。これって、人間と全く同じですね。

一般に、「機械学習」によってAIに適切に学習させるためには、大量の学習用データが必要となります。

そのデータは誰が用意するのか。

人間が用意するのです。。。

これが大変なので、できるだけ少ない学習データでよい学習結果を上げられるような機械学習の方式が、一生懸命に研究されています。

「機械学習」の種類:教師あり、教師なし

機械学習のエッセンスは、以上の通りですが、ほんのもう少し踏み込んでみましょう。

「機械学習」の種類として、「教師あり」というのと「教師なし」というのがあるんです。

上の猫の例で、写真をAIに学習させるときに、それぞれの写真の動物が猫であるのかないのかを教えてしまう場合が「教師あり」です。

まあ、猫の判別を教えるのであればそれが普通ですかね。

それに対して、たとえば、いろんな動物をどういうふうに分類したらよいかをAI自身で判断させたい場合があり得ます。

つまり、たくさんの動物の写真をもとに、共通項をもつグループに分類させるような場合。

何の動物かを教えずにデータをAIに学習させ、自ら、分類をさせる。

これが「教師なし」です。

この場合は、人間が気づかなかった分類の仕方を、AIが発見するかもしれません。

まとめ

AI分野の重要キーワードである「機械学習」について、超入門ですが、なかなかズバリと言ってくれないエッセンスを抉りだしました(つもりです、笑)。

AIは「学習」すること。その学習は、「機械が自分で一般ルールを見出すような学習」であって、「機械学習」とよばれること。機械学習には大量のデータが必要であること。

以上でスッキリしていただけましたでしょうか?