コンテンツにスキップ
X

学習パラダイム

学習パラダイム(Learning Paradigms)とは、機械学習モデルがどのように知識を獲得・活用するかの方針・設計思想のことです。このページでは、「既存の知識を再活用して新しいタスクを効率よく学習する」手法群を中心に解説します。

対象読者: 機械学習の基礎(教師あり・教師なし・強化学習)を理解している方

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

前提知識: 機械学習とはディープラーニングとは を読んでいること

一からモデルを学習させるには、大量のデータと計算コストが必要です。しかし、関連する知識がすでに存在する場合、それを再活用することで少ないデータと計算コストで高い性能を実現できます。

比喩: 英語が話せる人がフランス語を学ぶ場面を想像してください。語学学習の戦略(単語の覚え方、文法の捉え方、発音の練習法)はすでに身についています。フランス語特有の部分だけを集中的に学べばよいのです。これが学習パラダイムの本質です。

graph LR
    subgraph TL["転移学習 Transfer Learning"]
        BM["ベースモデル\n(重みを凍結)"] --> NL["新しい層\n(学習する)"]
    end
    subgraph FT["ファインチューニング Fine-tuning"]
        PTM["事前学習済み\nモデル全体"] --> ND["新データで\n全体を調整"]
    end

転移学習とは、あるタスクで学習済みのモデルの知識を、別の関連タスクへ転用する手法です。

  1. ベースモデルを用意する: 大量データで学習済みのモデル(ImageNet分類モデルなど)を用意
  2. 重みを凍結する: ベースモデルのパラメーター(重み)を更新しないよう固定(フリーズ)
  3. 新しい層を追加・学習する: 新しいタスク向けの最終層だけを新データで学習(バックプロパゲーション)
graph TD
    D1["大量の学習データ\n(例: ImageNet 100万枚)"] --> BM["ベースモデル\n(事前学習済み)"]
    BM --> |重みを凍結| FM1["特徴抽出部分\n(変更しない)"]
    FM1 --> NL["新しいタスク用の層\n(少量データで学習)"]
    D2["新しいタスクのデータ\n(例: 医療画像 1,000枚)"] --> NL
  • 新しいタスクのデータが少ない場合(数百〜数千件程度)
  • 元のタスクと新しいタスクが関連している場合(どちらも画像認識、どちらもテキスト処理など)

ImageNet(100万枚以上の一般画像)で学習した画像分類モデルを使い、医療画像(X線画像 1,000枚)の診断モデルを構築する。エッジ検出や形状認識などの汎用的な視覚的特徴は再利用し、医療画像特有の判断基準だけを新たに学習する。

2. ファインチューニング(Fine-tuning)

Section titled “2. ファインチューニング(Fine-tuning)”

ファインチューニングとは、事前学習済みモデルの全層(またはその一部)のパラメーターを新しいデータで再調整する手法です。

転移学習ファインチューニング
更新する重み新しい層のみ全層(または下層を含む一部)
必要なデータ量少なくても可やや多めが望ましい
計算コスト低い高い
過学習のリスク低いデータが少ないと高い

事前学習済みモデル全体を新しいデータで追加学習します。一般的に、下位層(汎用的な特徴を学習した部分)は学習率を低く設定し、上位層(タスク固有の特徴を学習した部分)は学習率を高めに設定する「差分学習率(Discriminative Learning Rate)」が有効です。

GPT-4などの汎用LLMを自社のカスタマーサポート会話データでファインチューニングすることで、自社の製品・サービスに特化した対話モデルを構築する。

3. マルチタスク学習(Multitask Learning)

Section titled “3. マルチタスク学習(Multitask Learning)”

マルチタスク学習とは、複数の異なるタスクを同時に学習するモデルの設計手法です。

