Ultralytics YOLO のような機械学習モデルを特定のタスクのために微調整します。方法、アプリケーション、ベストプラクティスをここで学びましょう!
ファインチューニングは、機械学習(ML)においてよく使われる手法であり、大規模なデータセットですでに訓練されたモデル(訓練済みモデル)を、特定のタスクに関連する、より小規模で特定のデータセットでさらに訓練することを含む。このアプローチでは、最初の訓練でモデルが学習した一般的な知識を活用し、モデルをゼロから訓練することなく、より専門的な領域で優れた能力を発揮できるように適応させる。これにより、時間と計算リソースが大幅に節約されるため、コンピュータ・ビジョン(CV)や自然言語処理(NLP)などの分野では一般的な手法となっている。次のようなフレームワークがあります。 PyTorchや TensorFlowなどのフレームワークが、微調整の実装に必要なツールを提供している。
このプロセスは通常、次のような事前に訓練されたモデルを選択することから始まります。 Ultralytics YOLOモデルなど、事前にトレーニングされたモデルを選択することから始まる。これらのモデルは、多くの場合、視覚用のCNN(Convolutional Neural Network)やNLP用のTransformerであり、最初のトレーニングデータから一般的な特徴を認識することをすでに学習している。微調整の間、モデルの重み(トレーニング中に学習されたパラメータ)は、新しい、より小さなデータセットに基づいて調整される。多くの場合、ネットワークの初期層(エッジやテクスチャのような一般的な特徴を学習する層)は「凍結」されたまま(重みは更新されない)、後の、よりタスクに特化した層が再トレーニングされる。この再トレーニングでは通常、元のトレーニングで使用した学習率よりも低い学習率を使用して、重みをより小さく調整し、新しいタスクのニュアンスに適応しながら以前に学習した知識を保持する。仕組みの詳細は、fast.aiコースなどのリソースを参照してください。
微調整にはいくつかの重要な利点がある:
プロセスを最適化するためのモデルトレーニングのヒントをご覧ください。
ファインチューニングを同様のMLの概念と区別することは重要だ:
微調整はさまざまな領域で広く使われている:
コンピュータ・ビジョンのコミュニティでより多くのアプリケーションを探索する。
Ultralytics 、YOLO モデルの微調整を強力にサポートします。ユーザーは、事前に訓練された重み(例えば、COCOで訓練されたモデルから)を簡単にロードし、検出、セグメンテーション、または分類のようなタスクのための独自のカスタムデータセットで訓練を続けることができます。Ultralytics ドキュメントには、トレーニングプロセスに関する詳細なガイドがあり、ユーザーは以下のような最先端のモデルを適応させることができます。 YOLO11のような最先端のモデルを特定のコンピュータビジョンの課題に適応させることができます。Ultralytics HUBのようなプラットフォームは、カスタムトレーニングプロセスをさらに効率化します。この適応性は、農業AIから ロボット工学まで、多様なアプリケーションで最適なパフォーマンスを達成する鍵となる。トランスファー学習技術に関するさらなる情報は、CourseraのDeep Learning Specializationのような教育プラットフォームや、Papers with Codeや Distill.pubのような研究洞察のサイトで見つけることができる。