Funkcja aktywacji - Activation function
W sztucznych sieci neuronowych , aktywacja funkcji węzła określa wyjście tego węzła danego wejścia lub zestawu komponentów. Standardowy układ scalony może być postrzegany jako cyfrowa sieć funkcji aktywacji, które mogą być „ON” (1) lub „OFF” (0), w zależności od wejścia. Jest to podobne do liniowego perceptronu w sieciach neuronowych . Jednak tylko nieliniowe funkcje aktywacji umożliwiają takim sieciom obliczanie nietrywialnych problemów przy użyciu jedynie niewielkiej liczby węzłów, a takie funkcje aktywacji nazywane są nieliniowościami .
Klasyfikacja funkcji aktywacji
W większości typowych funkcji aktywacji można podzielić na trzy kategorie: funkcje grzbiet , funkcje promieniowe i zagięcia funkcji .
Funkcje aktywacji grzbietu
Funkcje grzbietowe to funkcje wielowymiarowe działające na liniową kombinację zmiennych wejściowych. Często używane przykłady to:
- Aktywacja liniowa : ,
- Aktywacja ReLU : ,
- Aktywacja Heaviside : ,
- Aktywacja logistyczna : .
W biologicznie inspirowanych sieciach neuronowych funkcja aktywacji jest zwykle abstrakcją reprezentującą tempo wyzwalania potencjału czynnościowego w komórce. W najprostszej postaci ta funkcja jest binarna — to znaczy, że albo neuron jest aktywowany, albo nie. Funkcja wygląda tak , gdzie jest funkcja kroku Heaviside'a .
Linia o dodatnim nachyleniu może być wykorzystana do odzwierciedlenia wzrostu szybkości wypalania, który występuje wraz ze wzrostem prądu wejściowego. Taka funkcja miałaby formę .
Neurony również nie mogą strzelać szybciej niż określona szybkość, motywując sigmoidalne funkcje aktywacji, których zakres jest skończonym interwałem.
Funkcje aktywacji promieniowej
Specjalna klasa funkcji aktywacji znana jako radialne funkcje bazowe (RBFs) jest stosowana w sieciach RBF , które są niezwykle wydajne jako uniwersalne aproksymatory funkcji. Te funkcje aktywacji mogą przybierać różne formy, takie jak:
- Gaussa :
- Wielokwadratowe:
gdzie jest wektorem reprezentującym funkcję centrum i i są parametry wpływające na rozprzestrzenianie się promienia.
Funkcje aktywacji składania
Funkcje aktywacji składania są szeroko stosowane w warstwach puli w splotowych sieciach neuronowych oraz w warstwach wyjściowych wieloklasowych sieci klasyfikacji. Aktywacje te wykonują agregację na danych wejściowych, na przykład biorąc średnią , minimalną lub maksymalną . W klasyfikacji wieloklasowej często stosowana jest aktywacja softmax .
Porównanie funkcji aktywacji
Istnieje wiele funkcji aktywacji. Przełomowy artykuł Hinton i wsp. z 2012 r. na temat automatycznego rozpoznawania mowy wykorzystuje logistyczną funkcję aktywacji sigmoidalnej. Nowatorska architektura wizji komputerowej AlexNet 2012 wykorzystuje funkcję aktywacji ReLU, podobnie jak nowatorska architektura wizji komputerowej 2015 ResNet . Przełomowy model przetwarzania języka 2018 BERT wykorzystuje płynną wersję ReLU, GELU.
Oprócz ich empirycznej wydajności, funkcje aktywacji mają również inne właściwości matematyczne:
- Nieliniowy
- Gdy funkcja aktywacji jest nieliniowa, można udowodnić, że dwuwarstwowa sieć neuronowa jest uniwersalnym aproksymatorem funkcji. Jest to znane jako twierdzenie o uniwersalnej aproksymacji . Funkcja aktywacji tożsamości nie spełnia tej właściwości. Gdy wiele warstw korzysta z funkcji aktywacji tożsamości, cała sieć odpowiada modelowi jednowarstwowemu.
- Zasięg
- Gdy zakres funkcji aktywacji jest skończony, metody treningu oparte na gradiencie są zwykle bardziej stabilne, ponieważ prezentacje wzorców znacząco wpływają tylko na ograniczoną wagę. Gdy zakres jest nieskończony, trening jest ogólnie bardziej wydajny, ponieważ prezentacje wzorców znacząco wpływają na większość wag. W tym drugim przypadku zwykle konieczne są mniejsze wskaźniki uczenia się.
- Ciągle różniczkowalny
- Ta właściwość jest pożądana ( ReLU nie jest ciągle różniczkowalna i ma pewne problemy z optymalizacją opartą na gradientach, ale nadal jest możliwa) w celu włączenia metod optymalizacji opartych na gradientach. Funkcja aktywacji kroku binarnego nie jest różniczkowalna przy 0 i różnicuje się do 0 dla wszystkich innych wartości, więc metody oparte na gradientach nie mogą poczynić żadnych postępów.
Znak równoważności z funkcją tożsamości
Mówi się, że dwie funkcje o wartościach rzeczywistych f i g są równoważne znakowo, jeśli dla wszystkich wartości z w dziedzinie. Gdzie znak jest funkcją signum . Funkcje aktywacyjne takie jak tanh, Leaky ReLU, GELU, ELU, Swish i Mish są znakowymi odpowiednikami funkcji tożsamości i nie mogą nauczyć się funkcji XOR z pojedynczym neuronem. Wyjście pojedynczego neuronu lub jego aktywacja to , gdzie g jest funkcją aktywacji. Granica decyzyjna dla pojedynczego neuronu to zbiór punktów, które wywołują zero. Zatem granica decyzyjna dla neuronu wykorzystującego dowolny znak funkcji aktywacji równoważny funkcji tożsamości jest pojedynczą hiperpłaszczyzną. Jednak funkcje aktywacji oscylacyjnej mogą mieć wiele zer, a zatem pojedynczy neuron może mieć wiele hiperpłaszczyzn jako część swojej granicy decyzyjnej. Chociaż do osiągnięcia nieliniowych granic decyzyjnych potrzebne są sieci wielowarstwowe, zastosowanie funkcji aktywacji oscylacyjnej pozwala nawet pojedynczym neuronom wykazywać nieliniowe granice decyzyjne.
Właściwości te nie mają decydującego wpływu na wydajność, ani nie są jedynymi właściwościami matematycznymi, które mogą być przydatne. Na przykład ściśle dodatni zakres softplus sprawia, że jest on odpowiedni do przewidywania wariancji w autoenkoderach wariacyjnych .
Tabela funkcji aktywacji
Poniższa tabela porównuje właściwości kilku funkcji aktywacji, które są funkcjami jednego zagięcia x z poprzedniej warstwy lub warstw:
Nazwa | Wątek | Funkcjonować, | Pochodna z , | Zasięg | Porządek ciągłości |
---|---|---|---|---|---|
Tożsamość | |||||
Krok binarny | |||||
Logistyczny , sigmoidalny lub miękki krok | |||||
Tangens hiperboliczny ( tanh ) | |||||
Rektyfikowana jednostka liniowa (ReLU) | |||||
Jednostka liniowa błędu Gaussa (GELU) | |||||
Softplus | |||||
Wykładnicza jednostka liniowa (ELU) |
|
||||
Skalowana wykładnicza jednostka liniowa (SELU) |
|
||||
Nieszczelna rektyfikowana jednostka liniowa (Leaky ReLU) | |||||
Parametryczna rektyfikowana jednostka liniowa (PReLU) |
|
||||
Sigmoidalna jednostka liniowa (SiLU, skurcz sigmoidalny, SiL lub Swish-1) | |||||
Misz | |||||
Gaussa |
W poniższej tabeli wymieniono funkcje aktywacji, które nie są funkcjami pojedynczego zagięcia x z poprzedniej warstwy lub warstw:
Nazwa | Równanie, | instrumenty pochodne , | Zasięg | Porządek ciągłości |
---|---|---|---|---|
Softmax | dla i = 1, …, J | |||
Maksout |
- ^ Tutajjestdelta Kroneckera.
- ^ Na przykładmoże to być iteracja przez liczbę jąder poprzedniej warstwy sieci neuronowej podczasiteracji przez liczbę jąder bieżącej warstwy.