機械学習

機械学習とディープラーニングの違いを分かりやすく解説!

機械学習とディープラーニングの違い
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、曖昧に認識されがちな機械学習とディープラーニングの違いについて解説していきます。AI/機械学習/ディープラーニングは色々と混同されがちなのですが、違いと共通点についてここでしっかり理解しておきましょう!

こんにちは!

消費財メーカーでデジタルマーケターやらデータサイエンティストっぽいことをしているウマたん(@statistics1012)です!

最近流行りの機械学習とディープラーニング・・・よく色んなところで耳にしますよねー!

大学院時代は機械学習手法の改良に明け暮れておりましたが、ディープラーニングに触れることはありませんでした。

そんな僕ですが、社会人になってディープラーニングを猛勉強しました。

そんな機械学習とディープラーニングですが、具体的にどのような違いがあるのでしょうか?

ロボたん
ロボたん
うーんなんとなくディープラーニングは高度な手法な気がするけど・・・
ウマたん
ウマたん
うん、その感覚は間違っていないよ!ディープラーニングは機械学習の一部なんだ!具体的に機械学習の中でもどのような立ち位置なのか知っておくことは大事だね!

そう、ディープラーニングはあくまで機械学習手法の一種なんです!

違うものではなく、あくまで仲間。

しかし今までの機械学習とディープラーニングは何が違うのか知っておくことは大事ですね!

この記事では、機械学習とディープラーニングの違いについて見ていきます!

この記事で分かるコト

・機械学習とは何なのか
・ディープラーニングとは何なのか
・機械学習とディープラーニングの違い

機械学習とは

まずは機械学習について見ていきましょう!

機械学習とは、その名の通り「機械に学習させてルールを作り出す」ということ。

機械学習が発展する前は、人間がルールを決めていました。

レコメンドで言えば、「この商品を購入した人にはこの商品を紹介したいから、そのようなルールを決めよう!」というように(ルールベースレコメンドと呼びます)。

そこに存在するのは人間の勘と想像です。

実際にこのようなレコメンドはまだまだ実用的に使われていますが、より精度の高いレコメンドを行うためには機械学習が必要になります。

この商品を購入した人はこの商品を購入する確率が高いから、そのようなルールを作る」というように現在存在するデータを学習して自動的にルールを作っていくわけです。

ちなみに統計学を起点とする多変量解析手法群もその定義からすると機械学習の中に含まれますが、機械学習手法と統計学ではスタンスが若干違います。

統計学は現在のデータを解釈することを目的としますが、機械学習は未知のデータを正確に予測できることを目的とします。

詳しくは以下の記事をご覧ください!

機械学習と統計学/多変量解析の違いについてデータサイエンティストがモノ申す!!当サイト【スタビジ】の本記事では、データサイエンスの領域の機械学習と統計学の違いについて考察していきます。定義と境界が曖昧な2つの領域ですが、目的の違いを理解しておくことが大事。機械学習は予測精度を上げることを目的とし統計学はデータ構造の把握をすることを目的とします。...

 

僕は、統計学は解釈追求型、機械学習は精度追求型と呼んでいます。

ただ境目は曖昧ですのでそれほど気にする必要はないでしょう。

明確に切り分けることはできません。

ちなみに機械学習には大きく分けて3つ、教師あり学習・教師なし学習・強化学習が存在します!

その名の通り、教師あり学習は教師となるデータがある手法

教師なし学習は教師となるデータがない手法

報酬を設定することで勝手に学習していく手法です。

教師あり学習 教師なし学習
教師あり学習と教師なし学習の違いとは?【データサイエンティストが解説】 こんにちは! データサイエンティストのウマたん(@statistics1012)です! データサイエンスの世界で登場...

教師あり学習と強化学習が似ているように思われるかもしれませんが、 教師あり学習は全ての変数(特徴量)に対してフィードバックがありますが、強化学習は最終的な結果にのみフィードバックをします。

それぞれに分類される手法は以下の記事で詳しくまとめていますので見てみてください!

機械学習
【入門】機械学習のアルゴリズム・手法をPythonとRの実装と一緒に5分で解説!当サイト【スタビジ】の本記事では、入門者向けに機械学習についてカンタンにまとめていきます。最終的にはどのように機械学習を学んでいけばよいかも見ていきます。細かい手法の実装もPython/Rを用いておこなっていくので適宜参考にしてみてください。...
ロボたん
ロボたん
ディープラーニングは3つのうちにどれに分類されるの・・?
ウマたん
ウマたん
実はディープラーニング自体はこの中の特定の手法に分類されるわけではないんだよ!

