Ottimizzazione degli iperparametri Reti Neurali 101

Introduzione all'ottimizzazione degli iperparametri delle Reti Neurali

Come puoi migliorare l'”apprendimento” e l'”addestramento” delle reti neurali tramite l’ottimizzazione dei iperparametri

Icone di reti neurali create da Vectors Tank - Flaticon. Icone di reti neurali. https://www.flaticon.com/free-icons/neural

Sfondo

Nel mio post precedente, abbiamo discusso di come le reti neurali predicono e imparano dai dati. Ci sono due processi responsabili di questo: il passaggio in avanti e il passaggio all’indietro, anche noto come retropropagazione. Puoi saperne di più qui:

Passaggio in avanti e retropropagazione: Reti Neurali 101

Spiegare come le reti neurali “addestrano” e “apprendono” i pattern nei dati a mano e con il codice utilizzando PyTorch

towardsdatascience.com

In questo post approfondiremo come possiamo ottimizzare questo processo di “apprendimento” e “addestramento” per aumentare le prestazioni del nostro modello. Gli argomenti che tratteremo sono miglioramenti computazionali e ottimizzazione dei iperparametri e come implementarli in PyTorch!

Ma, prima di tutto quello che c’è di buono, facciamo un breve ripasso sulle reti neurali!

Riepilogo Rapido: Che cos’è una Rete Neurale?

Le reti neurali sono grandi espressioni matematiche che cercano di trovare la funzione “giusta” che può mappare un insieme di input ai rispettivi output. Un esempio di rete neurale è rappresentato di seguito:

Un percettrone multistrato con due layer nascosti. Diagramma dell'autore.

Ogni neurone nel layer nascosto esegue la seguente computazione:

Il processo eseguito all'interno di ogni neurone. Diagramma dell'autore.
  • Input: Queste sono le caratteristiche del nostro dataset.
  • Pesi: Coefficienti che scalano gli input. L’obiettivo dell’algoritmo è trovare i pesi più ottimali tramite discesa del gradiente.
  • Sommatoria Ponderata Lineare: Sommare i prodotti degli input e dei pesi e aggiungere un termine di bias/offset, b.
  • Layer Nascosto: Vengono memorizzati più neuroni per imparare i pattern nel dataset. L’esponente si riferisce al layer e l’apice al numero di neurone in quel layer.