転移学習(TL)は、機械学習における手法であり、あるタスクから得られた知識を再利用して、関連するタスクの性能を向上させることを目的とする。例えば、画像分類において、車を認識する学習で得た知識は、トラックを認識する際に応用できる。このテーマは、学習の転移に関する心理学の文献と関連しているが、両分野間の実用的な結びつきは限られている。以前に学習したタスクから新しいタスクへ情報を再利用または転移することは、学習効率を大幅に向上させる可能性がある。転移学習は複数の目的関数を用いた訓練を利用するため、コスト考慮型機械学習や多目的最適化とも関連している。
現代の実践では、転移学習の主要な形態は、広範でデータ豊富なソースタスクで大規模なニューラルネットワークを事前学習し、その後、データが限られた狭いターゲットタスクで微調整することである。このアプローチは、深層学習における多くの成功、特に自然言語処理(大規模言語モデルに見られる)やコンピュータビジョンの基盤となっている。「転移学習の詳細」という用語は、この微調整プロセスに関わる実践的および理論的な考慮事項を指すことが多い。
歴史
1976年、BozinovskiとFulgosiは、ニューラルネットワーク訓練における転移学習を扱った論文を発表した。その論文は、このトピックの数学的および幾何学的モデルを提供した。1981年には、コンピュータ端末の文字を表す画像データセットへの転移学習の適用を検討した報告書が、正および負の転移学習を実験的に実証した。負の転移は、ソース知識がターゲット性能を損なう場合に発生する。
1992年、Lorien Prattは、判別性に基づく転移(DBT)アルゴリズムを定式化した。1998年までに、この分野はマルチタスク学習や、より形式的な理論的基盤を含むまでに進歩した。転移学習に関する影響力のある出版物には、1998年の書籍『Learning to Learn』、2009年の調査、2019年の調査がある。
Andrew Ngは、2016年のNIPSチュートリアルで、転移学習が教師あり学習の次に機械学習の商業的成功を牽引するだろうと述べた。2020年の論文『Rethinking Pre-Training and Self-Training』では、Zophらが、事前学習が一部の設定で精度を損なう可能性があり、自己訓練を推奨し、転移学習の微妙なトレードオフを強調した。
定義
転移学習の定義は、ドメインとタスクの観点から与えられる。ドメインDは、特徴空間Xと周辺確率分布P(X)から構成され、ここでX = {x_1, ..., x_n} ∈ Xである。特定のドメインD = {X, P(X)}が与えられたとき、タスクはラベル空間Yと目的予測関数f: X → Yの2つの要素から構成される。関数fは、新しいインスタンスxのラベルf(x)を予測する。このタスクはT = {Y, f(x)}と表され、ペア{x_i, y_i}からなる訓練データから学習される。
ソースドメインD_Sと学習タスクT_S、およびターゲットドメインD_Tと学習タスクT_Tが与えられ、D_S ≠ D_TまたはT_S ≠ T_Tである場合、転移学習は、D_SとT_Sの知識を使用して、D_Tにおけるターゲット予測関数f_T(·)の学習を支援することを目的とする。重要な仮定は、ソースとターゲットのタスクが十分に関連しており、共有知識を転移できることである。
微調整のメカニズム
深層学習における転移学習の最も一般的な実装は微調整である。モデルはまず、大規模で一般的なデータセット(ソースタスク)で事前学習される。その後、その重みがターゲットタスクの訓練の初期化として使用される。事前学習されたネットワークの下位層は、通常、一般的な特徴を学習し、学習された表現を保持するために凍結されるか、低い学習率で適応されることが多く、一方、上位層はターゲットデータで再訓練される。
微調整は、ネットワーク全体または一部の層にのみ適用できる。ターゲットデータセットが小さい場合、実践者は過学習を避けるためにほとんどの層を凍結し、最終的な分類ヘッドのみを更新することが多い。ターゲットデータセットが大きい場合は、より積極的な微調整が可能である。ドロップアウト、バッチ正規化、層正規化などの技術は、微調整中にモデルを正則化するために一般的に使用される。
転移学習の種類
転移学習は、ソースとターゲットのドメインおよびタスクの一致度に基づいて分類できる。帰納的転移学習は、ドメインが同じでもソースとターゲットのタスクが異なる場合に発生する。トランスダクティブ転移学習は、ドメインが異なるがタスクが同じ場合に発生する。教師なし転移学習は、タスクとドメインの両方が異なるがラベル付きデータが利用できない場合に適用される。
実際には、ほとんどの深層学習アプリケーションは、同一の特徴空間を持つ帰納的転移学習を使用する。例えば、トランスフォーマーを一般的なテキストで事前学習し、感情分析で微調整する場合である。マルチタスク学習は、モデルが複数の目的を同時に訓練されるもので、密接に関連し、転移学習と数学的基盤を共有している。
応用
転移学習は、AIアプリケーション全体に広く浸透している。コンピュータビジョンでは、ImageNetで事前学習されたモデルが、医用画像解析、物体検出、自動運転のために微調整されている。自然言語処理では、OpenAIやGoogle DeepMindが、研究者が質問応答や翻訳などの特定のタスクに微調整する大規模な事前学習モデルを公開している。
具体的な例としては、テキスト理解のためのBERTがあり、マスク言語モデリングで事前学習され、感情分類や固有表現認識のために微調整される。音声認識では、一般的な音声で事前学習されたモデルが音響環境に適応される。強化学習では、転移学習により、以前のタスクからのポリシーを再利用して新しい環境での学習を高速化できる。
理論的考察
転移学習の有効性は、ソースとターゲットの分布の類似性に依存する。重要な理論的結果は、ターゲットタスクの一般化誤差が、ソースタスクの誤差に2つのドメイン間の発散を測定する項を加えたものによって制限されることである。この関係は、転移学習をいつ適用するかに関する実践的な決定を導く。
負の転移は、ソース知識がターゲットタスクにとって誤解を招く場合に発生する。例えば、多くのクラスを持つ画像分類での事前学習は、非常に異なるラベル分布を持つターゲットタスクには役立たない場合がある。敵対的訓練などのドメイン適応技術は、ドメインシフトを最小化することを目的とする。一般的に、最近の研究は、転移学習が万能薬ではないことを強調しており、慎重な評価が必要である。
最適化技術
大規模な事前学習モデルの微調整には、専門的な最適化が必要である。Adamオプティマイザとその変種は標準的な選択肢であり、多くの場合、ゼロからの訓練よりも低い初期学習率が使用される。勾配クリッピングは、微調整中の爆発を防ぐために頻繁に使用される。カリキュラム学習も適用でき、ターゲットデータセットを難易度の増加順に提示する。
別のアプローチは、事前学習層にはより小さな学習率を使用し、新しく初期化された層にはより高い学習率を使用することである。さらに、ランダムクロッピングやトークンマスキングなどのデータ拡張技術は、小さなターゲットデータセットでのモデルの一般化に役立つ。一部の方法では、微調整後にモデルプルーニングを使用して、精度を大幅に損なうことなくモデルサイズを削減する。
大規模言語モデルとの関係
大規模言語モデルの台頭により、転移学習はこれまで以上に重要になっている。GPT-3やClaudeなどのモデルは、膨大なコーパスで事前学習され、その後、微調整やプロンプティングを通じて下流タスクに適応される。場合によっては、転移学習は指示チューニングを通じて大規模に実行され、モデルが多くのタスクで同時に微調整されて一般化を向上させる。
人間のフィードバックからの強化学習(RLHF)は、事前学習モデルが人間の好みを報酬信号として微調整される転移学習の一形態である。このアプローチは、モデルを人間の価値観に整合させる上で重要な役割を果たしてきた。AnthropicやOpenAIの研究は、転移学習が安全性と整合性とどのように関わるかを示している。
課題と将来の方向性
主要な課題は、事前学習の計算コストであり、AWS TrainiumやGoogle Cloud TPUなどの専門ハードウェアの大規模クラスターを必要とすることが多い。効率的な転移学習に関する活発な研究があり、アダプターやLoRAなどのパラメータ効率的な手法が、重みのごく一部のみを更新する。
もう一つの懸念は忘却である。新しいタスクで微調整すると、モデルがソースタスクからの知識を失う可能性がある。継続学習アプローチはこれを軽減することを目的とする。2020年代初頭の時点で、転移学習は活発な研究分野であり、Zophらが強調したように、事前学習が役立つ場合とそうでない場合についての微妙な知見がある。将来の研究は、理論的保証と負の転移を回避するためのより良い方法に焦点を当てる可能性がある。