Scopri come i pesi dei modelli fungono da conoscenza dell'IA. Scopri come Ultralytics utilizza pesi ottimizzati per un addestramento e un'inferenza più rapidi e accurati.
I pesi del modello sono i parametri apprendibili all'interno di un modello di apprendimento automatico che trasformano i dati di input in output previsti . In una rete neurale, questi pesi rappresentano la forza delle connessioni tra i neuroni attraverso diversi livelli. Quando un modello viene inizializzato, questi pesi sono solitamente impostati su valori casuali e piccoli, il che significa che il modello non "sa" nulla. Attraverso un processo chiamato addestramento, il modello regola iterativamente questi pesi in base agli errori che commette, imparando gradualmente a riconoscere modelli, caratteristiche e relazioni all'interno dei dati. Si può pensare ai pesi del modello come alla "memoria" o alla "conoscenza" dell'IA; essi memorizzano ciò che il sistema ha appreso dai suoi dati di addestramento.
L'obiettivo principale dell'addestramento di una rete neurale è trovare l'insieme ottimale di pesi del modello che riduca al minimo l'errore tra le previsioni del modello e la realtà effettiva. Questo processo prevede il passaggio dei dati attraverso la rete, una fase nota come passaggio in avanti, e quindi il calcolo di un valore di perdita utilizzando una specifica funzione di perdita. Se la previsione è errata, un algoritmo di ottimizzazione come lo Stochastic Gradient Descent (SGD) o il più recente ottimizzatore Muon utilizzato in YOLO26 calcola quanto ciascun peso ha contribuito all'errore.
Attraverso una tecnica chiamata retropropagazione, l' algoritmo aggiorna leggermente i pesi per ridurre l'errore per la volta successiva. Questo ciclo si ripete migliaia o milioni di volte fino a quando i pesi del modello si stabilizzano e il sistema raggiunge un'elevata precisione. Una volta completato l'addestramento, i pesi vengono "congelati" e salvati, consentendo al modello di essere implementato per l' inferenza su dati nuovi e non visti.
È importante distinguere tra weights and biases, poiché funzionano insieme ma hanno scopi diversi. Mentre i pesi del modello determinano la forza e la direzione della connessione tra i neuroni (controllando la pendenza dell'attivazione), i bias consentono di spostare la funzione di attivazione a sinistra o a destra. Questo offset assicura che il modello possa adattarsi meglio ai dati, anche quando tutte le caratteristiche di input sono zero. Insieme, pesi e bias formano i parametri apprendibili che definiscono il comportamento di architetture come le reti neurali convoluzionali (CNN).
I pesi dei modelli sono il componente fondamentale che consente ai sistemi di IA di funzionare in vari settori. Ecco due esempi concreti di come vengono applicati:
In pratica, lavorare con i pesi del modello comporta il salvataggio dei parametri addestrati in un file e il loro successivo caricamento per la
predizione o fine-tuningUltralytics
'ecosistema Ultralytics
, questi sono tipicamente memorizzati come .pt (PyTorch) file.
Ecco un semplice esempio di come caricare pesi pre-addestrati in un YOLO ed eseguire una previsione:
from ultralytics import YOLO
# Load a model with pre-trained weights (e.g., YOLO26n)
model = YOLO("yolo26n.pt")
# Run inference on an image using the loaded weights
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")
Uno degli aspetti più potenti dei pesi dei modelli è la loro portabilità. Invece di addestrare un modello da zero, operazione che richiede enormi set di dati e una notevole potenza di calcolo, gli sviluppatori spesso utilizzano il transfer learning. Ciò comporta l'utilizzo di un modello con pesi pre-addestrati su un ampio set di dati come COCO o ImageNet e adattarlo a un compito specifico.
Ad esempio, è possibile prendere i pesi da un rilevatore di oggetti generico e ottimizzarli su un set di dati più piccolo di pannelli solari. Poiché i pesi pre-addestrati comprendono già i bordi, le forme e le texture, il modello converge molto più rapidamente e richiede meno dati etichettati. Strumenti come la Ultralytics semplificano questo processo, consentendo ai team di gestire i set di dati, addestrare i modelli sul cloud e distribuire pesi ottimizzati sui dispositivi edge in modo trasparente.
La ricerca moderna sull'intelligenza artificiale si concentra spesso sulla riduzione delle dimensioni dei file dei pesi dei modelli senza sacrificare le prestazioni, un processo noto come quantizzazione dei modelli. Riducendo la precisione dei pesi (ad esempio, da 32 bit in virgola mobile a 8 bit interi), gli sviluppatori possono diminuire significativamente l' utilizzo della memoria e migliorare la velocità di inferenza. Ciò è fondamentale per l'implementazione di modelli su hardware con risorse limitate come telefoni cellulari o dispositivi Raspberry Pi. Inoltre, tecniche come il pruning rimuovono i pesi che contribuiscono in misura minima all'output, ottimizzando ulteriormente il modello per applicazioni in tempo reale.