Czym jest Hiperparametr (Hyperparameter)?
Hiperparametr to wartość konfiguracyjna ustalana przed rozpoczęciem procesu uczenia modelu. Inaczej niż wagi sieci neuronu czy współczynniki regresji, które model samodzielnie dopasowuje, hiperparametry są wybierane przez inżyniera lub automatyczny system doboru. Regulują one architekturę, tempo uczenia i sposób radzenia sobie z danymi, a ich trafny dobór bywa kluczowy dla końcowej jakości predykcji.
Geneza pojęcia i tło historyczne
Termin pojawił się w publikacjach z końca lat 80. XX w., gdy badacze neuronowych sieci sięgali po procedury back-propagation. Jednym z pierwszych szeroko omawianych hiperparametrów była stała uczenia (learning rate), badana m.in. przez Davida Rumelharta i Geoffreya Hintona w latach 1986-1987. Wraz z rozwojem metod takich jak support vector machines (Vapnik, 1995) oraz algorytmów głębokiego uczenia propagacja idei doboru hiperparametrów nabrała tempa. Obecnie instytucje pokroju Google Brain czy DeepMind publikują setki prac poświęconych automatyzacji tej czynności.
Jak dokładnie działa Hiperparametr (Hyperparameter)
Hiperparametr można traktować jako gałkę regulacyjną sterującą zachowaniem algorytmu uczenia. Zmiana jego wartości wpływa na krajobraz funkcji kosztu albo na sposób eksplorowania przestrzeni rozwiązań. Przykładowo, przy zbyt wysokim learning rate gradienty skaczą, utrudniając konwergencję, a przy za niskim proces grzęźnie w dolinach lokalnych minimów. W modelach typu random forest liczba drzew decyduje o kompromisie między zmiennością a błędem, podobnie parametr C w SVM ustawia penalizację błędu klasyfikacji.
Automatyczne strojenie
W praktyce hiperparametry rzadko są dobierane ręcznie. Stosuje się wyszukiwanie siatką, metody losowe, a coraz częściej optymalizację bayesowską i meta-uczenie. Ramy te minimalizują koszt eksperymentów, jednocześnie systematycznie zbliżając się do optimum.
Zastosowania w praktyce
W zadaniach przetwarzania języka naturalnego ustala się długość sekwencji wejściowych czy liczbę warstw transformera. W rozpoznawaniu obrazów manewruje się rozmiarem filtra konwolucyjnego, momentum i strategią regularyzacji. W systemach rekomendacyjnych kluczowe bywają rankujące funkcje straty oraz szerokość ukrytych czynników. Trafna konfiguracja skraca czas trenowania nawet o połowę i podnosi trafność wyników wobec klasycznego, statycznego doboru stałych parametrów.
Zalety i ograniczenia
Największą zaletą świadomego zarządzania hiperparametrami jest możliwość wyciskania pełnego potencjału z modeli bez zmian w kodzie algorytmu. Jednak liczba kombinacji rośnie wykładniczo wraz ze złożonością architektury, co prowadzi do skokowego wzrostu zapotrzebowania na moc obliczeniową. Zbyt agresywny dropout może też nadmiernie wyciszyć sygnał, a za wysoka wartość weight decay zbytnio spłaszcza wagi.
Na co uważać?
Wielokrotne eksperymenty z tym samym zestawem walidacyjnym grożą nadmiernym dopasowaniem do danych testowych. Dobrym nawykiem jest stosowanie walidacji krzyżowej lub rozdzielenia etapów strojenia i oceny. Należy również pilnować, by hiperparametry związane z wielkością sieci były dobrane adekwatnie do wolumenu danych – zbyt mała liczba próbek w relacji do liczby parametrów powoduje szybkie przeuczenie.
Dodatkowe źródła
Dla dociekliwych warto zajrzeć do klasycznego podręcznika „Deep Learning” autorstwa Goodfellow, Bengio i Courville, gdzie rozdział 11 omawia techniki strojenia. Przykłady kodu z biblioteką Optuna można znaleźć w repozytorium GitHub Optuna. Historię pojęcia przybliża artykuł Learning representations by back-propagating errors. Warto również śledzić prace z serwisu arXiv, szczególnie sekcję HVIL (Hyperparameter Optimization and Meta-Learning).


