En ny förståelse av batchnormalisering

Batch Normalization (BN) introducerades av [1] redan 2015. Sedan dess har den använts i de mest djupa inlärningsmodellerna för att förbättra utbildning och robusthet i valet av inlärningshastighet såväl som initiering av parametrar.

BN designades för att minska Internal Covariate Shift (ICS) för varje lagers ingång genom att normalisera de två första momenten - medelvärde och varians. Samtidigt påverkar inte nätverkets förmåga att producera den önskade distributionen av aktivering med hjälp av ett par lärbara parametrar (gamma och beta).

Ett nyligen uppsats [2] belyser nytt ljus på BN och prestandaförstärkning som uppnås genom att använda normaliseringstekniken. Baserat på experiment rapporterar den:

  • ICS är inte en bra förutsägare för träningsprestanda
  • Prestationsvinster som uppnås med hjälp av BN kommer inte från en minskning av ICS
  • BN ger snarare en utjämnande effekt på optimeringslandskapet, vilket förbättrar modellernas robusthet mot hyperparameter som inlärningshastighet.

Experiment 1

Figur 1 nedan (taget från [2]) visar tre uppsättningar av utbildning av ett VGG-nätverk. Det första nätverket tränas utan BN, det andra tränas med BN; slutligen injiceras det tredje nätverket med distributionsstabilitet efter varje BN som används genom att lägga till tidsvarierande, icke-nollmedelvärde och icke-enhetsvariansbrus. Bullret orsakar i huvudsak en hög ICS, möjligen högre än standardinställningen.

Figur 1 [2], resultat från experiment 1

Resultaten visar att även med ökad ICS genom tillsats av brus, uppnås fortfarande prestationsökningen (rosa linje). Detta pekar på att minskning av ICS inte är den faktor som orsakar förbättring av prestanda.

Experiment 2

För varje nervnätlager fångar ICS själva ändringen i optimeringsproblem som orsakas på grund av förändringar i ingångar till varje lager eftersom parametrarna för tidigare lager uppdateras med gradientavstamning. Som en reaktion på denna "skift" måste varje lager justera sina parametrar, vilket ofta orsakar försvinnande eller explosion av lutningar [1].

Denna idé om förändring i optimeringslandskap skulle också återspeglas av förändringar i lutningar av lagrets parametrar. Högre förändring i gradient skulle återspegla en större förändring i optimeringslandskapet. [2] fångar detta genom att mäta skillnaden mellan lutningarna i varje lager före (G) och efter uppdateringar till alla tidigare lager (G '). Ett mindre värde på skillnaden l2 skulle indikera en mindre ICS, eftersom landskapet förblir likt.

Figur 2 [2], resultat från experiment 2

[2] undersöker vidare länken mellan ICS och BN genom att plotta skillnaden l2 (och kosinusvinkeln) för de två lutningarna, sett i figur 2. Från figuren ovan kan man se att användning av BN inte indikerar en minskning av ICS.

Så vad gör Batch Normalization då?

Ett djupt neuralt nätverk optimeringslandskap kan bestå av många platta regioner och skarpa kinks, vilket gör problemet inte konvex. Sådana regioner leder till försvinnande lutning (platta regioner) eller lutningsexplosion (vassa sluttningar). Detta ökar känsligheten för inlärningshastigheten och initieringen av parametrar, vilket gör optimeringen instabil.

[2] hänvisar till högre Lipschitzness av lutningar med hjälp av BN, vilket effektivt innebär en högre jämnhet i optimeringslandskapet. Detta kan observeras i figur 3, som plottar beräkningen av förlustens lutning vid ett träningssteg och mäter hur förlusten ändras längs den gradientriktningen.

Figur 3 [2]

Från figur 3 ger BN en jämnare profil. Detta gör lutningen mer förutsägbar, det vill säga att det i varje steg är mer troligt att lutningen förblir lika för nästa framtida steg. En sådan förutsägbarhet gör det möjligt att ta större steg i lutningens riktning utan att förlora stabiliteten.

Slutligen drar [2] också slutsatsen att utjämningseffekten av BN kan vara orsaken till bättre generalisering av nätverk. Detta är beacuse BN driver optimeringen mot en platt minima.

referenser:
[1] Ioffe S, Szegedy C. Batchnormalisering: Öka accelerationen av djup nätverksutbildning genom att minska den interna samvariationen. arXiv förtryck arXiv: 1502.03167. 2015 11 februari.
[2] Santurkar S, Tsipras D, Ilyas A, Madry A. Hur hjälper batchnormalisering att optimera? (Nej, det handlar inte om intern kovariatskift). arXiv förtryck arXiv: 1805.11604. 2018 29 maj.