Contents — find the section you need

Lo strato l può essere scritto come h_{l+1}=\phi(W_lh_l+b_l). Senza la trasformazione non lineare \phi, gli strati sovrapposti si riducono a una singola trasformazione lineare. L'apprendimento retropropaga il gradiente della funzione di perdita L e lo aggiorna tramite \theta\leftarrow\theta-\eta\nabla_\theta L.

Diagram 1 · Use the button to switch views
Forward and backward neural network flowInput passes through hidden layers to prediction and loss; gradients flow in reverse.input xhidden hprediction ŷloss L

Diagramma: Duskcoil, concettuale piuttosto che una particolare architettura misurata.

Attivazione, normalizzazione, connessioni residue, e rappresentazione e ottimizzazione del cambiamento di attenzione. L'aumento dei dati, il decadimento dei pesi, l'arresto anticipato e la suddivisione valida aiutano a monitorare la generalizzazione; una perdita di addestramento inferiore non garantisce sicurezza o equità.

Elemento Ruolo Monitora
Attivazione Aggiunge rappresentazione non lineare saturazione e unità morte
Ottimizzatore Aggiorna i parametri dai gradienti tasso di apprendimento e stabilità numerica
Regolarizzazione Supporta la generalizzazione non può prevenire la perdita di dati di test

Perdite, livelli di output e stabilità numerica

Posizionando la funzione softmax alla fine di un classificatore, la probabilità della classe k diventa p_k=\exp z_k/\sum_j\exp z_j. Con l'etichetta vera come one-hot y, l'entropia incrociata L=-\sum_k y_k\log p_k è . Le implementazioni evitano di calcolare \exp z direttamente, utilizzando invece un trucco log-sum-exp che sottrae il logit massimo: questo evita l'overflow dell'esponente su logit elevati e la trasformazione della perdita in NaN. Per la regressione, l'errore quadratico, che è sensibile agli outlier, non è l'unica opzione: anche la perdita di Huber è una valida alternativa. Una perdita non è semplicemente "un'espressione che rende piccolo un numero", ma una specifica di quali errori operativi debbano essere penalizzati maggiormente.

L'ottimizzazione a mini-batch introduce rumore di campionamento. Gli ottimizzatori adattivi come Adam possono semplificare l'addestramento iniziale, ma il tasso di apprendimento, il decadimento dei pesi, la dimensione del batch e la pianificazione influenzano la generalizzazione. Fissare un seed casuale da solo non è sufficiente quando i kernel GPU, l'ordine dei dati, la preelaborazione e le versioni delle librerie differiscono. Archiviare dati, codice, ambiente, pesi e codice di valutazione in un'unica release.

Confronto tra architetture comuni

Architettura Punti di forza Input tipico Errore comune
MLP Semplice per caratteristiche a lunghezza fissa tabelle e caratteristiche dei sensori scarta la struttura spaziale o temporale
CNN Sfrutta la località immagini e griglie risoluzione e spostamento di acquisizione
RNN/modello a spazio di stato Mantiene lo stato ordinato serie temporali e audio dipendenze lunghe e inizializzazione
Transformer Condizionamento a lungo raggio testo, immagini, input multimodale calcolo, provenienza, output non supportato

Un'architettura più elaborata non può correggere un'etichetta ambigua. Un'etichetta di errore creata dopo la manutenzione, ad esempio, può consentire l'inserimento di campi post-evento nell'addestramento. L'accuratezza offline misura quindi l'accesso al futuro. L'addestramento e la distribuzione dovrebbero condividere il codice delle caratteristiche e ogni caratteristica deve essere verificata per la disponibilità alla scadenza della previsione.

Esempio di errore: l'illusione di un'elevata accuratezza

La suddivisione casuale delle immagini può posizionare lo stesso prodotto, sfondo o fotogrammi video adiacenti sia nei set di addestramento che in quelli di test. La rete memorizza quindi le condizioni di acquisizione. Una perdita simile si verifica con medie mobili future, pazienti o macchine ripetuti e dati geografici vicini siti. Escludere periodi futuri, strutture indipendenti, dispositivi o entità.

Un secondo errore è trattare una probabilità come una decisione. Un punteggio di 0,9 non è automaticamente pericoloso. Verificare se gli esempi con un punteggio vicino a 0,9 sono positivi con una frequenza approssimativamente simile, quindi scegliere le soglie in base ai costi di falso allarme, mancata rilevazione e revisione. Prevedere un percorso di astensione quando la qualità dell'input è inadeguata o il caso è fuori distribuzione.

