förstå Hintons Kapselnätverk. Del IV: CapsNet Architecture

Antag att rätt etikett är 1, Det betyder att den första DigitCap är ansvarig för att koda närvaron av siffran 1. För denna Digitcaps förlustfunktion kommer T_c att vara en och för alla återstående nio DigitCaps kommer T_c att vara 0. När T_c är 1 beräknas den första termen för förlustfunktionen och den andra blir noll. För vårt exempel, för att beräkna den första DigitCap-förlusten tar vi utmatningsvektorn för denna DigitCap och subtraherar den från m+, som är fixerad till 0,9. Då behåller vi det resulterande värdet endast om det är större än noll och kvadrerar det. Annars returnerar du 0. Med andra ord kommer förlusten att vara noll om rätt DigitCap förutsäger rätt etikett med större än 0,9 sannolikhet, och det kommer att vara icke-noll om sannolikheten är mindre än 0,9.

förlustfunktion värde för korrekt och felaktig DigitCap. Observera att den röda grafen är ”squashed” vertikalt jämfört med den gröna. Detta beror på lambda multiplikatorn från formeln. Källa: författare.

för DigitCaps som inte matchar rätt etikett kommer T_c att vara noll och därför kommer den andra termen att utvärderas (motsvarande (1 — T_c) del). I det här fallet kan vi se att förlusten blir noll om den felaktiga Sifferkåpan förutsäger en felaktig etikett med Sannolikhet mindre än 0,1 och icke-noll om den förutsäger en felaktig etikett med Sannolikhet mer än 0,1.

slutligen ingår Lambda-koefficienten i formeln för numerisk stabilitet under träning (dess värde är fast vid 0,5). De två termerna i formeln har rutor eftersom denna förlustfunktion har L2-norm och författarna anser tydligen att denna norm fungerar bättre.

del II. avkodare.

CapsNet decoder arkitektur. Källa: originalpapper.

Decoder tar en 16-dimensionell vektor från rätt DigitCap och lär sig att avkoda den till en bild av en siffra (Observera att den bara använder rätt DigitCap-vektor under träning och ignorerar de felaktiga). Avkodare används som en regularizer, det tar utmatningen av rätt DigitCap som ingång och lär sig att återskapa en bild på 28 x 28 pixlar, med förlustfunktionen som euklidiskt avstånd mellan den rekonstruerade bilden och ingångsbilden. Avkodare tvingar kapslar att lära sig funktioner som är användbara för att rekonstruera originalbilden. Ju närmare den rekonstruerade bilden till inmatningsbilden desto bättre. Exempel på rekonstruerade bilder kan ses i bilden nedan.

översta raden: originalbilder. Nedre raden: rekonstruerade bilder. Källa: originalpapper.

lager 4. Helt ansluten #1

ingång: 16×10.
utgång: 512.
antal parametrar: 82432.

varje utgång på den lägre nivån viktas och riktas in i varje neuron i det helt anslutna skiktet som ingång. Varje neuron har också en bias term. För detta lager finns 16×10 ingångar som alla riktas till var och en av de 512 neuronerna i detta lager. Därför finns det (16×10 + 1)x512 träningsbara parametrar.

för följande två lager beräkning är densamma: antal parametrar = (antal ingångar + bias) x antal neuroner i skiktet. Det är därför det inte finns någon förklaring till helt anslutna lager 2 och 3.

lager 5. Helt ansluten #2

ingång: 512.
utgång: 1024.
antal parametrar: 525312.

lager 6. Helt ansluten #3

ingång: 1024.
utgång: 784 (som efter omformning ger tillbaka en 28×28 avkodad bild).
antal parametrar: 803600.

Totalt antal parametrar i nätverket: 8238608.

slutsats

Lämna ett svar

Din e-postadress kommer inte publiceras.