機械学習とディープラーニングの違いは?関係性やアルゴリズムについて解説

ビッグデータが扱えるようになった昨今、日常生活からビジネスまでAI(人工知能)の活用が広まっています。

AIとは知的な情報処理をするものといった概念のことを指し、それを実現する手法として機械学習、ディープラーニングがあります。

本記事ではAI、機械学習、ディープラーニングの関係性と仕組み、できること、勉強方法をご紹介します。

AI、機械学習、ディープラーニングの関係

AIとは、知的な情報処理をするものという概念です。Googleフォトによる人物の識別機能や、サイト上にある問い合わせチャットボットなどもAIといえます。

機械学習とは、AIを実現する手法のことです。画像から人物を識別する、テキストから最適な答えを導き出すといったプログラムをコンピュータ自身が作り出します。

ディープラーニング(深層学習)は、機械学習の手法の一つです。機械学習の手法は様々なものがあり、ビッグデータとコンピュータの発達によって色々な場面で活用されている手法です。

機械学習、ディープラーニングの仕組み

機械学習は、人間が明示的なルールをプログラミングすることなくコンピュータ自身が学習してプログラムモデルを作ります。

猫と犬を識別するプログラムを明示的なルールで作る場合、耳が三角で、目が吊っていて、小ぶりで…と条件分岐を作る必要があります。

たくさんの種類がいますし、全ての特徴を網羅したルールベースのプログラムを作るには限界があります。

そこで、たくさんの犬や猫の画像をコンピュータに読み込ませ、画像から様々な特徴をコンピュータ自身が見つけ出し、犬と猫を区別するモデルを作り出す仕組みが機械学習となります。

機械学習には、学習方法として教師あり学習、教師なし学習、強化学習の3種類があります。

機械学習の種類概要
教師あり学習入力と答えのラベルがついたのデータから学習する方法。
犬の画像(入力)=犬(ラベル・答え)といったデータを用いて学習する。犬か猫かといった分類や、売上金額の予測などに用いる。
教師なし学習答えのラベルがないデータから学習する方法。
Youtubeの閲覧履歴からユーザーをセグメント化するなど、何かをクラスタリングする場合によく用いる。
強化学習教師なし学習の一種で、最終的な目標に達成するために報酬をフィードバックに繰り返す学習方法。
アルファ碁にも用いられ、勝利するという目標に最も近づける方法を、勝つパターンをフィードバックしながら繰り返す学習方法。

ディープラーニングは機械学習の手法の一つで、ニューラルネットワークというアルゴリズムを元としています。

ニューラルネットワークとは、脳の神経構造(ニューロン)を模倣した機械学習の手法で、入力層、中間層、出力層から構成されます。

TensorFlow Playgroundというサイトで、ニューラルネットワークを体感することができます。

入力層のデータから得られた特徴を、中間層、出力層でニューロン間の関係を調整し、正解に近づけていきます。

▼ニューラルネットワーク

この中間層を多層にしたものがディープラーニングとなります。

より複雑なデータを処理する場合、中間層を多層にしたディープラーニングの必要性が出てきます。

▼ディープラーニング

ディープラーニングは膨大なデータと計算量が必要となります。

画像や音声などの非構造化データを取得し保存できるデータ基盤技術の発達や、クラウドのコンピュータリソースで膨大な計算処理ができるなど、今日の技術がディープラーニングの活用を後押ししています。

機械学習、ディープラーニングでできること

機械学習、ディープラーニングのアルゴリズムは様々なものがあり、最適な用途も異なります。

以下はアルゴリズムと用途の一例です。

種類アルゴリズム概要・用途
教師あり学習線形回帰目的変数(予測したい値)が説明変数(目的変数に影響する値)によって線形に表せるアルゴリズム。
売上予測などで利用する。
ロジスティック回帰目的変数を0か1かで表すアルゴリズム。
商品を購入するかしないかなど、0か1かを分類するときに利用する。
CNN(畳み込みニューラルネットワーク)畳み込み層・プーリング層から構成されるディープラーニング
画像認識で高い性能が発揮できる。
RNN(再帰型ニューラルネットワーク)時系列データを扱うことができるディープラーニング
音声認識や翻訳などの自然言語処理で利用する。
教師なし学習k平均法非階層クラスター分析の代表的なアルゴリズム。
ユーザーや商品のセグメント分けなどに利用する。
オートエンコーダ次元削減を用いるディープラーニング
異常検知などで利用する。
強化学習Q学習Q値(行動価値関数)を学習していくアルゴリズム。
ゲームなどで利用する。

ディープラーニングはCNN、RNN、オートエンコーダーなどのアルゴリズムがあり、主に画像認識、自然言語処理、音声認識といった分野での活用が目立ちます。

また、ディープラーニングと強化学習を組み合わせた深層強化学習では、自動運転やアルファ碁に用いられています。

ディープラーニングは大量のデータから複雑な問題を解決する場合に最適です。予測分析など比較的単純なものであれば線形回帰を利用する方が適しています。

目的・データを明確にしてからアルゴリズムを選択することが大切です。

勉強方法

機械学習、ディープラーニングの概念を学ぶ

実装方法を学ぶ

Google Cloudで学ぶ機械学習

  • Applying Machine Learning to your Data with GCP 日本語版
    オンライン学習サービスCourseraで公開しているプログラムです。機械学習の概要から機械学習API・BigQueryMLの利用方法について学ぶことができます。
  • Machine Learning Crash Course
    機械学習やディープラーニングの基礎が動画・テキストで学べる無料の学習サイトです。全て英語ですが、実装を含めた機械学習・ディープラーニングの基礎は網羅できるように思います。

まとめ

機械学習とディープラーニングについての違いと仕組み、できることと勉強方法をまとめました。

最近では機械学習やディープラーニングのアルゴリズ実装をせずとも、APIの利用やクラウド技術で簡単に実装できる手段が増えています。

必要な知識を身につけることで、専門のエンジニアでなくともAIを実装できる環境が整っています。

BigQuery MLでTwitterエンゲージメント数の予測モデル作成の記事では、BigQueryで機械学習を利用する方法を解説しています。勉強方法で紹介した本やサイトとあわせて、ご興味あればご覧ください!