Zasady wyboru hiperparametrów splotowej sieci neuronowej

22

Czy są jakieś dobre artykuły, które obejmują metodyczne sposoby wybierania wymiarów filtrów, łączenia jednostek i określania liczby warstw splotowych?

klucz kosmiczny
źródło
1
Zredagowałem twój tytuł. Lepiej jest używać pełnych nazw zamiast skrótów, ponieważ w wielu przypadkach krótkie nazwy są niejednoznaczne.
Tim

Odpowiedzi:

11

W pewnym stopniu tak, niedawno opublikowany artykuł przez naukowców Google na temat wyboru dobrych architektur Inception. Sieci początkowe osiągają bardzo wysoką wydajność przy ograniczonym budżecie parametrów, więc jest to tak dobre miejsce, aby zacząć jak każde inne, i to niedawno. Oto link: Ponowne przemyślenie architektury Incepcji dla wizji komputerowej .

Nie oferują żadnych twardych reguł ilościowych, ale raczej wytyczne, które zastosowali i którzy pomogli im osiągnąć dobre wyniki w ostatnich konkursach ImageNet.

Na przykład niektóre z omawianych zasad to:

  • Zastosuj stosy mniejszych warstw splotowych pola odbiorczego zamiast pojedynczych dużych warstw splotowych dużego pola odbiorczego, tj. 2 stosy warstw konwekcyjnych 3x3 w porównaniu do pojedynczej warstwy konwekcyjnej 7x7. Ten pomysł nie jest nowy, został również omówiony w Powrocie diabła w szczegółach: Zagłębianie się w sieci konwergentne przez zespół Oxford VGG. Jest to uzasadnione potrzebą wydajności parametrów. Ma również podwójny efekt, polegający na większej zdolności reprezentacyjnej, ponieważ wprowadzamy większą nieliniowość przy większej liczbie warstw.

  • Coś, czego nie widziałem w literaturze, o której wspomniał ten artykuł, rozkłada warstwy splotowe na głębokie. Zamiast pojedynczej warstwy konwekcyjnej 7x7, mielibyśmy warstwę konwekcyjną 1x7, a następnie warstwę konwekcyjną 7x1. Dodaje więcej głębi, uważam, że również parametr jest również wydajny.

  • Zrównoważyć głębokość i szerokość swojej sieci. Używaj reprezentacji wysokowymiarowych. Jest to jedna z zasad stojących za modułami Inception, które łączą ze sobą wiele warstw splotowych. Więc nawet jeśli masz niewielki rozmiar przestrzenny w swojej sieci konwekcyjnej, za pomocą modułów Inception możemy użyć reprezentacji wielowymiarowej poprzez wieloskalową konkolenację splotową: 1x1, 3x3, 3x3-3x3, maksymalna pula razem wzięte. Te moduły Incepcji mają „szerokość”, ponieważ można je interpretować jako wykonywanie wielu operacji równolegle. Idą jeszcze dalej z nowymi modułami Inception, które uwzględniają wielkości splotowe, 1x3, 3x1 itp.

  • Użyj warstw konwekcyjnych 1x1 (sieć w stylu sieci), aby zmniejszyć wymiarowość. Wykorzystują wiele technik redukcji wymiarów, aby osiągnąć wydajność parametrów. Uważają, że jest to skuteczne, ponieważ sąsiednie mapy obiektów mają wysoce skorelowane dane wyjściowe. Ma to sens, ponieważ wiadomo, że naturalne obrazy wykazują zgodne z tym niektóre lokalne właściwości statystyczne. Zmniejszenie wymiarów dzięki warstwom NIN 1x1 nie ma katastrofalnego wpływu na siłę reprezentacji.

W tym artykule jest więcej. Myślę, że jest to artykuł, który może dać wgląd w to, o co pytasz. Mówią o kilku bardzo podstawowych koncepcjach projektowania architektury konwekcyjnej.

Indie AI
źródło
2

Nie natknąłem się na żadną literaturę dotyczącą wybierania tych hiperparametrów w zależności od specyfikacji problemu. Rozumiem jednak, że większość stosuje bayesowskie metody optymalizacji w celu wyzerowania skutecznych wartości. Podajesz rozsądny zakres, a testując różne kombinacje, uczysz się modelu, w jaki sposób te hiperparametry odnoszą się do dokładności modelu. Dla mnie to zadziałało. Sprawdź „Praktyczną bayesowską optymalizację algorytmów uczenia maszynowego” autorstwa Snoka, Larochelle i Adamsa ( http://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf ).

David Kelley
źródło