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. 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. 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. 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. 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
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. 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. 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. 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. |