転移学習(Transfer Learning)

機械学習プロフェッショナルシリーズ

第1章 機械学習から転移学習へ

統合スライド

勉強会資料

2025年3月31日

統合スライド目次

  1. 1.1 人工知能、機械学習、そして転移学習
  2. 1.2 統計的機械学習の基礎
  3. 1.3 深層学習の基礎
  4. 1.4 転移学習の導入と定義
本スライドは、転移学習に関する勉強会資料の統合版です。AI・機械学習の基礎から始まり、統計的機械学習の理論、深層学習の基本、そして転移学習の定義と分類まで体系的に学ぶことができます。

1.1 人工知能、機械学習、そして転移学習

本日の内容

  1. 人工知能の起源と発展
  2. 記号的人工知能とその限界
  3. 機械学習の登場と進化
  4. 機械学習モデルの課題
  5. 転移学習の必要性
本章では、統計的機械学習の導入から出発し、転移学習のコンセプト、伝統的な機械学習と転移学習の関係、そしてなぜ転移学習が必要なのかについて説明します。

1. 人工知能の起源と発展

人工知能の始まり

チューリングテストはAIの能力を評価する先駆的な概念でした。人間と機械の区別がつかなければ、その機械は「知的」と見なせるという考え方です。

"あらゆる学習の側面、あるいは知能の他の特徴を、原則的に非常に正確に記述できるようにする"

- ダートマス会議提案書(1955年、マッカーシーら)

1. 人工知能の起源と発展(続き)

AIアプローチの変遷

1950-1970年代

記号的AI(論理、推論、知識表現)の黎明期

1980年代

エキスパートシステム全盛期

1990年代-2000年代初頭

機械学習の台頭(決定木、SVM等)

2010年代-現在

深層学習の革命と転移学習の発展

AIの歴史は「期待と失望のサイクル」を繰り返してきました。各時代の技術的限界に直面するたびに、新しいアプローチが生まれています。

2. 記号的人工知能とその限界

記号的AI(Symbolic AI)とは

エキスパートシステムの例

フレーム問題

「ある状態にルールを適用して新しい状態を得る」というプロセスを記号で表現するとき、ルールの適用によって変化する状態と変化しない状態をどう表現するかという問題

例:ロボットが棚から試薬を取り出す → 試薬の位置は変わるが壁の位置は変わらない

3. 機械学習の登場と進化

機械学習(Machine Learning)の登場

記号的AIと機械学習の根本的な違い

記号的AI 機械学習
人間が知識そのものを与える 人間は知識獲得方法とデータを与える
ルールベース データドリブン
知識が明示的 知識が暗黙的(モデルパラメータ)
汎化は設計者が考慮 汎化は自動的に学習

3. 機械学習の登場と進化(続き)

1990年代以降の発展

機械学習の強み

汎化能力

学習した知識に基づいて未知の状況にも適応できる

スケーラビリティ

データ量の増加に伴い精度が向上(一般的に)

現在、機械学習は多様な分野で意思決定の自動化を実現する社会の主要ツールとなっています。オンラインコマース、広告、教育、ヘルスケアなど、幅広い応用があります。

4. 機械学習モデルの課題

課題1: 頑健性の問題

機械学習モデルは頑健でなければならない。汎化という考え方に代表されるように、ある環境で訓練された機械学習システムには、新たな環境に対しても頑健に(性能を落とすことなく)動作することが期待されています。

4. 機械学習モデルの課題(続き)

顔認識システムの例

訓練環境(室内)

  • 一定の光条件
  • 一定のカメラ角度
  • 背景の単純さ

テスト環境(屋外)

  • 異なる光の強度
  • 影や角度の違い
  • 太陽光というノイズ
  • 通行人の有無
環境の違いにより、モデルの認識精度が極端に悪化する可能性があります。この性能低下は、「新たな状況」が発生したとき、現在の(古い)予測モデルでは不十分であり、アップデートが必要であることを示唆しています。

4. 機械学習モデルの課題(続き)

課題2: データ不足の問題

