コンテンツにスキップ
X

ディープラーニングとは

ディープラーニング(Deep Learning、深層学習)とは、多層のニューラルネットワークを使って、データから高度な特徴を自動的に学習する機械学習の手法です。AI・機械学習・ディープラーニングは入れ子の関係にあり、ディープラーニングは機械学習の一手法として位置づけられます。

対象読者: 機械学習の基礎(教師あり学習・ニューラルネットワーク)を理解している方

学習時間の目安: 読了 20分

前提知識: 機械学習とは を読んでいること

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

Section titled “AI・機械学習・ディープラーニングの包含関係”
graph TD
    AI["AI(人工知能)\nArtificial Intelligence\n人間の知能を再現する技術全般"]
    ML["機械学習 Machine Learning\nデータからパターンを自動学習"]
    DL["ディープラーニング Deep Learning\n多層ニューラルネットワークで特徴を自動抽出"]
    AI --> ML
    ML --> DL

ディープラーニングは機械学習の中でも特に強力な手法ですが、すべての問題にディープラーニングが最適というわけではありません。データ量が少ない場合や解釈可能性が重視される場合は、従来の機械学習手法が有効なことも多くあります。

ニューラルネットワークの基本

Section titled “ニューラルネットワークの基本”

ニューラルネットワーク(Neural Network)とは、人間の脳の神経細胞(ニューロン)の接続構造に着想を得た数学的モデルです。多数の「ノード(ユニット)」が層状に並び、隣接する層どうしが結合することで情報を処理します。

graph LR
    subgraph IL["入力層 Input Layer"]
        I1["x₁"]
        I2["x₂"]
        I3["x₃"]
    end
    subgraph HL["隠れ層 Hidden Layers(複数)"]
        H1["h₁"]
        H2["h₂"]
        H3["h₃"]
    end
    subgraph OL["出力層 Output Layer"]
        O1["y"]
    end
    I1 --> H1
    I1 --> H2
    I1 --> H3
    I2 --> H1
    I2 --> H2
    I2 --> H3
    I3 --> H1
    I3 --> H2
    I3 --> H3
    H1 --> O1
    H2 --> O1
    H3 --> O1
層の種類役割
入力層(Input Layer)データを受け取る層。ピクセル値や数値などの特徴量が入力される
隠れ層(Hidden Layers)入力から特徴を段階的に抽出する層。ここが「深い」部分
出力層(Output Layer)最終的な予測や分類結果を出力する層

なぜ「ディープ(深い)」と呼ばれるのか

Section titled “なぜ「ディープ(深い)」と呼ばれるのか”

「ディープ」とは隠れ層が複数(多層)あることを指します。層が深くなるほど、より抽象的な特徴を学習できます。

例えば画像認識では、浅い層はエッジや色のパターンを学習し、深い層になるにつれて「目」「鼻」「顔」といった高次の特徴を学習します。

従来の機械学習とディープラーニングの違い

Section titled “従来の機械学習とディープラーニングの違い”

最大の違いは特徴量エンジニアリング(Feature Engineering)の有無です。

従来の機械学習ディープラーニング
特徴量の設計人間が手動で設計データから自動学習
必要なデータ量比較的少量でも動作大量のデータが必要
計算リソース少ないリソースで動作GPU など高い計算リソースが必要
解釈可能性高い(決定木など)低い(ブラックボックス問題)
得意なタスク構造化データの分析画像・音声・テキストなど非構造データ

料理のレシピを考えてみましょう。

  • 従来の機械学習: 料理研究家(人間)がレシピの重要な特徴(使用食材・調理時間・カロリーなど)を事前に選んでから学習する
  • ディープラーニング: 何万枚もの料理写真を見せるだけで、AIが自ら「何が美味しい料理を決める特徴なのか」を発見する

ディープラーニングが得意なタスク

Section titled “ディープラーニングが得意なタスク”

画像認識(CNN:畳み込みニューラルネットワーク)

Section titled “画像認識(CNN:畳み込みニューラルネットワーク)”

CNN(Convolutional Neural Network、畳み込みニューラルネットワーク)は、画像データを処理するために設計されたネットワーク構造です。画像内の空間的なパターンを効率よく学習します。

  • 物体検出・分類(ImageNetデータセットでの精度が人間を超えた)
  • 医療画像診断(X線・MRI画像からの疾患検出)
  • 自動運転(道路・歩行者・標識の認識)

Transformerとは、2017年に発表されたニューラルネットワークアーキテクチャで、「Attention(注意機構)」という仕組みによってテキストの長距離依存関係を効率よく処理します。現代のほぼすべての大規模言語モデルはTransformerをベースとしています。

LLM(Large Language Model、大規模言語モデル) とは、大量のテキストデータで事前学習されたTransformerベースの言語モデルです。

  • GPT シリーズ(OpenAI): テキスト生成・コード補完
  • Claude(Anthropic): 対話・文書分析・コーディング支援
  • Gemini(Google): マルチモーダル(テキスト・画像・動画の統合処理)

音声認識では、音声波形をテキストに変換します。スマートフォンの音声アシスタントや自動字幕生成などで使われています。

LLMは以下のプロセスで学習・推論します。

graph LR
    PT["大量のテキストデータ\n(事前学習)"] --> LLM["LLM\n(Transformerベース)"]
    LLM --> FT["特定タスク向け\nファインチューニング"]
    FT --> APP["アプリケーション\n(対話・翻訳・要約など)"]
  1. 事前学習(Pre-training): インターネット上の大量のテキストを使って、「次のトークン(単語の断片)を予測する」タスクで学習
  2. ファインチューニング(Fine-tuning): 対話など特定の用途向けに追加学習
  3. 推論(Inference): ユーザーの入力に対してテキストを生成

Q: ディープラーニングは常に従来の機械学習より優れていますか?

A: そうではありません。ディープラーニングは大量のデータと高い計算リソースが必要です。データが少ない場合や表形式(構造化)データの場合、ランダムフォレストやXGBoostなどの従来の機械学習手法の方が高精度になることが多くあります。

Q: GPUがないとディープラーニングはできませんか?

A: 学習には時間がかかりますが、CPUでも実行できます。学習済みモデルの推論(Inference)であれば、CPUでも十分な速度で動作します。Google ColabなどのクラウドサービスでGPUを無料で利用することもできます。

Q: LLMとチャットボットは同じものですか?

A: 異なります。LLMは言語を理解・生成するためのモデル(エンジン)です。チャットボットはLLMを使って対話インターフェースを提供するアプリケーションです。同じLLMを使って、チャットボット以外にも翻訳・要約・コード生成など多様なアプリケーションを構築できます。


次のステップ: 学習パラダイム

このページへのリンク(英語): What Is Deep Learning?