大学生がプログラマーを目指すはなし

ruby, python, AIの話が多いです

AI(機械学習, ディープラーニング, 強化学習)を改めてまとめてみる

この記事では、AI技術のうち、機械学習, ディープラーニング, 強化学習に絞って改めて解説します。また、中学生でも理解できるような簡単な言葉を使うよう努力しています。

まず最初に "AIとは" ということですが,

AIとは、機械を使って人間のような知能や行動を再現させようとする技術である。明確な定義はない。

 そして、AIには主に次の3つがあります。

  1. 機械学習
  2. ディープラーニング
  3. 強化学習

 これらを一つ一つ解説し、またそれぞれの違いや使い分けを考察してみようと思います。

1. 機械学習

 機械学習一言で説明すると、

機械学習とは、あるデータ群を受け取ると、それら各データを適切にクラス分けしたり、今後の予測を行う技術です。

 これだけじゃ分からないですよね...笑

 もう少し詳しく説明します!

 まず、機械学習教師あり学習と、教師なし学習に分けられますので、それぞれについて簡単に説明していきます。

1-1. 教師あり学習

 教師あり機械学習とは、学習データと呼ばれるデータを用意して、それに基づいてデータの分類を行っていく手法です。

 例えば、犬もしくは猫が写った画像を読み込んだとき、それぞれの画像が犬と猫のどちらに分類できるのかシステムで自動判定させたい場合などに用いられます。

 もっと噛み砕くと、子供に「あれが飛行機で、あっちがヘリコプターだよー」と教えたら、次に見たときに飛行機とヘリコプターを区別できるのと同じような感じです。

1-2. 教師なし学習

 教師なし機械学習とは、学習データを用意せず、分類したいデータそのものをその場でクラスタリングしていく。

例えば、

  • 顧客データのセグメントなど、どのように場合分けをしたら良いのかわからない
  • 分類カテゴリが多すぎる場合

こんな状態なデータだとむしろ人間の方が困ってしまいますよね?笑

そんなときに使います!

2. ディープラーニング

 次にディープラーニングです! 

 ディープラーニングとは、機械学習を発展させたもので、機械学習の一部に含まれます。

2-1. ディープラーニング機械学習の使い分け

 まず、ディープラーニングはデータが大量にある場合でないと使えません。なので、データが少ない場合は従来の機械学習を使うことになります。

 また、数値データの場合も機械学習で十分に対応できるので、機械学習を使います。

 それ以外の場合ではほとんどディープラーニングを使うと考えてよいでしょう。

2-2. ディープラーニング機械学習の違い

 ディープラーニング機械学習の決定的な違いは、データを区別するための「目のつけどころ」をAI自らが判断し、その性能を向上させていくことだと考えます。

 噛み砕くと、高IQを持った子供が、大人が見ていないところで一人でに賢くなっていくようなものと同じ感じだと思います!

 また、従来の機械学習ではできなかったことの例として、人間が言語化できなかったものが挙げられます。

 例えば、ファッション系ECサイトなどでのユーザーの服や靴の好みなどは、言語での表現が難しいです。しかし、これらもディープラーニングでは、ユーザーがどの商品をクリックしたかという情報を元に、そのユーザーの好みに合いそうな商品を自ら絞り込んで提案してくれるのです!

 このように、従来の機械学習は人間を「知能」で超えることはありませんでしたが、ディープラーニングの出現によって、こちらが予測していなかった価値を見出すことが可能となり、やっと文字通り「人工知能」っぽくなってきたと言えるようになりました。

3. 強化学習

データをそもそも用意しない。

その場で「行動→評価→修正→...→行動→評価→修正」と繰り返していくこと。

例. ロボットの制御(ルンバなど)、ゲーム(パックマンなど)

 

参考

https://innovation.mufg.jp/detail/id=93