Czy jest coś, co zapewnia, że ​​filtry splotowe nie kończą się tak samo?

Dec 11 2020

Wyszkoliłem prosty model rozpoznawania odręcznych liczb ze zbioru danych mnist. Oto ona:

model = Sequential([
    Conv2D(filters=1, kernel_size=(3,1), padding='valid', strides=1, input_shape=(28, 28, 1)),
    Flatten(),
    Dense(10, activation='softmax')])

Eksperymentowałem z różnicowaniem liczby filtrów dla warstwy splotowej, przy zachowaniu stałych pozostałych parametrów (szybkość uczenia = 0,0001, liczba epizodów = 2000, rozmiar partii treningowej = 512). Użyłem filtrów 1, 2, 4, 8 i 16, a dokładność modelu dla każdego z nich wynosiła 92-93%.

Z mojego zrozumienia podczas szkolenia filtry mogą nauczyć się rozpoznawać różne typy krawędzi obrazu (np. Pionowe, poziome, okrągłe). Ten eksperyment sprawił, że zacząłem się zastanawiać, czy któryś z filtrów nie zostanie zduplikowany - mając taką samą lub podobną wagę. Czy jest coś, co im przed tym stoi?

Odpowiedzi

4 user3667125 Dec 11 2020 at 13:16

Nie, nic tak naprawdę nie stoi na przeszkodzie, aby ciężary były inne. W praktyce jednak kończą się one prawie zawsze inaczej, ponieważ sprawia, że ​​model jest bardziej wyrazisty (tj. Mocniejszy), więc zejście gradientowe uczy się tego robić. Jeśli model ma$n$ funkcje, ale 2 z nich są takie same, to model faktycznie ma $n-1$ funkcje, które są mniej wyrazistym modelem niż model $n$ funkcje, a zatem zwykle ma większą funkcję strat.

Ale nawet jeśli wagi są różne, niektóre z nich mogą być bardzo podobne. Jeśli wizualizujesz pierwszą warstwę swoich filtrów splotu i masz ich dużą liczbę (np. 100), zobaczysz, że niektóre z nich uczą się wykrywać z grubsza te same krawędzie (ta sama orientacja i położenie). Cechy te są tak podobne, że w modelu są efektywnie redundantne i nie zwiększają jego mocy predykcyjnej.

W rzeczywistości istnieje całe pole badań nad identyfikowaniem zbędnych funkcji i ich przycinaniem. Le Cun pokazuje w Optimal Brain Damage, że usunięcie zbędnych funkcji nie tylko sprawia, że ​​model jest mniejszy i szybszy do wnioskowania, ale może nawet poprawić dokładność modelu.

Tutaj znajduje się wpis na blogu zawierający ogólny przegląd jednej z metod przycinania, aby uzyskać więcej informacji.