転移学習(Transfer Learning)
機械学習プロフェッショナルシリーズ
第1章 機械学習から転移学習へ
統合スライド
勉強会資料
2025年3月31日
統合スライド目次
- 1.1 人工知能、機械学習、そして転移学習
- 1.2 統計的機械学習の基礎
- 1.3 深層学習の基礎
- 1.4 転移学習の導入と定義
本スライドは、転移学習に関する勉強会資料の統合版です。AI・機械学習の基礎から始まり、統計的機械学習の理論、深層学習の基本、そして転移学習の定義と分類まで体系的に学ぶことができます。
1.1 人工知能、機械学習、そして転移学習
本日の内容
- 人工知能の起源と発展
- 記号的人工知能とその限界
- 機械学習の登場と進化
- 機械学習モデルの課題
- 転移学習の必要性
本章では、統計的機械学習の導入から出発し、転移学習のコンセプト、伝統的な機械学習と転移学習の関係、そしてなぜ転移学習が必要なのかについて説明します。
1. 人工知能の起源と発展
人工知能の始まり
- 1950年:アラン・チューリングの論文 "Computing Machinery and Intelligence"
- 「機械は考えることができるか?」(Can machines think?) という問い
- 1956年:ダートマス会議で「人工知能(artificial intelligence, AI)」という用語が初めて使用される
チューリングテストはAIの能力を評価する先駆的な概念でした。人間と機械の区別がつかなければ、その機械は「知的」と見なせるという考え方です。
"あらゆる学習の側面、あるいは知能の他の特徴を、原則的に非常に正確に記述できるようにする"
- ダートマス会議提案書(1955年、マッカーシーら)
1. 人工知能の起源と発展(続き)
AIアプローチの変遷
1950-1970年代
記号的AI(論理、推論、知識表現)の黎明期
1990年代-2000年代初頭
機械学習の台頭(決定木、SVM等)
2010年代-現在
深層学習の革命と転移学習の発展
AIの歴史は「期待と失望のサイクル」を繰り返してきました。各時代の技術的限界に直面するたびに、新しいアプローチが生まれています。
2. 記号的人工知能とその限界
記号的AI(Symbolic AI)とは
- 知能を記号の操作として捉える
- 人間が与えたルールの基盤をもとに知的振る舞いを実現
- 「知識をコンピュータに明示的に与える」アプローチ
エキスパートシステムの例
- 医療診断システム
- 税務アドバイスシステム
- 鉱物探査支援システム
フレーム問題
「ある状態にルールを適用して新しい状態を得る」というプロセスを記号で表現するとき、ルールの適用によって変化する状態と変化しない状態をどう表現するかという問題
例:ロボットが棚から試薬を取り出す → 試薬の位置は変わるが壁の位置は変わらない
3. 機械学習の登場と進化
機械学習(Machine Learning)の登場
- 1959年:アーサー・サミュエルによる "Some Studies in Machine Learning Using the Game of Checkers"
- 定義:「明示的にプログラムすることなくコンピュータに学習能力を与える研究」
記号的AIと機械学習の根本的な違い
記号的AI |
機械学習 |
人間が知識そのものを与える |
人間は知識獲得方法とデータを与える |
ルールベース |
データドリブン |
知識が明示的 |
知識が暗黙的(モデルパラメータ) |
汎化は設計者が考慮 |
汎化は自動的に学習 |
3. 機械学習の登場と進化(続き)
1990年代以降の発展
- 大量のデータから意味のあるパターンを抽出する方法論
- 様々な問題への適用:
- 画像認識
- 自然言語処理
- 音声認識
- レコメンデーションシステム
機械学習の強み
汎化能力
学習した知識に基づいて未知の状況にも適応できる
スケーラビリティ
データ量の増加に伴い精度が向上(一般的に)
現在、機械学習は多様な分野で意思決定の自動化を実現する社会の主要ツールとなっています。オンラインコマース、広告、教育、ヘルスケアなど、幅広い応用があります。
4. 機械学習モデルの課題
課題1: 頑健性の問題
機械学習モデルは頑健でなければならない。汎化という考え方に代表されるように、ある環境で訓練された機械学習システムには、新たな環境に対しても頑健に(性能を落とすことなく)動作することが期待されています。
- 伝統的な機械学習では、訓練データとテストデータが同一の分布からサンプリングされていると仮定
- しかし、これは実世界応用を考えるには強すぎる仮定
- 実際のデータ分布は時間的、空間的に変動するため、同一分布に従う訓練データを利用してモデルを学習できる状況は一般に期待できない
4. 機械学習モデルの課題(続き)
顔認識システムの例
テスト環境(屋外)
- 異なる光の強度
- 影や角度の違い
- 太陽光というノイズ
- 通行人の有無
環境の違いにより、モデルの認識精度が極端に悪化する可能性があります。この性能低下は、「新たな状況」が発生したとき、現在の(古い)予測モデルでは不十分であり、アップデートが必要であることを示唆しています。
4. 機械学習モデルの課題(続き)
課題2: データ不足の問題
- 機械学習モデルの性能は、ラベル付きデータの量に大きく依存
- 高品質なラベルデータは不足しがちであり、収集には高いコスト
- 新たな環境でモデルを適応させるための訓練データが不足している場合が多い
例えば、疾患の画像診断システムを訓練するための医用画像データのように、モデルの再訓練のための高品質な訓練データを得るのに非常に高いコストがかかる場合も少なくありません。
4. 機械学習モデルの課題(続き)
課題3: サービスの個別化への適応
- 現代のサービスは特定の共通因子(年齢、性別など)を持つ集団ごとにカスタマイズ
- 今後は個人レベルでのサービスカスタマイズが進むと予想
- しかし、個人用の機械学習モデルを一から学習するには、そのユーザ本人から膨大な量のデータを取得する必要がある
- 現実的には困難であり、集団学習済みモデルをさらに本人用に特化させるフレームワークが必要
5. 転移学習の必要性
転移学習(Transfer Learning)とは
一言でいえば、既存のタスクから知識を適切に抽出することで、目標としている別のタスクでのモデル性能を最大化するための機械学習のパラダイムのことを指します。
機械学習の限界を克服
- 前述した3つの課題(頑健性、データ不足、個別化)を解決するアプローチ
- あるタスクで学習した知識を別のタスクに転用
- 新しい環境・タスク向けに効率的に知識を更新
転移学習は過去の知識を活用して新たな課題に取り組むパラダイム
1.2 統計的機械学習の基礎
本日の内容
- 記号の定義と表記
- データと機械学習の基本概念
- 機械学習の目標と数学的定式化
- 仮説と損失関数
- 経験リスクと期待リスク
- 最適化手法と勾配法
- 汎化性能と過剰適合
本節では、統計的機械学習の数学的基礎について解説します。機械学習の定式化から最適化手法、そして汎化性能の評価までを体系的に学びます。
1. 記号の定義と表記
数学的記号
- 自然数の集合: $\mathbb{N}$
- 実数の集合: $\mathbb{R}$
- 非負の実数の集合: $\mathbb{R}_{\geq 0}$
- $d$次元ユークリッド空間: $\mathbb{R}^d$
- ベクトル表記: $\mathbf{x} = (x_1, \ldots, x_d)^\top$
行列とノルム
- 行列表記: $\mathbf{A}, \mathbf{B}$ (大文字の太字)
- 行列の成分表記: $A_{ij}$ ($i, j$成分)
- ユークリッドノルム: $\|\mathbf{x}\| = \sqrt{\mathbf{x}^\top\mathbf{x}} = \sqrt{\sum_{j=1}^d x_j^2}$
- フロベニウスノルム: $\|\mathbf{A}\| = \sqrt{\mathrm{tr}(\mathbf{A}^\top\mathbf{A})} = \sqrt{\sum_{i=1}^n\sum_{j=1}^d A_{ij}^2}$
確率変数は大文字($X, Y$)、実現値は小文字($x, y$)で表記します。2次元以上の場合は太字($\mathbf{x}, \mathbf{y}$)を使います。
2. データと機械学習の基本概念
データとは
- 入力 $\mathbf{x}$ と出力 $y$、あるいはその組 $(\mathbf{x}, y)$
- 入力空間: $\mathcal{X}$
- 出力空間: $\mathcal{Y}$
- 入出力のペアデータ: $D_n = \{(\mathbf{x}_i, y_i)\}_{i=1}^n \subset \mathcal{X} \times \mathcal{Y}$
- 同時確率分布: $P_{X,Y} = P(X, Y)$
タスクの分類
- 出力空間が2点集合 $\mathcal{Y} = \{0, 1\}$ のとき: 2値分類問題
- 出力空間が3点以上の集合のとき: 多値分類問題
- 出力が連続値のとき: 回帰問題
機械学習では、入力空間 $\mathcal{X}$ は通常 $d$ 次元ユークリッド空間 $\mathbb{R}^d$ の部分集合とします: $\mathcal{X} \subset \mathbb{R}^d$
3. 機械学習の目標と数学的定式化
機械学習の目標
- 既知の入力 $\mathbf{X}$ と出力 $Y$ を用いてモデル(関数)を学習
- 新たな入力 $\mathbf{x}$ から対応する出力 $y$ を精度よく予測
- これを汎化と呼びます
例えば、手書き数字の画像(入力)から数字のラベル(出力)を認識する関数を学習するケースを考えてみましょう。
数学的定式化
- 仮説集合: $\mathcal{H} = \{h: \mathcal{X} \to \mathcal{Y}\}$
- 予測モデル(仮説): $h: \mathcal{X} \to \mathcal{Y}$
- 真の入出力関係: $y = f(\mathbf{x})$
- 学習(訓練): データを使って $h$ を調整するプロセス
4. 仮説と損失関数
仮説の候補
- 線形モデル: $h(\mathbf{x}) = \mathbf{w}^\top \mathbf{x}$, $\mathbf{w} \in \mathbb{R}^d$
- ニューラルネットワークモデル
- 決定木モデル
- サポートベクターマシン
線形モデルの仮説集合の例
$\mathcal{H} = \{h : \mathcal{X} \to \mathcal{Y} | h(\mathbf{x}) = \mathbf{w}^\top \mathbf{x}, \mathbf{w} \in \mathbb{R}^d\}$
損失関数
- 損失関数: $\ell : \mathcal{Y} \times \mathcal{Y} \to \mathbb{R}$
- 予測の評価: $\mathcal{L}(\mathbf{x}, y; h) := \ell(h(\mathbf{x}), y)$
- 損失の性質: 予測精度が高いほど小さく、悪いほど大きくなる
損失関数の例: 分類問題での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)]$
- 期待リスクが小さければ予測モデルとして高い性能を持つ
- しかし、実際には確率分布 $P_{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)$
- 機械学習では、経験リスク $\hat{R}(h)$ を最小化する $h$ を見つけることで近似的に期待リスク $R(h)$ を小さくするアプローチをとる
- 線形モデルの場合: $\mathbf{w} = \arg \min_{\mathbf{w} \in \mathbb{R}^d} (1/n) \sum_{i=1}^n \ell(\mathbf{w}^\top \mathbf{x}_i, y_i)$
経験リスク最小化は機械学習における学習あるいは訓練の実体です。例えば線形モデルでは、適切なパラメータ $\mathbf{w}$ を求めることが学習の目標となります。
6. 最適化手法と勾配法
勾配法(Gradient Method)
- 勾配を用いてパラメータの更新列を生成する手法
- 最急降下法(Steepest Descent Method):
$\mathbf{w}_t = \mathbf{w}_{t-1} - \eta_{t-1} \nabla_{\mathbf{w}} \hat{R}(\mathbf{w}_{t-1}), t=1,2,...$
- 勾配(gradient)ベクトル: $\nabla_{\mathbf{w}} \hat{R}(\mathbf{w}) = (\partial \hat{R}(\mathbf{w})/\partial w_1, ..., \partial \hat{R}(\mathbf{w})/\partial w_D)^\top$
- 学習率(learning rate): $\eta_t$
ニューラルネットワークのような複雑な仮説に対しては、勾配法を使用して経験リスクを最小化します。適切な初期値 $\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}})$
- $m$: サブセットのサイズ(ミニバッチサイズ)
- $\mathcal{D}_{t-1}$: t-1回目の更新に使用するデータのサブセット
- $m = 1$: 確率的勾配降下法(各回1データポイントを使用)
- $m \geq 2$: ミニバッチ(minibatch)確率的勾配降下法(複数データポイントを使用)
SGDの利点
- 計算コストが $O(m)$ でデータ数 $n$ に依存しない
- 大規模データへのスケーラビリティがある
- 局所的な最適解を抜け出す可能性がある
7. 汎化性能と過剰適合
残余誤差(Excess Risk)
定義1.3(残余誤差): データ $(\mathbf{X}, Y)$ の従う確率分布 $P_{X,Y}$ のもとでの仮説 $\hat{h}$ の残余誤差は、
$R(\hat{h}) - \inf_{h: \text{可測関数}} R(h)$
- 可測関数: 数学的に厳密な関数の集合で、値の測定(期待値の計算など)が可能な関数。機械学習では、すべての理論的に可能な予測関数の集合を表す
- 第2項: すべての可測関数の中での期待リスク $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)]$
- 推定誤差(estimation error): $R(\hat{h}) - \min_{h \in \mathcal{H}} R(h)$
- 近似誤差(approximation error): $\min_{h \in \mathcal{H}} R(h) - \inf_{h: \text{可測関数}} R(h)$
ベイズ規則(Bayes Rule)
残余誤差の下限を達成する仮説が存在するとき、その仮説をベイズ規則と呼びます。ベイズ規則は理論上の最適な予測関数です。
- 分類問題の場合: 真の条件付き確率 $P(Y|\mathbf{X})$ に基づく最適分類器
- 回帰問題の場合: 条件付き期待値 $\mathbb{E}[Y|\mathbf{X}]$ に基づく最適予測器
- ベイズ誤差: どんなモデルでも避けられない理論上の最小誤差
7. 汎化性能と過剰適合(続き)
推定誤差と近似誤差のトレードオフ
- 仮説集合を大きくすると、近似誤差は減少する
- 推定誤差と仮説集合の複雑度の関係:
- 一般的に、仮説集合の複雑度が高いほど推定誤差は大きくなる傾向がある
- データ数が増えると推定誤差は減少する傾向がある
- この関係は損失関数や推定アルゴリズムにも依存する
過剰適合(Overfitting)
適切な仮説集合
- バランスの取れた近似誤差と推定誤差
- 未知データに対しても良い性能
複雑すぎる仮説集合
- 大きな推定誤差
- 訓練データにのみフィット
- 未知データでの性能が低下
過剰適合を防ぐための手法として、適切な仮説集合の選択(モデル選択)や正則化(regularization)付き学習などが用いられます。
1.3 深層学習の基礎
本日の内容
- 深層学習の概要と定義
- ニューラルネットワークの数学的表現
- 活性化関数の種類
- 誤差逆伝播法
- 学習を安定化するためのテクニック
- 勾配消失・爆発問題
本節では、深層学習の基本概念、多層ニューラルネットワークの構造、学習アルゴリズム、そして深層学習モデルの訓練を安定化させるための重要なテクニックについて学びます。
1. 深層学習の概要と定義
深層学習とは
- 深層学習(deep learning)とは、多層ニューラルネットワーク(multilayer neural network)という複数の層を持つニューラルネットワークを仮説として用いる統計的機械学習の方法全般を指す用語
- 多層ニューラルネットワークは、非常に複雑な関数も精度よく近似できる高い関数近似能力と、さまざまな問題を同一のフレームワークで処理できる広い適用可能性を持ったモデル
主要な応用分野
- 画像認識や自然言語処理、音声認識などの分野で顕著な成功
- 構造データ(画像や文章など)からの表現学習の性能向上が大きな要因
- それぞれのデータ構造に適したネットワークのアーキテクチャを用いることが重要
本節では、順伝播型(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$
- 各関数 $h_{W_l} : \mathbb{R}^{d_{l-1}} \to \mathbb{R}^{d_l}$ はパラメータ行列 $W_l \in \mathbb{R}^{d_l \times d_{l-1}}$ とバイアスベクトル $b_l \in \mathbb{R}^{d_l}$、および活性化関数 $\sigma_l$ によって決定
- $z_0 = x$ として、前層からの入力 $z_{l-1} \in \mathbb{R}^{d_{l-1}}$ を変換して出力 $z_l \in \mathbb{R}^{d_l}$ を得る
- $z_l$ の各要素 $z_{lj}$ はニューラルネットを構成する最小単位であり、ユニット(unit)と呼ばれる
図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. 誤差逆伝播法
多層ニューラルネットワークの学習
- 多層ニューラルネットワークモデルは、多くの場合、確率的勾配降下法によって経験リスク最小化を行う
- このとき、ニューラルネットワークのパラメータ$W_1, \ldots, W_L$による経験リスクの勾配を計算する必要がある
誤差逆伝播法(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)
- 誤差逆伝播法は、出力層から入力層に向かって繰り返し勾配の積和演算を行う
- ある層の勾配がゼロベクトルとなると、そこで逆伝播が止まり、パラメータが更新されなくなる
- この現象を勾配消失と呼ぶ
- 特にシグモイドやtanhなどの活性化関数では、入力の絶対値が大きくなるほど導関数が0に近づく
勾配爆発問題(Exploding Gradient Problem)
- ある層の勾配の成分が非常に大きな値をとってしまうことで逆伝播によるパラメータ更新が失敗する現象
- パラメータ更新量が大きすぎて学習が不安定になる
対策
- 勾配消失への対策:バッチ正規化、ReLUなどの勾配消失が起こりにくい活性化関数の利用
- 勾配爆発への対策:勾配のノルムが一定の範囲内に収まるように規格化する勾配クリッピング
- これらの対策を施していても、非常に深い層では問題が発生するため、残差接続などの構造的な対策も重要
6. 学習を安定化するためのテクニック - バッチ正規化
内部共変量シフト問題
- 多層ニューラルネットワークの学習において、パラメータの更新によって各層の出力の分布の差が層間で増大する
- この現象を内部共変量シフト(internal covariate shift)と呼ぶ
- 内部共変量シフトの具体的な影響:
- 層間で逆伝播される勾配のノルムの大きさに差が生じる
- 学習の低速化を誘発
- 深いネットワークでは、浅い層ほど学習が遅くなる傾向
- 活性化関数の有効な入力範囲から外れる可能性が高まる
バッチ正規化(Batch Normalization)
バッチ正規化は各層の出力の分布をミニバッチ単位で正規化処理します:
$\hat{u}_j = \gamma_j \cdot \frac{u_j - \mu_j}{\sqrt{\sigma_j^2 + \epsilon}} + \beta_j$
- $\mu_j$, $\sigma_j^2$:ミニバッチ内の$u_j$の平均と分散
- $\gamma_j$, $\beta_j$:$u_j$を正規化することで学習効果が消滅することを防ぐパラメータ
- 通常、$\gamma_j$と$\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. 転移学習とは
転移学習の基本概念
- 一つ以上の別のタスクで学習された知識を保持・適用する
- 新しいタスクに対する有効な仮説を効率的に見つけ出す
- 人間の学習方法を模倣:過去の経験・知識を新しい状況に応用
転移学習の定性的な説明:
"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$ はそれぞれ入力および出力を表す確率変数です。
ドメインの重要性
- 従来の機械学習:単一ドメインの仮定(同一分布からのサンプリング)
- 転移学習:複数ドメインを考慮する必要性
- 元ドメイン(知識転移元):$\mathcal{D}_S = (\mathcal{X}_S \times \mathcal{Y}_S, P_{X,Y}^S)$
- 目標ドメイン(知識転移先):$\mathcal{D}_T = (\mathcal{X}_T \times \mathcal{Y}_T, P_{X,Y}^T)$
ドメインは転移学習に限らず機械学習の問題を考えるうえで基本的な概念ですが、転移学習では複数のドメインを扱うため、より明示的な考察が必要になります。
3. ドメインとタスクの定義(続き)
タスク(Task)の定義
定義1.5(タスク)
$P_{X,Y}$ をデータ生成分布、$\mathcal{L}$ を損失関数とします。このとき、タスクを $P_{X,Y}$ と $\mathcal{L}$ の組 $(P_{X,Y}, \mathcal{L})$ と定義します。
タスクの例
- 回帰問題: $\mathcal{L}(y, h(x)) = (y - h(x))^2$ を最小化する回帰モデル $h(x)$ を推定するタスク
- オートエンコーダ: $\mathcal{L}_{\text{reconst}}(h(x), x) = ||h(x) - x||^2$ を最小化する符号化・復号化関数 $h(x) = (g \circ f)(x)$ を推定するタスク
注意: ドメインとタスクの定義は文献によって揺らぎがあります。例えば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)
通常の機械学習との違い
- 式(1.22)自体は通常の機械学習と同じ
- 転移学習の特徴:目標ドメインと類似した元ドメインの存在を仮定
- 元ドメイン $\mathcal{D}_S$ で獲得した「知識」を目標ドメインで利用
- 元ドメインの知識により、式(1.22)をより効率的に解くことが目標
転移学習の本質は、「何も知らない状態から学習する」のではなく、「既に獲得した知識を基にして効率的に学習する」点にあります。これにより、少ないデータや計算資源でも効果的な学習が可能になります。
5. 転移学習問題の分類
転移学習の4つの主要分類
- ドメイン適応(Domain Adaptation)
- マルチタスク学習(Multitask Learning)
- メタ学習(Meta Learning)
- 継続学習(Continual Learning)
これらは転移学習の主要な問題設定であり、それぞれ異なるアプローチと目標を持っています。実際の応用では、これらを組み合わせて使用することも多いです。
5. 転移学習問題の分類(続き)
ドメイン適応(Domain Adaptation)
- 最も基本的な転移学習の問題設定
- 元ドメインから目標ドメインへの直接的な知識転移
- 各ドメインとその役割は固定
- 例: スマートフォンのカメラで撮影した画像(元ドメイン)から医療用カメラの画像(目標ドメイン)への適応
マルチタスク学習(Multitask Learning)
- 複数の関連タスクを同時に学習
- タスク間の共通知識を活用
- 各タスクの性能向上が目標
- 例: 複数の言語の翻訳を同時に学習し、言語間の共通構造を活用
5. 転移学習問題の分類(続き)
メタ学習(Meta Learning)
- 「学習の仕方を学習する」アプローチ
- 複数のタスクが共通の確率分布から生成されていると仮定
- 少量のデータでの効率的な学習が目標
- 関連するアプローチ:少数ショット学習(Few-shot Learning)、ドメイン汎化(Domain Generalization)
- 例: 新しい言語を数例のサンプルだけで効率的に学習する
継続学習(Continual Learning)
- 逐次的に与えられるタスクでの繰り返し学習
- 過去の知識を忘れずに新しいタスクを学習
- タスク系列全体の性能で評価
- 例: ロボットが環境変化に順応しながら徐々に新しいスキルを獲得
6. 深層学習時代の転移学習
深層学習が転移学習にもたらした3つの変革
- 深層モデル自体の大きな容量(capacity)
- 表現学習の性能向上
- 事前学習済みモデルの利用容易化
深層学習の普及により、転移学習の研究方向性は大きく変わりました。特に事前学習済みモデルを活用した転移学習は、現在の機械学習応用の主流となっています。
6. 深層学習時代の転移学習(続き)
1. 深層モデルの大きな容量
- 「容量」:モデルが表現できる関数の複雑さ
- 深層ニューラルネットワークは大規模データを「丸暗記」できるほどの容量
- 複数タスクを単一モデルで処理可能に
- マルチタスク学習やメタ学習に特に有効
2. 表現学習の性能向上
- 深層ニューラルネットワークによる豊かな特徴表現の獲得
- 「ドメイン不変な表現」の効果的な学習
- 異なるドメイン間の共通特徴を自動的に抽出
- ドメイン適応問題において特に効果的
6. 深層学習時代の転移学習(続き)
3. 事前学習済みモデルの利用
従来の機械学習
- 特徴抽出器と予測器が明確に分離
- 特徴抽出はハンドクラフト(手作業)
- 予測器のみを学習対象とすることが多い
- モデル全体の最適化が困難
深層学習
- 層という形で構成された統一モデル
- エンドツーエンドの学習
- 特定の層を切り離して再利用可能
- 誤差逆伝播法と確率的勾配降下法による共通学習法
重要ポイント: 事前学習済みモデルの再利用により、少ないデータと計算資源で新たなタスクにモデルを適応させることが可能になりました。これは特に大規模言語モデル(LLM)や画像認識モデルなど、訓練に膨大なリソースが必要なモデルで重要です。