用語集

微調整

Ultralytics YOLO のような機械学習モデルを特定のタスクのために微調整します。方法、アプリケーション、ベストプラクティスをここで学びましょう!

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ファインチューニングは、機械学習(ML)においてよく使われる手法であり、大規模なデータセットですでに訓練されたモデル(訓練済みモデル)を、特定のタスクに関連する、より小規模で特定のデータセットでさらに訓練することを含む。このアプローチでは、最初の訓練でモデルが学習した一般的な知識を活用し、モデルをゼロから訓練することなく、より専門的な領域で優れた能力を発揮できるように適応させる。これにより、時間と計算リソースが大幅に節約されるため、コンピュータ・ビジョン(CV)や自然言語処理(NLP)などの分野では一般的な手法となっている。次のようなフレームワークがあります。 PyTorchTensorFlowなどのフレームワークが、微調整の実装に必要なツールを提供している。

微調整の仕組み

このプロセスは通常、次のような事前に訓練されたモデルを選択することから始まります。 Ultralytics YOLOモデルなど、事前にトレーニングされたモデルを選択することから始まる。これらのモデルは、多くの場合、視覚用のCNN(Convolutional Neural Network)やNLP用のTransformerであり、最初のトレーニングデータから一般的な特徴を認識することをすでに学習している。微調整の間、モデルの重み(トレーニング中に学習されたパラメータ)は、新しい、より小さなデータセットに基づいて調整される。多くの場合、ネットワークの初期層(エッジやテクスチャのような一般的な特徴を学習する層)は「凍結」されたまま(重みは更新されない)、後の、よりタスクに特化した層が再トレーニングされる。この再トレーニングでは通常、元のトレーニングで使用した学習率よりも低い学習率を使用して、重みをより小さく調整し、新しいタスクのニュアンスに適応しながら以前に学習した知識を保持する。仕組みの詳細は、fast.aiコースなどのリソースを参照してください。

微調整を使う理由

微調整にはいくつかの重要な利点がある:

  • トレーニング時間の短縮:事前にトレーニングされたモデルから始めることで、基本的なパターンをすでに理解しているため、ゼロからトレーニングするよりも大幅に時間を短縮することができます。
  • より少ないデータ要件:ファインチューニングは、大規模な初期データセットから得られた広範な知識に基づいて行われるため、限られたタスク固有のデータでも良い結果を得られることが多い。Kaggleのようなプラットフォームでは、ファインチューニングが重要な戦略であるコンペティションをよく開催しています。
  • パフォーマンスの向上:大規模なデータセットから学習された特徴を活用することで、特にターゲットデータセットが小さい場合、ファインチューニングはターゲットタスクの精度を高め、より良い汎化につながります。
  • アクセシビリティ:最初の事前トレーニングに必要な膨大な計算リソースを持っていないような実務家でも、最先端のモデルにアクセスできるようにする。 Hugging Faceは、微調整の準備が整った事前学習済みモデルの膨大なリポジトリを提供します。

プロセスを最適化するためのモデルトレーニングのヒントをご覧ください。

微調整と関連概念

ファインチューニングを同様のMLの概念と区別することは重要だ:

  • 転移学習これは、あるタスクから得た知識を、異なるが関連するタスクに適用するという広い概念である。微調整は、事前訓練されたモデルの重みを新しいタスクのデータでさらに訓練(調整)する、転移学習の特定の方法である。他の転移学習手法では、モデルを純粋に特徴抽出に使用することもある。Andrew Ngの機械学習コースなどのリソースからさらに学んでください。
  • 特徴抽出このアプローチでは、事前に訓練されたモデル(多くの場合、最終層は取り除かれている)が、固定された特徴抽出器として使用される。その出力(特徴)は、新しいデータセットでゼロからトレーニングされた、新しい、通常はより単純な、モデル(SVMや小規模なニューラルネットワークなど)に供給される。微調整とは異なり、事前に訓練されたモデルの重みは通常更新されない。
  • ハイパーパラメータのチューニングハイパーパラメータ・チューニングは、学習またはファインチューニングのプロセスを開始する前に、最適なハイパーパラメータ(学習率、バッチサイズエポック数、ネットワーク・アーキテクチャの選択など)のセットを見つけることを含む。学習プロセスの設定を最適化するのに対して、微調整はデータに基づいてモデルの重みを最適化する。Ultralytics Tunerのようなツールは、ハイパーパラメータの検索を自動化する。

実世界での応用

微調整はさまざまな領域で広く使われている:

  • 医療画像解析ImageNetで事前に訓練された視覚モデルは、肺炎や脳腫瘍のような特定の状態を検出するために、X線やCTスキャンの小さなデータセットで微調整することができます。これは、医療診断のために形状やテクスチャを認識するモデルの学習能力を活用するものである。この分野の研究は、しばしばarXivのようなプラットフォームで発表されている。
  • 特殊な物体検出 COCOで事前に訓練されたYOLOような一般的な物体検出器は、製造品質管理におけるAIの特定のタイプの欠陥や、野生動物保護のための特定の動物種など、ニッチな環境における特定のアイテムを識別するために微調整することができる。
  • カスタムチャットボットとテキスト分析: Google AI Blogで説明されている)やOpenAIの GPT-3のような大規模な言語モデルを、企業固有の文書や顧客サービスのログで微調整することで、特定の業界に特化した質問応答システムを作成したり、高精度の感情分析を実行したりすることができる。スタンフォードNLPグループは、NLP研究に大きく貢献している。

コンピュータ・ビジョンのコミュニティでより多くのアプリケーションを探索する。

Ultralytics YOLO モデルの微調整

Ultralytics 、YOLO モデルの微調整を強力にサポートします。ユーザーは、事前に訓練された重み(例えば、COCOで訓練されたモデルから)を簡単にロードし、検出、セグメンテーション、または分類のようなタスクのための独自のカスタムデータセットで訓練を続けることができます。Ultralytics ドキュメントにはトレーニングプロセスに関する詳細なガイドがあり、ユーザーは以下のような最先端のモデルを適応させることができます。 YOLO11のような最先端のモデルを特定のコンピュータビジョンの課題に適応させることができます。Ultralytics HUBのようなプラットフォームは、カスタムトレーニングプロセスをさらに効率化します。この適応性は、農業AIから ロボット工学まで、多様なアプリケーションで最適なパフォーマンスを達成する鍵となる。トランスファー学習技術に関するさらなる情報は、CourseraのDeep Learning Specializationのような教育プラットフォームや、Papers with Codeや Distill.pubのような研究洞察のサイトで見つけることができる。

すべて読む