Model Weights
Scopri come i pesi del modello rappresentano la conoscenza dell'AI. Esplora come Ultralytics YOLO26 utilizza pesi ottimizzati per un training e un'inferenza più rapidi e accurati.
I pesi del modello sono i parametri apprendibili all'interno di un modello di machine learning che trasformano i dati di input in output previsti. In una rete neurale, questi pesi rappresentano la forza delle connessioni tra i neuroni nei diversi strati. Quando un modello viene inizializzato, questi pesi sono generalmente 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 schemi, caratteristiche e relazioni nei dati. Puoi considerare i pesi del modello come la "memoria" o la "conoscenza" dell'AI: memorizzano ciò che il sistema ha appreso dai suoi dati di addestramento.
Il ruolo dei pesi nell'apprendimento#
L'obiettivo principale dell'addestramento di una rete neurale è trovare l'insieme ottimale di pesi del modello che minimizzi l'errore tra le previsioni del modello e la verità di riferimento effettiva. Questo processo prevede il passaggio dei dati attraverso la rete, un'operazione nota come passaggio in avanti, seguito dal calcolo di un valore di perdita utilizzando una specifica funzione di perdita. Se la previsione è errata, un algoritmo di ottimizzazione come la discesa del gradiente stocastico (SGD) o il più recente ottimizzatore Muon utilizzato in YOLO26 calcola quanto ciascun peso abbia contribuito all'errore.
Attraverso una tecnica chiamata retropropagazione, l'algoritmo aggiorna leggermente i pesi per ridurre l'errore all'iterazione successiva. Questo ciclo si ripete migliaia o milioni di volte, finché i pesi del modello si stabilizzano e il sistema raggiunge un'elevata accuratezza. Una volta completato l'addestramento, i pesi vengono "congelati" e salvati, consentendo di distribuire il modello per l'inferenza su dati nuovi e mai osservati.
Pesi del modello e bias#
È importante distinguere tra pesi e bias, poiché lavorano insieme ma svolgono funzioni diverse. 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 verso sinistra o verso destra. Questo offset garantisce che il modello possa adattarsi meglio ai dati, anche quando tutte le caratteristiche di input sono pari a zero. Insieme, pesi e bias formano i parametri apprendibili che definiscono il comportamento di architetture come le reti neurali convoluzionali (CNN).
Applicazioni nel mondo reale#
I pesi del modello sono il componente fondamentale che consente ai sistemi di AI di funzionare in diversi settori. Ecco due esempi concreti di come vengono applicati:
- Visione artificiale nel commercio al dettaglio: in un sistema di supermercato intelligente, un modello come YOLO26 utilizza i propri pesi addestrati per identificare i prodotti sugli scaffali. I pesi hanno "imparato" caratteristiche visive, come la forma di una confezione di cereali o il colore di una lattina di bibita, consentendo al sistema di rilevare gli articoli, gestire l'inventario e persino facilitare in modo efficiente i processi di pagamento automatizzato.
- Analisi di immagini mediche: in ambito sanitario, i modelli di deep learning utilizzano pesi specializzati per analizzare radiografie o scansioni MRI. Ad esempio, un modello addestrato per il rilevamento dei tumori utilizza i propri pesi per distinguere tra tessuti sani e potenziali anomalie. Questi pesi catturano schemi complessi e non lineari nei dati dei pixel che potrebbero essere impercettibili all'occhio umano, aiutando i radiologi a formulare diagnosi più rapide.
Salvataggio e caricamento dei pesi#
Nella pratica, lavorare con i pesi del modello significa salvare i parametri addestrati in un file e caricarli in un secondo momento per effettuare previsioni o fine-tuning. Nell'ecosistema Ultralytics, questi vengono generalmente memorizzati come file .pt (PyTorch).
Ecco un semplice esempio di come caricare pesi pre-addestrati in un modello 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.")Apprendimento per trasferimento e fine-tuning#
Uno degli aspetti più potenti dei pesi del modello è la loro portabilità. Invece di addestrare un modello da zero, operazione che richiede enormi dataset e una notevole potenza di calcolo, gli sviluppatori utilizzano spesso il transfer learning. Questo processo consiste nel prendere un modello con pesi pre-addestrati su un grande dataset come COCO o ImageNet e adattarlo a un'attività specifica.
Ad esempio, potresti prendere i pesi di un rilevatore generico di oggetti e sottoporli a fine-tuning su un dataset più piccolo di pannelli solari. Poiché i pesi pre-addestrati riconoscono già bordi, forme e texture, il modello converge molto più rapidamente e richiede meno dati annotati. Strumenti come la Ultralytics Platform semplificano questo processo, consentendo ai team di gestire i dataset, addestrare i modelli nel cloud e distribuire senza problemi pesi ottimizzati sui dispositivi edge.
Compressione e ottimizzazione#
La ricerca moderna sull'AI si concentra spesso sulla riduzione delle dimensioni dei file dei pesi del modello senza sacrificare le prestazioni, un processo noto come quantizzazione del modello. Riducendo la precisione dei pesi, ad esempio da valori in virgola mobile a 32 bit a interi a 8 bit, gli sviluppatori possono diminuire significativamente l'utilizzo della memoria e migliorare la velocità di inferenza. Questo è fondamentale per distribuire i modelli su hardware con risorse limitate, come telefoni cellulari o dispositivi Raspberry Pi. Inoltre, tecniche come il pruning rimuovono i pesi che contribuiscono poco all'output, ottimizzando ulteriormente il modello per le applicazioni in tempo reale.









