Ultralytics YOLO27:
Torna al glossario di Ultralytics

Stochastic Gradient Descent (SGD)

Scopri come la Stochastic Gradient Descent (SGD) ottimizzi i modelli di machine learning. Scopri come SGD alimenti Ultralytics YOLO26 per un addestramento AI più rapido ed efficiente.

La discesa del gradiente stocastico (SGD) è un potente algoritmo di ottimizzazione ampiamente utilizzato nel machine learning per addestrare i modelli in modo efficiente, soprattutto quando si lavora con dataset di grandi dimensioni. Al suo livello fondamentale, SGD è una variante del metodo standard della discesa del gradiente, progettata per accelerare il processo di apprendimento aggiornando più frequentemente i parametri del modello. Invece di calcolare l'errore sull'intero dataset prima di eseguire un singolo aggiornamento, come avviene nella tradizionale discesa del gradiente a batch, SGD aggiorna i pesi del modello utilizzando un solo esempio di addestramento selezionato casualmente alla volta. Questa natura «stocastica», o casuale, introduce rumore nel percorso di ottimizzazione, aiutando il modello a sfuggire a soluzioni subottimali e a convergere più rapidamente su dataset enormi, nei quali elaborare tutti i dati contemporaneamente è computazionalmente proibitivo.

Come funziona la discesa del gradiente stocastico#

L'obiettivo principale di qualsiasi processo di addestramento è minimizzare una funzione di perdita, che quantifica la differenza tra le previsioni del modello e i valori target effettivi. SGD raggiunge questo obiettivo attraverso un ciclo iterativo. Innanzitutto, l'algoritmo seleziona casualmente un punto dati dai dati di addestramento. Esegue quindi un passaggio forward per generare una previsione e calcola l'errore. Utilizzando la retropropagazione, l'algoritmo calcola il gradiente, ovvero la pendenza del panorama dell'errore, sulla base di quel singolo esempio. Infine, aggiorna i pesi del modello nella direzione opposta a quella del gradiente per ridurre l'errore.

Questo processo viene ripetuto per molte iterazioni, spesso raggruppate in epoche, finché le prestazioni del modello non si stabilizzano. L'ampiezza di questi aggiornamenti è controllata da un iperparametro noto come tasso di apprendimento. Poiché ogni passaggio si basa su un solo campione, il percorso verso il minimo è spesso a zigzag o rumoroso rispetto alla traiettoria uniforme della discesa del gradiente a batch. Tuttavia, questo rumore è spesso vantaggioso nel deep learning, poiché può impedire al modello di rimanere bloccato in un minimo locale, portando potenzialmente a una soluzione globale migliore.

SGD a confronto con altri algoritmi di ottimizzazione#

Comprendere le differenze tra SGD e i relativi algoritmi di ottimizzazione è fondamentale per selezionare la strategia di addestramento giusta.

  • Discesa del gradiente a batch: questo metodo tradizionale calcola il gradiente utilizzando l'intero dataset per ogni singolo aggiornamento. Sebbene offra un percorso stabile e diretto verso il minimo, è estremamente lento e richiede molta memoria per le attività di machine learning (ML) su larga scala.
  • Discesa del gradiente a mini-batch: nella pratica, la maggior parte dei moderni framework di deep learning, tra cui PyTorch, implementa un approccio ibrido spesso indicato come SGD, ma tecnicamente definito più precisamente «SGD a mini-batch». Questo metodo aggiorna i parametri utilizzando un piccolo gruppo di campioni (un batch) anziché uno solo. Bilancia l'efficienza computazionale dell'SGD puro con la stabilità della discesa del gradiente a batch, rendendolo lo standard per l'addestramento di modelli come YOLO26.
  • Ottimizzatore Adam: Adam è un algoritmo di ottimizzazione con tasso di apprendimento adattivo che si basa su SGD. Regola il tasso di apprendimento per ciascun parametro individualmente sulla base di stime dei momenti. Sebbene Adam converga spesso più rapidamente, SGD con momentum è ancora utilizzato di frequente nella visione artificiale (CV) per la sua capacità di trovare soluzioni più generalizzabili in determinati scenari.

Applicazioni nel mondo reale#

SGD e le sue varianti sono alla base di molte delle tecnologie di intelligenza artificiale più trasformative utilizzate oggi.

  1. Veicoli autonomi: nello sviluppo dei veicoli autonomi, i modelli devono elaborare enormi flussi di dati visivi per identificare pedoni, segnali stradali e ostacoli. L'addestramento di queste sofisticate reti per il rilevamento degli oggetti richiede un'ottimizzazione efficiente per gestire milioni di immagini stradali. SGD consente agli ingegneri di perfezionare iterativamente la precisione del modello, garantendo che i sistemi critici per la sicurezza nell'intelligenza artificiale nel settore automobilistico possano prendere decisioni affidabili in tempo reale.

  2. Diagnostica medica: il campo dell'analisi delle immagini mediche si affida fortemente al deep learning per rilevare anomalie come tumori nelle scansioni MRI o nelle radiografie. Poiché i dataset medici possono essere enormi e ad alta risoluzione, SGD consente di addestrare complesse reti neurali convoluzionali (CNN) senza sovraccaricare le risorse di memoria. Questo facilita la creazione di strumenti diagnostici ad alta precisione che assistono i medici nell'intelligenza artificiale nel settore sanitario.

Esempio di codice Python#

Sebbene librerie di alto livello come ultralytics gestiscano internamente l'ottimizzazione durante il comando train(), puoi vedere come un ottimizzatore SGD viene inizializzato e utilizzato in un workflow PyTorch di livello inferiore. Questo frammento mostra la definizione di un semplice ottimizzatore SGD per un tensore.

import torch
import torch.nn as nn
import torch.optim as optim

# Define a simple linear model
model = nn.Linear(10, 1)

# Initialize Stochastic Gradient Descent (SGD) optimizer
# 'lr' is the learning rate, and 'momentum' helps accelerate gradients in the right direction
optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9)

# Create a dummy input and target
data = torch.randn(1, 10)
target = torch.randn(1, 1)

# Forward pass
output = model(data)
loss = nn.MSELoss()(output, target)

# Backward pass and optimization step
optimizer.zero_grad()  # Clear previous gradients
loss.backward()  # Calculate gradients
optimizer.step()  # Update model parameters
print("Model parameters updated using SGD.")

Sfide e soluzioni#

Nonostante la sua popolarità, SGD presenta alcune difficoltà. Il problema principale è il rumore nei passaggi del gradiente, che può causare ampie oscillazioni della perdita invece di una convergenza uniforme. Per attenuare questo effetto, chi opera nel settore utilizza spesso il momentum, una tecnica che contribuisce ad accelerare SGD nella direzione pertinente e a smorzare le oscillazioni, in modo simile a una palla pesante che rotola giù da una collina. Inoltre, trovare il tasso di apprendimento corretto è fondamentale: se è troppo alto, il modello potrebbe oltrepassare il minimo (gradiente esplosivo), mentre se è troppo basso, l'addestramento sarà estremamente lento. Strumenti come la Ultralytics Platform aiutano ad automatizzare questo processo gestendo il tuning degli iperparametri e fornendo visualizzazioni delle metriche di addestramento. Progressi come l'ottimizzatore Adam automatizzano essenzialmente la regolazione del tasso di apprendimento, affrontando alcune delle difficoltà intrinseche di SGD.

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning