Understanding Hinton ’ s Capsule Networks. Osa IV: CapsNet-Arkkitehtuuri

Oletetaan, että oikea merkki on 1, tämä tarkoittaa, että ensimmäinen DigitCap vastaa numeron 1 läsnäolon koodaamisesta. Tälle Digitcapin häviöfunktiolle T_c on yksi ja kaikille jäljelle jääville yhdeksälle Digitcapille T_c on 0. Kun T_c on 1, lasketaan tappiofunktion ensimmäinen termi ja toisesta tulee nolla. Esimerkissämme ensimmäisen Digitcapin häviön laskemiseksi otamme tämän Digitcapin lähtövektorin ja vähennämme sen M+: sta, joka on kiinteä 0,9. Sitten pidämme tuloksena arvo vain siinä tapauksessa, kun se on suurempi kuin nolla ja neliö se. Muussa tapauksessa palautus 0. Toisin sanoen tappio on nolla, jos oikea DigitCap ennustaa oikean merkinnän suuremmalla kuin 0,9 todennäköisyydellä, ja se on ei-nolla, jos todennäköisyys on alle 0,9.

Häviöfunktion arvo oikealle ja väärälle Digitcapille. Huomaa, että punainen kuvaaja on” litistetty ” pystysuunnassa vihreään verrattuna. Tämä johtuu kaavan lambda-kertoimesta. Lähde: kirjailija.

niiden DigitCaps-merkintöjen osalta, jotka eivät vastaa oikeaa merkintää, t_c on nolla, joten toinen termi arvioidaan (vastaa (1 — T_c) osaa). Tässä tapauksessa voimme nähdä, että tappio on nolla, jos yhteensopimaton DigitCap ennustaa virheellisen merkinnän todennäköisyydellä alle 0,1 ja ei-nolla, jos se ennustaa virheellisen merkinnän todennäköisyydellä yli 0,1.

lopuksi kaavassa lambda-kerroin sisältyy numeeriseen stabiiliuteen harjoittelun aikana (sen arvo on vahvistettu 0,5: ksi). Kaavan kahdella termillä on neliöt, koska tällä tappiofunktiolla on L2-normi ja kirjoittajat ilmeisesti pitävät tätä normia parempana.

osa II. dekooderi.

Capnet-dekooderiarkkitehtuuri. Lähde: alkuperäinen paperi.

dekooderi ottaa 16-ulotteisen vektorin oikeasta Digitcapista ja oppii dekoodaamaan sen kuvan numerosta (huomaa, että se käyttää koulutuksessa vain oikeaa DigitCap-vektoria eikä huomioi virheellisiä). Dekooderia käytetään regularizerina, se ottaa oikean Digitcapin tuotoksen tulona ja oppii luomaan 28 x 28 pikselin kuvan, jossa häviöfunktio on Euklidinen etäisyys rekonstruoidun kuvan ja syötekuvan välillä. Dekooderi pakottaa kapselit oppimaan ominaisuuksia, jotka ovat hyödyllisiä alkuperäisen kuvan rekonstruoimiseksi. Mitä lähempänä rekonstruoitu Kuva on syötekuvaa, sen parempi. Esimerkkejä rekonstruoiduista kuvista on nähtävissä alla olevassa kuvassa.

Ylärivi: alkuperäiset kuvat. Alarivi: rekonstruoituja kuvia. Lähde: alkuperäinen paperi.

Kerros 4. Fully connected #1

Input: 16×10.
Lähtö: 512.
parametrien lukumäärä: 82432.

jokainen alemman tason ulostulo painotetaan ja ohjataan syötteenä jokaiseen täysin kytketyn kerroksen hermosoluun. Jokaisella hermosolulla on myös bias-termi. Tässä kerroksessa on 16×10 tuloa, jotka ovat kaikki suunnattu kunkin 512 neuronien tämän kerroksen. Siksi on olemassa (16×10 + 1)x512 koulutettavia parametreja.

seuraavien kahden kerroksen laskutoimitus on sama: parametrien lukumäärä = (syöttöjen lukumäärä + bias) x neuronien määrä kerroksessa. Tämän vuoksi täysin yhdistetyille kerroksille 2 ja 3 ei ole selitystä.

Kerros 5. Fully connected #2

Input: 512.
Lähtö: 1024.
parametrien lukumäärä: 525312.

Kerros 6. Fully connected #3

Input: 1024.
Lähtö: 784 (joka muokkauksen jälkeen antaa takaisin 28×28 dekoodatun kuvan).
parametrien lukumäärä: 803600.

parametrien kokonaismäärä verkossa: 8238608.

johtopäätös

Vastaa

Sähköpostiosoitettasi ei julkaista.