例えば、疾患の画像診断システムを訓練するための医用画像データのように、モデルの再訓練のための高品質な訓練データを得るのに非常に高いコストがかかる場合も少なくありません。

4. 機械学習モデルの課題(続き)

課題3: サービスの個別化への適応

5. 転移学習の必要性

転移学習(Transfer Learning)とは

一言でいえば、既存のタスクから知識を適切に抽出することで、目標としている別のタスクでのモデル性能を最大化するための機械学習のパラダイムのことを指します。

機械学習の限界を克服

転移学習は過去の知識を活用して新たな課題に取り組むパラダイム

1.2 統計的機械学習の基礎

本日の内容

  1. 記号の定義と表記
  2. データと機械学習の基本概念
  3. 機械学習の目標と数学的定式化
  4. 仮説と損失関数
  5. 経験リスクと期待リスク
  6. 最適化手法と勾配法
  7. 汎化性能と過剰適合
本節では、統計的機械学習の数学的基礎について解説します。機械学習の定式化から最適化手法、そして汎化性能の評価までを体系的に学びます。

1. 記号の定義と表記

数学的記号

行列とノルム

確率変数は大文字($X, Y$)、実現値は小文字($x, y$)で表記します。2次元以上の場合は太字($\mathbf{x}, \mathbf{y}$)を使います。

2. データと機械学習の基本概念

データとは

タスクの分類

機械学習では、入力空間 $\mathcal{X}$ は通常 $d$ 次元ユークリッド空間 $\mathbb{R}^d$ の部分集合とします: $\mathcal{X} \subset \mathbb{R}^d$

3. 機械学習の目標と数学的定式化

機械学習の目標

例えば、手書き数字の画像(入力)から数字のラベル(出力)を認識する関数を学習するケースを考えてみましょう。

数学的定式化

4. 仮説と損失関数

仮説の候補

線形モデルの仮説集合の例

$\mathcal{H} = \{h : \mathcal{X} \to \mathcal{Y} | h(\mathbf{x}) = \mathbf{w}^\top \mathbf{x}, \mathbf{w} \in \mathbb{R}^d\}$

損失関数

損失関数の例: 分類問題での0-1損失、回帰問題での二乗損失、ヒンジ損失、ロジスティック損失など

5. 経験リスクと期待リスク

期待リスク

定義1.1(期待リスク): データ $(\mathbf{X}, Y)$ の従う確率分布 $P_{X,Y}$ のもとでの仮説 $h$ の期待リスク $R(h)$ は、$h$ に対する損失 $\mathcal{L}$ の期待値

$R(h) := \mathbb{E}_{(\mathbf{X}, Y) \sim P_{X,Y}}[ \mathcal{L}(\mathbf{X}, Y; h)] = \mathbb{E}_{(\mathbf{X}, Y) \sim P_{X,Y}}[ \ell(h(\mathbf{X}), Y)]$

経験リスク

定義1.2(経験リスク): 観測データ $D_n = \{(\mathbf{x}_i, y_i)\}_{i=1}^n$ に対して、仮説 $h$ の経験リスク $\hat{R}(h)$ は、$h$ に対する各データの損失値の標本平均

$\hat{R}(h) := (1/n) \sum_{i=1}^n \mathcal{L}(\mathbf{x}_i, y_i; h) = (1/n) \sum_{i=1}^n \ell(h(\mathbf{x}_i), y_i)$

5. 経験リスクと期待リスク(続き)

経験リスク最小化

$\hat{h} := \arg \min_{h \in \mathcal{H}} \hat{R}(h)$
経験リスク最小化は機械学習における学習あるいは訓練の実体です。例えば線形モデルでは、適切なパラメータ $\mathbf{w}$ を求めることが学習の目標となります。

6. 最適化手法と勾配法

勾配法(Gradient Method)

$\mathbf{w}_t = \mathbf{w}_{t-1} - \eta_{t-1} \nabla_{\mathbf{w}} \hat{R}(\mathbf{w}_{t-1}), t=1,2,...$
ニューラルネットワークのような複雑な仮説に対しては、勾配法を使用して経験リスクを最小化します。適切な初期値 $\mathbf{w}_0$ を設定し、勾配の方向にパラメータを更新していきます。

