Regressione lineare: iperparametri

Gli iperparametri sono variabili che controllano i diversi aspetti dell'addestramento. Tre iperparametri comuni sono:

Al contrario, i parametri sono come ponderazioni e bias, che fanno parte del modello stesso. Nella In altre parole, gli iperparametri sono valori che puoi controllare; i parametri sono valori calcolato dal modello durante l'addestramento.

Tasso di apprendimento

Il tasso di apprendimento è un numero in virgola mobile impostato che influenza la velocità converge. Se il tasso di apprendimento è troppo basso, il modello può richiedere molto tempo per convergere. Tuttavia, se il tasso di apprendimento è troppo elevato, il modello non converge, ma invece rimbalza su ponderazioni e bias che minimizzano o una perdita di dati. L'obiettivo è scegliere un tasso di apprendimento non troppo alto né troppo basso, in modo che il modello convegga rapidamente.

Il tasso di apprendimento determina l'entità delle modifiche da apportare alle ponderazioni e bias durante ogni fase del processo di discesa del gradiente. Il modello si moltiplica il gradiente in base al tasso di apprendimento per determinare i parametri del modello (peso e bias) per la prossima iterazione. Nel terzo passaggio del gradiente discesa, la "piccola quantità" a muoversi nella direzione della pendenza negativa si riferisce al tasso di apprendimento.

La differenza tra i parametri del modello precedente e quelli del nuovo modello è proporzionale alla pendenza della funzione di perdita. Ad esempio, se la pendenza è grande, il modello compie un passo importante. Se è piccola, richiede un piccolo passo. Per Ad esempio, se la grandezza del gradiente è 2,5 e il tasso di apprendimento è 0,01, il modello cambierà il parametro di 0,025.

Il tasso di apprendimento ideale aiuta il modello a convergere entro un numero ragionevole di iterazioni. Nella Figura 21, la curva di perdita mostra il modello in modo significativo migliorando durante le prime 20 iterazioni prima di iniziare la convergenza:

Figura 21. Curva di perdita che mostra una pendenza ripida prima dell'appiattimento.

Figura 21. Grafico di perdita che mostra un modello addestrato con un tasso di apprendimento che converge rapidamente.

Al contrario, un tasso di apprendimento troppo piccolo può richiedere troppe iterazioni per convergono. Nella Figura 22, la curva di perdita mostra il modello che rende solo minori miglioramenti dopo ogni iterazione:

Figura 22. Curva di perdita che mostra una pendenza di quasi 45 gradi.

Figura 22. Grafico di perdita che mostra un modello addestrato con un tasso di apprendimento ridotto.

Un tasso di apprendimento troppo elevato non converge mai perché ogni iterazione fa sì che la perdita rimbalza o continui ad aumentare. Nella Figura 23, la perdita mostra che il modello diminuisce e poi aumenta la perdita dopo ogni iterazione, e nella Figura 24 la perdita aumenta con iterazioni successive:

Figura 23. Curva di perdita che mostra una linea continua verticale o frastagliata.

Figura 23. Grafico di perdita che mostra un modello addestrato con un tasso di apprendimento troppo grande, dove la curva di perdita fluttua selvaggiamente, andando su e giù man mano che aumentano le iterazioni.

Figura 24. Curva di perdita che mostra la perdita che aumenta nelle iterazioni successive

Figura 24. Grafico di perdita che mostra un modello addestrato con un tasso di apprendimento troppo grande, per cui la curva di perdita aumenta drasticamente nelle iterazioni successive.

Allenamento: verifica le tue conoscenze

Qual è il tasso di apprendimento ideale?
Il tasso di apprendimento ideale dipende dal problema.
Ogni modello e set di dati avranno il proprio tasso di apprendimento ideale.
0,01
1,0

Dimensione del batch

La dimensione del batch è un iperparametro che si riferisce al numero di esempi elaborati dal modello prima di aggiornarne i pesi e pregiudizi. Si potrebbe pensare che il modello debba calcolare la perdita per ogni nel set di dati prima di aggiornare le ponderazioni e i bias. Tuttavia, quando contiene centinaia di migliaia o addirittura milioni di esempi, utilizzando l'intero batch non è pratico.