graph TD
    IN["入力データ"] --> SH["共有ネットワーク\n(Shared Network)"]
    SH --> T1["タスク1専用ブランチ\n(例: 感情分析)"]
    SH --> T2["タスク2専用ブランチ\n(例: トピック分類)"]
    SH --> T3["タスク3専用ブランチ\n(例: 言語検出)"]
    T1 --> O1["出力1"]
    T2 --> O2["出力2"]
    T3 --> O3["出力3"]
  • 共有ネットワーク: 複数タスクに共通する汎用的な表現を学習する部分
  • タスク固有ブランチ: 各タスク専用の出力を生成する部分
  • 各タスクから学んだ知識が相互に補完し合い、個別学習より汎化性能が向上する
  • 複数モデルを別々に学習・管理するコストが削減できる
  • データが少ないタスクでも、他のタスクのデータから学習効果を得られる

自然言語処理において、感情分析・トピック分類・言語検出を1つのモデルで同時に学習することで、言語の汎用的な理解能力が各タスク間で共有される。

連合学習とは、データを一か所の中央サーバーに集めることなく、分散したデバイス上でモデルを学習する手法です。

graph TD
    C["中央サーバー\n(モデルの重みを配布・集約)"]
    D1["デバイス1\n(スマートフォン)\nローカルで学習"]
    D2["デバイス2\n(スマートフォン)\nローカルで学習"]
    D3["デバイス3\n(スマートフォン)\nローカルで学習"]
    C --> |共有モデルを配布| D1
    C --> |共有モデルを配布| D2
    C --> |共有モデルを配布| D3
    D1 --> |重みの更新量のみ送信| C
    D2 --> |重みの更新量のみ送信| C
    D3 --> |重みの更新量のみ送信| C
  1. 中央サーバーから共有モデルを各デバイスに配布
  2. 各デバイスでローカルデータを使って学習(データはデバイス外に出ない)
  3. 各デバイスの重み更新量(グラジェント)のみを中央サーバーに送信
  4. サーバーで各デバイスの更新量を集約してモデルを更新
  5. 1〜4を繰り返す
  • プライバシー保護: 個人データがデバイスの外に出ないため、プライバシーリスクが低い
  • 通信コスト削減: 生データではなく重みの更新量のみを送信するため、通信量が少ない
  • パーソナライゼーション: 各デバイスのローカルデータに基づいて個別最適化できる

スマートフォンのキーボード予測機能。各ユーザーの入力履歴(個人データ)をデバイス外に送らずに、ユーザーの入力パターンをローカルで学習する。各デバイスの学習結果(重みの更新量)だけを集約して共有モデルを改善する。

転移学習ファインチューニングマルチタスク学習連合学習
主な目的少データでの新タスク適応ドメイン適応・性能向上複数タスクの同時学習プライバシー保護学習
データ要件少量でも可やや多めが望ましい複数タスク分のデータ分散データ
計算コスト中〜高分散するため低(デバイス単体)
典型的な用途画像分類の転用LLMのドメイン適応NLPの多目的モデルスマートフォン・IoT

Q: 転移学習とファインチューニングは別の手法ですか?

A: 関連していますが異なる手法です。転移学習は「学習済みモデルの知識を新タスクに転用する」概念全体を指します。ファインチューニングはその実現方法の一つで、モデルの全パラメーターを新データで再調整する手法です。転移学習の中で「最終層のみ更新する」方法はファインチューニングと区別されることもあります。

Q: LLMのファインチューニングはどのくらいのデータが必要ですか?

A: タスクと品質要求によって異なりますが、数百〜数千件の高品質なデータがあれば特定タスクへの適応は可能です。LoRA(Low-Rank Adaptation)などの手法を使えば、少ないパラメーター更新でも効果的なファインチューニングができます。

Q: 連合学習はデータを完全に保護できますか?

A: 完全ではありません。重みの更新量(グラジェント)から元のデータを復元する攻撃手法(グラジェントインバージョン攻撃)が存在します。完全なプライバシー保護には、差分プライバシー(Differential Privacy)などの追加手法との組み合わせが必要です。


前のステップ: ディープラーニングとは

このページへのリンク(英語): Learning Paradigms