【超優しいデータサイエンス・シリーズ】機械学習とディープラーニングの関係は?

【優しいデータサイエンス・シリーズ】では、AIと機械学習の定義や枠組みについて論じました。この記事ではもう1つよく耳にする関連用語「ディープラーニング」の正しい理解をお伝えします。

以前、人工知能は、ルールベースの手法と機械学習の手法に分けることができるという話をしましたね。機械学習自体には数多くの手法があります。その一つは、ディープラーニングです。図1はAIと機械学習ディープラーニングの関係性を表しています。ディープラーニングはは機械学習の手法の一つということを理解してください。

f:id:gri-blog:20201207093457p:plain
図1:ディープラーニング機械学習手法の一種

従来の機械学習は何が難しい?

機械学習はデータからパターンや法則を自動的に見出せるように学習を行うことができます。一方で、従来型の機械学習を活用する上で一つ大変な部分があります。それは特徴量の準備です。特徴量とは、「データのどの部分に着目して学習すれば良いのか」つまり予測の手がかりとなる要素です。手元にある生データをいきなりモデルに入力しても学習で良い精度のモデルを得られることが殆どの場合出来ません。一般的に機械学習を実用化するためには、人間がある程度の労力をかけて、データの前加工を行う必要があります。データの前加工のプロセスでは、例えば以下のことを行います。

  • データにある欠損値や外れ値を削除、もしくは補填/補正する

  • 文字列データをダミー数値化する

  • より予測に有効な形になるように、データを結合、分割、集計すること

  • 必要な列を選別し、不要な列を削除する

苦労して、モデルが学習しやすいようにデータを加工しても、得られた数値体系を通じて、本当に上手くモデルが判別できるかどうかの保証もありません。例えば今でも音声認識や自動翻訳の機能は時々私たちが意図指定ない挙動をするのはそのためです。

ディープラーニング技術の特徴

機械学習は本来、意思決定の自動化や効率化を支援すべく使われてきた技術なのに、結局その精度は「職人技」に依存するのは、かなり矛盾があると思っている方もいます。その中で、登場したのが、ディープラーニング(深層学習)です。冒頭で述べたように、機械学習の手法の一つではあるが、ディープラーニングでは、精度の高い結果を導くために必要な情報(特徴量)をデータから自ら抽出することができて、このポイントが従来の機械学習手法との主な違いです。

例えば、図2のような、犬と猫を見分ける画像認識のタスクがあったとします。従来の機械学習手法(例えばSVM)を用いた画像認識では、画像の「線の曲がり具合」「小さな領域の明暗」「輪郭」、を数値化して学習データを準備しなければいけません。さらに、「耳がこのような形、ひげがこの角度 …etc… ならば猫である」のように特徴1つ1つを人間が細かく指定しなければいけなくて、非常に大変です。一方で、画像認識にディープラーニング技術を使用する場合は、単に犬と猫のラベル付された大量な画像を用意してモデルにフィードするだけです。ディープラーニングは、低いレベルの特徴量から犬と猫を判別できるくらいの高いレベルの特徴量まで、全て自ら認識・整理することが出来ます。

f:id:gri-blog:20201207093629p:plain
図2: 画像認識におけるディープラーニングと従来の機械学習の違い

ディープラーニングの学問は何十年も研究されてきたが、2000年以降にインターネットの普及によって学習データが集められやすくなったこと、GPUなどの演算リソースの性能が向上し、膨大な情報を短時間で処理可能になったこと、さらに高度なアルゴリズムの開発などによって、一気に実用化が進みました。

ニューラルネットワークの仕組み

具体的にディープラーニングとはどんな仕組みなのでしょうか?今度また別の記事でニューラルネットワークの学習の仕組みについて詳しく述べていきたいと思います。 https://gri-blog.hatenablog.com/entry/2020/12/07/132336?_ga=2.13362416.690196539.1607315087-16803317.1607315087

ここで少しだけ紹介します。

ディープラーニングに使われているアルゴリズムニューラルネットワークです。実際にディープラーニングは非常に深い層を持ったニューラルネットワークであり、歴史的には「ディープニューラルネットワーク」と呼ばれることもあります。ニューラルネットワークは、人の神経構造を模したネットワーク構造をしており、「入力層」「隠れ層」「出力層」の3種類の層から成り立っています(図3)。隠れ層は中間層と呼ぶこともあります。

f:id:gri-blog:20201207130830p:plain
図3: ニューラルネットワークディープラーニング)の概念図

入力層は外部からのデータを受け取る層です。出力層は予測結果を出力する層です。入力層と出力層の間にあるたくさんの隠れ層は、答えを導くための特徴量を少しずつ入力データから導出する役割を果たします。図3のように、隠れ層は、様々な経路で繋がれており、大量のデータを多数のパターンで組み合わせるなどして学習を進めます。学習のプロセスの中で、経路の構造や性質は、正解が導き出せるように変化、最適化していきます。

この記事では、一旦以下のことを皆さんに理解していただきました。

最後に、皆さんに一つの問いについて考えていただきます。

ディープラーニング機械学習において最も優秀で高性能な手法である」という発言は正しいでしょうか?

答えは後続の記事に中で解説します。

それでは、次回にまたお会いしましょう。

担当: 分析官・講師 ヤン・ジャクリン