6. 最適化手法と勾配法(続き)

確率的勾配降下法(SGD)

$\mathbf{w}_t = \mathbf{w}_{t-1} - (\eta_{t-1}/m) \sum_{(\mathbf{x}, y) \in \mathcal{D}_{t-1}} \nabla_{\mathbf{w}} \mathcal{L}(\mathbf{x}, y; h_{\mathbf{w}_{t-1}})$

SGDの利点

7. 汎化性能と過剰適合

残余誤差(Excess Risk)

定義1.3(残余誤差): データ $(\mathbf{X}, Y)$ の従う確率分布 $P_{X,Y}$ のもとでの仮説 $\hat{h}$ の残余誤差は、

$R(\hat{h}) - \inf_{h: \text{可測関数}} R(h)$

バイアス・バリアンス分解

$R(\hat{h}) - \inf_{h: \text{可測関数}} R(h) = [R(\hat{h}) - \min_{h \in \mathcal{H}} R(h)] + [\min_{h \in \mathcal{H}} R(h) - \inf_{h: \text{可測関数}} R(h)]$

ベイズ規則(Bayes Rule)

残余誤差の下限を達成する仮説が存在するとき、その仮説をベイズ規則と呼びます。ベイズ規則は理論上の最適な予測関数です。

7. 汎化性能と過剰適合(続き)

推定誤差と近似誤差のトレードオフ

過剰適合(Overfitting)

適切な仮説集合

  • バランスの取れた近似誤差と推定誤差
  • 未知データに対しても良い性能

複雑すぎる仮説集合

  • 大きな推定誤差
  • 訓練データにのみフィット
  • 未知データでの性能が低下
過剰適合を防ぐための手法として、適切な仮説集合の選択(モデル選択)や正則化(regularization)付き学習などが用いられます。

1.3 深層学習の基礎

本日の内容

  1. 深層学習の概要と定義
  2. ニューラルネットワークの数学的表現
  3. 活性化関数の種類
  4. 誤差逆伝播法
  5. 学習を安定化するためのテクニック
    • バッチ正規化
    • 残差接続
  6. 勾配消失・爆発問題
本節では、深層学習の基本概念、多層ニューラルネットワークの構造、学習アルゴリズム、そして深層学習モデルの訓練を安定化させるための重要なテクニックについて学びます。

1. 深層学習の概要と定義

深層学習とは

主要な応用分野

本節では、順伝播型(feedforward)または全結合型(fully connected)のニューラルネットワークを中心に説明します。

2. ニューラルネットワークの数学的表現

多層ニューラルネットワークの基本構造

L層のニューラルネットワークはL個の関数の合成として表現できます:

$h(x) = (h_{W_L} \circ h_{W_{L-1}} \circ \cdots \circ h_{W_1})(x)$

各関数 $h_{W_l}$ はパラメータ行列 $W_l$、バイアスベクトル $b_l$、および活性化関数 $\sigma_l$ によって定義されます:

$z_l = h_{W_l}(z_{l-1}) = (\sigma_l(W_{l1}z_{l-1} + b_{l1}), \ldots, \sigma_l(W_{ld_l}z_{l-1} + b_{ld_l}))^\top$

図1.6:多層ニューラルネットワークと活性化関数の例

3. 活性化関数の種類

活性化関数の役割

代表的な活性化関数

関数 数式
ReLU $\sigma(u) = \max(0, u)$
シグモイド $\sigma(u) = \frac{1}{1+e^{-u}}$
tanh $\sigma(u) = \tanh(u) = \frac{e^u-e^{-u}}{e^u+e^{-u}}$
PReLU $\sigma(u, a) = \max(0, u) + a \min(0, u)$

図1.6:多層ニューラルネットワークと活性化関数の例

4. 誤差逆伝播法

多層ニューラルネットワークの学習

