Problem: Maks-poolinguje się i tracone są informacje o położeniu
Sieci neuronowe konwolucyjne budują rozpoznawanie poprzez warstwy filtrów, po których następuje maks-poolinguje się, najczęściej, który przesuwa małe okno nad mapą cech i zatrzymuje tylko najsilniejszą aktywację w tym oknie. Ta operacja jest tym, co daje CNNs ich cenioną niezmienność translacyjną: filtr, który aktywuje się na oko, nadal będzie aktywował się nawet jeśli oko przesunie się o kilka pikseli, ponieważ maks-poolinguje się po prostu raportuje, że detektor oka aktywował się gdzieś w pobliżu. Koszt polega na tym, że maks-poolinguje się prawie całkowicie odrzuca informacje o dokładnym położeniu cechy w oknie, a co ważniejsze, odrzuca precyzyjną relację przestrzenną między różnymi wykrytymi cechami. CNN może spojrzeć na poszarpane zdjęcie z oczami, nosem i ustami ułożonymi w niewłaściwej kolejności, lub nawet nosem położonym nad brwią, a nadal pewnie nazwać to twarzą, ponieważ wszystko, co sprawdziło, to obecność części przypominających twarz gdzieś na obrazie, a nie że są one prawidłowo ułożone względem siebie. Hinton argumentował, że jest to fundamentalny błąd architektoniczny, a nie drobne odchylenie, ponieważ ludzkie wzrok jest wybitnie wrażliwe na dokładnie taki rodzaj spójności partii-całości w przestrzeni.
Co tak naprawdę jest kapsułą
Kapsuła zastępuje pojedynczy, skalarowy wynik tradycyjnego neuronu niewielką grupą neuronów spakowaną jako wektor. Długość tego wektora reprezentuje prawdopodobieństwo obecności obiektu wykrytego przez kapsułę, a orientacja wektora w jego wielowymiarowej przestrzeni koduje parametry instancjacji obiektu, takie jak precyzyjna pozycja, obrót, grubość, skośność lub rozmiar. Tradycyjny neuron może jedynie stwierdzić „tak, oko jest mniej więcej tutaj, z tym poziomem pewności”. Kapsuła może powiedzieć „oko jest tutaj, nachylone pod tym kątem, w tym skali, widziane z tego perspektywy”. To ma znaczenie, ponieważ pozwala sieci rozumować o geometrii wprost. Jeśli niższy poziom kapsuły wykryje oko w danej pozycji, a inny wykryje nos w kompatybilnej pozycji, kapsuła twarzy może sprawdzić, czy te pozycje są ze sobą spójne z tym, jak powinna wyglądać prawdziwa osoba, zamiast jedynie sprawdzać, czy obie części istnieją gdzieś na kadrze. Jest to przesunięcie od pytania „jakie cechy występują” do pytania „czy te cechy zgadzają się na spójną hipotezę o obiekcie”, co jest ziarnem wszystkiego, na czym opiera się dynamiczne routowanie.”]} {}
heading_pl
paragraphs_pl
Dynamiczne Routing-ze-zgody
Zamiast agregacji (pooling), sieci kapsułowe łączą warstwy poprzez dynamiczny routing-ze-zgody. Każda dolna kapsuła wykorzystuje nauczony macierz transformacji, aby wygenerować prognozę dotyczącą tego, jak powinien wyglądać wektor pozycji danej wyższej kapsuły, w zasadzie zadając pytanie: „Jeśli jestem rzeczywiście częścią Ciebie, to jaki powinien być Twój wektor wyjściowy?” Jeśli kilka dolnych kapsuł niezależnie generuje prognozy, które gęsto się ze sobą zgrupowują, to silne oświadczenie o obecności spójnej jednostki wyższego poziomu, a te kapsuły są kierowane tak, aby wysłać większość swoich wyników do tej wyższej kapsuły. Ten routing nie jest stałą, nauczoną wagą, jak w przypadku połączeń w normalnej warstwie; jest on dynamicznie obliczany dla każdego pojedynczego wejścia poprzez iteracyjny proces. W ciągu kilku iteracji współczynniki sprzężenia między dolną kapsułą a każdym kandydatem rodzicielskim są zwiększane, gdy ich prognozy się zgadzają, i zmniejszane, gdy kolidują, więc informacje przepływają preferencyjnie wzdłuż ścieżek konsensusu. W efekcie dolne kapsuły „głosują” na to, do której jednostki wyższego poziomu należą, a sieć ustala interpretację, w której głosy są spójne, zamiast bezmyślnie przekazywać najsilniejszy sygnał, jak robi to max-pooling.”]}صانع ألعاب سيمولاتور.أوكي. ترجمة المحتوى إلى اللغة البولندية. لا تقم بنسخ النص الإنجليزي الأصلي دون تغيير. يجب أن يكون الناتج JSON فقط، بدون حواف Markdown. تذكر: قم بالترجمة إلى اللغة البولندية. لا تترك العنوان أو أي فقرة باللغة الإنجليزية.
paragraphs
Dlaczego to powinno poprawić odporność na zmiany perspektywy
Ponieważ kapsułki kodują pozycję wyrazisto i routing zależy od geometrycznej zgodności między prognozami, sieci kapsułowe zostały zaprojektowane tak, aby lepiej uogólniać się na różne punkty widzenia niż CNN. Sieć neuronowa konwolucyjna (CNN) wytrenowana głównie na obiektach w pozycji pionowej i patrzących prosto, często ma trudności, gdy ten sam obiekt pojawia się obrotowo, nachylony lub widziany z nieznanego kąta, ponieważ musi ponownie nauczyć się wzoru zamiast po prostu uwzględnić transformację geometryczną. Sieć kapsułowa, zasadniczo, może rozpoznawać znajomy obiekt pod nową perspektywą, ponieważ poszczególne kapsułki części nadal wykrywają części, tylko z różnymi wektorami pozycji, a mechanizm routingu nadal może znaleźć spójną zgodność między przetransformowanymi prognozami, ponieważ macierze transformacji są zbudowane tak, aby modelować dokładnie ten rodzaj relacji geometrycznej. Hinton opisał tę właściwość jako osiągnięcie czegoś bliższego prawdziwej ekwivariancji niż jedynie inwarianckiej: wewnętrzne reprezentacja sieci zmienia się w przewidywalny i uporządkowany sposób wraz ze zmianą perspektywy, zamiast ulegać zatarciu wszystkich wariacji w pojedynczy, rozmyty sygnał, jak to robi pooling.
Praktyczne Kompromisy Ograniczające Ich Wprowadzenie
Pomimo eleganckiej teorii, sieci kapsułowe nie zastąpiły CNN jako domyślnej architektury dla dużych zadań wizyjnych, a przyczyny są głównie praktyczne. Procedura iteracyjnego routingu jest znacznie bardziej kosztowna obliczeniowo niż proste operacje pooling lub konwolucji, a także źle skaluje się wraz ze wzrostem liczby kapsuł i warstw, co sprawia, że sieci kapsułowe są wolne i wymagają dużo pamięci na dużych, wysokiej rozdzielczości zbiorach danych, na których zazwyczaj trenowane są nowoczesne systemy wizyjne. Dynamika uczenia się również może być kapryśna, a iteracje routingu czasami zbiegają się w gorsze porozumienia lub wymagają starannego dostrojenia hiperparametrów, takich jak liczba iteracji routingu. Najważniejszym jest jednak fakt, że na dużych zbiorach danych benchmarkowych, takich jak ImageNet, sieci kapsułowe generalnie nie dorównują dokładności dobrze dostrojonych CNN lub, bardziej recently, modelom wizyjnym opartym na transformatorach, które otrzymały znacznie więcej inwestycji inżynieryjnych i optymalizacji sprzętowej. Sieci kapsułowe pozostają aktywnym i wpływowym kierunkiem badań, a ich podstawowa zasada o jawnym modelowaniu relacji geometrycznych partii i całości nadal inspiruje nowsze architektury, ale dzisiaj zajmują niszową rolę zamiast głównego nurtu, którą Hinton pierwotnie wyobraził sobie dla nich.
Frequently asked questions
Jak kapsuła różni się od zwykłej neurony?
Zwykła neurona generuje pojedynczą wartość liczbową, reprezentującą siłę wykrycia danego cechy. Kapsuła generuje wektor, a długość tego wektora reprezentuje prawdopodobieństwo obecności danej jednostki, a orientacja wektora koduje jej pozycję, taką jak obrót, skala i położenie. Dzięki temu kapsuła może komunikować nie tylko 'to istnieje', ale również 'to istnieje i jest dokładnie w tej konfiguracji.'
Co oznacza w praktyce 'routing-by-agreement'?
Każda dolnotarczowa kapsuła dokonuje prognozy dotyczącej tego, jaki powinien być wynik wyjściowy wyższej tarczy, wykorzystując nauczoną transformację. Jeśli wiele dolnotarczowych kapsuł generuje prognozy, które są ze sobą ściśle zgodne, algorytm routingu zwiększa siłę połączeń z tych kapsuł do tej wyższej tarczy w ciągu kilku iteracji, tak aby zgody 'głosy' były wzmacniane, a sprzeczne tłumione. Zastępuje to staresąszczanie informacyjne oparte na pozycji, które wykonuje pooling, dynamicznym, konsensusowym przekazywaniem informacji.
Dlaczego sieć neuronowa kapsułowa teoretycznie nie może zostać oszukaną przez posortowane twarz, podczas gdy CNN tak?
Sieć neuronowa CNN z warstwami max-pooling głównie sprawdza, czy występują w obrazie elementy przypominające twarze, odrzucając większość informacji o ich względnym ułożeniu. Dlatego obraz z oczami, nosem i ustami pomieszkanymi w niewłaściwych pozycjach nadal może wywoływać silną reakcję 'twarzy'. Mechanizm routingu w sieci neuronowej kapsułowej wymaga, aby pozycje wykryte przez podkapsuły zgadzały się z spójną hipotezą dotyczącą całego obiektu. Dlatego elementy ułożone w nieprawdopodobnie geometryczny sposób nie powinny generować silnej zgodności i powinny być rozpoznawane jako nieformujący spójną twarz.
Czy sieci neuronowe kapsułowe są wykorzystywane w systemach produkcyjnych dzisiaj?
Nie szeroko. Ich koszt obliczeniowy i trudność treningowa powstrzymały je przed zastąpieniem CNN i modeli wizyjnych opartych na transformatorach na dużych zbiorach danych i kanałach produkcyjnych. Są one częściej spotykane w środowiskach badawczych, w mniejszych, specjalistycznych aplikacjach, gdzie istotne jest precyzyjne informowanie o pozycji, oraz jako źródło pomysłów wpływających na nowsze architektury, a nie jako narzędzie produkcji masowej.
Czy Hinton wynalazł sieci neuronowe kapsułowe, aby naprawić pooling?
Tak, to było wyraźne motywowanie. Hinton od dawna był publicznym krytykiem max-poolingu, argumentując, że odrzucanie precyzyjnych informacji przestrzennych jest gorszym zamiennikiem niż prawdziwe zrozumienie pozycji i struktury części-całość. Sieci neuronowe kapsułowe, wprowadzone z dynamicznym routowaniem w 2017 roku, były jego zaproponowaną alternatywną architekturą, mającą na celu zachowanie dokładnie tego szczegółu geometrycznego, który max-pooling wyrzuca, a jednocześnie osiągnięcie użytecznej niezmienności w stosunku do zakłóceń.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Capsule Networks: Preserving Spatial Hierarchies i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Capsule Networks: Preserving Spatial Hierarchies