機械学習

1分で理解できる!機械学習とディープラーニングの違いを解説!

 近年ニューラルネットワークやAIという単語を聞かない日はありません。よくディープラーニングという言葉を耳にしますが、

機械学習との違いってなに?

なんとなくイメージはあるんだけど具体的な違いってなんだろう?

という疑問をお持ちの方はいませんか?今回はこのような疑問に答えていきたいと思います。

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

 「機械学習」「ディープラーニング」と聞くと、どんなイメージを持っていますか?それぞれの違いは何かわかりますか?

 「機械学習」とは、AI(Artificial Intelligence:人口知能)の一種で、与えられた大量のデータから自動的に学習し、ルールやパターンを発見することにより新しいデータに対して回答を見つけようとする方法です。

 それに対し「ディープラーニング」とは、機械学習のアルゴリズムの一種でその手法のことを指しています。関係性としては図のような関係になります。

 「ディープラーニング」は機械学習と何が違うの?ディープラーニングというけど、何がディープなの?という問いに関しては、この後細かく解説していきたいと思います。

機械学習とは

 機械学習とは前項にもあった通り、「与えられた大量のデータから自動的に学習し、ルールやパターンを発見する」方法です。ディープラーニングの話から少し離れますが、機械学習に関して一度ちゃんと確認しておきましょう。

機械学習の種類

 機械学習は、大きく分けて3つの分類があります。

教師あり学習

 その名の通り、「教師」がある学習方法です。教師とは「そのデータが何を指しているか」や「そのデータが持っている数値は何か」、などをいいます。学習するものの答えをあらかじめ教え、それを学習し答えを予測するものになります。

 例えば上の図を見てください。学習するデータに「車」「バス」「トラック」という名前がついており、予測時に「それのどれに該当するか」というのを予測しています。

 なお、分類問題(上記のように、予測するものがどこカテゴリーにあてはまるか、分類する問題)だけでなく、回帰問題(例えば「金額はいくらですか?」や、「面積はいつですか」のように数値を求める問題)も含めて教師あり学習です。

教師なし学習

 こちらは「教師」がない学習方法です。教師がなくて、どうやって学習するの?と思いそうですが、こちらはデータ自体を分類したり自分自身を答えにするなどして学習をします。

 例えば、上記のように既存のデータをデータの特性に近いもので分類し、新しいデータがどこに分類されるかを予測するものなどがあります。

強化学習

 強化学習は教師あり学習、教師なし学習とは少し雰囲気が異なります。強化学習は与えられた条件のもとで、報酬を最大化するように学習を進めます

 上記の例では迷路がゴールに近づくたびに報酬が増えるため、行き止まりに当たらず、極力早くゴールすることで報酬を最大化するように学習が進みます。

機械学習の活用

分類問題

 分類問題は教師あり学習の項目でも出てきたように答えの分類を推測する問題です。実務的は、

  • いろいろな制作条件をもとに製品が良品であるかを予測する
  • 部品の動作音から何か不具合がないかを予測する
  • 製品の画像からその画像が何を示しているか予測する

 などの活用が考えられます。SVM決定木などのモデルが有名です。

回帰問題

 回帰問題は数値の答えを予測するものです。

  • 過去の情報に基づいて株価の予測をする
  • 温度や湿度、季節の情報から野菜の価格を予測する
  • 環境や時期、条件から物件の価格を予測する

 などの活用が考えられます。主成分分析K-meansなどのモデルが有名です。

強化学習

 強化学習は「報酬を最大化する」というモチベーションで、動作を最適化できます。

  • 囲碁や将棋の学習
  • 掃除ロボットの経路学習

 などで活用されています。「Q学習」などの方法が有名です。

ディープラーニングとは

 ディープラーニングとは、日本語では「深層学習」といいます。ニューラルネットワークの一種で、ニューラルネットワークの層を多く重ねたモデルのことを言います。

ニューラルネットワークとは

 ディープラーニングはニューラルネットーワークの一部であるといいました。まずはニューラルネットワークについて確認しましょう。

 ニューラルネットワークはその名の通り、人間のニューロンから着想を得て作られています。上記の図で、左からデータを流し込んだ時、人間の脳の中でシナプスを電気が流れるように、一定の条件をもって右側にデータが流れていきます。

ディープラーニングとは

 このニューラルネットワークの層を多層に積み重ねたもので学習することを深層学習、ディープラーニングといいます。ニューラルネットワークの多層化は非常に多くの計算資源を必要としますが、近年のPCやCPU、GPUの発展により実用化されるようになりました。

 層を重ねてディープラーニングにすることにより、例えば画像認識の分野においては画像認識の表現が深くなることがわかっています。それにより、非常に高精度な認識ができるようになっています。

ディープラーニングの活用

 画像認識は、ディープラーニングの発展に大きく寄与した分野にもなります。特に画像は必ずしも同じ部分に物体が存在するわけではないので、ディープラーニングのようにその物の移動に対して柔軟に特徴をつかむことができるディープラーニングは相性がよく、年々新技術が出ています。

画像認識

画像判別

 画像の判別はディープラーニング発展の非常に重要な役目を果たしてきました。有名な画像認識コンペILSVRCではAlexnetGoogLeNetVGGなど数多くの有名な画像判別モデルが発表されてきました。この中で、当初画像判別の精度を上げるのに役に立ったのがディープラーニングであり、層が厚くなることが当初の画像認識精度と大きくかかわっていました。

物体検出

 ここ最近の世界情勢でカメラで撮影した画像の中の人を認識して、自動で枠を表示させるものなどは見たことがあると思います。また自動運転でも同じ技術が使用されていますね。モデルとしてはYOLOなどが有名です。

画像生成

 最近話題になっている技術の中に画像生成があります。簡単な指示で人間が描いたのと遜色ない画像が出力できます。ここにもディープラーニングの技術が使用されています。DALLE2stable diffusionなどが有名です。

自然言語

 最近話題になっているChatGPT。人間の話す言葉を理解するのにもディープラーニングが活用されています。こちらはディープラーニングで人間の使用する言語を単語に細分化、その後単語間の関係性を事前に学習させておいたモデルにて予測することにより自然な会話のように返答をします。

音声認識

 そのほか、音声認識にもディープラーニングが活用されています。こちらもChatGPTと同じOpenAI社が発表しているWhisperなどが有名です。それ以外にもいろいろなところで自動翻訳や、自動スクリプトなど搭載されているのを見たことがあると思います。

まとめ

 今回は機械学習とディープラーニングについてみてきました。昨今のディープラーニングブームがあり、ディープラーニングがすべてを解決できるようなイメージを持っている方もお見えかもしれません。

 しかしいままでに見てきたように、データや目的に合わせた一番良い方法を選択することが重要です