Sblocca la potenza del transfer learning per risparmiare tempo, migliorare le prestazioni dell'AI e affrontare nuove attività con dati limitati utilizzando modelli pre-addestrati.
L'apprendimento per trasferimento è una tecnica di apprendimento automatico in cui un modello sviluppato per un compito viene riutilizzato come punto di partenza per un modello su un secondo compito correlato. per un modello su un secondo compito correlato. Invece di addestrare un modello da zero, che richiede grandi quantità di dati di addestramento e di risorse di dati di addestramento e di risorse computazionali, l'apprendimento l'apprendimento per trasferimento sfrutta la conoscenza, come le mappe di caratteristiche, i pesi e i modelli appresi da un compito di partenza. Questo approccio è una pietra miliare del moderno deep learning, in particolare nella computer vision (CV), consentendo agli di ottenere un'elevata accuratezza con un numero dati e tempi di addestramento più brevi.
Il processo si basa sulla capacità delle reti neurali di apprendere rappresentazioni gerarchiche di gerarchiche. Negli strati iniziali di un modello, spesso chiamati "spina dorsale", la rete apprende caratteristiche visive universali. dorsale, la rete apprende le caratteristiche visive universali come bordi, texture e forme. Queste caratteristiche sono applicabili a quasi tutti i compiti visivi.
L'apprendimento per trasferimento comporta in genere due fasi principali:
Per un'immersione teorica più approfondita, gli appunti di Stanford CS231n sull'apprendimento per trasferimento è una eccellente risorsa.
L'apprendimento per trasferimento affronta la sfida comune della scarsità di dati. Partendo da caratteristiche pre-apprese, i modelli evitano di di overfitting su insiemi di dati di piccole dimensioni e convergono molto più velocemente molto più velocemente rispetto ai modelli inizializzati con pesi casuali.
L'apprendimento per trasferimento alimenta soluzioni di IA ampiamente utilizzate in vari settori:
È utile distinguere l'apprendimento per trasferimento da termini simili:
Il seguente Python L'esempio dimostra come applicare l'apprendimento per trasferimento utilizzando
il ultralytics biblioteca. Carichiamo un modello YOLO11 pre-addestrato su COCO e lo mettiamo a punto su un set di dati campione.
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")
Per maggiori dettagli sull'implementazione, consultare il tutorial ufficiale di Tutorial sull'apprendimento per trasferimento diPyTorch o alla Guida all'apprendimento per trasferimento diTensorFlow .