IoTをゼロベースで考えるの第20回は「機械学習」と「ディープラーニング」についてだ。
この言葉、IoTや人工知能の話題ではよく出てくる言葉だが、きちんと説明するのはとても難しい。私も以前聞かれた時とても曖昧な答えしかできなかったので、整理してみる。前後半にわけて解説し、第一回は機械学習についてだ。
機械学習と切っても切り離せないのがインターネットの普及だ。Googleができたのが、1998年、データマイニングの研究が盛んになったのも1998年ということで、このあたりから機械学習の研究は大きく発展したということだ。
機械学習の概念を簡単にいうと、「意味は特に考えず、単に機械的に、正解の確率の高いものを当てはめていく」やり方だ。例えば、翻訳の世界でいうと、「英語でこういう単語の場合は、日本語ではこの単語で訳される場合が多い」「英語でこういうフレーズの時は、日本語ではこういうフレーズで訳される場合が多い」と当てはめていくのだ。
「機械学習」とは、そもそも「人工知能のプログラム自身が学習する」仕組みのことである。
機械において「学習する」ということは、例えば、「この食べ物が、お寿司か、ケーキか、そばかを区別する」ということだ。つまり、お寿司とケーキとそばがあった時、その分け方習得することなのだ。
しかし、そう簡単にいっても機械には正しい分け方はわからない。そこで、人間が分け方を教えるのだ。
分け方にもいくつか種類があるが、そのうちの一つナイーブベイズ法とニューラルネットワークについて説明する。
ナイーブベイズ法
これは、確率の定理である「ベイズの定理」を使って分ける方法で、例えばメールの内容をみて、ある一定の単語が入っていたら、スパムメール率X%という具合にメールを仕分けるのだ。メールの本文全体を見ることで、「迷惑メール度」を算出することができ、結果、迷惑メールは、自動的にスパムフォルダに格納されるのだ。
ニューラルネットワーク
手書き認識の分野などで使われる手法で、例えば「3」という文字があった時、ゆがんだり、まがったり、のびたり、ちじんだりする「3」があるとする。ヒトはこれをみて「3」と判断することは簡単だが、機械には難しい。「8」や「5」と間違えることも多いだろう。
そこで、様々な文字セットを機械に見せる。図の場合、「3」という文字を見せるのだが、3は784ピクセルに分解して見せることになる。その結果、機械は0〜9に分類するが、間違えた場合は図の重み付けを調整するというやり方だ。
同様に0〜9までの文字を何パターンも何パターンも重み付けを変えながら、一番賢いやり方を探していく。
気の遠くなるような作業だが、こうやって答え合わせをするたびに重み付けを調整して、精度を上げていく学習法となる。こうして膨大な時間をかけて機械に学習させることで頭のよい「予測」が可能となるのだ。
機械学習の問題点
機械学習によって、「分け方」を機械が自ら見つけることができるようになり、その結果「未知のモノ」に対して予測ができるようになる。しかし、先ほどの「3」の例でいうと、どういった特徴(図の重み付けの部分)があれば「3」らしいのか、といったことを学ばせるのは「ヒト」なのだ。
つまり、決して機械は自分で考えていないのだ。
そして、現代、注目されているディープラーニングによって、この「特徴」を機械自身が抽出できる可能性が出てきたのだ。
【関連記事】機械学習とディープラーニングとは
- その1:機械学習について
- その2:ディープラーニングについて
参考:人工知能は人間を超えるか 松尾豊(KADOKAWA / 中経出版)
エラー: コンタクトフォームが見つかりません。
無料メルマガ会員に登録しませんか?
IoTNEWS代表
1973年生まれ。株式会社アールジーン代表取締役。
フジテレビ Live News α コメンテーター。J-WAVE TOKYO MORNING RADIO 記事解説。など。
大阪大学でニューロコンピューティングを学び、アクセンチュアなどのグローバルコンサルティングファームより現職。
著書に、「2時間でわかる図解IoTビジネス入門(あさ出版)」「顧客ともっとつながる(日経BP)」、YouTubeチャンネルに「小泉耕二の未来大学」がある。