イノベーション エンジニアブログ


株式会社イノベーションのエンジニアたちの技術系ブログです。ITトレンド・List Finderの開発をベースに、業務外での技術研究などもブログとして発信していってます!


このエントリーをはてなブックマークに追加

人工知能(AI)と機械学習(ML)とディープラーニング(DL)の関係について

こんばんは。bigenです。

先日、社内のマーケターの方に
「bigenくん、AI機械学習ディープラーニングの違いってなんなの?」
と聞かれました。

調べてみると、今流行りの機械学習の手法とかについてはたくさんの情報があるんですが、
人工知能と機械学習の関係や、各手法がなぜ「機械学習」と呼ばれて一括りにされているのか
そういった体系的な情報が意外と少なかったので僕の考える範囲でまとめてみます。

はじめにお断りしておきますが、
人工知能や機械学習という言葉は、科学的に厳密に定義された言葉ではないため、
それぞれの言葉が持つ細かな意味は話者によって変わります。

今回の記事も、「僕が考える人工知能と機械学習」でしかないことをご注意いただき、
ご自身の考える人工知能と機械学習の参考にしてください。

また、各概念とその関係を概説するだけの記事ですので、
何故機械学習が流行っているのか、機械学習って具体的にどうやっているのか、
といった詳細には踏み込みませんので、ご注意ください。

今回のまとめ

  • 人工知能(AI)と機械学習(ML)と深層学習(DL)の違いが分かる

  • 人工知能って何かが分かる

  • 機械学習って何かが分かる

  • 深層学習って何かが分かる(ちょっと難しい)

人工知能(AI)と機械学習(ML)と深層学習(DL)の違い

1. 人工知能(AI)とは

「人工知能(Artificial Inteligence)」という言葉が定義する概念は、

人間のもつ知能という機能を再現する為に作られた機械のこと

です。

理想的な人工知能のイメージはターミネーターとか、ああいうやつですね。
ここについては特に説明は必要ないと思います。

さて、「知能を再現する」と言うは簡単ですが、
皆さんは「そもそも知能ってなに?」という質問に答えられますか?

ここはもちろん諸説入り乱れるところなわけですが、
Wikipediaの力を借りると、以下のようなものだそうです。

