Transfer Learning
転移学習を探求し、少ないデータで高精度なAIをトレーニングする方法を学びます。コンピュータビジョンプロジェクトを加速させるため、Ultralytics YOLO26の事前学習済みウェイトを活用しましょう。
転移学習はmachine learning (ML)における強力なテクニックであり、特定のタスク用に開発されたモデルを、2番目の関連するタスクのモデルの出発点として再利用します。膨大なデータセットと多大な計算能力を必要とするneural networkをゼロからトレーニングする代わりに、開発者はAIがすでに獲得している知識を活用します。このアプローチは人間の学習方法に似ており、たとえば、ピアノの弾き方を知っていると、音楽理論と指の器用さの基礎的理解が引き継がれるため、オルガンの学習がはるかに簡単になります。deep learningの文脈では、これはモデルがはるかに少ないデータと時間で新しい問題に対して高い精度を達成できることを意味します。
転移学習の仕組み#
転移学習の有効性は、feature extractionの階層的な性質にあります。ディープラーニングモデル、特にコンピュータビジョンで使用されるモデルは、レイヤー内のパターンを認識することを学習します。backboneの初期レイヤーは、エッジ、曲線、テクスチャなどのシンプルで普遍的な特徴を検出します。これらの低レベルの特徴は、ほとんどすべての視覚タスクに適用可能です。
このプロセスには通常、主に2つのフェーズがあります。
-
プレトレーニング: モデルは、一般的な視覚表現を学習するために、ImageNetなどの大規模なbenchmark datasetでトレーニングされます。これにより、視覚構造をすでに理解しているmodel weightsのセットが生成されます。
-
適応: 次に、プレトレーニング済みモデルが特定のニッチなタスクに適応されます。これは多くの場合、初期レイヤーを「凍結」し(重みを固定したままにして)、最終レイヤーまたはdetection headのみを、より小さくカスタムのデータセットで再トレーニングすることによって行われます。
実社会での応用#
転移学習は、大手テック企業の資源がなくても専門的なソリューションを構築できるようにすることで、AIの民主化を実現しました。
- AI in Healthcare: すべての特定の病気に対して何百万もの注釈付き医療画像を収集することは困難です。ただし、研究者は日常のオブジェクトでプレトレーニングされたモデルを採用し、それをmedical image analysisに適用できます。モデルは形状や異常を検出する能力を伝達し、高いprecisionでX線やMRIスキャン内の腫瘍を特定します。
- AI in Manufacturing: 産業環境では、目視検査システムが新しい製品ラインに素早く適応する必要があります。smart manufacturingのワークフローを活用してダウンタイムを最小限に抑えながら、一般化された欠陥検出モデルを急速に更新して、マイクロチップなどの特定の新しいコンポーネントの欠陥を発見できます。
他のコンセプトとの関係#
転移学習と密接に関連する用語を区別すると理解しやすくなります。
- vs. Fine-Tuning: ファインチューニングは、転移学習を実装するための特定の手法です。転移学習が知識を再利用するという包括的な概念である一方、ファインチューニングは、モデルの一部を凍結解除し、より低いlearning rateで新しいデータを使用してそれらをトレーニングするという機械的なプロセスを指します。
- vs. Zero-Shot Learning: 転移学習では、新しいタスクに対するいくつかのラベル付きデータを用いたトレーニングフェーズが必要です。対照的に、ゼロショット学習は、視覚的な例ではなくセマンティックな記述に依存することが多く、モデルがこれまでに見たことのないオブジェクトを分類しようと試みます。
実践的な例#
次のPythonのスニペットは、ultralyticsライブラリを使用した転移学習を示しています。COCOデータセットから派生したプレトレーニング済みの重みが付属しているYOLO26モデルを読み込みます。新しいデータセットでのトレーニングを開始すると、モデルは事前に学習した特徴を自動的に新しいタスクに転移させます。
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)データセットを管理し、クラウドでこれらのトレーニング実行を2つのプロセスで実行するために、Ultralytics Platformなどのツールがプロセスを合理化し、チームがデータの注釈付けや転移学習済みモデルの効率的なデプロイで協力できるようにします。
学術理論についてのより深い理解のために、Stanford CS231n notesが優れた概要を提供し、PyTorch Transfer Learning Tutorialは実装のための広範な技術的詳細を提供します。






