W dziedzinie uczenia maszynowego, szczególnie przy wykorzystaniu platform takich jak Google Cloud Machine Learning, zrozumienie hiperparametrów jest ważne dla rozwoju i optymalizacji modeli. Hiperparametry to ustawienia lub konfiguracje zewnętrzne względem modelu, które dyktują proces uczenia i wpływają na wydajność algorytmów uczenia maszynowego. W przeciwieństwie do parametrów modelu, które są uczone z danych podczas procesu szkolenia, hiperparametry są ustawiane przed rozpoczęciem szkolenia i pozostają stałe przez cały czas.
Hiperparametry można ogólnie podzielić na kilka typów w oparciu o ich rolę i funkcję w procesie uczenia maszynowego. Kategorie te obejmują hiperparametry modelu, hiperparametry optymalizacji i hiperparametry przetwarzania danych. Każdy typ odgrywa odrębną rolę w kształtowaniu sposobu, w jaki model uczy się z danych i uogólnia na nowe, niewidziane dane.
Hiperparametry modelu
1. Hiperparametry architektury: Definiują one strukturę modelu. Na przykład w sieciach neuronowych hiperparametry architektury obejmują liczbę warstw, liczbę węzłów na warstwę i typ używanych funkcji aktywacji. Na przykład głęboka sieć neuronowa może mieć hiperparametry określające trzy ukryte warstwy z odpowiednio 128, 64 i 32 węzłami oraz ReLU (Rectified Linear Unit) jako funkcję aktywacji.
2. Hiperparametry regularyzacji:Techniki regularyzacji są stosowane w celu zapobiegania nadmiernemu dopasowaniu, które występuje, gdy model uczy się szumu w danych treningowych, a nie wzorca bazowego. Typowe hiperparametry regularyzacji obejmują współczynniki regularyzacji L1 i L2. Współczynniki te kontrolują karę stosowaną do dużych wag w modelu. Na przykład ustawienie wyższego współczynnika regularyzacji L2 będzie bardziej karać duże wagi, zachęcając w ten sposób model do utrzymywania mniejszych wag i potencjalnie poprawiając generalizację.
3. Wskaźnik rezygnacji: W sieciach neuronowych dropout to technika regularizacji, w której losowo wybrane neurony są ignorowane podczas treningu. Współczynnik dropout to hiperparametr, który określa ułamek neuronów do usunięcia podczas każdej iteracji treningu. Współczynnik dropout wynoszący 0.5 oznacza, że 50% neuronów jest usuwanych losowo w każdej iteracji, co pomaga w redukcji nadmiernego dopasowania.
Hiperparametry optymalizacji
1. Wskaźnik uczenia się: Jest to prawdopodobnie jeden z najważniejszych hiperparametrów w szkoleniu sieci neuronowych. Szybkość uczenia się określa rozmiar kroków podejmowanych w kierunku minimum funkcji straty. Wysoka szybkość uczenia się może spowodować, że model będzie zbyt szybko zbiegał się do rozwiązania suboptymalnego, podczas gdy niska szybkość uczenia się może sprawić, że proces uczenia będzie nadmiernie powolny lub utknie w lokalnych minimach.
2. Wielkość partii: Ten hiperparametr definiuje liczbę próbek treningowych wykorzystywanych w jednej iteracji procesu treningowego. Mniejsze rozmiary partii mogą prowadzić do dokładniejszego oszacowania gradientu, ale mogą wydłużyć czas wymagany do ukończenia epoki. Z drugiej strony, większe rozmiary partii mogą przyspieszyć trening, ale mogą prowadzić do mniej dokładnych modeli.
3. pęd: Używany w algorytmach optymalizacji, takich jak Stochastic Gradient Descent with momentum, ten hiperparametr pomaga przyspieszyć wektory gradientu we właściwym kierunku, co prowadzi do szybszej konwergencji. Pomaga w wygładzaniu oscylacji na ścieżce optymalizacji.
4. Liczba epok: Ten hiperparametr definiuje liczbę kompletnych przejść przez zestaw danych treningowych. Większa liczba epok zwykle daje modelowi więcej możliwości uczenia się z danych, ale może również zwiększyć ryzyko nadmiernego dopasowania.
Hiperparametry przetwarzania danych
1. Skalowanie funkcji: Przed trenowaniem modelu, cechy często muszą zostać skalowane. Hiperparametry związane ze skalowaniem cech obejmują wybór metody skalowania, takiej jak skalowanie Min-Max lub Standaryzacja. Wybór ten może znacząco wpłynąć na wydajność modelu, szczególnie w przypadku algorytmów wrażliwych na skalowanie cech, takich jak Support Vector Machines i klasteryzacja K-Means.
2. Parametry rozszerzania danych: W zadaniach przetwarzania obrazu, powiększanie danych jest używane do sztucznego zwiększania rozmiaru zestawu danych treningowych poprzez tworzenie zmodyfikowanych wersji obrazów w zestawie danych. Hiperparametry obejmują tutaj typy zastosowanych transformacji, takich jak obrót, translacja, przerzucanie i powiększanie, a także prawdopodobieństwo zastosowania każdej transformacji.
3. Metody pobierania próbek: W przypadkach, gdy dane są niezrównoważone, można użyć technik, takich jak nadpróbkowanie klasy mniejszościowej lub niedopróbkowanie klasy większościowej. Hiperparametry obejmują tutaj stosunek próbek klasy mniejszościowej do większościowej.
Dostrajanie hiperparametrów
Proces wybierania optymalnych hiperparametrów jest znany jako dostrajanie hiperparametrów. Jest to krytyczny krok, ponieważ wybór hiperparametrów może znacząco wpłynąć na wydajność modelu. Typowe metody dostrajania hiperparametrów obejmują:
1. Wyszukiwanie siatki:Ta metoda polega na zdefiniowaniu siatki wartości hiperparametrów i wyczerpującym wypróbowaniu każdej kombinacji. Choć proste, wyszukiwanie siatki może być kosztowne obliczeniowo, szczególnie przy dużej liczbie hiperparametrów.
2. Losowe wyszukiwanie: Zamiast próbować każdej możliwej kombinacji, losowe wyszukiwanie wybiera losowe kombinacje hiperparametrów. To podejście jest często bardziej wydajne niż wyszukiwanie siatki i może prowadzić do lepszych wyników, szczególnie gdy tylko kilka hiperparametrów ma wpływ.
3. Optymalizacja Bayesa:Jest to bardziej wyrafinowane podejście, które modeluje wydajność hiperparametrów jako funkcję probabilistyczną i stara się znaleźć najlepszy zestaw hiperparametrów poprzez zrównoważenie eksploracji i eksploatacji.
4. Zautomatyzowane uczenie maszynowe (AutoML):Platformy takie jak Google Cloud AutoML wykorzystują zaawansowane algorytmy do automatycznego wyszukiwania najlepszych hiperparametrów. Może to zaoszczędzić czas i zasoby, zwłaszcza dla praktyków, którzy mogą nie mieć głębokiej wiedzy w zakresie uczenia maszynowego.
Praktyczne przykłady
Rozważmy scenariusz, w którym trenujemy sieć neuronową splotową (CNN) do klasyfikacji obrazów przy użyciu Google Cloud Machine Learning. Hiperparametry mogą obejmować:
– Liczba warstw splotowych i odpowiadające im rozmiary filtrów, które są hiperparametrami architektury.
– Współczynnik uczenia się i wielkość partii, które są hiperparametrami optymalizacji.
– Techniki powiększania danych, takie jak obrót i przerzucanie, które są hiperparametrami przetwarzania danych.
Dzięki systematycznemu dostrajaniu tych hiperparametrów można znacząco poprawić dokładność modelu i jego zdolność do generalizacji.
W innym przykładzie, podczas korzystania z klasyfikatora drzewa decyzyjnego, hiperparametry mogą obejmować maksymalną głębokość drzewa, minimalną liczbę próbek wymaganych do podziału węzła i kryterium użyte do podziału. Każdy z tych hiperparametrów może wpływać na złożoność modelu i jego zdolność do generalizacji.
W istocie hiperparametry są podstawą procesu uczenia maszynowego, wpływając zarówno na wydajność, jak i skuteczność treningu modelu. Ich ostrożny wybór i dostrajanie może prowadzić do modeli, które nie tylko dobrze działają na danych treningowych, ale także skutecznie uogólniają się na nowe, niewidziane dane.
Inne niedawne pytania i odpowiedzi dotyczące EITC/AI/GCML Uczenie Maszynowe Google Cloud:
- Jakie są wskaźniki oceny wydajności modelu?
- Czym jest regresja liniowa?
- Czy można połączyć różne modele uczenia maszynowego i zbudować nadrzędną sztuczną inteligencję?
- Jakie są najczęstsze algorytmy stosowane w uczeniu maszynowym?
- Jak stworzyć wersję modelu?
- Jak zastosować 7 kroków ML w przykładowym kontekście?
- W jaki sposób uczenie maszynowe można zastosować do danych dotyczących pozwoleń na budowę?
- Dlaczego tabele AutoML zostały wycofane i co je zastępuje?
- Jakie jest zadanie interpretacji rysunków rysowanych przez graczy w kontekście sztucznej inteligencji?
- Kiedy materiały do czytania mówią o „wyborze właściwego algorytmu”, czy to oznacza, że zasadniczo wszystkie możliwe algorytmy już istnieją? Skąd wiemy, że algorytm jest „właściwy” dla konkretnego problemu?
Zobacz więcej pytań i odpowiedzi w EITC/AI/GCML Google Cloud Machine Learning