forståelse af Hintons Kapselnetværk. Del IV: CapsNet-arkitektur

Antag, at den korrekte etiket er 1, Det betyder, at den første DigitCap er ansvarlig for kodning af tilstedeværelsen af cifferet 1. For denne DigitCap Tab funktion T_c vil være en og for alle resterende ni DigitCaps T_c vil være 0. Når T_c er 1, beregnes den første periode af tabsfunktionen, og den anden bliver nul. For vores eksempel for at beregne det første DigitCap ‘ s tab tager vi outputvektoren for denne DigitCap og trækker den fra m+, som er fastsat til 0,9. Derefter beholder vi den resulterende værdi kun i tilfælde, hvor den er større end nul og kvadrerer den. Ellers skal du returnere 0. Med andre ord vil tabet være nul, hvis den korrekte DigitCap forudsiger den korrekte etiket med større end 0,9 sandsynlighed, og det vil være ikke-nul, hvis sandsynligheden er mindre end 0,9.

Tab funktion værdi for korrekt og forkert DigitCap. Bemærk, at den røde graf er “klemt” lodret sammenlignet med den grønne. Dette skyldes lambda multiplikatoren fra formlen. Kilde: forfatter.

for DigitCaps, der ikke stemmer overens med den korrekte etiket, vil T_c være nul, og derfor evalueres den anden periode (svarende til (1 — T_c) del). I dette tilfælde kan vi se, at tabet vil være nul, hvis den uoverensstemmende DigitCap forudsiger en forkert etiket med Sandsynlighed mindre end 0,1 og ikke-nul, hvis den forudsiger en forkert etiket med Sandsynlighed mere end 0,1.

endelig indgår lambda-koefficienten i formlen for numerisk stabilitet under træning (dens værdi er fastsat til 0,5). De to udtryk i formlen har firkanter, fordi denne tabsfunktion har L2-norm, og forfatterne anser tilsyneladende denne norm for at fungere bedre.

Del II. dekoder.

CapsNet dekoder arkitektur. Kilde: originalt papir.

dekoder tager en 16-dimensionel vektor fra den korrekte DigitCap og lærer at afkode den til et billede af et ciffer (bemærk, at den kun bruger den korrekte DigitCap-vektor under træning og ignorerer de forkerte). Dekoder bruges som en regulator, det tager output fra det korrekte DigitCap som input og lærer at genskabe et billede på 28 Til 28 billedpunkter, hvor tabsfunktionen er euklidisk afstand mellem det rekonstruerede billede og inputbilledet. Dekoder tvinger kapsler til at lære funktioner, der er nyttige til rekonstruktion af det originale billede. Jo tættere det rekonstruerede billede til inputbilledet, desto bedre. Eksempler på rekonstruerede billeder kan ses på billedet nedenfor.

øverste række: originale billeder. Nederste række: rekonstruerede billeder. Kilde: originalt papir.

Lag 4. Fuldt tilsluttet # 1

indgang: 16h10.
udgang: 512.
antal parametre: 82432.

hver udgang på det lavere niveau bliver vægtet og rettet ind i hver neuron i det fuldt tilsluttede lag som input. Hver neuron har også et bias-udtryk. Til dette lag er der 16h10 indgange, der alle er rettet mod hver af de 512 neuroner i dette lag. Derfor er der (16h10 + 1)h512 træningsparametre.

for følgende to lag beregning er den samme: antal parametre = (antal input + bias) antal neuroner i laget. Derfor er der ingen forklaring på fuldt tilsluttede lag 2 og 3.

lag 5. Fuldt tilsluttet #2

indgang: 512.
udgang: 1024.
antal parametre: 525312.

lag 6. Fuldt tilsluttet #3

indgang: 1024.
Output: 784 (som efter omformning giver et 28h28 afkodet billede tilbage).
antal parametre: 803600.

Samlet antal parametre i netværket: 8238608.

konklusion

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.