Het concept van batchnormalisatie in neurale netwerken

Bijgewerkt op June 22, 2024 2 Minuten lezen

Het concept van batchnormalisatie in neurale netwerken cover image

Batchnormalisatie is een techniek die wordt gebruikt in diepe neurale netwerken om trainingssnelheid, stabiliteit en convergentie te verbeteren. Het primaire doel ervan is om het probleem van de interne covariate shift aan te pakken, wat verwijst naar de verandering in de verdeling van de input van elke laag tijdens de training als gevolg van veranderingen in de parameters van de vorige laag. Deze verschuiving kan het trainingsproces vertragen en het voor elke laag uitdagender maken om effectief te leren.

Hoe batchnormalisatie werkt

  • Normalisatie binnen minibatches: tijdens de training normaliseert batchnormalisatie de invoer van elke laag door het mini-batchgemiddelde af te trekken en delen door de standaardafwijking van de minibatch. Dit helpt bij het verminderen van de interne covariate-verschuiving, waardoor het netwerk stabieler wordt en snellere training mogelijk wordt.

  • Leerbare parameters: Batchnormalisatie introduceert twee leerbare parameters per activering, doorgaans scale- en shift-parameters genoemd. Met deze parameters kan het model zich aanpassen en de optimale schaal en verschuiving voor de invoer van elke laag leren.

  • Normalisatie voor alle functies: naast normalisatie voor de mini-batchdimensie, wordt batchnormalisatie ook normalisatie voor de functies voor elk monster binnen de batch. Deze normalisatie wordt voor elke kenmerkdimensie onafhankelijk uitgevoerd.

Impact op training

  • Snellere convergentie: Batchnormalisatie leidt vaak tot snellere convergentie tijdens de training door het gebruik van hogere leersnelheden mogelijk te maken zonder het risico van divergentie.

  • Reductie van overfitting: het fungeert als een vorm van regularisatie, waardoor de afhankelijkheid van uitval of andere regularisatietechnieken wordt verminderd, waardoor overfitting tot op zekere hoogte wordt voorkomen.

  • Stabiliteit en gradiëntstroom: het stabiliseert het trainingsproces door de kans op verdwijnende of exploderende gradiënten te verkleinen, waardoor een robuustere gradiëntstroom door het netwerk mogelijk wordt.

Nadelen en beperkingen

  • Afhankelijkheid van batchgrootte: de effectiviteit van batchnormalisatie kan worden beïnvloed door de batchgrootte die tijdens de training wordt gebruikt. Zeer kleine batchgroottes kunnen leiden tot onnauwkeurige schattingen van de minibatchstatistieken, waardoor de prestaties ervan worden beïnvloed.

  • Moeilijkheden bij het toepassen op sommige architecturen: Batchnormalisatie werkt mogelijk niet optimaal met terugkerende neurale netwerken (RNN’s) vanwege de sequentiële aard van hun berekeningen.

  • Impact op gevolgtrekking: tijdens gevolgtrekking moeten het gemiddelde en de standaardafwijking die voor normalisatie worden gebruikt, worden geschat op basis van de volledige trainingsgegevensset of op basis van hardloopstatistieken, wat enige discrepantie kan veroorzaken, vooral in gevallen waarin de verdeling van de gevolgtrekkingsgegevens aanzienlijk verschilt van de trainingsgegevens.

Hoewel batchnormalisatie een krachtige techniek is die vaak wordt gebruikt in veel deep learning-architecturen, kan de effectiviteit ervan variëren op basis van netwerkarchitectuur, gegevensdistributie en specifieke gebruiksscenario’s. In sommige scenario’s kan de voorkeur worden gegeven aan alternatieven zoals laagnormalisatie of instantienormalisatie.