Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

GELU (Gaussian Error Linear Unit)

GELU (unità lineare dell'errore gaussiano) ridimensiona ogni input in base alla CDF normale: è un'attivazione uniforme usata in BERT, GPT-2 e nei transformer per la visione. Include codice.

L'unità lineare gaussiana dell'errore (GELU) è una funzione di attivazione definita come GELU(x) = x · Φ(x), dove Φ è la funzione di distribuzione cumulativa della distribuzione normale standard. Pondera ogni input in base alla probabilità che una variabile normale standard assuma un valore inferiore, quindi gli input positivi grandi passano quasi invariati, quelli negativi grandi tendono a zero e quelli vicini a zero vengono scalati di circa la metà. Dan Hendrycks e Kevin Gimpel l'hanno introdotta nell'articolo del 2016 Gaussian Error Linear Units (GELUs). GELU è diventata la funzione di attivazione standard nei modelli transformer come BERT, GPT-2, GPT-3 e il vision transformer (ViT), dove si trova tra i due livelli lineari di ogni blocco feed-forward.

Come funziona GELU#

Hendrycks e Gimpel hanno derivato GELU dalla regolarizzazione stocastica. Immagina di moltiplicare ogni input x per una maschera casuale che lo mantiene con probabilità Φ(x) e lo azzera altrimenti, come il dropout con una probabilità di mantenimento che cresce con l'input. GELU è il valore atteso di questa operazione, Φ(x) · x, quindi regola gli input gradualmente in base al loro valore, mentre ReLU li regola bruscamente in base al segno.

La curva risultante ha tre proprietà importanti per l'addestramento:

  • Liscia ovunque: GELU e la sua derivata sono continue, senza spigoli in corrispondenza dello zero; perciò piccole variazioni dei pesi producono piccole variazioni dell'output durante la retropropagazione.
  • Non monotona: Per gli input negativi, l'output prima diminuisce e poi risale verso zero, raggiungendo un minimo di circa −0,17 in x ≈ −0,75.
  • Gradiente per gli input negativi: Le unità con input moderatamente negativi continuano a ricevere un gradiente e quindi ad apprendere, mentre le unità ReLU smetterebbero di farlo.

Poiché Φ coinvolge la funzione errore, sono comuni due approssimazioni. La forma tanh, 0.5x(1 + tanh(√(2/π)(x + 0.044715x³))), si discosta dalla GELU esatta di circa 0,0005 al massimo ed è stata usata in GPT-2. La forma sigmoide, x · σ(1.702x), si discosta di circa 0,02 al massimo ed è la QuickGELU usata in CLIP di OpenAI. nn.GELU di PyTorch calcola per impostazione predefinita la forma esatta e la forma tanh con approximate="tanh":

import torch
from torch import nn

x = torch.tensor([-3.0, -1.0, -0.75, 0.0, 1.0, 3.0])

# Exact GELU: x * Phi(x), where Phi is the standard normal CDF
exact = nn.GELU()(x)

# Tanh approximation, as used in GPT-2
approx = nn.GELU(approximate="tanh")(x)

print(f"GELU exact: {[round(v, 4) for v in exact.tolist()]}")
print(f"GELU tanh:  {[round(v, 4) for v in approx.tolist()]}")
print(f"ReLU:       {nn.ReLU()(x).tolist()}")

La GELU esatta stampa [-0.004, -0.1587, -0.17, 0.0, 0.8413, 2.996], la forma tanh [-0.0036, -0.1588, -0.17, 0.0, 0.8412, 2.9964] e ReLU [0.0, 0.0, 0.0, 0.0, 1.0, 3.0]. GELU produce −0,17 al minimo vicino a −0,75, mappa 1 in 0,8413 perché Φ(1) = 0,8413 e quasi coincide con ReLU in ±3. Le due forme di GELU differiscono solo alla quarta cifra decimale.

Dove si usa GELU#

  • Modelli GPT: Il primo GPT di OpenAI usava GELU nel 2018, e GPT-2 e GPT-3 l'hanno mantenuta.
  • BERT: Seguendo GPT, BERT di Google ha scelto GELU al posto di ReLU e la maggior parte degli encoder in stile BERT la usa ancora.
  • Vision transformer: ViT applica GELU nell'MLP di ogni blocco encoder; molti backbone per la visione l'hanno seguito, tra cui ConvNeXt, che ha sostituito ReLU con GELU modernizzando ResNet.
  • Transformer per il rilevamento: Nel pacchetto Ultralytics, l'encoder transformer AIFI di RT-DETR, il transformer di Baidu per il rilevamento in tempo reale, applica GELU tra i due livelli feed-forward.

Molti modelli linguistici di grandi dimensioni (LLMs) recenti sono passati dalla GELU semplice ai livelli feed-forward con gating. Gemma di Google usa GEGLU, che moltiplica una proiezione attivata da GELU per una seconda proiezione lineare; Llama, PaLM e Qwen usano SwiGLU, basata su SiLU.

  • ReLU: max(0, x) è meno costosa, produce zeri esatti e presenta uno spigolo in corrispondenza dello zero. L'articolo su GELU ha riportato miglioramenti rispetto a ReLU ed ELU in ogni attività di visione artificiale, elaborazione del linguaggio naturale e riconoscimento vocale testata.
  • SiLU (Swish): x · σ(x) ha una forma generale simile, con un minimo più profondo di circa −0,28. GELU è la scelta abituale nei transformer, mentre SiLU è più comune nei rilevatori convoluzionali.
  • Leaky ReLU: Mantiene una pendenza lineare fissa per gli input negativi, mentre il lato negativo di GELU è una curva che torna verso zero.
  • GEGLU: La variante con gating aggiunge una seconda proiezione appresa. Nel confronto di Noam Shazeer del 2020 su T5, i livelli feed-forward GEGLU hanno raggiunto una log-perplessità di 1,633 sul set di validazione, contro 1,679 per GELU e 1,677 per ReLU, a parità di numero di parametri.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui 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 visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning