Yolo 深圳
深セン
今すぐ参加
用語集

転移学習

転移学習の力を解き放ち、時間を節約し、AIのパフォーマンスを高め、事前トレーニング済みのモデルを使用して限られたデータで新しいタスクに取り組みます。

転移学習とは、あるタスクのために開発されたモデルを、関連する第2のタスクのモデルの出発点として再利用する機械学習手法である。 として再利用する機械学習手法である。膨大な学習データと計算資源を必要とするモデルをゼロから学習する代わりに 必要とする。 学習は、元となるタスクから学習された特徴マップ、重み、パターンなどの知識を活用する。このアプローチ は、現代のディープラーニングの基礎となっている、 特にコンピュータ・ビジョン(CV)において、開発者は 開発者は少ないデータと短い学習時間で 開発者は、より少ないデータと短い学習時間で高い精度を達成することができます。

転移学習の仕組み

このプロセスは、ニューラルネットワークの能力に依存している。 このプロセスは、ニューラルネットワークが階層的な特徴表現 に依存している。モデルの初期層(しばしばバックボーンと呼ばれる)では、ネットワークは普遍的な視覚的特徴を学習する。 バックボーンと呼ばれる。 を学習する。これらの特徴は、ほとんどすべての視覚タスクに適用できる。

転移学習には通常、主に2つの段階がある:

  1. 事前トレーニング:モデルは ベンチマークデータセット ImageNet(分類用)または COCO(検出用)。その結果 訓練済みモデルは、一般的な視覚構造をロバストに理解する。
  2. 微調整:事前に訓練されたモデルを新しい特定のタスクに適応させる。ファインチューニング ファインチューニングの間、モデルはより小さなタスク固有のデータセットで学習される、 タスク固有のデータセットで学習される。多くの場合、学習された特徴を保持するために、初期層の重みは「フリーズ」される。 学習された特徴を保持するために、初期層の重みは "凍結 "される。 検出ヘッドまたは分類器)のみが更新される。

より深く理論的に掘り下げるには スタンフォード大学のCS231nの「転移学習」ノートは を参照されたい。

利点と妥当性

転移学習は、データ不足という一般的な課題に対処する。事前に学習された特徴量から開始することで、モデルは小さなデータセットでのオーバーフィッティングを回避し 小さなデータセットでのオーバーフィッティングを回避し、ランダムな重みで初期化されたモデルよりもはるかに速く収束する。 に収束する。

  • 効率トレーニング時間を 数日から数時間に短縮。
  • パフォーマンス多くの場合、より高い収穫 精度 が高くなることが多い。 画像に対する「常識的な」理解から始まるため。
  • アクセシビリティ:ハイテク企業が使用するような大規模なコンピュート・クラスターを必要とせずに、強力なAIアプリケーションを作成できる。 クラスターを必要としない。

実際のアプリケーション

転移学習は、さまざまな業界で広く使われているAIソリューションの原動力となっている。 を支えている:

  • 医用画像解析:一般的な画像(犬や猫など)に対して事前に訓練されたモデルを、X線やMRIスキャンの異常をdetect ために微調整する。 スキャンの異常を検出するために微調整される。例えば、研究者は YOLO11を使っている。 脳腫瘍のdetect を高い精度で検出する。
  • 農業AI:一般的な物体検出モデルを 特定の作物の病気を特定したり、植物の健康を監視するために適応させることができる。これにより、以下のような精密農業ツールが可能になる。 熟した果実 や雑草をリアルタイムで検出する精密農業ツールが可能になる。

転移学習と関連概念

トランスファー学習を類似の用語と区別することは有益である:

  • ゼロショット学習:転移学習は、モデルを微調整するために、新しいタスクのラベル付きデータを必要とする。これとは対照的である、 ゼロショット学習は、モデルが見たことのないオブジェクトをclassify しようとするもので、意味的な記述や属性だけに頼る。 意味的記述や属性にのみ依存する。
  • 知識蒸留:知識の蒸留:知識の蒸留はモデルの圧縮に重点を置く。 知識を大きな「教師」モデルから小さな「生徒」モデルに転送し、効率を向上させる。転移学習はドメイン適応に焦点を当てる、 知識を一般的なタスクから特定のタスクに移す。

実例

以下の通りである。 Python を使った転移学習の適用方法を示している。 その ultralytics ライブラリに追加します。COCO 事前に訓練されたYOLO11 モデルをロードし、サンプルデータセットで微調整を行う。

from ultralytics import YOLO

# Load a pre-trained model (weights derived from the COCO dataset)
# This acts as our starting point for transfer learning
model = YOLO("yolo11n.pt")

# Fine-tune the model on a new dataset (e.g., COCO8)
# The model adapts its pre-learned features to the specific data
model.train(data="coco8.yaml", epochs=5)

# The updated model can now be used for inference on the new task
model.predict("path/to/image.jpg")

実装の詳細については、公式の PyTorch 転送学習チュートリアル またはTensorFlow Transfer Learning Guideを参照してください。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加