zrozumienie sieci kapsuł Hintona. Część IV: Architektura CapsNet

Załóżmy, że poprawna etykieta to 1, oznacza to, że pierwsza DigitCap odpowiada za kodowanie obecności cyfry 1. Dla tej funkcji straty DigitCap t_c będzie równe 1, A dla wszystkich pozostałych dziewięciu DigitCaps t_c będzie równe 0. Gdy T_c jest równe 1, obliczany jest pierwszy okres funkcji stratnej, a drugi staje się zerem. Dla naszego przykładu, aby obliczyć stratę pierwszej cyfry, bierzemy wektor wyjściowy tej cyfry i odejmujemy go od m+, które jest stałe na 0,9. Następnie zachowujemy wartość wynikową tylko w przypadku, gdy jest większa od zera i do kwadratu. W przeciwnym razie zwróć 0. Innymi słowy, strata będzie równa zeru, jeśli poprawny DigitCap przewiduje poprawną etykietę z prawdopodobieństwem większym niż 0,9, i będzie niezerowa, jeśli prawdopodobieństwo jest mniejsze niż 0,9.

utrata wartości funkcji dla prawidłowego i nieprawidłowego DigitCap. Zauważ, że czerwony wykres jest „zgnieciony” pionowo w porównaniu do zielonego. Wynika to z mnożnika lambda ze wzoru. Źródło: autor.

dla DigitCaps, które nie pasują do poprawnej etykiety, T_c będzie równe zeru i dlatego zostanie oceniony drugi termin (odpowiadający części (1 — t_c)). W tym przypadku widzimy, że strata będzie zerowa, jeśli niedopasowanie DigitCap przewiduje nieprawidłową etykietę z prawdopodobieństwem mniejszym niż 0,1 i niezerową, jeśli przewiduje nieprawidłową etykietę z prawdopodobieństwem większym niż 0,1.

ostatecznie we wzorze uwzględniono współczynnik lambda dla stabilności numerycznej podczas treningu (jego wartość jest ustalona na 0,5). Dwa wyrazy we wzorze mają kwadraty, ponieważ ta funkcja utraty ma normę L2, a autorzy najwyraźniej uważają, że ta norma działa lepiej.

Część II.Dekoder.

Architektura dekodera CapsNet. Źródło: papier oryginalny.

Dekoder pobiera 16-wymiarowy wektor z poprawnej DigitCap i uczy się dekodować go na obraz cyfry (zauważ, że używa tylko poprawnego wektora DigitCap podczas treningu i ignoruje nieprawidłowe). Dekoder jest używany jako regularizer, pobiera wyjście poprawnego DigitCap jako wejście i uczy się odtworzyć obraz 28 na 28 pikseli, z funkcją utraty jest euklidesowa odległość między zrekonstruowanym obrazem a obrazem wejściowym. Dekoder zmusza kapsuły do poznania funkcji przydatnych do rekonstrukcji oryginalnego obrazu. Im bliżej zrekonstruowanego obrazu do obrazu wejściowego, tym lepiej. Przykłady zrekonstruowanych obrazów można zobaczyć na poniższym obrazku.

Górny rząd: oryginalne obrazy. Dolny rząd: zrekonstruowane obrazy. Źródło: papier oryginalny.

W pełni podłączony # 1

wejście: 16×10.
wyjść: 512.
liczba parametrów: 82432.

każde wyjście niższego poziomu jest ważone i kierowane do każdego neuronu w pełni połączonej warstwy jako wejście. Każdy neuron ma również termin bias. Dla tej warstwy jest 16×10 wejść, które są skierowane do każdego z 512 neuronów tej warstwy. W związku z tym istnieją (16×10 + 1)parametry treningowe x512.

dla następujących dwóch warstw obliczenia są takie same: liczba parametrów = (liczba wejść + bias) x liczba neuronów w warstwie. Dlatego nie ma wyjaśnienia dla w pełni połączonych warstw 2 i 3.

W pełni podłączony # 2

wejście: 512.
wyjście: 1024.
liczba parametrów: 525312.

W pełni podłączony # 3

wejście: 1024.
wyjście: 784 (które po przekształceniu daje zdekodowany obraz 28×28).
liczba parametrów: 803600.

Łączna liczba parametrów w sieci: 8238608.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.