お勉強ドットねっと

人工知能と機械学習とディープラーニングの違いとは?

AIというコトバがあちこちで使われている。

先日、ボクはこんな引用ツイートをした。

「AI」というコトバの乱用は世界共通。

“機械学習とAIの違い:
Pythonで書かれてるなら、おそらく機械学習。
パワポで書かれてるなら、それはAIだろう“

引用元もジョーダンとして投稿しているのだけど、「けっこう真実かも」と思った人もいるはず。

これからAIを勉強する人なら、AIと機械学習とディープラーニングの違いくらいは知っておいた方がいい。

この辺のボキャブラリーをテキトーにふり回してマーケティングしたりすると、違いのわかる顧客からは見抜かれます。

この記事では「AIとは何か?」という疑問に答えます。

また、「機械学習」や「ディープラーニング」との関係も説明します。

    目次
  1. そもそもAIとはナニモノ?
  2. だったら機械学習とは?
  3. ディープラーニング は何様?
  4. まとめ

そもそもAIとはナニモノ?

エアコンとか洗濯機などの電化製品からチャットボットなどのカスタマーサービスまで、AIが使われないビジネスを見つけることがムズカシイくらい。

そんなによく使われるコトバなのに「AIとはなにか?」と聞かれたら返事に困る。

AIは「Artificial Intelligence」の略で、日本語に訳すと、「人工知能」。

つまり、

「知能を機械で実現したもの」

という意味。

では、「知能」とは何か?

ここで悲報です。

実は、「人工知能」というコトバには統一的な定義がありません。

興味がある人はググってください。

だから、人によって定義が変わります。

なのでマーケティングのトークで文脈なくAIを乱発しても何も言っていないのと同じです。

AIが伝えるイメージはこんな感じ。

「人間でないとできないと思われていたコトが機械やプログラムによって実現できるようになった。スゴイ」

たとえば「人間以上の能力を発揮して囲碁の名将を打ち負かした」とか。

そんな時に、「AIによって可能になった」とかいう。

  • 「自動運転がAIで可能になります」
  • 「AIで焼きそばが作れます」
  • 「AIで天気予報が正確になりました」

こういう使い方だと「なんかプログラムを変更して性能が良くなった」ぐらいの意味しかありません。

つまり文脈によりけり。

恐ろしいですね。

それが「AI」というコトバから生まれるイメージです。

便利なコトバではあります。ついつい乱用しがちですが、文脈がはっきりしている場合はOKだと思います。

だったら機械学習とは?

機械学習はデータから学習できるプログラムの総称。

「データから学習する」のは知的活動なので「人工知能」つまりはAIの一種という扱いになる。

つまり機械学習はAIを実現するための方法の一つ。

機械学習が使われる以前はAIを実現するために様々なルールや知識を人間がプログラムしてあげないとダメだった。

機械学習ではデータの特徴を見つけ出す論理(アルゴリズム)を使うのでデータを与えさえすれば画像識別などが可能になる。

「知能」というよりも「パターン認識」という言葉がふさわしい印象があります。

「決定木」や「SVM」といったアルゴリズムを人間が開発しデータからパターンを見つけ出す。そういうイメージです。有名なライブラリとしてscikit-learnがあります。

「教師あり」とか「教師なし」の学習過程が訓練に使われます。

「Alpha Go」などで有名になった「強化学習」も機械学習の一つの分野です。

ディープラーニング は何様?

ディープラーニングは機械学習の一種で、データの特徴を見つけ出す論理を人間が与えるのではなく、データそのものから自動で導き出せる学習方法。

また、ディープラーニングは「深層学習」とも呼ばれ、人間の神経細胞(ニューロン)の仕組みを真似したものというのが通説です。

ただし、ニューロンがどのように学習するのかなどはまだ完全には解明されていないので学習の仕組みは必ずしも神経細胞と同じとは限りません。

ティープラーニングの学習過程で使われるアルゴリズムとしてバックプロパゲーション(Back propagation)あるいは「誤差逆伝播法」と呼ばれるものがあります。

これは微分を利用した完全に数学的な手法になります。

まとめ

イメージだけでいうと、ロシア人形の「マトリョーシカ」。

大きいのが「AI」。

中くらいが「機械学習」。

小さいのが「ディープラーニング」。

ただし、AIを実現する方法は機械学習だけとは限らない。

将来もっと違った技術が発展するかもしれない。

たとえば、「理性」はパターン認識をどんどん突き詰めていけば生まれるのか?

不明なところでもあります。

次は、ディープラーニングのライブラリを選びましょう。

初心者向けのディープラーニングのライブラリはどれ?