Ultralytics YOLO ような機械学習モデルを特定のタスク用に微調整します。方法、アプリケーション、ベストプラクティスについてはこちらをご覧ください!
ファインチューニングとは 機械学習(ML)のテクニックである。 事前に訓練されたモデルを特定のタスクやデータセットに特化させる。むしろ 大量のラベル付きデータと計算能力を必要とするゼロからの学習よりも、ファインチューニングは、膨大な一般データセットからパターンを学習済みのモデルの既存の知識を活用する。 ファインチューニングは、膨大で一般的なデータセットからすでにパターンを学習したモデルの既存の知識を活用する。このプロセスは このプロセスは、転移学習の実用的な応用である。 開発者は、希少な製造欠陥の検出や医療画像の分類など、ニッチな問題で高い性能を達成することができる。 医療画像の分類といったニッチな問題で、開発者は大幅にリソースを削減しながら高い性能を達成することができる。
このプロセスは、次のような基礎モデルから始まる。 ビジョンモデル ImageNetで訓練された視覚モデルや インターネット・コーパスで訓練された言語モデルなどである。これらのモデルは、画像のエッジ、テクスチャ、形状、あるいはテキストの文法や意味といった基本的な特徴 のような基本的な特徴や、テキストにおける文法や意味論に対するロバストな理解を持っている。ファインチューニングの間、モデルはターゲット・アプリケーションに関連する、新しい、より小さな カスタムデータセットにさらされる。
トレーニング・プロセスでは 新しいデータのニュアンスに対応するために、モデルの重みをわずかに調整する。 を調整する。一般的に、これは 学習率を下げて行うのが一般的である。 最初の事前学習段階で学習された貴重な特徴を維持しつつ、モデルの適応を可能にするためである。多くの 多くのコンピュータビジョン(CV)ワークフローでは、エンジニアは 基本的な特徴をdetect するバックボーンの初期レイヤーを凍結し のみを微調整する。 最終的な予測を行う検出ヘッド 予測。
のような最先端のモデルを採用する。 Ultralytics YOLO11のような最先端のモデルを 特定のデータに適応させるのは簡単です。このライブラリーは、事前に学習された重みのロードや学習ループの設定といった複雑な処理を自動的に行います。 を自動的に処理します。
次の例は、事前にトレーニングされたYOLO11 モデルをロードし、サンプル・データセット上で微調整する方法を示しています。
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (uses COCO weights by default)
model = YOLO("yolo11n.pt")
# Fine-tune the model on a specific dataset configuration
# 'epochs' sets the training duration, and 'imgsz' defines input resolution
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
ファインチューニングは、一般的なAIの能力と業界特有の要件とのギャップを埋める。
ファインチューニングを他の適応方法と区別することは、適切なアプローチを選択する上で極めて重要である:
微調整を実装するために、開発者は次のような堅牢なフレームワークに頼っている。 PyTorchや TensorFlowのような堅牢なフレームワークに依存している。 勾配降下とバックプロパゲーションに必要なインフラを提供する。最新の 例えば、Ultralytics エコシステムでは、モデルの学習と検証をシームレスに行うことができる。 例えば、Ultralyticsエコシステムは、シームレスなモデルのトレーニングと検証を可能にする。データを 微調整のためにデータを準備する場合、質の高い データアノテーションの確保は データセットのバイアスを防ぐことが不可欠である。 を歪めてしまう可能性があります。