誤差逆伝播法(Backpropagation)

$\frac{\partial L(x, y; h)}{\partial W_{lij}} = \sum_{k_{L}=1}^{d_L} \frac{\partial \ell(\hat{y}, y)}{\partial z_{L,k_L}} \cdot \frac{\partial z_{L,k_L}}{\partial W_{lij}}$
誤差逆伝播法は、計算グラフ上で連鎖律を用いて効率的に勾配を計算する手法です。深層学習の学習を高速化する鍵となる技術の一つです。

5. 勾配消失・爆発問題

勾配消失問題(Vanishing Gradient Problem)

勾配爆発問題(Exploding Gradient Problem)

対策

6. 学習を安定化するためのテクニック - バッチ正規化

内部共変量シフト問題

バッチ正規化(Batch Normalization)

バッチ正規化は各層の出力の分布をミニバッチ単位で正規化処理します:

$\hat{u}_j = \gamma_j \cdot \frac{u_j - \mu_j}{\sqrt{\sigma_j^2 + \epsilon}} + \beta_j$
バッチ正規化により、以下の効果が得られます:
  • 内部共変量シフトを防ぎ、学習を安定化
  • より大きな学習率を使用可能に
  • 各層の出力を適切な範囲に保つことで活性化関数の効果を最大化
  • ミニバッチ内のランダム性により、弱い正則化効果も

7. 学習を安定化するためのテクニック - 残差接続

残差接続(Residual Connection)

残差接続は前層の入力を直接後続の層に渡すパス構造:

$z_l = z_{l-1} + h_{W_l}(z_{l-1})$

残差接続を持つニューラルネットワークを残差ネットワーク(residual network, ResNet)と呼びます。

勾配計算

残差接続により勾配は以下のように計算されます:

$\frac{\partial L}{\partial z_l} = \frac{\partial L}{\partial z_L} + \frac{\partial L}{\partial z_L} \cdot \frac{\partial z_L}{\partial z_l} \cdot \sum h_{W_{j+1}}(z_j)$

第1項は連鎖律を経ずに第l層へ直接伝播されるため、第2項が0となったとしても勾配は消失せず、第l-1層以降へも伝播されます。

この構造によって非常に深い層(100層以上)であっても安定して学習を行うことができるようになります。また、問題ごとのモデルの変更が基本的には層の増減という形で実現できるため、高い拡張性を持つという深層学習の特徴を活かせます。

1.4 転移学習の導入と定義

本日の内容

  1. 転移学習とは
  2. 転移学習の定性的説明
  3. ドメインとタスクの定義
  4. 転移学習の数学的定式化
  5. 転移学習問題の分類
  6. 深層学習時代の転移学習
  7. ディスカッションと演習
本節では、転移学習の基本的な考え方から出発し、その形式的な定義、様々な問題設定、そして深層学習との関係について説明します。転移学習が従来の機械学習と比べてどのような利点をもたらすのかを理解しましょう。

1. 転移学習とは

転移学習の基本概念

転移学習の定性的な説明:

"Inductive transfer or transfer learning refers to the problem of retaining and applying the knowledge learned in one or more tasks to efficiently develop an effective hypothesis for a new task."

「帰納的転移または転移学習とは、新しいタスクに対する有効な仮説を効率的に見つけ出すために、一つ以上の別のタスクで学習された知識を保持・適用する問題を指す。」

転移学習は、過去の学習経験から得た知識を活用して、新しい状況での学習を効率化するアプローチです。類似した異なるタスク間での知識の転移を可能にします。

2. 転移学習の定性的説明

子供の自転車学習の例

転移学習の直感的イメージ:自転車の例

元ドメイン(Source Domain)

  • ペダルなし二輪車(バランス感覚の獲得)
  • 三輪車(ペダル駆動の獲得)

目標ドメイン(Target Domain)

  • 実際の自転車に乗る
  • バランス感覚とペダル駆動の両方の能力が必要
人間は自然に関連する過去の経験を活用して新しいスキルを学びます。転移学習は、この自然な学習プロセスを機械学習に取り入れることで、効率的な学習を可能にします。

