„Dlaczego nie uczymy się po prostu parametrów hiperłącza?”
To świetne pytanie! Spróbuję udzielić bardziej ogólnej odpowiedzi. Odpowiedź TL; DR jest taka, że zdecydowanie możesz nauczyć się hiperparametrów, tylko nie z tych samych danych. Czytaj dalej, aby uzyskać nieco bardziej szczegółową odpowiedź.
Hyperparameter zazwyczaj odpowiada ustawieniu algorytmu uczenia, zamiast jednego z jego parametrów. Przykładowo, w kontekście głębokiego uczenia się, przykładem jest różnica między czymś takim jak liczba neuronów w danej warstwie (hiperparametr) a wagą konkretnej krawędzi (regularny, możliwy do nauczenia się parametr).
Dlaczego w ogóle jest różnica? Typowym przypadkiem przekształcenia parametru w hiperparametr jest to, że po prostu nie należy uczyć się tego parametru z zestawu szkoleniowego. Na przykład, ponieważ zawsze łatwiej jest obniżyć błąd treningowy poprzez dodanie większej liczby neuronów, ustawienie liczby neuronów w warstwie na regularny parametr zawsze zachęcałoby do bardzo dużych sieci, co jest faktem, o czym wiemy, że nie zawsze jest pożądane (z powodu nadmierne dopasowanie).
Na twoje pytanie nie chodzi o to, że wcale nie uczymy się hiperparametrów. Odkładając na bok wyzwania obliczeniowe, bardzo możliwe jest nauczenie się dobrych wartości dla hiperparametrów, a są nawet przypadki, w których jest to konieczne dla dobrej wydajności; cała dyskusja w pierwszym akapicie sugeruje, że z definicji nie można użyć tych samych danych do tego zadania .
Korzystając z innego podziału danych (tworząc w ten sposób trzy rozłączne części: zestaw szkoleniowy, zestaw sprawdzania poprawności i zestaw testowy, teoretycznie możesz zrobić następującą procedurę optymalizacji zagnieżdżonej : w zewnętrznej pętli próbujesz znaleźć wartości dla hiperparametrów, które minimalizują utratę walidacji , aw wewnętrznej pętli próbujesz znaleźć wartości dla regularnych parametrów, które minimalizują utratę treningu .
Jest to teoretycznie możliwe, ale bardzo drogie obliczeniowo: każdy etap zewnętrznej pętli wymaga rozwiązania (do zakończenia lub gdzieś w pobliżu) pętli wewnętrznej, która zazwyczaj jest ciężka obliczeniowo. Co dodatkowo komplikuje to, że problem zewnętrzny nie jest łatwy: po pierwsze, przestrzeń wyszukiwania jest bardzo duża.
Istnieje wiele podejść do rozwiązania tego problemu poprzez uproszczenie powyższej konfiguracji (wyszukiwanie w siatce, wyszukiwanie losowe lub optymalizacja hiperparametrowa w oparciu o model), ale wyjaśnienie ich znacznie wykracza poza zakres pytania. Jak pokazuje również wspomniany artykuł, fakt, że jest to kosztowna procedura, często oznacza, że badacze po prostu całkowicie ją pomijają lub próbują niewielu ustawień ręcznie, ostatecznie decydując się na najlepszy (ponownie, zgodnie z zestawem walidacyjnym). Na twoje pierwotne pytanie twierdzę jednak, że - choć bardzo uproszczony i przemyślany - jest to nadal forma „uczenia się”.