Hiperparametry są zmienne które pozwalają kontrolować różne aspekty trenowania. Trzy typowe hiperparametry to:
Parametry to natomiast takich jak wagi i odchylenia, które są częścią samego modelu. W Innymi słowy, hiperparametry to wartości, które kontrolujesz. parametry to wartości które model oblicza podczas trenowania.
Tempo uczenia się
Tempo uczenia się to liczbę zmiennoprzecinkową, która wpływa na szybkość są zbieżne. Jeśli tempo uczenia się jest zbyt niskie, model może zająć dużo czasu aby się zbliżyć. Jeśli jednak tempo uczenia się jest zbyt wysokie, model nigdy są zbieżne, lecz odbijają się od ciężarów i uprzedzeń, które minimalizują straty. Celem jest wybranie tempa uczenia się, które nie jest ani za wysokie, ani za niskie, aby model szybko się zparł.
Tempo uczenia się określa skalę zmian, jakie należy wprowadzić w wadze i odchylenia na każdym etapie procesu opadania gradientu. Model mnoży gradient według tempa uczenia się w celu określenia parametrów modelu (waga i wartości odchylenia) dla kolejnej iteracji. Na trzecim etapie gradientu descent, czyli „mała ilość”, w kierunku ujemnego nachylenia odnosi się do tempa uczenia się.
Różnica między parametrami starego i nowego modelu wynosi proporcjonalne do nachylenia funkcji straty. Na przykład jeśli nachylenie to model wymaga dużego kroku. Jeśli jest mała, wymaga małego kroku. Dla: Jeśli na przykład natężenie gradientu wynosi 2,5, a tempo uczenia się 0,01, model zmieni parametr o 0,025.
Idealne tempo uczenia się pomaga modelowi uzyskać zbieżność w ramach rozsądnej liczby powtórzeń. Na rys. 21 krzywa straty przedstawia model w dużym stopniu poprawić wyniki w ciągu pierwszych 20 iteracji przed rozpoczęciem procesu osiągnięcia zgodności:
Rysunek 21. Wykres strat przedstawiający model wytrenowany z tempem uczenia się szybko się zbiegają.
Zbyt małe tempo uczenia się może wymagać zbyt wielu iteracji, połączyć. Na Rys. 22 krzywa straty pokazuje, że model jest niewielki. – poprawki po każdej iteracji:
Rysunek 22. Wykres strat przedstawiający model wytrenowany przy małym tempie uczenia się.
Zbyt duże tempo uczenia się nigdy nie jest zbieżne, ponieważ każda iteracja powoduje, że strata jest odbijająca się okrągło lub stale rośnie. Na rys. 23 strata krzywa pokazuje spadek, a następnie rosnącą stratę po każdej iteracji Na rys. 24 strata rośnie przy kolejnych iteracjach:
Rysunek 23. Wykres strat przedstawiający model wytrenowany przy tempie uczenia się zbyt duża, gdzie krzywa straty fluktuuje się, przechodząc w górę i w dół wzrost liczby iteracji.
Rysunek 24. Wykres strat przedstawiający model wytrenowany przy tempie uczenia się jest zbyt duża, a krzywa straty gwałtownie wzrasta w kolejnych iteracjach.
Ćwiczenie: sprawdź swoją wiedzę
Wielkość wsadu
Rozmiar wsadu jest hiperparametrem, który odnosi się do liczby przykładów przetwarzanych przez model przed aktualizacją wagi i uprzedzenia. Możesz pomyśleć, że model powinien obliczyć stratę dla każdego w zbiorze danych przed aktualizacją wagi i odchylenia. Gdy jednak zbiór danych zawiera setki tysięcy, a nawet miliony przykładów, przy użyciu całego pliku nie jest racjonalne.
Dwie typowe techniki uzyskania odpowiedniego gradientu w przypadku wartości średniej bez konieczności należy sprawdzić każdy przykład w zbiorze danych, zanim zaktualizujesz wagi i odchylenia są gradient stochastyczny i minizbiorczy gradient stochastyczny zejście:
Stochastyczny gradient gradientowy (SGD): stochastyczny gradient gradientowy używa jednego przykładu (wsadu wynoszącego 1) na każdą iterację. Wystarczające SGD działa, ale jest bardzo zaszumiony. „Szum” Dotyczy różnic w okresie które powoduje, że strata rośnie, a nie spada, i iteracji. Termin „stochastyczny” wskazuje, że jeden przykład zawierający każda grupa jest wybierana losowo.
Na grafice poniżej widać, jak straty nieznacznie się zmieniają w miarę modelu aktualizuje swoje wagi i odchylenia za pomocą SGD, co może prowadzić do szumu w utracie danych wykres:
Rysunek 25. Model wytrenowany z użyciem gradientu stochastycznego (SGD) pokazujący na krzywej strat.
Pamiętaj, że stosowanie gradientu stochastycznego może powodować generowanie szumu całą krzywą straty, a nie tylko zbliżony do zbieżności.
Mini-grupowe zejście stochastyczne z gradientem (miniseryjne SGD): gradient stochastyczny to kompromis między pełnym wsadem i SGD. Dla: $ N $ punktów danych, rozmiar wsadu może być dowolną liczbą większą niż 1 i mniej niż $ N $. Model wybiera przykłady uwzględnione w każdej wsadzie losowo, uśrednia swoje gradienty, a następnie aktualizuje wagi i odchylenia raz na iterację.
Określanie liczby przykładów dla każdego wsadu zależy od zbioru danych dostępnych zasobów obliczeniowych. Ogólnie małe wsady działają tak SGD i większe wsady działają tak jak pełne gradientowe zejście w dół.
Rysunek 26. Model wytrenowany z użyciem minizbiorczego SGD.
Podczas trenowania modelu możesz pomyśleć, że szum jest niepożądany, właściwości, które należy wyeliminować. Pewna ilość szumu może jednak jest dobre. W kolejnych modułach dowiesz się, jak szum może pomóc modelowi uogólnij i znajdź optymalne wagi i uprzedzenia w neuronach .
Epoki
Epoka w trakcie trenowania oznacza, model przetworzył każdy przykład w zbiorze treningowym raz. Na przykład, jeśli zbiór treningowy z 1000 przykładów i niewielkim zbiorem 100 przykładów, wykona na modelu 10 iteracje, do końca jednej epoki.
Trenowanie wymaga zwykle wielu epok. Oznacza to, że system musi przetworzyć każdy przykład w zbiorze treningowym.
Liczba epok to hiperparametr ustawiany przed rozpoczęciem modelu szkolenia internetowego. Często trzeba poeksperymentować, sprawdzając, ile epok czasu zajmuje dla uzgadniania modelu. Ogólnie rzecz biorąc, więcej epok oznacza lepszy model, ale wymaga więcej czasu na trenowanie.
Rysunek 27. Cała porcja lub miniatura.
W tej tabeli opisano związek między wielkością wsadu i epokami a liczbą za każdym razem, gdy model aktualizuje swoje parametry.
Typ wsadu | Kiedy występują aktualizacje wag i uprzedzeń |
---|---|
Cała grupa | Gdy model przejrzy wszystkie przykłady w zbiorze danych. Przykład: jeśli zbiór danych zawiera 1000 przykładów,a model trenuje przez 20 epok, model aktualizuje wagi i odchylenia 20 razy, raz na epokę. |
Spadek stochastyczny w formie gradientu | Gdy model zapozna się z pojedynczym przykładem ze zbioru danych. Na przykład: jeśli zbiór danych zawiera 1000 przykładów i trenuje dla w okresie 20 epoek model aktualizuje wagi i odchylenia 20 tys. razy. |
Minigrupowe opadanie stochastyczne z gradientem | Gdy model zapozna się z przykładami w każdej partii. Przykład: jeśli zbiór danych zawiera 1000 przykładów, a rozmiar wsadu to 100; model trenuje przez 20 epok, aktualizuje wagi i 200-krotnego odchylenia. |