Addestramento di reti neurali

La backpropagazione è l'algoritmo di addestramento più comune per le reti neurali. Rende possibile la discesa del gradiente per le reti neurali multilivello. TensorFlow gestisce automaticamente la retropropagazione, quindi non è necessario conoscere a fondo l'algoritmo. Per capire come funziona, consulta la seguente spiegazione visiva dell'algoritmo di retropropagazione. Mentre scorri la spiegazione precedente, tieni presente quanto segue:

  • Il flusso di dati attraverso il grafico.
  • In che modo la programmazione dinamica ci consente di evitare di calcolare in modo esponenziale molti percorsi nel grafico. In questo caso, la "programmazione dinamica" significa semplicemente la registrazione di risultati intermedi nei passaggi avanti e indietro.

Reti neurali per l'addestramento

  • I gradienti sono importanti
    • Se è differenziabile, probabilmente possiamo imparare
  • I gradienti sono importanti
    • Se è differenziabile, probabilmente possiamo imparare
  • I gradienti possono svanire
    • Ogni livello aggiuntivo può ridurre successivamente il segnale rispetto al rumore
    • ReLus sono utili qui
  • I gradienti sono importanti
    • Se è differenziabile, probabilmente possiamo imparare
  • I gradienti possono svanire
    • Ogni livello aggiuntivo può ridurre successivamente il segnale rispetto al rumore
    • ReLus sono utili qui
  • I gradienti possono esplodere
    • I tassi di apprendimento sono importanti qui
    • La normalizzazione del batch (utile manopola) può aiutarti
  • I gradienti sono importanti
    • Se è differenziabile, probabilmente possiamo imparare
  • I gradienti possono svanire
    • Ogni livello aggiuntivo può ridurre successivamente il segnale rispetto al rumore
    • ReLus sono utili qui
  • I gradienti possono esplodere
    • I tassi di apprendimento sono importanti qui
    • La normalizzazione del batch (utile manopola) può aiutarti
  • Gli strati ReLu possono morire
    • Mantieni la calma e riduci i tassi di apprendimento
  • Vorremmo che le nostre funzionalità avessero dimensioni ragionevoli
    • Un intervallo con centrato approssimativamente zero, [-1, 1] spesso funziona bene
    • Aiuta la discesa del gradiente converge; evita la trappola NaN
    • Anche evitare i valori anomali può essere utile
  • Sono disponibili alcuni metodi standard:
    • Scala lineare
    • Copertina rigida (clipping) a max, min
    • Scalabilità log
  • Abbandono: un'altra forma di regolarizzazione, utile per le NN
  • Funziona "eliminando" le unità in modo casuale in una rete per un singolo passaggio del gradiente
    • C'è una connessione con i modelli Insieme
  • Più abbandoni, più forte è la regolarizzazione
    • 0.0 = nessuna regolarizzazione dell'abbandono
    • 1,0 = elimina tutto! non apprende nulla
    • Valori intermedi più utili