知能(ちのう)は、論理的に考える、計画を立てる、問題解決する、抽象的に考える、
考えを把握する、言語機能、学習機能などさまざまな知的活動を含む心の特性
(引用: https://ja.wikipedia.org/wiki/%E7%9F%A5%E8%83%BD/)

上記のうち、「論理的に考える」「計画を立てる」「問題解決する」、といった能力は、
人間が自分の思考回路を振り返り、理解し、そのまま機械に再現させることが可能です。
そして、一度再現してしまえば、いまや計算器のほうが得意な分野になりつつあります。

しかし、「抽象的に考える」「言語機能」「考えを把握する」「学習機能」といった能力は、
どのようなメカニズムで行われているのか、人間自身が分かっていないため再現できずにきました。

中でも、「学習機能」は、そういった複雑かつ高次な能力を習得し、高めていくための
根源的な能力の一つであるとして、理想的な人工知能が持つべき最も重要な能力
の一つであると考えられてきました。

このような一連の流れから、
「人間の知能を再現するための重要な機能の一つ」として、
機械学習というテーマが研究対象として存在していました。

2.機械学習とは

ここで「機械学習(Machine Leaning)」を定義しておくと、

人間の学習機能を再現するために作られた機械の機能のこと

となります。人工知能は機械そのものをさしているのに対し、
機械学習は機械のもつ機能をさしていることにご注意ください。

学習機能って何?」という話もまた諸説なんたらって感じなんですが、
共通する大事な要素を抜き出すと、

過去に起こった出来事の結果から、まだ起きていない出来事の結果を予測すること

である、というのが基本的な考え方です。

この学習機能を再現するために、様々な機械(アルゴリズム)が考えられてきました。
代表的なものでは、「ディープラーニング」「サポートベクターマシン」
「パーセプトロン」などがあり、このあたりは名前的にかっこよくて好きです。

しかし、それらの全ての手法が、まだ人間の学習機能には遠く及んでいないというのが現実です。
特に抽象化と呼ばれる能力は、人間の学習に大きな役割を果たすと考えられてる一方で、
その仕組みは解明されず、機械での再現もできずにいます。

ほとんどのアルゴリズムは、学習する分野に合わせて「どの点を重点的に見れば良いか」を
(人間もよく分かっていないのに推測で)人間が指示し、
大量のデータからその点に関する傾向を探る手法をとっています。

そのため、同じ内容の学習をするのに、機械は人間より膨大な量のデータを必要としたり、
ある分野での学習を別の分野に活かすことができなかったり(結果、更に大量のデータが必要になる)しています。

つまり、理想的な機械学習の機能のうち、部分的しか再現できていないのが現在の機械学習となります。
もちろん、部分的とはいえ応用範囲は十分に広く、その影響は昨今の機械学習ブームから伺えると思います。

余談ですが、Webをただよっていると、
「機械学習とは、大量のデータから規則性を発見し、次のデータを予測することである」
といった記事をよく見かけるのですが、 個人的にはこれは狭義的だと思っています。

現在は学習機能の再現のために、技術的なハードルから大量のデータに頼るしかないのは事実ですが、
「機械学習」という言葉がもつ本来の意味は何も大量データの処理を前提とはしていないからです。

3.ディープラーニングとは

少し話はそれましたが、最後にディープラーニング(Deep Leaning)の話をしたいと思います。
ディープラーニングとは、上述でもでてきたように、機械学習アルゴリズムのうちの1つです。

ディープラーニングは、日本語で深層学習と訳され、
人間の脳神経の仕組みを応用して作られたアルゴリズムの1つです。

人間の学習や思考は、まず見たもの、聞いたものを記憶に残し、
それらの様々な記憶を材料に学習や思考を行っています。

しかし、人間はほとんどの場面で、見たもの、聞いたもの全てを記憶しているのではなく、
深層心理の中にそれらの情報のうち特徴的な部分のみを記憶しているらしい、ということが分かっています。
(例えば人の顔だったら、目と目の間の距離や、骨格、髪の色など。)

また、人間の脳を構造的な視点から見ると、
「ニューロン」という無数の細胞が網の目のように互いに結びつき、
ネットワークを構成して情報を処理しているらしいことが分かっています。

ニューロンは、結びついた複数のニューロンから電気信号を受取り、
それぞれの電気信号がある基準を超えるまでは何もせず、
基準を超えると次のニューロンへまた電気信号を送ります。

このニューロンの働きが、実は人間の深層心理の思考や学習を実現しているのではないか、
という発想がディープラーニングの出発点であり、深層学習と呼ばれる由来です。

つまり、あるニューロンは、例えば別のニューロンから
「右目の位置は顔の右端から7cmだよ」
「左目の位置は顔の左端から7cmだよ」
というような情報を受取り、ある基準を超えていれば
「目と目が離れている顔だよ」
といった抽象的な情報に集約して情報伝達を行っているのではないか、という推測です。

この推測が真実かどうかはまだ解明されていませんが、
ディープラーニングのアルゴリズム自体は既存の理論的な枠組みで説明できない部分を残しつつも、
これまでの機械学習より非常に高い性能を発揮し、現在爆発的な注目を集めています。

4.まとめ

というわけで、「1.人工知能とは」「2.機械学習とは」「3.ディープラーニングとは」
についてそれぞれの関係を踏まえて概説してみました。

大雑把には、
「機械学習は、人工知能を構成する要素の1つ」であり、
「ディープラーニングは、機械学習のアルゴリズムの1つ」であるということです。

また現在、別にそんなに学習っぽくはないただの大量データ処理の機能が、なぜ機械学習と呼ばれているのかも、
少し理解していただけたかと思います。

更に、昨今は「機械学習といえばディープラーニング!!」という風潮もあり、
機械学習とディープラーニングを混同してしまうケースもあるようですが、
その違いも説明できたかと思います。

この記事でよく理解できた皆さんは、もし社内で
「大量データがあるから人工知能で何か予測しようぜ!」
などと言っている人がいたら、
「それって人工知能っていうか機械学習のことですよね?」
ってドヤ顔しながら説明してあげてください。

きっと嫌な顔されると思いますので。