Due tecniche comuni per ottenere il gradiente giusto in media senza la necessità esaminare ogni esempio nel set di dati prima di aggiornare le ponderazioni e i bias discesa stocastica del gradiente e gradiente stocastico in mini-batch discesa:

  • Discesa stocastica del gradiente (SGD): la discesa stocastica del gradiente utilizza solo un singolo esempio (una dimensione del batch di uno) per iterazione. Data sufficiente iterazioni, SGD funziona ma è molto rumoroso. "Rumore" si riferisce alle variazioni durante che causano l'aumento anziché la diminuzione della perdita durante dell'iterazione. Il termine "stocastico" indica che l'unico esempio che comprende ogni batch viene scelto a caso.

    Nota nell'immagine seguente come la perdita fluttua leggermente in base al modello aggiorna le sue ponderazioni e i suoi bias utilizzando l'SGD, il che può portare a rumore nella perdita grafico:

    Figura 25. Curva di perdita ripida che si appiattisce, ma con molte piccole fluttuazioni.

    Figura 25. Modello addestrato con discesa stocastica del gradiente (SGD) rumore nella curva di perdita.

    Tieni presente che l'uso della discesa stocastica del gradiente può produrre rumore in tutto il dell'intera curva di perdita, non solo vicino alla convergenza.

  • Discesa stocastica del gradiente in mini-batch (SGD mini-batch): in mini-batch la discesa stocastica del gradiente è un compromesso tra full-batch e SGD. Per numero di punti dati, la dimensione del batch può essere qualsiasi numero maggiore di 1 e meno di $ N $. Il modello sceglie gli esempi inclusi in ogni batch casuale, calcola la media dei gradienti e poi aggiorna le ponderazioni e i bias una volta per iterazione.

    La determinazione del numero di esempi per ogni batch dipende dal set di dati e tutte le risorse di computing disponibili. In generale, le dimensioni dei batch di piccole dimensioni si comportano SGD e le dimensioni dei batch più grandi si comportano come una discesa del gradiente in un intero batch.

    Figura 26. Curva di perdita ripida che inizia ad appiattirsi, con fluttuazioni molto più piccole vicino alla convergenza.

    Figura 26. Modello addestrato con SGD in mini-batch.

Durante l'addestramento di un modello, si potrebbe pensare che il rumore sia una caratteristica che deve essere eliminata. Tuttavia, una certa quantità di rumore può sia una cosa positiva. Nei moduli successivi, scoprirai come il rumore può aiutare un modello generalizzare meglio e trovare ponderazioni e bias ottimali in un sistema neurale Google Cloud.

Epoche

Durante l'addestramento, per epoca si intende ha elaborato tutti gli esempi nel set di addestramento una volta. Ad esempio, dato un set di addestramento con 1.000 esempi e una dimensione di mini-batch di 100 esempi, le 10 iterazioni del modello per completare un'epoca.

L'addestramento richiede in genere molte epoche. Ciò significa che il sistema deve elaborare più volte ogni esempio nel set di addestramento.

Il numero di epoche è un iperparametro che imposti prima dell'inizio del modello addestramento. In molti casi, dovrai fare delle prove con quante epoche servono affinché il modello converga. In generale, più epoche producono un modello migliore, ma richiede anche più tempo per l'addestramento.

Figura 27. Un batch completo corrisponde all'intero set di dati, un mini batch è un sottoinsieme del set di dati e un'epoca è un passaggio completo in dieci mini batch.

Figura 27. Batch completi e mini batch.

La tabella seguente descrive la relazione tra dimensione del batch ed epoche e il numero di volte in cui un modello aggiorna i suoi parametri.

Tipo batch Quando si verificano aggiornamenti di ponderazioni e bias
Batch completo Dopo che il modello ha esaminato tutti gli esempi nel set di dati, Ad esempio, se un set di dati contiene 1000 esempi e il modello viene addestrato per 20 epoche, il modello aggiorna le ponderazioni e i bias 20 volte, una per epoca.
Discesa stocastica del gradiente Dopo che il modello ha esaminato un singolo esempio del set di dati, Ad esempio, se un set di dati contiene 1000 esempi e addestra 20 epoche, il modello aggiorna le ponderazioni e i bias 20.000 volte.
Discesa stocastica del gradiente in mini-batch Dopo che il modello ha esaminato gli esempi in ogni batch, Ad esempio, se un set di dati contiene 1000 esempi e la dimensione del batch è 100 e il modello si addestra per 20 epoche, il modello aggiorna i pesi pregiudizi 200 volte.

Allenamento: verifica le tue conoscenze

1. Qual è la dimensione migliore del batch quando si utilizza lo SGD di mini-batch?
Dipende
La dimensione ideale del batch dipende dal set di dati e dalla disponibilità di risorse di computing
10 esempi per batch
100 esempi per batch
2. Quale delle seguenti affermazioni è vera?
I batch più grandi non sono adatti per dati con molti valori anomali.
Questa affermazione è falsa. Mediante insieme la media di più gradienti, le dimensioni dei batch possono aiutare a ridurre gli effetti negativi dei valori anomali nei dati.
Raddoppiare il tasso di apprendimento può rallentare l'addestramento.
Questa affermazione è vera. Raddoppiare il tasso di apprendimento può comportare tasso di apprendimento troppo elevato e di conseguenza le ponderazioni a "rimbalzare" aumentando il tempo necessario per la convergenza. Come sempre, i migliori iperparametri dipendono dal set di dati e e le risorse di computing disponibili.