Procedura di implementazione

  1. Definire il tempo di predizione, la popolazione, l'etichetta, il limite di latenza e i costi di errore.

  2. Bloccare le suddivisioni basate su entità, tempo e posizione; eseguire la preelaborazione solo sui dati di training.

  3. Confrontare un modello lineare o una piccola rete neurale multistrato (MLP) sulla stessa suddivisione e con le stesse metriche.

  4. Registrare le perdite, il tasso di apprendimento, le norme del gradiente, i valori NaN, i gap tra training e validazione e le prestazioni delle sezioni.

  5. Iniettare dati mancanti, rumore, latenza e input fuori distribuzione; testare l'astensione e il rollback.

Rendere i gradienti osservabili

Durante l'addestramento In caso di errore, ispezionare prima i dati e il percorso del gradiente. Cercare di memorizzare un piccolo batch; l'errore spesso rivela etichette spostate, una maschera errata, un errore di dimensione o un uso improprio dell'API di perdita. Quindi registrare le attivazioni per strato, le norme del gradiente e le ampiezze degli aggiornamenti. Valori nulli negli strati inferiori suggeriscono una perdita del gradiente, una crescita improvvisa suggerisce una divergenza e aggiornamenti pari a zero suggeriscono un grafo distaccato o un parametro bloccato.

L'inizializzazione mira a mantenere la varianza del segnale utilizzabile tra gli strati. L'inizializzazione è un punto di partenza comune per le famiglie ReLU e l'inizializzazione Xavier per tanh, ma la normalizzazione e le connessioni residue modificano il comportamento effettivo. Il clipping del gradiente è un limite di emergenza, non un modo per nascondere una perdita malformata o una scalatura dell'input errata. In condizioni di precisione mista, confrontare una piccola esecuzione float32 e monitorare la scalatura della perdita, l'overflow e l'underflow.

Un'unità di esperimento equa

Confrontare le distribuzioni dei seed, le curve di apprendimento e i budget computazionali piuttosto che un singolo punteggio migliore. Un numero uguale di parametri non crea un confronto equo quando si effettuano preelaborazione, pre-addestramento, aumento dei dati, o la post-elaborazione differiscono. Non ricalibrare mai una soglia sul set di test. In caso di squilibrio, mantenere le metriche macro e per classe; quando le probabilità guidano le decisioni, esaminare anche la calibrazione.

Osservabile Modello sano Se anomalo, esaminare
perdita di training/validazione entrambe diminuiscono con un gap stabile leak, overfitting, entità divisa
norma del gradiente finita senza salti bruschi scala, inizializzazione, perdita
distribuzione della predizione coerente con il compito e la prevalenza mappatura delle etichette, asse softmax, soglia
latenza di inferenza la latenza di coda rispetta la scadenza warm-up, batching, pre/post-elaborazione

Esempio di errore: contaminazione della validazione

La scelta di architetture, aumento e seed dopo decine di controlli di validazione causa overfitting sul set di validazione. Valutare un set di test non modificato una sola volta e registrare il conteggio delle ricerche e la regola di selezione. La suddivisione a livello di file è ancora non valida se i frame adiacenti di un video si intersecano. Suddividere in base all'entità che determina Indipendenza: paziente, veicolo, lotto di produzione o sessione di registrazione.

Lista di controllo pre-implementazione

  1. Confrontare i casi rappresentativi con calcoli manuali o un'implementazione affidabile.

  2. Automatizzare i test di overfitting su piccoli batch, gradiente finito e di equivalenza di salvataggio/ricaricamento.

  3. Eseguire il benchmarking di modelli di base, candidati e quantizzati con lo stesso input e timer.

  4. Inserire i valori di rifiuto e il comportamento di fallback per input non validi, mancanti o in ritardo nel contratto API.

  5. Collegare modello, dati, commit del codice, dipendenze e valutazione in un unico record di rilascio.

L'ingegneria delle reti neurali è il lavoro di rendere misurabile il percorso dai dati alla decisione. Aggiungere complessità un cambiamento alla volta in modo che un miglioramento abbia una spiegazione e un incidente abbia un punto di rollback noto.

Verifica la tua comprensione
L'aggiunta di layer migliora sempre la precisione?

Anche i dati, l'ottimizzazione, l'overfitting e la potenza di calcolo sono importanti. La maggiore complessità deve dimostrare un miglioramento sui dati di validazione.

What to read next

Review the backgroundIntroduzione all'apprendimento automatico: fondamenti - Progettazione dei dati, funzione di perdita e generalizzazioneContinue the seriesIntroduzione al rilevamento di oggetti e alla segmentazione semantica: leggere "cosa si trova dove" in un'immagine.Explore another aspect of this fieldConfronto tra LLM locali: prima risposta, tasso di generazione e memoria