Odkryłem, że Imagenet i inne duże CNN korzystają z lokalnych warstw normalizacji odpowiedzi. Nie mogę jednak znaleźć tylu informacji na ich temat. Jak ważne są i kiedy należy je stosować?
From http://caffe.berkeleyvision.org/tutorial/layers.html#data-layers :
„Lokalna warstwa normalizacyjna odpowiedzi dokonuje pewnego rodzaju„ bocznego hamowania ”poprzez normalizację w lokalnych regionach wejściowych. W trybie ACROSS_CHANNELS, lokalne regiony rozciągają się w pobliskich kanałach, ale nie mają zasięgu przestrzennego (tzn. Mają kształt rozmiar_lokalny x 1 x 1) W trybie WITHIN_CHANNEL, lokalne regiony rozszerzają się przestrzennie, ale są w osobnych kanałach (tj. Mają kształt 1 x rozmiar_lokalny x rozmiar_lokalny). Każda wartość wejściowa jest dzielona przez (1+ (α / n) ∑ix2i) β, gdzie n to rozmiar każdego regionu lokalnego, a suma jest przejmowana na region wyśrodkowany na tej wartości (w razie potrzeby dodawane jest zerowanie). ”
Edytować:
Wydaje się, że tego rodzaju warstwy mają minimalny wpływ i nie są już używane. Zasadniczo ich rola została pokonana przez inne techniki regularyzacji (takie jak rezygnacja i normalizacja partii), lepsze inicjalizacje i metody treningowe. Zobacz moją odpowiedź poniżej, aby uzyskać więcej informacji.
Tą odpowiedzią chciałbym podsumować uwagi innych autorów i przedstawić wyjaśnienie techniki LRN (lub kontrastowej normalizacji) w jednym miejscu dla tych, którzy chcą tylko wiedzieć, co to jest i jak działa.
Motywacja: „ Ten rodzaj normalizacji odpowiedzi (LRN) wprowadza formę bocznego hamowania zainspirowanego typem występującym w prawdziwych neuronach, tworząc konkurencję dla dużych aktywności między wyjściami neuronów obliczanymi przy użyciu różnych jąder. „ AlexNet 3.3
Innymi słowy, LRN pozwala zmniejszyć odpowiedzi, które są jednorodnie duże dla sąsiedztwa i uczynić większą aktywację bardziej wyraźną w sąsiedztwie, tj. Stworzyć większy kontrast na mapie aktywacji. prateekvjoshi.com stwierdza, że jest szczególnie przydatny w przypadku nieograniczonych funkcji aktywacyjnych jako RELU.
Oryginalna formuła: Dla każdej konkretnej pozycji (x, y) i jądra i, które odpowiadają pojedynczemu wyjściu „piksela”, stosujemy „filtr”, który zawiera informacje o wynikach innych n jąder zastosowanych do tej samej pozycji. Tę regularyzację stosuje się przed funkcją aktywacji. Ta regularyzacja rzeczywiście opiera się na kolejności jąder, co według mojej najlepszej wiedzy jest po prostu niefortunnym zbiegiem okoliczności.
W praktyce (patrz Caffe ) można zastosować 2 podejścia:
Rzeczywiste użycie LRN było używane częściej w dniach wczesnych konwetów, takich jak LeNet-5. Obecna implementacja GoogLeNet (Inception) w Caffe często wykorzystuje LRN w połączeniu z technikami łączenia, ale wydaje się, że jest to zrobione ze względu na samą jego posiadanie. Ani oryginalny Inception / GoogLeNet ( tutaj ), ani żadna z poniższych wersji nie wspomina w żaden sposób o LRN. Ponadto implementacja TensorFlow dla Inception (dostarczona i zaktualizowana przez zespół oryginalnych autorów) nie korzysta z LRN, mimo że jest dostępna.
Wniosek Zastosowanie LRN wraz z warstwą puli nie zaszkodzi wydajności sieci, o ile wartości hiperparametrów są rozsądne. Mimo to nie znam żadnego niedawnego uzasadnienia dla zastosowania normalizacji LRN / kontrastu w sieci neuronowej.
źródło
Warstwa typu Lokalna Normalizacja Reakcji (LRN) okazuje się przydatna przy stosowaniu neuronów z nieograniczonymi aktywacjami (np. Rektyfikowanymi neuronami liniowymi), ponieważ pozwala na wykrycie cech wysokiej częstotliwości z dużą odpowiedzią neuronową, przy równoczesnym tłumieniu odpowiedzi, które są jednakowo duże w lokalnej okolicy. Jest to rodzaj regulizatora, który zachęca do „rywalizacji” o duże aktywności wśród pobliskich grup neuronów.
src- https://code.google.com/p/cuda-convnet/wiki/LayerParams#Local_response_normalization_layer_(same_map)
źródło
Lokalna normalizacja odpowiedzi (LRN) odbywa się w pikselach dla każdego kanału :i
gdzie są stałymi. Zauważ, że otrzymasz normalizację L2, jeśli ustawisz , , . κ = 0 α = 1 β = 1k,α,β∈R κ=0 α=1 β=12
Istnieje jednak znacznie nowsza technika zwana „normalizacją wsadową” (patrz artykuł ), która działa dość podobnie i sugeruje, aby nie używać już LRN. Normalizacja partii działa również w pikselach:
gdzie to średnia, to wariancja, to mała stała, to parametry, których można się nauczyć, które pozwalają sieci usunąć normalizację.σ 2 ε > 0 γ , β ∈ Rμ σ2 ε>0 γ,β∈R
Odpowiedź brzmi: lokalna normalizacja odpowiedzi nie jest już ważna, ponieważ mamy coś, co działa lepiej i zastąpiliśmy LRN: normalizacja partii.
Zobacz też
źródło