近年、人工知能(AI)が再注目されるようになり、その手法である機械学習(マシンラーニング)や、深層学習(ディープラーニング)を学びたいと考える人が増えてきました。
しかし、人工知能・機械学習・深層学習の違いについて、正しく理解できている人は、あまり多くありません。
この記事では、この3つの違いについてプログラミング未経験者や初学者でも分かりやすいように解説いたします。
人工知能・機械学習・深層学習の違い
結論から述べてしまうと、人工知能・機械学習・深層学習の関係性は、以下のような包含関係となっています。
人工知能>機械学習>深層学習
「人工知能」の実現のための具体的な手法のひとつが「機械学習」であり、たくさんの具体的な機械学習のアルゴリズムのひとつが「深層学習」です。
以下、人工知能・機械学習・深層学習のそれぞれの定義を紹介します。
人工知能(AI)の定義
一般社団法人日本ディープラーニング協会は、人工知能の定義について、以下のように述べています。
人工知能の分野は、良くも悪くも、「人工知能の定義がない」ということに由来する特徴があります。さまざまな技術を取り込む寛容性がある一方で、なんでもかんでも人工知能と言ってしまうことができ、過剰期待を生みやすい性質もあります。
引用)一般社団法人日本ディープラーニング協会「協会について」
ここで述べられていることからわかるように、現在は、人工知能に明確な定義がありません。
そのため、さまざまな専門家が、人工知能の定義づけを行っています。
例えば、一般社団法人日本ディープラーニング協会理事長の松尾豊氏は、自身の著書の中で人工知能を以下のように定義しています。
人工的につくられた人間のような知能、ないしはそれをつくる技術。人間のように知的であるとは、「気づくことのできる」コンピュータ、つまり、データの中から特徴量を生成し現象をモデル化することのできるコンピュータという意味である。
出典)松尾豊『人工知能は人間を超えるか ディープラーニングの先にあるもの』角川EPUB選書 p.45
私たちが一般的に持つ人工知能のイメージといえば「コンピュータが人間のように見たり、聞いたり、話したりする技術」といったニュアンスですが、松尾氏の定義は、私たちの人工知能に対するイメージと似ていると言えます。
他の専門家の定義でも、多くの場合このイメージと近いものとなっています。
また、冒頭でも紹介したように、人工知能・機械学習・深層学習の関係性は、人工知能>機械学習>深層学習という包含関係となっているため、人工知能の定義が最も広い意味を含んでいます。
機械学習(マシンラーニング)の定義
人工知能と比べると、機械学習は聞きなじみのない言葉かもしれません。
機械学習は、人工知能を実現させるための具体的な技術や手段の総称のことを指します。
機械学習という言葉の定義に関しても、さまざまなものがあります。
最も有名な定義はアメリカの計算機科学者であるアーサー・サミュエル(Arthur Lee Samuel)氏のものです。
明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野
Arthur Lee Samuel(1901 – 1990)
最後の「研究分野」という部分から、機械学習が具体的な手法であるという意味を読み取ることができます。
深層学習(ディープラーニング)の定義
深層学習は、機械学習のアルゴリズムのひとつです。そのため、機械学習と同様に人工知能を実現するための手段の1つということになります。
この深層学習とは、「ディープニューラルネットワーク」を用いた機械学習のことを指します。
そのため、深層学習と機械学習の使い分けは、ディープニューラルネットワークを使っているかどうかによります。
ディープニューラルネットワークとは、正式には「4層以上のニューラルネットワーク」のことを指します。
これは、ディープニューラルネットワークを使った方が、高度なことができるということを意味します。
機械学習や深層学習の活用分野
機械学習で行うタスクには以下のようなものがあります。
- 分類(データが所属するクラスを予測すること)
- 回帰(値を予測すること)
- クラスタリング(データをグループ分けすること)
- 次元削減(多次元からなる情報を、その意味を保ったまま、それより少ない次元の情報に落とし込むこと)
これらのタスクを機械学習、場合によっては深層学習で行います。
一般的に、深層学習の方が学習に手間がかかります。
そのため、深層学習を使わなくても実現できるタスクに関しては、機械学習で済ませることがよいとされています。
機械学習(マシンラーニング)の活用分野
ここからは「深層学習に含まれない機械学習」を機械学習とよぶことにします。
機械学習には、以下のような特徴があります。
- 扱うデータは「数値データ」がほとんど
- 特徴量(学習するときの目の付けどころ)を人が選ぶ
機械学習で取り扱うデータは数値データがほとんどです。
画像データや音声データ、自然言語(人間が使う言葉)などは、深層学習で扱います。
また、特徴量と呼ばれる、「学習データのどこを見て学習するか」をプログラマーが決める必要があるという特徴があります。
深層学習(ディープラーニング)の活用分野
深層学習には、以下のような特徴があります。
- 画像データ、音声データ、自然言語などをデータとして扱う
- 特徴量(学習するときの目の付けどころ)はコンピュータが選ぶ
深層学習は、ディープニューラルネットワークをベースに、タスクに応じて、次のようなネットワークが生まれました。
- 畳み込みニューラルネットワーク(画像認識に適したもの)
- 再帰型ニューラルネットワーク(時系列データに適したもの)
- オートエンコーダ(次元削減を行うためのもの)
- GAN(Generative adversarial network;敵対的生成ネットワーク)
上記のようなディープニューラルネットワークの改良ネットワークによって、画像データや音声データ、自然言語を学習することができるようになりました。
例えば、畳み込みニューラルネットワークを利用することで、さまざまな動物の画像を学習させて、その学習データをもとにその画像に映っている動物の中から猫や犬を判別することができるようになります。
また、再帰型ニューラルネットワークを利用することで、日本語とその英訳のペアを学習させて、日本語と英語の翻訳アプリをつくることもできます。
また、「深層学習に含まれない機械学習」では特徴量をプログラマーが決めていたのに対し、深層学習では特徴量は、コンピュータによって決められます。
まとめ
この記事では、人工知能・機械学習・深層学習の違いについて解説しました。
これらの概念は「人工知能>機械学習>深層学習」という形の包含関係になっていることをぜひおさえてください。