Dropout als regularisatietechniek

Willekeurig uitschakelen

Dropout is een regularisatietechniek die in 2012 werd geïntroduceerd door Geoffrey Hinton en collega's. Tijdens de training wordt bij elke forward pass een willekeurige fractie van de neuronen tijdelijk uitgeschakeld (op nul gezet). De fractie wordt bepaald door de dropout-rate, meestal tussen 0.2 en 0.5. Hierdoor kan het netwerk niet vertrouwen op de aanwezigheid van specifieke neuronen en wordt het gedwongen om redundante representaties te leren. Dit vermindert overfitting en verbetert de generalisatie. Tijdens de inferentie wordt dropout uitgeschakeld en worden alle neuronen gebruikt. Om de verwachte activatie gelijk te houden, worden de activaties geschaald met de dropout-rate (inverted dropout). Dropout kan worden gezien als een vorm van ensemble learning: elke forward pass traint een ander subnetwerk, en tijdens de inferentie wordt een gemiddelde genomen over alle subnetwerken. Het is eenvoudig te implementeren en zeer effectief. Dropout wordt veel gebruikt in volledig verbonden lagen, maar minder in convolutionele lagen, waar spatial dropout of dropout2d wordt gebruikt. In Transformers wordt dropout toegepast op de attention-gewichten en de feedforward lagen.

Varianten en overwegingen

Er bestaan verschillende varianten van dropout. Standard dropout schakelt neuronen onafhankelijk uit. Spatial dropout schakelt hele feature maps uit in CNN's. DropConnect schakelt gewichten uit in plaats van neuronen. Variational dropout gebruikt een aparte dropout-rate per neuron. Monte Carlo dropout wordt gebruikt om onzekerheid te schatten: door tijdens de inferentie meerdere keren dropout toe te passen, ontstaat een distributie van voorspellingen. Dropout is vooral effectief bij grote netwerken en kleine datasets. Bij zeer grote datasets of wanneer het netwerk al ondergefitte is, kan dropout de prestaties verslechteren. De dropout-rate is een hyperparameter die moet worden afgestemd. Te veel dropout leidt tot underfitting; te weinig tot overfitting. Dropout wordt vaak gecombineerd met andere regularisatietechnieken zoals weight decay, early stopping en data-augmentatie. Het is een van de meest gebruikte en effectieve regularisatietechnieken in deep learning. Sinds de introductie is het een standaardonderdeel geworden van vrijwel elke neurale netwerkarchitectuur.

Dit toepassen in
jouw bedrijf?

We vertalen het naar jouw processen en laten binnen een week een werkend prototype zien.