Dropout-regularisering
Dropout-regularisering er en teknik under træning af neurale netværk, hvor tilfældigt udvalgte neuroner midlertidigt deaktiveres for at mindske risikoen for overfitting.
Kort fortalt
Man slår nogle neuroner fra under træning for at tvinge netværket til at lære mere robuste mønstre.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Under træning sættes en tilfældig delmængde af neuronernes aktiveringer til nul med en given sandsynlighed p, og de resterende skaleres med 1/(1-p) for at bevare forventet output.
- Ved at anvende dropout-regularisering på de skjulte lag reduceres overfitting betydeligt.
- Dropout-regularisering med en rate på 0,5 er almindeligt i fuldt forbundne lag.
Hvornår bruges det
Dropout bruges typisk i fuldt forbundne lag i deep learning-modeller for at forbedre generaliseringsevnen. Det anvendes ofte i kombination med andre regulariseringsteknikker som batch-normalisering.
Kodeeksempel
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dropout(0.5),
tf.keras.layers.Dense(10, activation='softmax')
])Eksempel på brug af dropout-lag i et Keras-sekventielt netværk.
Oprindelse
Teknikken blev introduceret af Srivastava et al. i 2014 i artiklen 'Dropout: A Simple Way to Prevent Neural Networks from Overfitting'.