Jaki jest cel funkcji aktywacyjnej w sieciach neuronowych?

18

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 ?
Mohsin Bukhari
źródło

Odpowiedzi:

14

Prawie wszystkie funkcje zapewniane przez nieliniowe funkcje aktywacyjne są podane przez inne odpowiedzi. Pozwól mi je podsumować:

  • Po pierwsze, co oznacza nieliniowość? Oznacza to coś (w tym przypadku funkcję), która nie jest liniowa w odniesieniu do danej zmiennej / zmiennych, tj.`f(c1.x1+c2.x2...cn.xn+b)!=c1.f(x1)+c2.f(x2)...cn.f(xn)+b.
  • Co w tym kontekście oznacza nieliniowość? Oznacza to, że sieć neuronowa może z powodzeniem aproksymować funkcje (do określonego błędu zadecydowanego przez użytkownika), który nie jest zgodny z liniowością lub może z powodzeniem przewidzieć klasę funkcji, która jest podzielona przez granicę decyzji, która nie jest liniowa.e
  • Dlaczego to pomaga? Nie sądzę, aby można było znaleźć jakieś zjawisko świata fizycznego, które byłoby zgodne z liniowością. Potrzebujesz więc funkcji nieliniowej, która może aproksymować zjawisko nieliniowe. Również dobrą intuicją może być dowolna granica decyzyjna lub funkcja jest liniową kombinacją kombinacji wielomianów cech wejściowych (a więc ostatecznie nieliniową).
  • Cel funkcji aktywacji? Oprócz wprowadzenia nieliniowości każda funkcja aktywacji ma swoje własne cechy.

Sigmoid1(1+e(w1x1...wnxn+b))

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 0lub 1). Zatem powyżej 0,5 uważa się za 1poniżej 0,5, ponieważ 0, chociaż 0.5moż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 mi(w1x1 ...wnxn+b)-mi-(w1x1 ...wnxn+b))(mi(w1x1 ...wnxn+b)+mi-(w1x1 ...wnxn+b)

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 0i 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ę do0ponieważ 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 bza.x2)+dow1.x2)+bw1b

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/(1+mi-(w1x1 ...wnxn+b))mi-(w1x1 ...wnxn+b) 1sjasolmojare(y)1+y+y2)..... 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=mi-(w1x1 ...wnxn+b)ymi-(w1x1 ...wnxn+b)yx y 2y2)=mi-2)(w1x1)mi-2)(w2)x2))mi-2)(w3)x3))......mi-2)(b) . Zatem każda cecha ma wpływ na skalowanie wykresu .y2)

Innym sposobem myślenia byłoby rozszerzenie wykładniczych zgodnie z Taylor Series: wprowadź opis zdjęcia tutaj

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 | < 1tzanh|tzanh|<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ę

DuttaA
źródło
3
Twierdziłbym, że ReLU jest dziś bardziej powszechny w NN niż sigmoid :)
Andreas Storvik Strauman
@AndreasStorvikStrauman i masz całkowitą rację ... Ale Sigmoid ma dziecko o imieniu Softmax :)
DuttaA
7

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.

y=fa(W.1W.2)W.3)x)=fa(W.x)

gdzie odpowiada macierzy reprezentującej wagi sieci i odchylenia dla jednej warstwy, a funkcji aktywacji.Wf()

Teraz, wraz z wprowadzeniem nieliniowej jednostki aktywacyjnej po każdej transformacji liniowej, już się to nie stanie.

y=fa1(W.1fa2)(W.2)fa3)(W.3)x)))

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.

Marcel_marcel1991
źródło
Należy zauważyć, że chociaż kompozycja wielu operatorów liniowych (na przestrzeni euklidesowej) zawsze może zostać zwinięta do pojedynczej macierzy , nie oznacza to, że zamiast tego utrzymywanie oddzielnych macierzy nigdy nie ma sensu. W szczególności, jeśli odwzorowuje z przestrzeni wielowymiarowej na przestrzeń niskowymiarową, a powrotem na przestrzeń wielowymiarową, wówczas jest tańsze do obliczenia niż . Tak więc „w innym przypadku byłby to ekwiwalent pojedynczej warstwy” nie jest tak naprawdę argumentem przemawiającym za tym, dlaczego potrzebne są nieliniowości między warstwami. Rzeczywiście potrzebna jest nieliniowość .W.W.1,W.2)...W.2)W.1W.1(W.2)x)W.(x)
lewo około
5

Porozmawiajmy najpierw o liniowości . Liniowość oznacza mapę (funkcję), , używana jest mapa liniowa, to znaczy, że spełnia dwa następujące warunkifa:V.W.

  1. fa(x+y)=fa(x)+fa(y),x,yV.
  2. fa(dox)=dofa(x),doR

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.

wprowadź opis zdjęcia tutaj

Czy potrafisz narysować pojedynczą linię, aby oddzielić dwie klasy?

przejrzeć
źródło
4

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.

  • ReLU
  • Nieszczelne ReLU
  • ELU
  • Próg (krok binarny)
  • Logistyka

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ść.

  • Softmax
  • Sigmoid
  • TanH
  • ArcTan

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.

  • Wielomiany wyższego stopnia - Często możliwe do rozwiązania przy pomocy technik pochodzących bezpośrednio z algebry liniowej
  • Funkcje okresowe - można traktować metodami Fouriera
  • Dopasowanie krzywej - dobrze zbiega się przy użyciu algorytmu Levenberga-Marquardta, tłumionego podejścia metodą najmniejszych kwadratów

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.

  • Dopasowywanie etykiet (pożądane wartości wyjściowe odpowiadające wejściowym przykładom szkolenia)
  • Konieczność przekazywania informacji wąskimi ścieżkami sygnałowymi i odtwarzania z tych ograniczonych informacji
  • Kolejne kryteria właściwe dla sieci
  • Kolejne kryteria wynikające ze źródła sygnału spoza sieci

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.

  1. Heterogeniczne i semantycznie złożone struktury
  2. Pliki multimedialne i strumienie (obrazy, wideo, audio)
FauChristian
źródło
Pytanie dotyczyło jednak celu aktywacji, a nie zastosowania ANN
DuttaA
@DuttaA, twój komentarz był dokładny. Dziękuję Ci. Odpowiedź miała tylko jedno zdanie, które bezpośrednio odpowiadało na pytanie, a związek z resztą tej odpowiedzi nie był zbyt dobrze zakomunikowany. Zasadniczo to zredagowałem.
FauChristian
To właściwie najlepsza odpowiedź, powinna mieć więcej głosów pozytywnych i powinna być odpowiedzią akceptowaną.
DuttaA
4

x1x1

w11,w12,w21w22

o1=w11x1+w12x2)o2)=w21x1+w22x2)

z1z2)

out=z1o1+z2)o2)

o1o2)

out=z1(w11x1+w12x2))+z2)(w21x1+w22x2))

lub

out=(z1w11+z2)w21)x1+(z2)w22+z1w12)x2)

z1w11+z2)w21z2)w22+z1w12

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 .

użytkownik2674414
źródło
2

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.

zaxzazax

han_nah_han_
źródło