Regularyzacja w głębokim uczeniu: wszystko, co musisz wiedzieć
Opublikowany: 2020-11-16Jednym z największych problemów, z jakimi borykają się naukowcy zajmujący się danymi lub inżynierami uczenia maszynowego, jest złożoność związana z tworzeniem algorytmów, które dobrze radzą sobie z danymi uczącymi, a także z nowymi danymi wejściowymi. W uczeniu maszynowym stosuje się wiele technik, aby zminimalizować lub całkowicie wyeliminować błąd testowy. Odbywa się to, w niektórych przypadkach, bez zbytniego przejmowania się zwiększonym błędem treningu. Wszystkie te techniki razem wzięte są powszechnie określane jako regularyzacja.
Mówiąc prościej, regularyzacja to zmiany wprowadzone do algorytmu uczenia się, aby zminimalizować jego błąd uogólniania bez zbytniego skupiania się na zmniejszeniu jego błędu uczenia. Dostępnych jest kilka technik regularyzacji, z których każda pracuje nad innym aspektem algorytmu uczenia lub sieci neuronowej i prowadzi do innego wyniku.
Istnieją techniki regularyzacji, które nakładają dodatkowe ograniczenia na model uczenia, takie jak ograniczenia wartości parametrów. Są takie, które nakładają ograniczenia na wartości parametrów. Jeśli technika regularyzacji zostanie wybrana ostrożnie, może to prowadzić do poprawy wydajności testowego modelu danych.
Spis treści
Dlaczego potrzebujemy regularyzacji sieci neuronowych?
Głębokie sieci neuronowe są złożonymi modelami uczenia się, które są narażone na nadmierne dopasowanie ze względu na ich elastyczny charakter zapamiętywania indywidualnych wzorców zestawów treningowych zamiast przyjmowania uogólnionego podejścia do nierozpoznawalnych danych. Dlatego tak ważna jest regularyzacja sieci neuronowych. Pomaga to w utrzymaniu łatwego do zrozumienia modelu uczenia się, aby umożliwić sieci neuronowej uogólnianie danych, których nie może rozpoznać.
Zrozummy to na przykładzie. Załóżmy, że mamy zbiór danych, który zawiera zarówno wartości wejściowe, jak i wyjściowe. Załóżmy również, że istnieje prawdziwy związek między tymi wartościami. Jednym z celów głębokiego uczenia się jest ustalenie przybliżonej relacji między wartościami wejściowymi i wyjściowymi. Tak więc dla każdego zbioru danych istnieją dwa modele, które mogą nam pomóc w zdefiniowaniu tej relacji – model prosty i model złożony.
W prostym modelu istnieje linia prosta, która zawiera tylko dwa parametry definiujące daną relację. Graficzna reprezentacja tego modelu będzie przedstawiać linię prostą, która ściśle przechodzi przez środek danego zestawu danych, zapewniając bardzo małą odległość między linią a punktami poniżej i powyżej.

Przeczytaj także: Pomysły na projekty uczenia maszynowego
Z drugiej strony złożony model ma kilka parametrów, w zależności od zbioru danych. Jest zgodny z równaniem wielomianowym, które pozwala mu przejść przez każdy punkt danych treningowych. Wraz ze stopniowym wzrostem złożoności błąd uczenia osiągnie wartość zerową, a model zapamiętuje poszczególne wzorce zbioru danych. W przeciwieństwie do prostych modeli, które nie różnią się zbytnio od siebie, nawet jeśli są wytrenowane na różnych zestawach danych, tego samego nie można powiedzieć o złożonych modelach.
Czym są odchylenie i wariancja?
Mówiąc prościej, błąd systematyczny jest miarą odległości, która istnieje między rzeczywistą linią populacji a średnią modeli trenowanych na różnych zestawach danych. Odchylenie odgrywa bardzo ważną rolę w decydowaniu o tym, czy będziemy mieć dobry przedział predykcji. Czyni to, obliczając, jak blisko funkcja średniej zbliżyła się do prawdziwej relacji.
Przeczytaj także: Wynagrodzenie inżyniera uczenia maszynowego w Indiach
Wariancja określa ilościowo zmienność oszacowania dla funkcji średniej. Wariancja określa, ile odchylenia pokazuje model modelowany na określonym zestawie danych, gdy jest on trenowany na różnych zestawach danych przez całą podróż prognozowania. Niezależnie od tego, czy algorytm ma wysokie odchylenie, czy dużą wariancję, możemy wprowadzić kilka modyfikacji, aby poprawić jego działanie.
Jak radzić sobie z wysokim Biasem?
- Trenuj przez dłuższy czas
- Użyj większej sieci z ukrytymi jednostkami lub warstwami
- Wypróbuj lepszą architekturę sieci neuronowej lub zaawansowane algorytmy optymalizacji
Jak radzić sobie z dużą wariancją (overfitting)?
- Regularyzacja
- Dodawanie danych
- Znajdź lepszą architekturę sieci neuronowej
Dzięki istniejącym algorytmom głębokiego uczenia możemy nadal trenować większe sieci neuronowe, aby zminimalizować obciążenie bez wpływu na wariancję. Podobnie możemy kontynuować dodawanie danych, aby zminimalizować wariancję bez wpływu na wartość odchylenia. Ponadto, jeśli mamy do czynienia zarówno z wysokim odchyleniem, jak i dużą wariancją, możemy obniżyć obie te wartości, stosując odpowiednią technikę regularyzacji głębokiego uczenia.

