オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Fine Turning

Index

Fine Turning

事前学習が完了したモデルパラメータの一部を、初期のパラメータに利用して、 特定のタスクに特化した学習を行うのがFine Truningである.

特徴量の取得・解析に事前学習で学習した情報を利用できるため、学習収束の高速化や精度向上が期待できる.

Scratch 学習 Fine Tuning
概要 ランダムなWeightから学習を行う. 公開されているPre Trained Model のWeight を更新することで学習を行う.
メリット
  1. Pre Trained Model を利用しないため、すでに獲得している知識やバイアスに囚われず、一からタスクに最適化できる.
  2. 学習率や正則化などあらゆるハイパーパラメータ調整やモデルのアーキテクチャも自由に調整可能.
  1. 既存モデルの知識を活用できるため、ごく少量のデータでも良好な精度が得られる.
  2. 必要な計算量・時間が大幅に削減される.
  3. 既存モデルが持つ一般物体検出の特徴が利用できる.
デメリット
  1. 精度を向上させるためには、大量のデータセットが必要になる.
  2. 学習に時間と計算資源を要し、収束も遅い.
  1. 過学習のリスク.
  2. モデルのアーキテクチャなどが変更できない.
  3. 事前モデルのバイアスが含まれている.

テクニック

Transfer Learning

Parameter Efficient Fine Tuning / PEFT

LoRA / 2021

LLMの微調整において重みの差分のみを訓練対象とし、 差分重みを低ランク分解することで訓練パラメータ数を削減する方法であるLoRAを提案.

精度低下なしで時空間計算量とチェックポイントのサイズを削減できる.



Model soups / 2022

複数の微調整されたモデルの重みを平均化することで、従来の最良の単一モデルを選択する方法よりも精度と頑健性を向上させる. この方法は、大規模な事前学習済みモデルを微調整する際に特に有効であり、推論時間やメモリコストの増加なしにアンサンブルの性能に匹敵することができる.

  • Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time

参考

Webサイト