コンテンツにスキップ
LinkedInX

ディープラーニングとは

約5分

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

ディープラーニング(Deep Learning、深層学習)とは、多層のニューラルネットワークを使って、データから高度な特徴を自動的に学習する機械学習の手法です。『Deep Learning』は、深層学習を機械学習の一分野として扱い、表現学習や多層ニューラルネットワークを体系的に説明しています。[1]

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

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

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

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

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

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

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 “なぜ「ディープ(深い)」と呼ばれるのか”

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 物体検出・分類(ImageNet などの画像ベンチマークで発展してきた領域)
  • 医療画像診断(X線・MRI画像からの疾患検出)
  • 自動運転(道路・歩行者・標識の認識)

Transformerとは、2017年に発表されたニューラルネットワークアーキテクチャで、「Attention(注意機構)」という仕組みによって系列データを処理します。[3] 現代の多くの大規模言語モデルはTransformer系の設計をベースにしています。

LLM(Large Language Model、大規模言語モデル) とは、大量のテキストデータで事前学習された言語モデルです。Google MLCC でも、LLM はトークン、Transformer、テキスト予測の観点から説明されています。[4]

  • 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: そうではありません。ディープラーニングは多くの場合、大量のデータと高い計算リソースを必要とします。データが少ない場合や表形式(構造化)データの場合、従来の機械学習手法の方が扱いやすいことがあります。[1]

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

A: 学習には時間がかかりますが、CPUでも小規模な実験はできます。大きなモデルを学習・推論する場合は、GPUなどのアクセラレーターが必要になることがあります。

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

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

  1. Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, 2016
  2. Matthew D. Zeiler, Rob Fergus, Visualizing and Understanding Convolutional Networks, 2013年11月12日
  3. Ashish Vaswani et al., Attention Is All You Need, 2017年6月12日
  4. Google, Machine Learning Crash Course
クイズ