機械学習とディープラーニングの違い
今や誰もが知るAIは、機械学習・ディープラーニングと切っても切れない関係にあります。つまり、AIエンジニアを目指すなら機械学習とディープラーニングは必須知識であり、ITエンジニアの常識として押えておきたい用語でもあります。
この記事では、AIの基本とも言うべき機械学習とディープラーニングの違いを中心に入門者の視点で解説していきます。まず初めに、AI・機械学習・ディープラーニング(深層学習)の関係と、それぞれの概要を抑えておきましょう。
AIの三大分類
機械学習とディープラーニングを理解するには、これらのAIとの関係性を知る必要があります。AI、すなわち人工知能を構成する要素として機械学習があり、機械学習の1つの手法としてディープラーニングがあります。それらは
『AI>機械学習>ディープラーニング』の関係にあり、AIの三大分類と言われています。
AI(人工知能)
AIに関しては明確な定義が定まっているわけではありませんが、AIは「Artificial Intelligence」の略で、人工知能と訳されています。つまり人の知覚や知性を人工的に再現するのがAIです。
AIという言葉を1956年に用いた科学者のジョン・マッカーシー教授の言葉から、一般社団法人「 人工知能学会」では、AIを「知的な機械、特に知的なコンピュータプログラムを作る科学と技術である」と紹介しています。iPhoneに搭載されている音声アシスタントのSiriなどもAIの1つと言えます。
【参考】:一般社団法人「 人工知能学会」
機械学習
機械学習とは、学習する機械のことです。英語ではMachine Learningと呼ばれ、与えられたデータから反復学習をして、その学習結果をモデル化(法則化)していきます。これは単純に丸暗記ではなく、ある事象の特徴をつかむという点がポイントです。
特徴というのは、「クセ」や「傾向」のことで、その特徴から法則を見出していくのです。この法則を用いて、予測や判断に利用します。
ディープラーニング(深層学習)
ディープラーニングの和名は深層学習ですが、これは機械学習の1手法です。機械学習では、データを学習して、その中から特徴を見つけ、そこから法則を見つけ出します。ディープラーニングは多くの層が重なったディープ(深い)ニューラルネットワークを用いた機械学習技術を指します。
例えば、画像認識や画像解析では、形や色以外に明暗や色相など画像を構成する要素が多数あります。その多くの特徴を「特徴量」として数値化し、読み込んだ画像と出力した画像が限りなく一致するための規則性を見出すための学習を行います。顔認証システムなどはまさにこのディープラーニング技術を用いて作られます。
ニューラルネットワークとは
ニューラルネットワークとは人の脳をモデルにした、パターン認識を行うための一連のアルゴリズムのことです。他に画像認識に適したCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)や音声・動画認識、自然言語処理に適したRNN(Recurrent Neural Network:再帰型ニューラルネットワーク)などのアルゴリズムがあります。
機械学習とディープラーニングとの大きな違い
機械学習はデータの特徴を示してくれますが、その特徴を判断するのは人間です。一方、ディープラーニングはコンピューターがデータの特徴を判断します。特徴を判断するのが人間なのか、機械(コンピューター)なのかが機械学習とディープラーニングの大きな違いと言えます。
機械学習によってできること
機械学習はコンピューターの低価格化と性能向上により、より大量のデータを高速に処理することが可能となりました。その結果、機械学習はビッグデータ解析やIoT分野も含め、さまざまな分野でその技術が活用されるようになっています。ここでは機械学習の概要、併せて機械学習でできることなどを解説していきます。
機械学習とは
機械学習について、今一度整理しておきましょう。機械学習とは端的にいうと、人間の学習と同様の機能をコンピュータで実現するための技術です。
▪与えられた大量のデータから、指定したアルゴリズムに従って機械(コンピューター)にデータの特徴を発見させるためのモデル
▪見出した特徴(クセや傾向など)からコンピューターが推論や判断を行う仕組み
機械学習の3つの種類
学習する際に用いる機械学習の学習方法は、以下の3種類があります。
1.教師あり学習 正解があらかじめ決まっている場合の学習法で、学習精度が高く、主に予測と判定に利用されます。
2.教師なし学習 正解を与えずに学習をさせる方法で、正解を絞りづらい問題や正解データの作成が難しい問題などで活用します。
3.強化学習 学習データそのものに正解は無く、試行錯誤から最適な行動を見つける学習法です。ゲームの学習や自動運転時の状況判断学習などに用いられます。
機械学習でできること
機械学習は大規模データの処理や分析によって、データの特徴を発見することができます。また、人的な作業や分析では発見できないような法則を見つけることも可能です。ここでは、機械学習ができることや、活用事例などを紹介します。
▪過去データから未来を予測 将来予測に関して、従来は人が経験や過去の事例などから行っていた予測を、過去の詳細かつ大量のデータから見出せる傾向や特徴から、精度の高い予測を行うことができます。
顧客の購買データ、行動パターン、天候などから販売予測をしたり、需要予測によって商品開発に生かすといったことができます。
▪自動化する 機械学習が得意なものとして、作業などの自動化です。パターン化された事務作業の自動化も得意分野です。また、チャットボットによるコールセンターサービス、無人レジなど様々な分野で無人化を実現できます。
他に、大量の画像データを学習させ、個人認証や顧客の特定化、画像診断などに利用できます。
また、自動車の自動運転なども一部実用化されています。
ディープラーニングによってできること
ディープラーニング(深層学習)にはディープラーニングならではの得意分野があります。ここでは、ディープラーニングによってできることを紹介していきます。
ディープラーニングとは
ディープラーニング、すなわち深層学習とは機械学習の1つで、さまざまなアルゴリズムを用いて学習を行うことです。ディープラーニングでよく用いるDNN(Deep Larning、 Deep Neural Network)は、パターン認識のアルゴリズムを多層化したもので、人間の脳神経回路をモデルとしています。
ディープラーニングでできること
ディープラーニングが得意とするのは、大きく分けると「画像認識」「音声認識」「自然言語処理」「ロボットによる異常検知」の4つの分野に分かれます。それぞれ簡単に紹介していきましょう。
1.画像認識 画像認識では、画像の特徴を見極め、その写っている物体や生物などを正しく認識できます。ディープラーニングによる画像認識技術は飛躍的に高まっており、人間よりも優れた能力を発揮するケースもあります。
そのためディープラーニングによる画像認識の実用が進んでおり、空港における顔認証、入館時のセキュリティチェック、あるいは犯罪者の発見などでも活用されています。
2.音声認識 音声認識は、音声を識別してテキストデータに変換したり、文字起こしをしたりする技術です。ディープラーニングによる音声認識では、人の声にコンピューターが応答し、音声から本人を特定することも可能です。対話型のAIアシスタント機能を有するスマートスピーカーにもこの音声認識技術が利用されています。
また、会議の議事録を自動で作成するようなシステムもできています。
3.自然言語処理 自然言語処理は人が日常でやり取りする言葉、自然言語を処理して分析する技術です。人が発する言葉を自動的に文字に変換し、要約をすることができます。他、外国語会話を日本語に自動翻訳することが可能となっています。
4.異常検知 ディープラーニングは異常検知にも利用されています。問題やトラブルのデータを解析し、僅かな異常を検知して、今後発生しそうな問題やトラブルに関するアラームを発することが可能です。マーケティング分野では、消費者の嗜好を分析するレコメンデーションがあります。また、自動車の自動運転技術として採用されています。
初心者向けのおすすめの本
ここまで読んで、AIや機械学習に興味を持たれた方には、書籍でさらに体系的に学ばれることをおすすめします。ここでは、AIや機械学習に関する入門書を紹介します。
人工知能は人間を超えるか
AI(人工知能)を1から学べる入門書です。機械学習やディープラーニング、AIの歴史までを網羅しており、AIの概要を1冊で知ることができる定番書籍です。
【参考】:人工知能は人間を超えるか
▪著者:松尾 豊 ▪価格:1,540円(税込) ▪出版:KADOKAWA ▪発売:2015/03/09 ▪頁数:263ページ
試して学ぶ 機械学習入門
簡単な機械学習モデルの構築やアプリ活用まで、機械学習を試しながら「使える」スキルを身につけるのに適した入門書です。プログラミング言語としてPythonを用いて機械学習を学ぶのに適しています。
【参考】:試して学ぶ 機械学習入門
▪著者:竹野 峻輔、高橋 寛治 ▪価格:3,289円円(税込) ▪出版:マイナビ出版 ▪発売:2019年04月23日 ▪頁数:280ページ
機械学習で使われるプログラミング言語
機械学習のプログラミングの利用されているプログラミング言語は複数ありますが、一般的によく使われている言語といえば「Python」、統計解析用に開発された「R言語」も機械学習ではよく利用されています。
Python
Pythonは機械学習でよく用いられるプログラミング言語ですが、C言語と比較して非常にシンプルな言語で、覚えやすく扱いやすい言語としても人気があります。
また、Pythonはライブラリやフレームワークが非常に豊富であり、それらを利用して、効率的にプログラミングを行えること、機械言語に関わらずWebアプリの開発やゲームの開発などにも利用され、汎用性の高さも人気の理由です。
R言語
R言語は統計解析やデータ分析、グラフィックを得意分野とするプログラミング言語です。Pythonと同様にオープンソース言語で、無料で利用ができます。機械学習で用いられることがあり、特に統計解析用のパッケージが豊富なのが特徴です。統計解析の専門知識を持つ人は統計解析パッケージが豊富なR言語を利用すると良いでしょう。
AIエンジニアを目指して
ここまで、機械学習とディープラーニングの違いをテーマに、AIについて解説してきました。AIは今やあらゆる分野で活用されており、業務の効率化や自動化、セキュリティ分野、リスク回避、需要予測、災害予測などで私たちの生活を支えています。
今後AIは一層多くの分野に浸透し、AIに対する需要は高まる一方と考えられます。AIに興味を感じた方はぜひ機械学習、ディープラーニングのスキルを身に付けてください。また、AI分野以外のエンジニアを目指す皆さんは、プログラミング言語としてPythonの修得に努めることをおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから