Uwaga: Poniższy artykuł pomoże Ci w: Przyspiesz dostrajanie hiperparametrów w uczeniu głębokim dzięki tunerowi hiperpasmowemu Keras
Wydajność algorytmów uczenia maszynowego w dużym stopniu zależy od wybrania dobrego zbioru hiperparametrów. Keras Tuner to pakiet, który pomaga w doborze najlepszego zestawu hiperparametrów dla Twojej aplikacji. Proces znajdowania optymalnego zbioru hiperparametrów dla aplikacji do uczenia maszynowego lub uczenia głębokiego jest znany jako dostrajanie hiperparametrów. Hyperband to framework do dostrajania hiperparametrów, który pomaga przyspieszyć proces dostrajania hiperparametrów. W tym artykule skupimy się na zrozumieniu struktury hyperband. Oto tematy, które zostaną omówione w tym artykule.
Spis treści
- O podejściach HPO Czym jest hiperpasmo? Optymalizacja bayesowska a hiperpasmoDziałanie hiperpasma
Hiperparametry nie są parametrami modelu i nie można ich nauczyć bezpośrednio z danych. Kiedy optymalizujemy funkcję straty za pomocą czegoś takiego jak opadanie gradientu, podczas treningu uczymy się parametrów modelu. Porozmawiajmy o Hyperband i spróbujmy zrozumieć potrzebę jego powstania.
O podejściach HPO
Podejście polegające na dostosowywaniu hiperparametrów algorytmów uczenia maszynowego jest znane jako optymalizacja hiperparametrów (HPO). Doskonałe algorytmy uczenia maszynowego zawierają różne, różnorodne i skomplikowane hiperparametry, które tworzą ogromną przestrzeń wyszukiwania. Głębokie uczenie jest wykorzystywane jako podstawa wielu procesów start-upowych, a przestrzeń poszukiwań metod głębokiego uczenia jest znacznie szersza niż w przypadku typowych algorytmów ML. Strojenie na dużej przestrzeni wyszukiwania jest trudnym zadaniem. Strategie oparte na danych muszą być stosowane w celu rozwiązania problemów związanych z HPO. Ręczne metody nie działają.
Szukasz kompletnego repozytorium bibliotek Pythona używanych w data science, sprawdź tutaj.
Co to jest hiperband?
Definiując optymalizację hiperparametrów jako problem adaptacyjnej alokacji zasobów w ramach czystej eksploracji, dotyczący sposobu rozdzielania zasobów między losowo wybrane konfiguracje hiperparametrów, opracowano nowatorską technikę oceny konfiguracji. Nazywa się to konfiguracją Hyperband. Przydziela zasoby przy użyciu logicznej techniki wczesnego zatrzymywania, co pozwala testować rzędy wielkości większej liczby konfiguracji niż procesy czarnoskrzynkowe, takie jak metody optymalizacji bayesowskiej. W przeciwieństwie do poprzednich metodologii oceny konfiguracji, Hyperband jest narzędziem ogólnego przeznaczenia, które przyjmuje niewiele założeń.
Zdolność Hyperband do przystosowania się do nieznanych współczynników konwergencji i zachowania strat walidacji jako funkcji hiperparametrów została udowodniona przez programistów w badaniu teoretycznym. Ponadto, w przypadku szeregu problemów związanych z uczeniem głębokim i uczeniem opartym na jądrze, Hyperband jest 5 do 30 razy szybciej niż typowe techniki optymalizacji bayesowskiej. W środowisku niestochastycznym Hyperband jest jednym z rozwiązań o właściwościach podobnych do problemu związanego z czystą eksploracją i bandytą o nieskończonej broni.
Potrzeba Hyperbandu
Hiperparametry są wprowadzane do algorytmu uczenia maszynowego, który reguluje uogólnienie wydajności algorytmu na niewidoczne dane. Ze względu na rosnącą liczbę parametrów strojenia związanych z tymi modelami trudno jest ustawić standardowe techniki optymalizacyjne.
W celu opracowania bardziej wydajnych metod wyszukiwania, podejście do optymalizacji bayesowskiej, które koncentruje się na optymalizacji wyboru konfiguracji hiperparametrów, zdominowało ostatnio temat optymalizacji hiperparametrów. Wybierając konfiguracje w sposób adaptacyjny, podejścia te mają na celu odkrycie dobrych konfiguracji szybciej niż typowe linie bazowe, takie jak wyszukiwanie losowe. Podejścia te dotyczą jednak zasadniczo trudnego problemu dopasowania i optymalizacji wielowymiarowej, niewypukłej funkcji z niepewną gładkością i być może zaszumionymi ocenami.
Celem ortogonalnego podejścia do optymalizacji hiperparametrów jest przyspieszenie oceny konfiguracji. Metody te są obliczeniowo adaptacyjne, zapewniając większe zasoby dla obiecujących kombinacji hiperparametrów, jednocześnie szybko usuwając złe. Rozmiar zbioru uczącego, liczba funkcji lub liczba iteracji dla algorytmów iteracyjnych to przykłady zasobów.
Techniki te mają na celu analizę rzędów wielkości większej liczby konfiguracji hiperparametrów niż podejścia, które równomiernie uczą wszystkie konfiguracje do ukończenia, a tym samym szybkie odkrywanie odpowiednich hiperparametrów. Hiperpasmo ma na celu przyspieszenie losowego wyszukiwania poprzez zapewnienie prostego i teoretycznie rozsądnego punktu wyjścia.
Optymalizacja bayesowska vs Hyperband
Optymalizacja bayesowska | hiperband |
Model oparty na prawdopodobieństwie | Model oparty na bandytach |
Uczy się kosztownej funkcji celu na podstawie wcześniejszych obserwacji. | W każdej danej sytuacji celem jest jak najszybsze zmniejszenie prostego żalu, definiowanego jako odległość od najlepszego wyboru. |
Optymalizacja bayesowska ma zastosowanie tylko do ciągłych hiperparametrów, a nie do jakościowych. | Hyperband może działać zarówno dla hiperparametrów ciągłych, jak i kategorycznych |
Działanie hyperbandu
Hyperband nazywa technikę SuccessiveHalving wprowadzoną do optymalizacji hiperparametrów podprogramem i ulepsza ją. Oryginalna metoda sukcesywnego zmniejszania o połowę została nazwana na podstawie teorii, która się za nią kryje: równomiernie przydziel budżet do zbioru konfiguracji hiperparametrów, oceń wydajność wszystkich konfiguracji, odrzuć najgorszą połowę i powtarzaj, aż pozostanie tylko jedna konfiguracja. Bardziej obiecujące kombinacje otrzymują wykładniczo więcej zasobów z algorytmu.
Algorytm Hyperband składa się z dwóch części.
- W przypadku stałej konfiguracji i poziomów zasobów pętla wewnętrzna nazywana jest sukcesywnym zmniejszaniem o połowę. Pętla zewnętrzna wykonuje iteracje po różnych konfiguracjach i parametrach zasobów.
Każda pętla, która wykonuje SuccessiveHalving w Hyperband, jest określana jako „nawias”. Każdy nawias ma na celu pochłonięcie części całego budżetu zasobów i odpowiada odrębnemu kompromisowi między n i B/n. W rezultacie pojedyncze wykonanie Hyperband ma ograniczony budżet. Hyperband wymaga dwóch wejść.
- Najwięcej zasobów, które można przypisać do pojedynczej konfiguracji Dane wejściowe określające, ile konfiguracji jest odrzucanych w każdej rundzie Kolejnego Halvingu
Te dwa dane wejściowe określają, ile różnych nawiasów jest sprawdzanych; w szczególności różne ustawienia konfiguracyjne. Hyperband zaczyna się od najbardziej agresywnego nawiasu, który konfiguruje konfigurację w celu maksymalizacji eksploracji, jednocześnie wymagając przydzielenia zasobów R dla co najmniej jednej konfiguracji. Każdy kolejny nawias zmniejsza liczbę konfiguracji o współczynnik, aż do ostatniego nawiasu, który przydziela zasoby do wszystkich konfiguracji. W rezultacie Hyperband przeprowadza geometryczne wyszukiwanie średniego budżetu na konfigurację, eliminując konieczność wyboru liczby konfiguracji dla ustalonego budżetu przy określonym koszcie.
Parametry
- hipermodelka: Klasa tunera Keras, która umożliwia tworzenie i rozwijanie modeli przy użyciu przeszukiwalnej przestrzeni.cel: Jest to funkcja straty dla modelu opisanego w hipermodelu, na przykład „mse” lub „val_loss”. Ma ciąg typu danych. Jeśli parametr jest ciągiem znaków, zostanie wywnioskowany kierunek optymalizacji (minimum lub maksimum). Jeśli mamy listę celów, zminimalizujemy sumę wszystkich celów do zminimalizowania, jednocześnie maksymalizując sumę wszystkich celów do zmaksymalizowania.max_epoki: Liczba epok wymaganych do wytrenowania pojedynczego modelu. Zaleca się ustawienie tego na wartość nieco większą niż szacowane epoki do konwergencji dla największego modelu i stosowanie wczesnego zatrzymywania podczas treningu. Wartość domyślna to 100.czynnik: Liczba całkowita, współczynnik redukcji liczby epok i liczby modeli dla każdego nawiasu. Domyślnie do 3.hyperband_iterations: Liczba iteracji algorytmu Hyperband. We wszystkich próbach jedna iteracja będzie przebiegać przez maksymalną liczbę epok * (math.log(max epok, czynnik) ** 2) skumulowane epoki. Ustaw najwyższą wartość, która mieści się w budżecie zasobów. Wartość domyślna to 1.nasionko: Opcjonalna liczba całkowita, która służy jako losowe ziarno.hiperparametry: instancja HyperParameters, która jest opcjonalna. Może być używany do zastępowania (lub wstępnej rejestracji) hiperparametrów przestrzeni wyszukiwania.dostroić nowe wpisy: Wartość logiczna wskazująca, czy wpisy hiperparametrów wymagane przez hipermodel, ale niezdefiniowane w hiperparametrach, powinny być uwzględnione w przestrzeni wyszukiwania. Jeśli tak nie jest, zastosowane zostaną wartości domyślne tych parametrów. Wartość domyślna to prawda.zezwól na nowe wpisy: Hipermodel może żądać wpisów hiperparametrów, które nie są wymienione w hiperparametrach. Wartość domyślna to prawda.
Wniosek
Ponieważ ramiona są autonomiczne i losowo próbkowane, hiperpasmo ma potencjał do zrównoleglenia. Najprostszym podstawowym podejściem do równoległości jest dystrybucja poszczególnych nawiasów o połowę do oddzielnych komputerów. W tym artykule zrozumieliśmy algorytm dostrajania hiperparametrów oparty na bandycie i jego odmianę od optymalizacji bayesowskiej.
Bibliografia