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

Afledte ord

1

Kilder

1