転移学習(Transfer Learning)
転移学習(Transfer Learning)は、機械学習や深層学習の一種であり、あるタスクで学習済みのモデルを別のタスクに転用する手法です。転移学習では、一つのタスクで学習された知識や特徴表現を、別の関連するタスクに応用することが可能です。
一般的な機械学習や深層学習の訓練では、大量のラベル付きデータが必要ですが、転移学習では、予め学習済みのモデルがあるため、少量のラベル付きデータで効果的なモデルを構築することができます。転移学習は、データの不足や時間と計算リソースの制約がある場合に特に有用です。
転移学習では、通常、学習済みのモデル(ソースモデル)を取得し、その一部または全体を保持しながら、新しいタスクに適応させるために追加の学習を行います。ソースモデルは、一般的に大規模なデータセットで事前に学習されたモデル(例えば、ImageNetデータセットで学習された畳み込みニューラルネットワーク)です。
転移学習では、以下のような手法が一般的に使用されます:
-
ファインチューニング(Fine-tuning): 学習済みモデルの一部または全体を凍結し、新しいデータセットで追加の学習を行います。凍結された部分は、ソースタスクの特徴抽出や低レベルの特徴の学習に使用され、新しいタスクに関連する高レベルの特徴を学習することができます。
-
特徴抽出(Feature Extraction): 学習済みモデルの一部または全体を特徴抽出器として使用し、その出力を新しいタスクの入力として使用します。既存のモデルの重みは変更せず、最後の層や新しい分類器のみを追加して学習します。