Scopri come l'aritmetica delle attività utilizza gli aggiornamenti dei pesi per modificare il comportamento del modello. Impara a unire attività o a disimparare caratteristiche in Ultralytics senza dover ricorrere a un riaddestramento completo.
L'aritmetica dei compiti è una tecnica avanzata di apprendimento automatico che consiste nel modificare il comportamento di reti neurali pre-addestrate aggiungendo o sottraendo specifici aggiornamenti dei pesi. Anziché riaddestrare completamente un modello da zero, gli esperti possono isolare le differenze apprese tra un modello di base e un modello ottimizzato. Queste differenze sono essenzialmente aggiornamenti direzionali che racchiudono una specifica capacità o comportamento. Applicando operazioni matematiche di base come l'addizione e la sottrazione a questi aggiornamenti, gli sviluppatori possono modificare dinamicamente i sistemi di deep learning. Questo paradigma ha acquisito notevole popolarità nelle recenti ricerche su arXiv relative all'aritmetica dei compiti, offrendo un metodo leggero ed efficiente in termini di calcolo per adattare modelli su larga scala a nuovi requisiti.
Il fondamento di questa tecnica si basa sul calcolo della differenza nei pesi del modello tra un modello di base pre-addestrato e una versione che è stata sottoposta a fine-tuning su uno specifico set di dati. Questa differenza isolata diventa una rappresentazione localizzata della nuova competenza. Manipolandodirettamente i dizionari PyTorch o utilizzando le metodologieTensorFlow , gli ingegneri possono scalare e combinare queste differenze di peso. Ad esempio, sottrarre un aggiornamento di peso specifico può costringere un modello a "dimenticare" un comportamento appreso, un concetto ampiamente esplorato nella Anthropic sulla sicurezza dei modelli.
L'aritmetica delle attività consente di implementare diversi flussi di lavoro altamente efficienti nelle moderne pipeline di visione artificiale e di elaborazione del linguaggio naturale :
Quando si consultano gli archivi di IEEE Xplore o la biblioteca digitale dell'ACM, è facile confondere l'aritmetica delle attività con le metodologie correlate:
L'applicazione pratica di queste strategie di ottimizzazione dei modelli richiede una gestione accurata dello stato interno del modello. Di seguito è riportato un esempio di calcolo e applicazione di un aggiornamento utilizzando PyTorch, una tecnica spesso trattata nei recenti articoli di ricerca sulla visione artificiale.
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vector
Per i team che gestiscono complesse pipeline di annotazione dei dati e diverse versioni ottimizzate dei modelli, la Ultralytics offre un ambiente semplificato per supervisionare l'addestramento nel cloud e l'implementazione senza interruzioni, rendendo la gestione dei miglioramenti iterativi dei modelli molto più efficiente.
Inizia il tuo viaggio con il futuro del machine learning