3. ドメインとタスクの定義

ドメイン(Domain)の定義

定義1.4(ドメイン)

入力空間 $\mathcal{X}$ と出力空間 $\mathcal{Y}$ の直積空間 $\mathcal{X} \times \mathcal{Y}$ とそのうえで定義された同時分布 $P_{X,Y}$ の組 $\mathcal{D} = (\mathcal{X} \times \mathcal{Y}, P_{X,Y})$ をドメインと呼びます。ここで、$X, Y$ はそれぞれ入力および出力を表す確率変数です。

ドメインの重要性

ドメインは転移学習に限らず機械学習の問題を考えるうえで基本的な概念ですが、転移学習では複数のドメインを扱うため、より明示的な考察が必要になります。

3. ドメインとタスクの定義(続き)

タスク(Task)の定義

定義1.5(タスク)

$P_{X,Y}$ をデータ生成分布、$\mathcal{L}$ を損失関数とします。このとき、タスクを $P_{X,Y}$ と $\mathcal{L}$ の組 $(P_{X,Y}, \mathcal{L})$ と定義します。

タスクの例

注意: ドメインとタスクの定義は文献によって揺らぎがあります。例えばPan & Yangの定義では、入力空間とその確率分布の組をドメイン、出力空間と予測関数の組をタスクとしています。

4. 転移学習の数学的定式化

転移学習の目的

転移学習の目的は、目標ドメインにおける期待リスク $R_T(h) = \mathbb{E}_{(\mathbf{X}, Y) \sim P_{X,Y}^T}[ \mathcal{L}(\mathbf{X}, Y; h)]$ を最小化する仮説の学習とします。

$\hat{h}_T = \arg \min_{h \in \mathcal{H}} R_T(h)$  (1.22)

通常の機械学習との違い

転移学習の本質は、「何も知らない状態から学習する」のではなく、「既に獲得した知識を基にして効率的に学習する」点にあります。これにより、少ないデータや計算資源でも効果的な学習が可能になります。

5. 転移学習問題の分類

転移学習の4つの主要分類

転移学習の4つの分類
  1. ドメイン適応(Domain Adaptation)
  2. マルチタスク学習(Multitask Learning)
  3. メタ学習(Meta Learning)
  4. 継続学習(Continual Learning)
これらは転移学習の主要な問題設定であり、それぞれ異なるアプローチと目標を持っています。実際の応用では、これらを組み合わせて使用することも多いです。

5. 転移学習問題の分類(続き)

ドメイン適応(Domain Adaptation)

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

5. 転移学習問題の分類(続き)

メタ学習(Meta Learning)

継続学習(Continual Learning)

6. 深層学習時代の転移学習

深層学習が転移学習にもたらした3つの変革

  1. 深層モデル自体の大きな容量(capacity)
  2. 表現学習の性能向上
  3. 事前学習済みモデルの利用容易化
深層学習の普及により、転移学習の研究方向性は大きく変わりました。特に事前学習済みモデルを活用した転移学習は、現在の機械学習応用の主流となっています。

6. 深層学習時代の転移学習(続き)

1. 深層モデルの大きな容量

2. 表現学習の性能向上

6. 深層学習時代の転移学習(続き)

3. 事前学習済みモデルの利用

従来の機械学習

  • 特徴抽出器と予測器が明確に分離
  • 特徴抽出はハンドクラフト(手作業)
  • 予測器のみを学習対象とすることが多い
  • モデル全体の最適化が困難

深層学習

  • 層という形で構成された統一モデル
  • エンドツーエンドの学習
  • 特定の層を切り離して再利用可能
  • 誤差逆伝播法と確率的勾配降下法による共通学習法

重要ポイント: 事前学習済みモデルの再利用により、少ないデータと計算資源で新たなタスクにモデルを適応させることが可能になりました。これは特に大規模言語モデル(LLM)や画像認識モデルなど、訓練に膨大なリソースが必要なモデルで重要です。