Co to jest wektor aktywności w sieciach neuronowych?


9

Czytałem nowy artykuł Hintona „Dynamiczne kierowanie między kapsułkami” i nie rozumiałem pojęcia „wektor aktywności” w sposób abstrakcyjny.

Kapsułka to grupa neuronów, których wektor aktywności reprezentuje parametry tworzenia określonego typu bytu, takiego jak obiekt lub część obiektu. Używamy długości wektora aktywności do reprezentowania prawdopodobieństwa istnienia istoty i jej orientacji do reprezentowania parametrów tworzenia instancji. Aktywne kapsułki na jednym poziomie przewidują, za pomocą macierzy transformacji, parametry instancji kapsułek wyższego poziomu. Kiedy wiele prognoz się zgadza, aktywowana jest kapsułka wyższego poziomu. Pokazujemy, że wielowarstwowy system kapsuł wyróżniający się dyskryminacją osiąga najnowocześniejsze osiągi w MNIST i jest znacznie lepszy niż sieć splotowa w rozpoznawaniu nakładających się cyfr. Aby osiągnąć te wyniki, stosujemy iteracyjny mechanizm routingu według umowy:

https://arxiv.org/pdf/1710.09829.pdf

Myślałem, że wektor jest jak tablica danych, które biegasz przez sieć.

Zacząłem pracować na kursie głębokiego uczenia się Andrew Ng, ale wszystko jest nowe, a moje myśli nadążają.

Odpowiedzi:


8

W tradycyjnej sieci neuronowej wierzchołki sieci są neuronami, a wyjście pojedynczego neuronu stanowi pojedynczą wartość („ skalar ”). Ten numer nazywa się jego aktywacją . Warstwa neuronów w sieci generuje wektor aktywacji. Nie powinniśmy mylić tego z wektorami aktywności w sieci Capsule.

Sieci kapsułowe są różne, ponieważ wierzchołki sieci są raczej kapsułkami niż neuronami. Są one bardziej wymiarowe: wyjście Kapsułki nie jest skalarem, ale wektorem reprezentującym grupę parametrów związanych z wejściem. Stąd wektor aktywacji nazwy .

Motywacja

W sieci neuronowej nie ma nieodłącznej struktury między skalarnymi wyjściami neuronów, tego muszą się nauczyć kolejne warstwy. W sieciach kapsułkowych wyjście kapsułki reprezentuje wszystkie parametry związane z tym razem w wektorze, w tym prognozę aktywacji kapsułek głębszej warstwy. Dodaje to użyteczną strukturę lokalną.

Rozważ na przykład rozpoznawanie twarzy. Jeśli masz kapsułkę, która wie, jak rozpoznać oczy, może wygenerować wektor aktywności reprezentujący np. „Ponieważ rozpoznałem pozycję oka (x, y) z prawdopodobieństwem p = 0,97 , przewiduję, że parametry dla całej twarzy będą (f1, ... fn) ”.

Jak wyjaśniono w dokumencie Dynamic Routing Between Capsules , ta informacja jest następnie wykorzystywana w taki sposób, że kapsułki z wcześniejszych warstw (części: oko, usta, nos) przewidują aktywację głębszych warstw (twarzy). Na przykład rozpoznawanie twarzy zostanie silnie aktywowane tylko wtedy, gdy istnieje zgoda między rozpoznawaniem oczu, nosa i ust (części) a rozpoznawaniem twarzy (całość) na temat tego, gdzie znajduje się twarz ( (f1, ... fn ) parametry).

Inspiracja historyczna

Starsze algorytmy widzenia komputerowego, takie jak SIFT, działają w podobny sposób, gdy rozpoznawanie opiera się na zgodności między konfiguracją elementów wielowymiarowych (kluczowych punktów) a konfiguracją odniesienia.


1

Uznałem to za coś w rodzaju „wektora aktywacji neuronów w kapsułce”. Aktywacja dla danego neuronu jest ważoną sumą jego danych wejściowych, przekazanych przez funkcję aktywacji (sigmoid, relu itp.).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.