Mówi się, że funkcje aktywacyjne w sieciach neuronowych pomagają wprowadzić nieliniowość .
- Co to znaczy?
- Co w tym kontekście oznacza nieliniowość ?
- Jak pomaga wprowadzenie tej nieliniowości ?
- Czy są jakieś inne cele aktywacji funkcji ?
Mówi się, że funkcje aktywacyjne w sieciach neuronowych pomagają wprowadzić nieliniowość .
Odpowiedzi:
Prawie wszystkie funkcje zapewniane przez nieliniowe funkcje aktywacyjne są podane przez inne odpowiedzi. Pozwól mi je podsumować:
Sigmoid
Jest to jedna z najczęstszych funkcji aktywacyjnych i wszędzie rośnie monotonicznie. Jest to generalnie stosowane w końcowym węźle wyjściowym, ponieważ powoduje zmiażdżenie wartości między 0 a 1 (jeśli wymagane jest wyjście 0
lub 1
). Zatem powyżej 0,5 uważa się za 1
poniżej 0,5, ponieważ 0
, chociaż 0.5
może być ustawiony inny próg (nie ). Jego główną zaletą jest to, że jego różnicowanie jest łatwe i wykorzystuje już wyliczone wartości, a podobno neurony kraba-podkowy mają tę funkcję aktywacyjną w swoich neuronach.
Tanh
Ma to przewagę nad funkcją aktywacji sigmoidalnej, ponieważ ma tendencję do wyśrodkowywania wyjścia na 0, co ma wpływ na lepsze uczenie się na kolejnych warstwach (działa jak normalizator funkcji). Ładne wyjaśnienie tutaj . Ujemne i dodatnie wartości wyjściowe można uznać odpowiednio 0
i 1
. Używany głównie w RNN.
Funkcja aktywacji Re-Lu - jest to kolejna bardzo powszechna prosta nieliniowa (liniowa w zakresie dodatnim i zakresie ujemnym wykluczająca się wzajemnie) funkcja aktywacji, która ma tę zaletę, że usuwa problem zanikania gradientu napotykany przez dwa powyższe, tj. Gradient ma tendencję do0
ponieważ x ma tendencję do + nieskończoności lub-nieskończoności. Oto odpowiedź na temat przybliżonej mocy Re-Lu, pomimo jej pozornej liniowości. ReLu mają tę wadę, że mają martwe neurony, co powoduje większe NN.
Możesz także zaprojektować własne funkcje aktywacyjne w zależności od specjalistycznego problemu. Możesz mieć kwadratową funkcję aktywacji, która znacznie lepiej przybliży funkcje kwadratowe. Ale wtedy musisz zaprojektować funkcję kosztu, która powinna być nieco wypukła, abyś mógł ją zoptymalizować za pomocą różnic pierwszego rzędu, a NN faktycznie zbiega się do przyzwoitego wyniku. Jest to główny powód używania standardowych funkcji aktywacyjnych. Ale wierzę, że przy odpowiednich narzędziach matematycznych istnieje ogromny potencjał nowych i ekscentrycznych funkcji aktywacyjnych.
Załóżmy na przykład, że próbujesz aproksymować jedną zmienną funkcję kwadratową, powiedz . Najlepiej będzie to przybliżone przez kwadratową aktywację gdzie i będą parametrami do trenowania. Jednak zaprojektowanie funkcji straty, która jest zgodna z konwencjonalną metodą pochodnej pierwszego rzędu (opadanie gradientu), może być dość trudne dla niemonotycznie zwiększającej się funkcji.w 1 x 2 + b w 1 b
Dla matematyków: W funkcji aktywacji sigmoidalnej widzimy, że jest zawsze < . Przez dwumianowe rozszerzenie lub przez odwrotne obliczenie nieskończonej serii GP otrzymujemy = Teraz w NN . W ten sposób otrzymujemy wszystkie moce które są równe zatem każdą moc można traktować jako pomnożenie kilku rozkładających się wykładników wykładniczych w oparciu o cechę , na przykład e - ( w 1 ∗ x 1 ... w n ∗ x n + b ) sigmoid(Y)1+y+ y 2 ,....r 1
y e - ( w 1 ∗ x 1 ... w n ∗ x n + b ) y x y 2 = e - 2 ( w 1 x 1 ) ∗ e - 2 ( w 2 x 2 ) ∗ e - y 2 . Zatem każda cecha ma wpływ na skalowanie wykresu .
Innym sposobem myślenia byłoby rozszerzenie wykładniczych zgodnie z Taylor Series:
Otrzymujemy więc bardzo złożoną kombinację ze wszystkimi możliwymi kombinacjami wielomianowymi zmiennych wejściowych. Wierzę, że jeśli sieć neuronowa jest poprawnie zbudowana, NN może precyzyjnie dostroić te kombinacje wielomianowe, po prostu modyfikując wagi połączeń i wybierając terminy wielomianowe maksymalnie użyteczne, i odrzucając warunki przez odjęcie wyniku 2 ważonych odpowiednio ważonych.
aktywacja może działać w ten sam sposób od wyjścia . Nie jestem jednak pewien, jak działa Re-Lu, ale ze względu na jego sztywną strukturę i problem martwych neuronów wymagałem większych sieci z ReLu dla dobrego przybliżenia.| t a n h | < 1
Ale dla formalnego dowodu matematycznego należy spojrzeć na uniwersalne twierdzenie o aproksymacji.
W przypadku osób niebędących matematykami lepsze informacje można znaleźć w tych linkach:
Funkcje aktywacyjne autorstwa Andrew Ng - w celu uzyskania bardziej formalnej i naukowej odpowiedzi
W jaki sposób klasyfikator sieci neuronowej klasyfikuje po prostu rysując płaszczyznę decyzyjną?
Różnicowana funkcja aktywacji Wizualny dowód, że sieci neuronowe mogą obliczyć dowolną funkcję
Jeśli miałbyś tylko warstwy liniowe w sieci neuronowej, wszystkie warstwy zasadniczo zawaliliby się do jednej warstwy liniowej, a zatem „głęboka” architektura sieci neuronowej faktycznie nie byłaby głęboka, a jedynie liniowym klasyfikatorem.
gdzie odpowiada macierzy reprezentującej wagi sieci i odchylenia dla jednej warstwy, a funkcji aktywacji.
Teraz, wraz z wprowadzeniem nieliniowej jednostki aktywacyjnej po każdej transformacji liniowej, już się to nie stanie.
Każda warstwa może się teraz opierać na wynikach poprzedniej warstwy nieliniowej, co zasadniczo prowadzi do złożonej funkcji nieliniowej, która jest w stanie aproksymować każdą możliwą funkcję przy odpowiednim obciążeniu i wystarczającej głębokości / szerokości.
Porozmawiajmy najpierw o liniowości . Liniowość oznacza mapę (funkcję), , używana jest mapa liniowa, to znaczy, że spełnia dwa następujące warunki
Powinieneś zapoznać się z tą definicją, jeśli studiowałeś algebrę liniową w przeszłości.
Jednak ważniejsze jest myślenie o liniowości w kategoriach liniowej separowalności danych, co oznacza, że dane można podzielić na różne klasy poprzez narysowanie linii (lub hiperpłaszczyzny, jeśli więcej niż dwóch wymiarów), która reprezentuje liniową granicę decyzyjną, poprzez dane. Jeśli nie możemy tego zrobić, to danych nie można rozdzielić liniowo. Często dane z bardziej złożonego (a przez to bardziej odpowiedniego) problemu nie mogą być rozdzielone liniowo, więc w naszym interesie jest ich modelowanie.
Aby modelować nieliniowe granice decyzyjne danych, możemy wykorzystać sieć neuronową, która wprowadza nieliniowość. Sieci neuronowe klasyfikują dane, których nie można oddzielić liniowo, przekształcając dane przy użyciu jakiejś funkcji nieliniowej (lub naszej funkcji aktywacji), dzięki czemu powstałe przekształcone punkty stają się liniowo rozdzielalne.
Różne funkcje aktywacji są używane w różnych kontekstach ustawień problemów. Możesz przeczytać więcej na ten temat w książce Deep Learning (Adaptive Computation and Machine Learning series) .
Przykład danych nieliniowo rozdzielalnych można znaleźć w zestawie danych XOR.
Czy potrafisz narysować pojedynczą linię, aby oddzielić dwie klasy?
Wielomian liniowy pierwszego stopnia
Nieliniowość nie jest poprawnym terminem matematycznym. Ci, którzy go używają, prawdopodobnie zamierzają odnosić się do relacji wielomianowej pierwszego stopnia między wejściem a wyjściem, rodzaju relacji, która byłaby wykreślona jako linia prosta, płaska płaszczyzna lub powierzchnia wyższego stopnia bez krzywizny.
Aby modelować relacje bardziej złożone niż y = a 1 x 1 + a 2 x 2 + ... + b , potrzebne są nie tylko te dwa warunki przybliżenia szeregu Taylora.
Dostrajalne funkcje z niezerową krzywizną
Sztuczne sieci, takie jak wielowarstwowy perceptron i jego warianty, są macierzami funkcji o niezerowej krzywiźnie, które rozpatrywane łącznie jako obwód mogą być dostrojone za pomocą siatek tłumienia w celu przybliżenia bardziej złożonych funkcji niezerowej krzywizny. Te bardziej złożone funkcje mają na ogół wiele danych wejściowych (zmienne niezależne).
Siatki tłumienia są po prostu produktami macierzowo-wektorowymi, przy czym macierz jest parametrami, które są dostrojone, aby utworzyć obwód zbliżony do bardziej złożonej zakrzywionej funkcji wielowymiarowej z prostszymi zakrzywionymi funkcjami.
Zorientowane z wielowymiarowym sygnałem wchodzącym po lewej stronie i wynikiem pojawiającym się po prawej stronie (przyczynowość od lewej do prawej), podobnie jak w konwencji elektrotechnicznej, pionowe kolumny nazywane są warstwami aktywacji, głównie ze względów historycznych. W rzeczywistości są to tablice prostych zakrzywionych funkcji. Najczęściej używane dzisiaj aktywacje.
Funkcja tożsamości jest czasami używana do przechodzenia przez nietknięte sygnały z różnych powodów związanych z wygodą strukturalną.
Są one rzadziej używane, ale w pewnym momencie były modne. Są one nadal używane, ale straciły popularność, ponieważ nakładają dodatkowe koszty na obliczenia propagacji wstecznej i mają tendencję do przegrywania w konkurencjach o szybkość i dokładność.
Bardziej złożone z nich można sparametryzować, a wszystkie z nich można zakłócać pseudolosowym hałasem w celu poprawy niezawodności.
Po co zawracać sobie tym głowę?
Sztuczne sieci nie są konieczne do strojenia dobrze rozwiniętych klas relacji między danymi wejściowymi i pożądanymi. Na przykład można je łatwo zoptymalizować za pomocą dobrze rozwiniętych technik optymalizacji.
W przypadku tych podejść opracowanych na długo przed pojawieniem się sztucznych sieci często można uzyskać optymalne rozwiązanie z mniejszym narzutem obliczeniowym oraz większą precyzją i niezawodnością.
Podczas gdy sztuczne sieci przodują w nabywaniu funkcji, o których praktykujący jest w dużej mierze nieświadomy, lub dostosowywaniu parametrów znanych funkcji, dla których nie opracowano jeszcze konkretnych metod konwergencji.
Perceptrony wielowarstwowe (ANN) dostrajają parametry (macierz tłumienia) podczas treningu. Strojenie jest kierowane przez opadanie gradientu lub jeden z jego wariantów w celu uzyskania cyfrowego przybliżenia obwodu analogowego, który modeluje nieznane funkcje. Spadek gradientu wynika z niektórych kryteriów, do których kieruje się zachowanie obwodu poprzez porównanie wyników z tymi kryteriami. Kryteria mogą być dowolne z tych.
W podsumowaniu
Podsumowując, funkcje aktywacyjne zapewniają bloki konstrukcyjne, które mogą być stosowane wielokrotnie w dwóch wymiarach struktury sieci, dzięki czemu, w połączeniu z macierzą tłumienia w celu zmiany ciężaru sygnalizacji między warstwami, wiadomo, że jest w stanie przybliżać dowolne i funkcja złożona.
Głębsze podniecenie sieciowe
Po tysiącleciu podekscytowanie głębszymi sieciami wynika z tego, że wzorce w dwóch różnych klasach złożonych nakładów zostały z powodzeniem zidentyfikowane i wdrożone na większych rynkach biznesowych, konsumenckich i naukowych.
lub
Wniosek: bez nieliniowości moc obliczeniowa wielowarstwowego NN jest równa 1-warstwowej NN.
Można również myśleć o funkcji sigmoidalnej jako różniczkowalnej, JEŻELI oświadczenie daje prawdopodobieństwo. Dodanie nowych warstw może tworzyć nowe, bardziej złożone kombinacje instrukcji IF. Na przykład pierwsza warstwa łączy cechy i daje prawdopodobieństwo, że na zdjęciu są oczy, ogon i uszy, druga łączy nowe, bardziej złożone cechy z ostatniej warstwy i daje prawdopodobieństwo, że jest kot.
Aby uzyskać więcej informacji: przewodnik hakera po sieciach neuronowych .
Funkcja aktywacji w sztucznej sieci nie ma celu, podobnie jak nie ma celu 3 w czynnikach liczby 21. Wielowarstwowe perceptrony i nawracające sieci neuronowe zdefiniowano jako macierz komórek, z których każda zawiera jedną . Usuń funkcje aktywacyjne, a pozostanie tylko seria bezużytecznych multiplikacji macierzy. Usuń 3 z 21, a wynik nie będzie mniej skuteczny 21, ale zupełnie inna liczba 7.