W sposób mechanistyczny / obrazkowy / oparty na obrazach:
Dylatacja: ### ZOBACZ UWAGI, DZIAŁAJĄCE NA NAPRAWIENIU TEJ SEKCJI
Dylatacja jest w dużej mierze taka sama, jak konwulsja typu non-the-mill (szczerze mówiąc, dekonwolucja), z tym wyjątkiem, że wprowadza luki w jądrach, tj. Podczas gdy standardowe jądro zwykle ślizga się po sąsiadujących sekcjach danych wejściowych, jego rozszerzony odpowiednik może, na przykład „otacza” większą część obrazu - podczas gdy nadal ma tylko tyle wag / danych wejściowych, co standardowa forma.
(Uwaga: podczas gdy dylatacja wstrzykuje zera do jądra , aby szybciej zmniejszyć wymiary twarzy / rozdzielczość jego wyjścia, transpozycja splotu wstrzykuje zera do jego wejścia , aby zwiększyć rozdzielczość jego wyjścia.)
Aby uczynić to bardziej konkretnym, weźmy bardzo prosty przykład:
Załóżmy, że masz obraz 9x9, x bez wypełnienia. Jeśli weźmiesz standardowe jądro 3x3, z krokiem 2, pierwszy podzbiór z danych wejściowych będzie wynosił x [0: 2, 0: 2], a jądro weźmie pod uwagę wszystkie dziewięć punktów w tych granicach. Następnie przeciągnąłbyś po x [0: 2, 2: 4] i tak dalej.
Wyraźnie wynik będzie miał mniejsze wymiary twarzy, a konkretnie 4x4. Zatem neurony następnej warstwy mają pola recepcyjne w dokładnej wielkości tych przejść jądra. Ale jeśli potrzebujesz neuronów o większej globalnej wiedzy przestrzennej (np. Jeśli ważną cechę można zdefiniować tylko w regionach większych niż to), potrzebujesz drugiej warstwy, aby utworzyć trzecią warstwę, w której skuteczne pole odbiorcze jest jakiś związek poprzednich warstw rf.
Ale jeśli nie chcesz dodawać kolejnych warstw i / lub uważasz, że przekazywane informacje są nadmiernie zbędne (tzn. Twoje pola odbiorcze 3x3 w drugiej warstwie zawierają tylko „2x2” wyraźne informacje), możesz użyć rozszerzony filtr. Podejdźmy do tego wyjątkowo, aby uzyskać jasność i powiedzmy, że użyjemy 3-dialowego filtra 9x9. Teraz nasz filtr „otoczy” całe wejście, więc nie będziemy musieli go wcale przesuwać. Nadal będziemy jednak pobierać z wejścia tylko 3x3 = 9 punktów danych, x :
x [0,0] U x [0,4] U x [0,8] U x [4,0] U x [4,4] U x [4,8] U x [8,0] U x [8,4] U x [8,8]
Teraz neuron w naszej następnej warstwie (będziemy mieli tylko jedną) będzie miał dane „reprezentujące” znacznie większą część naszego obrazu, i ponownie, jeśli dane obrazu są bardzo redundantne dla sąsiednich danych, moglibyśmy zachować te same informacje i nauczył się równoważnej transformacji, ale z mniejszą liczbą warstw i mniejszymi parametrami. Myślę, że w ramach tego opisu jest jasne, że chociaż można to zdefiniować jako ponowne próbkowanie, jesteśmy tutaj w dół próbkowania dla każdego jądra.
Ułamkowy krok lub transpozycja lub „dekonwolucja”:
Ten rodzaj jest nadal bardzo splotem w sercu. Różnica polega na tym, że ponownie przejdziemy od mniejszej głośności wejściowej do większej głośności wyjściowej. OP nie zadał żadnych pytań na temat tego, co to jest upsampling, więc zaoszczędzę trochę czasu, tym razem i przejdę od razu do odpowiedniego przykładu.
W naszym poprzednim przypadku 9 x 9 powiedzmy, że chcemy teraz zwiększyć próbkę do 11 x 11. W tym przypadku mamy dwie typowe opcje: możemy wziąć jądro 3x3 i krokiem 1 i przeciągnąć go po naszym wejściu 3x3 za pomocą 2-padding, aby nasze pierwsze przejście było ponad regionem [left-pad-2: 1, above-pad-2: 1], a następnie [left-pad-1: 2, above-pad-2: 1] i tak dalej i tak dalej.
Alternatywnie możemy dodatkowo wstawić dopełnianie między danymi wejściowymi i przeciągać po nim jądro bez tak dużej ilości dopełniania. Najwyraźniej czasem będziemy zajmować się dokładnie tymi samymi punktami wejściowymi więcej niż jeden raz dla jednego jądra; w tym przypadku termin „ułamkowo ułożony” wydaje się bardziej uzasadniony. Myślę, że poniższa animacja (pożyczona stąd i oparta (jak sądzę) na tej pracy) pomoże wyczyścić wszystko pomimo różnych wymiarów. Dane wejściowe są niebieskie, białe wstrzyknięte zera i wypełnienie, a dane wyjściowe zielone:
Oczywiście zajmujemy się wszystkimi danymi wejściowymi, w przeciwieństwie do dylatacji, która może całkowicie ignorować niektóre regiony. A ponieważ mamy wyraźnie więcej danych, niż zaczęliśmy, „upsampling”.
Zachęcam do przeczytania doskonałego dokumentu, z którym się połączyłem, aby uzyskać bardziej solidną, abstrakcyjną definicję i wyjaśnienie transpozycji transpozycji, a także dowiedzieć się, dlaczego podane przykłady są ilustrującymi, ale w dużej mierze nieodpowiednimi formami do obliczenia reprezentowanej transformacji.
Chociaż oba wydają się robić to samo, czyli próbkowanie warstwy w górę, istnieje wyraźny margines między nimi.
Najpierw mówimy o Dilated Convolution
Znalazłem ten fajny blog na powyższy temat. Tak więc, jak zrozumiałem, bardziej przypomina to eksplorację punktów danych wejściowych w szeroki sposób . Lub zwiększenie pola odbiorczego operacji splotu.
Oto rozszerzony schemat splotu z artykułu .
Jest to bardziej normalny splot, ale pomaga uchwycić coraz więcej globalnego kontekstu z pikseli wejściowych bez zwiększania wielkości parametrów. Może to również pomóc zwiększyć przestrzenny rozmiar wydruku. Ale najważniejsze jest to, że zwiększa to wykładniczo wielkość pola odbiorczego wraz z liczbą warstw. Jest to bardzo powszechne w dziedzinie przetwarzania sygnału.
Ten blog naprawdę wyjaśnia, co nowego w rozszerzonym splotu i jak to porównać do normalnego splotu.
Blog: Rozwinięte sploty i zwoje Frontu Kroneckera
Teraz wyjaśnię, czym jest Dekonwolucja
Nazywa się to transponowanym splotem. Jest to równe funkcji, której użyliśmy do splotu w propagacji wstecznej.
Po prostu w backpropie dystrybuujemy gradienty z jednego neuronu na wyjściowej mapie cech do wszystkich elementów w polach recepcyjnych, a następnie sumujemy gradienty tam, gdzie pokrywały się z tymi samymi elementami recepcyjnymi
Oto dobry zasób ze zdjęciami .
Zatem podstawową ideą jest dekonwolucja działająca w przestrzeni wyjściowej. Brak pikseli wejściowych. Spróbuje utworzyć szersze wymiary przestrzenne na mapie wyjściowej. Jest to wykorzystywane w pełni konwergentnych sieciach neuronowych do segmentacji semantycznej .
Zatem więcej Deconvolution to możliwa do nauczenia się warstwa próbkowania w górę.
Próbuje nauczyć się próbkowania w połączeniu z ostateczną stratą
To najlepsze wytłumaczenie, jakie znalazłem dla dekonwolucji. Wykład 13 w cs231, od 21.21 r .
źródło