機械学習とディープラーニングとは その1

企業:

IoTをゼロベースで考えるの第20回は「機械学習」と「ディープラーニング」についてだ。

この言葉、IoTや人工知能の話題ではよく出てくる言葉だが、きちんと説明するのはとても難しい。私も以前聞かれた時とても曖昧な答えしかできなかったので、整理してみる。前後半にわけて解説し、第一回は機械学習についてだ。

機械学習と切っても切り離せないのがインターネットの普及だ。Googleができたのが、1998年、データマイニングの研究が盛んになったのも1998年ということで、このあたりから機械学習の研究は大きく発展したということだ。

機械学習の概念を簡単にいうと、「意味は特に考えず、単に機械的に、正解の確率の高いものを当てはめていく」やり方だ。例えば、翻訳の世界でいうと、「英語でこういう単語の場合は、日本語ではこの単語で訳される場合が多い」「英語でこういうフレーズの時は、日本語ではこういうフレーズで訳される場合が多い」と当てはめていくのだ。

「機械学習」とは、そもそも「人工知能のプログラム自身が学習する」仕組みのことである。

機械において「学習する」ということは、例えば、「この食べ物が、お寿司か、ケーキか、そばかを区別する」ということだ。つまり、お寿司とケーキとそばがあった時、その分け方習得することなのだ。

しかし、そう簡単にいっても機械には正しい分け方はわからない。そこで、人間が分け方を教えるのだ。

分け方にもいくつか種類があるが、そのうちの一つナイーブベイズ法とニューラルネットワークについて説明する。

ナイーブベイズ法

これは、確率の定理である「ベイズの定理」を使って分ける方法で、例えばメールの内容をみて、ある一定の単語が入っていたら、スパムメール率X%という具合にメールを仕分けるのだ。メールの本文全体を見ることで、「迷惑メール度」を算出することができ、結果、迷惑メールは、自動的にスパムフォルダに格納されるのだ。

ニューラルネットワーク

手書き認識の分野などで使われる手法で、例えば「3」という文字があった時、ゆがんだり、まがったり、のびたり、ちじんだりする「3」があるとする。ヒトはこれをみて「3」と判断することは簡単だが、機械には難しい。「8」や「5」と間違えることも多いだろう。

機械学習による文字認識

そこで、様々な文字セットを機械に見せる。図の場合、「3」という文字を見せるのだが、3は784ピクセルに分解して見せることになる。その結果、機械は0〜9に分類するが、間違えた場合は図の重み付けを調整するというやり方だ。

同様に0〜9までの文字を何パターンも何パターンも重み付けを変えながら、一番賢いやり方を探していく。

気の遠くなるような作業だが、こうやって答え合わせをするたびに重み付けを調整して、精度を上げていく学習法となる。こうして膨大な時間をかけて機械に学習させることで頭のよい「予測」が可能となるのだ。

機械学習の問題点

機械学習によって、「分け方」を機械が自ら見つけることができるようになり、その結果「未知のモノ」に対して予測ができるようになる。しかし、先ほどの「3」の例でいうと、どういった特徴(図の重み付けの部分)があれば「3」らしいのか、といったことを学ばせるのは「ヒト」なのだ。

つまり、決して機械は自分で考えていないのだ。

そして、現代、注目されているディープラーニングによって、この「特徴」を機械自身が抽出できる可能性が出てきたのだ。

第二回のディープラーニングに続く

【関連記事】機械学習とディープラーニングとは

参考:人工知能は人間を超えるか 松尾豊(KADOKAWA / 中経出版)

 
[contact-form-7 404 "Not Found"]