ディープラーニングとは

続いてディープラーニングについて見ていきましょう!

ウマたん
ウマたん
動画でも10分ほどで分かりやすく解説しているのでぜひチェックしてみてください!

はたしてディープラーニングとはどのような立ち位置なのでしょうか?

AIと機械学習とディープラーニングの違い

図のように、実はAIの中に機械学習があって機械学習の中にディープラーニングがあるという関係です。

AIというとディープラーニングを思い浮かべるという場合もありますが、本来の定義ではAI=ディープラーニングではないのです。

もちろんAIがディープラーニングを指している文脈もありますので注意が必要です。

さて、そんなディープラーニングとはどのようなモノなのか。

ディープラーニングの起源は機械学習手法であるニューラルネットワークにさかのぼります。

3層構造のニューラルネットワーク

1950年代に考案されたアルゴリズムであり人間の脳を模したモノです。

ある層からある層へ情報が伝播していくのですが、その伝播する情報には重みが掛け合わされます。

簡単に言うと、その重みを上手く調節することで望んだアウトプットが出せるようになるのです。

シンプルに言うとそれがニューラルネットワークの構造です。

しかしニューラルネットワークは層を深くすればするほど、計算負荷が膨大になります。

さらに、重みを計算する上で勾配法という方法(微分!)を用いていくのですが、層が深すぎると勾配が消失してしまい重みの意味がなくなるという事態にも陥ります。

まあ色々難点があったのですね。

それを新たなアルゴリズム・マシーンパワーの増加・インプットデータの増加の3点のブレークスルーによって現在のディープラーニングが生まれたのです。

ディープラーニングの簡単なアルゴリズムからPythonでの実装までを以下の記事で紹介しているので興味のある方はぜひ読んでみてください!

【入門】ディープラーニング(深層学習)の仕組みとPython実装のやり方!当サイト【スタビジ】の本記事では、ディープラーニングの仕組みやPythonでの実装方法について解説していきます。ディープラーニングってなんとなくブラックボックスなイメージがあるかもしれませんが、実はシンプルなアルゴリズムなんですよー!...

機械学習とディープラーニングの違いって?

そう、先ほどディープラーニングは機械学習の中の教師あり学習・教師なし学習・強化学習のどれにも属さないとお話しましたが、どのような立ち位置になるのでしょうか?

ロボたん
ロボたん
まさか4つ目の手法・・・?
ウマたん
ウマたん
残念ながらそういうわけではないんだよ!どれにも属する可能性があるんだ!!イメージは以下の通り。ちなみにディープラーニングは深層学習と言われているよ!
Deep-learning
ロボたん
ロボたん
なるほどー!そうすると3つの手法に分類される可能性があるってこと?
ウマたん
ウマたん
そうそう!具体的などんなパターンがあるのか見ていこうか!

それでは実際にディープラーニングの中での教師あり学習・教師なし学習・強化学習について見ていきましょう!

CNN(畳み込みニューラルネットワーク)

そもそもディープラーニングの基となっているニューラルネットワークは教師あり学習として使われることが多いです。

その中でも画像認識の分野においては現在でもCNNが使われています。

CNNはディープラーニングの中でも最も一般的な手法であり、ディープラーニングと言えばCNNを指すことも多いです。

CNNのCはConvolutionalで、畳み込みニューラルネットワークとも呼ばれます。

ロボたん
ロボたん
畳み込みニューラルネットワークは色んなところで聞く聞く!
ウマたん
ウマたん
畳み込み層という考え方が画期的で画像認識の領域にブレークスルーを起こしたんだ!

主に画像認識の場面で使われることが多く、猫と犬を画像判別させるような例はよく見かけます。

画像に対して「ネコ」や「イヌ」といったラベルが付いた状態で学習させるので、まさに教師あり学習ですね!

畳み込みニューラルネットワークは通常のネットワークに対して畳み込み層とプーリング層と呼ばれる層を取り入れることで、画像認識率を著しく上昇させています。

CNNに関しては、以下の記事で詳しく解説していますのでチェックしてみてください!

