ファインチューニング(Fine-tuning)
ファインチューニング(Fine-tuning)は、事前学習済みモデル(Pretrained Model)を取り出して、新しいタスクやデータセットに適応させる手法です。ファインチューニングは、転移学習(Transfer Learning)の一種として利用されます。
通常、大規模なデータセットで事前学習されたモデル(例えば、ImageNetデータセットで学習されたVGGやResNetなどのCNN)は、一般的な特徴を捉える能力が高く、良好な性能を持っています。しかし、新しいタスクや特定のデータセットに適応させるためには、モデルの最終層や一部の層を調整する必要があります。
ファインチューニングでは、まず事前学習済みモデルを導入し、そのモデルの一部または最終層を凍結します。つまり、これらの層のパラメータを更新しないようにします。次に、新しいタスクやデータセットに適応するために、新たなデータセットでモデルを再学習します。このとき、凍結されていない層のパラメータは新しいデータセットに合わせて調整されます。
ファインチューニングにより、事前学習済みモデルの特徴抽出能力を利用しながら、新しいタスクに対してより高い性能を発揮するモデルを構築することができます。特に、新しいタスクのデータセットが十分に大きくない場合や、計算リソースが限られている場合に効果的です。
ファインチューニングは、画像分類、物体検出、自然言語処理などのさまざまなタスクで広く使用されています。また、ファインチューニングは、事前学習済みモデルが持つ一般的な知識を活用するため、データ効率性や学習の安定性を向上させることができます。