Jak wspomniano, wzrost złożoności modelu powoduje wzrost wartości wariancji i spadek wartości błędu systematycznego. Dzięki odpowiedniej technice regularyzacji możesz pracować nad zmniejszeniem zarówno błędów testowania, jak i treningu, a tym samym pozwolić na idealny kompromis między wariancją a stronniczością.
Techniki regularyzacji
Oto trzy najczęstsze techniki regularyzacji:
1. Rozszerzanie zbioru danych
Jaki jest najłatwiejszy sposób na uogólnienie? Odpowiedź jest dość prosta, ale jej implementacja już nie. Wystarczy wytrenować ten model na lagerowym zestawie danych. Jednak w większości sytuacji nie jest to wykonalne, ponieważ w większości mamy do czynienia z ograniczonymi danymi. Najlepszym możliwym rozwiązaniem, które można zastosować w przypadku kilku problemów z uczeniem maszynowym, jest utworzenie syntetycznych lub fałszywych danych w celu dodania ich do istniejącego zestawu danych. Jeśli więc masz do czynienia z danymi obrazu, najłatwiejsze sposoby tworzenia danych syntetycznych obejmują skalowanie, translację pikseli obrazu i obrót.
2. Wczesne zatrzymanie
Bardzo częstym scenariuszem szkolenia, który prowadzi do nadmiernego dopasowania, jest trenowanie modelu na stosunkowo większym zestawie danych. W tej sytuacji uczenie modelu przez dłuższy okres czasu nie spowodowałoby jego zwiększonej zdolności do generalizacji; zamiast tego doprowadziłoby to do nadmiernego dopasowania.
Po pewnym momencie procesu uczenia i po znacznym zmniejszeniu błędu uczenia przychodzi moment, w którym błąd walidacji zaczyna narastać. Oznacza to, że rozpoczął się overfitting. Stosując technikę Early Stopping, zatrzymujemy trenowanie modeli i zatrzymujemy parametry tak, jak są, gdy tylko zauważymy wzrost błędu walidacji.

3. L1 i L2
L1 i L2 tworzą technikę regularyzacji kary za wagę, która jest dość powszechnie używana do trenowania modeli. Działa przy założeniu, że modele o większej wadze są bardziej złożone niż te o mniejszej wadze. Rolą kar w tym wszystkim jest zapewnienie, że wagi są albo zerowe, albo bardzo małe. Jedynym wyjątkiem jest sytuacja, w której występują duże gradienty, aby przeciwdziałać. Kara za wagę jest również określana jako zanik wagi, co oznacza spadek wagi do mniejszej jednostki lub do zera.
Norma L1: Pozwala niektórym wagom być duże i prowadzi do zera. To karze prawdziwą wartość ciężaru.
Norma L2: kieruje wszystkie wagi w kierunku mniejszych wartości. To karze wartość kwadratową wagi.
Wniosek
W tym poście dowiedziałeś się o regularyzacji sieci neuronowych w głębokim uczeniu i jego technikach. Mamy nadzieję, że to rozwiązało większość pytań dotyczących tego tematu.
Jeśli chcesz dowiedzieć się więcej o głębokim uczeniu i sztucznej inteligencji, sprawdź nasz program PG Diploma in Machine Learning and AI, który jest przeznaczony dla pracujących profesjonalistów i zapewnia ponad 30 studiów przypadków i zadań, ponad 25 sesji mentoringu branżowego, ponad 5 praktycznych rąk -w projektach zwieńczenia, ponad 450 godzin rygorystycznych szkoleń i pomocy w pośrednictwie pracy w najlepszych firmach.
Jaka jest przewaga L1 nad regularyzacją L2?
Ponieważ regularyzacja L1 obniża współczynniki beta lub zmniejsza je prawie do zera, jest to niezbędne do zakończenia nieistotnych cech. Z drugiej strony, regularyzacja L2 zmniejsza wagi równomiernie i jest stosowana tylko wtedy, gdy w samych danych występuje współliniowość. Regularyzacja L1 może zatem być używana do selekcji cech, co daje jej przewagę nad regularyzacją L2.
Jakie są korzyści i wyzwania związane z rozszerzaniem danych?
Korzyści obejmują poprawę dokładności prognozowania modeli przez dodanie większej liczby danych uczących, zapobieganie brakowi danych dla lepszych modeli oraz zwiększenie zdolności modeli do uogólniania wyników. Zmniejsza również koszt zbierania danych, a następnie ich etykietowania. Wyzwania obejmują rozwój nowych badań nad tworzeniem danych syntetycznych z zaawansowanymi aplikacjami dla dziedzin wzbogacania danych. Ponadto, jeśli rzeczywiste zbiory danych zawierają odchylenia, dane rozszerzone również będą zawierać odchylenia.
Jak radzimy sobie z wysokim odchyleniem i dużą wariancją?
Radzenie sobie z wysokimi odchyleniami oznacza trenowanie zbiorów danych przez dłuższy czas. W tym celu należy użyć większej sieci z ukrytymi warstwami. Należy również zastosować lepsze sieci neuronowe. Aby obsłużyć dużą wariancję, należy zainicjować regularyzację, dodać dodatkowe dane i, podobnie, stworzyć lepszą architekturę sieci neuronowej.