畳み込みニューラルネットワーク
畳み込みニューラルネットワーク(CNN)をわかりやすく解説!Pythonで画像認識を解いてみよう!当サイト【スタビジ】の本記事では、ディープラーニングのド定番である畳み込みニューラルネットワーク(CNN)についてわかりやすく解説します。CNNの仕組みを解説した後にPythonにて画像認識タスクを解いていきますよ!...

GAN(敵対的生成ネットワーク)

GANは「Genera tive Adversarial Networks」の頭文字を取った手法であり、応用領域に注目が集まっている手法です。

GANは特定の画像をインプットさせて、実際に存在しない画像を生成させることのできる手法です。

実際に存在しないホテルの部屋の画像を生成したのが以下になります。

GAN

(引用元: Google-“UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS” )

ロボたん
ロボたん
なんだこれはー!!本物にしか見えない!!
ウマたん
ウマたん
まさかこれが実在しないホテルの部屋だとは誰も思わないよねー!

GANでは2つのニューラルネットワークを使います。片方がGenerator、もう片方がDiscriminator。

Generatorが生成した偽物のデータと実際に存在する本物のデータをDiscriminatorに判別させ、 Discriminatorが上手く判別できないようなデータを Generator が生成していきます。

Discriminatorはどんどん判別の難しくなるデータを上手く判別できるようにしていきます。

この学習が進むと最終的にGeneratorが生成される画像は本物にきわめて近くなっているという手法です。

GANについて詳しくは以下の記事で解説しています!

GAN
GAN(敵対的生成ネットワーク)について分かりやすく5分で解説!DALL-EやStable Diffusionとの違いは? こんにちは! データサイエンティストのウマたん(@statistics1012)です! この記事では、GAN...

Deep-Q-Network

囲碁のチャンピオンをAIが破ったニュースは記憶に新しいでしょう。

そのAIのアルゴリズムに搭載されているのがこの「Deep Q Network」。

強化学習であるQ-Learningにディープラーニングを応用した作りになっています。

強化学習自体は、ゲームのCPUの動きに適応されるなど既に様々な分野で実装されていました。

しかし、強化学習はそもそも学習に時間がかかるため行動パターンが複雑だと解を導くことができません。

囲碁は19×19もの数の交点があり、状態(s)と行動(a)のパターンが膨大です。

そこで登場したのがディープラーニング。

ディープラーニングとQ学習を組み合わせたDeep-Q-networkという手法が開発され、それを基にプロ棋士をも凌駕する人工知能Alpha Goが作られたのです。

強化学習
強化学習を具体例と共にわかりやすく解説!Q学習をPythonで実装してみよう!当サイト【スタビジ】の本記事では、強化学習について具体例と共に解説していきます!また最終的に強化学習の中で最も一般的なアルゴリズムであるQ学習をPythonで実装していきます。迷路の最適経路を見つけるプログラムを作っていきますよ!...

ディープラーニングと機械学習の違い まとめ

ディープラーニングと機械学習の違いについて最後にまとめておきましょう!

ディープラーニングと
機械学習の違い

 

・ディープラーニングは機械学習の一部である
・ディープラーニングは教師あり学習にも教師なし学習にも強化学習にもなり得る
・画像認識の場面ではCNNが有名
・ディープラーニング×教師なし学習はGAN
・ディープラーニング×強化学習はDeep-Q-Network

今後はAIという文脈で機械学習やディープラーニングという言葉が使われることがより一層多くなるでしょう!

そんな時は違いを思い出してみください!

機械学習とディープラーニングの勉強法は以下の記事でまとめていますよー!ぜひチェックしてみてくださいね!

機械学習
【入門】機械学習のアルゴリズム・手法をPythonとRの実装と一緒に5分で解説!当サイト【スタビジ】の本記事では、入門者向けに機械学習についてカンタンにまとめていきます。最終的にはどのように機械学習を学んでいけばよいかも見ていきます。細かい手法の実装もPython/Rを用いておこなっていくので適宜参考にしてみてください。...
【初心者向け】ディープラーニングの勉強ロードマップまとめ!当サイト【スタビジ】本記事では、ディープラーニングの学習方法について詳しくまとめていきます!ディープラーニングは難しいと思われがちですが、アルゴリズムは意外とシンプルで実装自体も非常に簡単なんです!Pythonでの実装もおこなっていきますよー!...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら