Regresja liniowa: hiperparametry

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. Krzywa straty, która przedstawia stromy nachylenie przed spłaszczeniem.

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. Krzywa straty pokazująca nachylenie pod kątem prawie 45 stopni.

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. Krzywa straty z postrzępioną linią w górę i w dół.

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. Krzywa straty, która pokazuje stratę rosnącą w późniejszych iteracjach

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ę

Jakie jest idealne tempo uczenia się?
Idealne tempo uczenia się jest zależne od problemu.
Każdy model i zbiór danych będzie mieć własne idealne tempo uczenia się.
0,01
1,0

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. Krzywa stromych strat, która się wygładza, ale z dużą ilością niewielkich wahań.

    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. Krzywa straty stromej, która zaczyna się wygładzać, ze znacznie mniejszymi wahaniami zbliżeniowymi do zbieżności.

    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. Pełny wsad to cały zbiór danych, miniatura to podzbiór zbioru danych, a epoka to pełne przejście przez 10 miniwsadów.

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.

Ćwiczenie: sprawdź swoją wiedzę

1. Jaki jest najlepszy rozmiar wsadu, jeśli używasz małej partii SGD?
To zależy
Idealna wielkość wsadu zależy od zbioru danych i dostępnych zasoby obliczeniowe
Po 10 przykładów na wsad
100 przykładów na wsad
2. Które z poniższych stwierdzeń jest prawdziwe?
Większe wsady nie sprawdzą się w przypadku danych z wieloma wyjątkami.
To stwierdzenie jest fałszywe. Dzięki uśrednieniu większej liczby gradientów razem, większe wielkości wsadu może ograniczyć negatywne skutki występowania wartości odstających w danych.
Podwojenie tempa uczenia się może spowolnić trenowanie.
To stwierdzenie jest prawdziwe. Podwojenie tempa uczenia się może spowodować, zbyt duże tempo uczenia się, które powoduje przypisanie wagi lub „odbijać się”, wydłużając czas potrzebny na uzyskanie zgodności. Jak zawsze, najlepsze hiperparametry zależą od zbioru danych dostępnych zasobów obliczeniowych.