Dropout este o tehnică de regularizare folosită în antrenarea rețelelor neuronale pentru a preveni supraadaptarea (overfitting) — fenomenul prin care un model „memorează” prea bine particularitățile datelor de antrenament, în detrimentul capacității de a generaliza la date noi.
Mecanismul este surprinzător de simplu: în timpul fiecărei etape de antrenament, un procent aleatoriu de neuroni (de obicei între 20% și 50%) din anumite straturi ale rețelei sunt temporar „dezactivați” — ieșirile lor sunt setate la zero — forțând rețeaua să nu se bazeze excesiv pe niciun neuron individual sau pe combinații fixe de neuroni pentru a face predicții corecte. La fiecare pas de antrenament, un set diferit, aleatoriu, de neuroni este dezactivat, astfel încât rețeaua trebuie să învețe reprezentări redundante și robuste ale informației.
Intuitiv, tehnica poate fi comparată cu antrenarea simultană a mii de rețele neuronale mai mici, ușor diferite (fiecare cu o combinație diferită de neuroni activi), ale căror „opinii” combinate produc o predicție finală mai stabilă și mai generalizabilă decât ar oferi o singură rețea completă, potențial supraadaptată.
Important este că dropout-ul se aplică doar în timpul antrenamentului — la momentul folosirii efective a modelului pentru predicții (inferență), toți neuronii rămân activi, iar ieșirile lor sunt ajustate proporțional pentru a compensa faptul că, în antrenament, doar o fracțiune din rețea era activă la un moment dat. Tehnica rămâne una dintre cele mai simple și mai eficiente metode de a îmbunătăți generalizarea rețelelor neuronale profunde, mai ales atunci când datele de antrenament disponibile sunt limitate.
