Funkcja aktywacji

Funkcja aktywacji – pojęcie używane w sztucznej inteligencji do określenia funkcji, według której obliczana jest wartość wyjścia neuronów sieci neuronowej.

Po agregacji danych wejściowych z uwzględnieniem wag powstaje sygnał sumarycznego pobudzenia. Rola funkcji aktywacji polega na tym, że musi ona określić sposób obliczania wartości sygnału wyjściowego neuronu na podstawie wartości tego sumarycznego pobudzenia[1].

W literaturze rozważano wiele różnych propozycji funkcji aktywacji, jednak do powszechnego użytku weszły właściwie cztery z nich: funkcja liniowa (neuron liniowy), funkcja sigmoidalna (neuron sigmoidalny), funkcja tangensoidalna (dokładnie jest to funkcja tangens hiperboliczny, ale skrótowo mówi się właśnie neuron tangensoidalny) oraz funkcja Gaussa (neuron radialny)[1].

Do najczęściej używanych funkcji aktywacji należą:

Funkcja aktywacji Wzór matematyczny Gładka Monotoniczna Różniczkowalna Uwagi
Funkcja liniowa y ( x ) = a x + b {\displaystyle y(x)=ax+b} T T T
  • Funkcja nieograniczona
  • Z reguły b = 0 {\displaystyle b=0}
Jednostronnie obcięta funkcja liniowa y ( x ) = { 0 dla x < 0 x dla x 0 {\displaystyle y(x)=\left\{{\begin{matrix}0&{\text{dla}}&x<0\\x&{\text{dla}}&x\geqslant 0\end{matrix}}\right.} T T T (oprócz punktu x = 0 {\displaystyle x=0} )
  • Brak górnej granicy
Obcięta funkcja liniowa

y ( x ) = { 1 dla x < 1 x dla 1 x 1 1 dla x > 1 {\displaystyle y(x)=\left\{{\begin{matrix}-1&{\text{dla}}&x<-1\\x&{\text{dla}}&-1\leqslant x\leqslant 1\\1&{\text{dla}}&x>1\end{matrix}}\right.}

N T T (oprócz punktów x = 1 {\displaystyle x=1} i x = 1 {\displaystyle x=-1} )
  • Przedziałami liniowa
Funkcja progowa unipolarna

y ( x ) = { 0 dla x < a 1 dla x a {\displaystyle y(x)=\left\{{\begin{matrix}0&{\text{dla}}&x<a\\1&{\text{dla}}&x\geqslant a\end{matrix}}\right.}

N T N
  • a – zadana wartość progowa
  • Z reguły a = 0 {\displaystyle a=0}
  • Taką funkcję aktywacji ( a = 0 ) {\displaystyle (a=0)} zastosowali w swojej pracy jako matematyczny model neuronu Warren McCulloch i Walter Pitts
Funkcja progowa bipolarna

y ( x ) = { 1 dla x < a 1 dla x a {\displaystyle y(x)=\left\{{\begin{matrix}-1&{\text{dla}}&x<a\\1&{\text{dla}}&x\geqslant a\end{matrix}}\right.}

N T N
  • a – zadana wartość progowa
  • Z reguły a = 0 {\displaystyle a=0}
Sigmoidalna funkcja unipolarna

y ( x ) = 1 1 + e β x {\displaystyle y(x)={\frac {1}{1+e^{-\beta x}}}}

T T T
  • Z reguły β ( 0 , 1 ] {\displaystyle \beta \in \left(0,1\right]}
  • Gdy β , {\displaystyle \beta \to \infty ,} funkcja przechodzi w progową unipolarną funkcję aktywacji
Sigmoidalna funkcja bipolarna (tangens hiperboliczny)

y ( x ) = 2 1 + e β x 1 = 1 e β x 1 + e β x {\displaystyle y(x)={\frac {2}{1+e^{-\beta x}}}-1={\frac {1-e^{-\beta x}}{1+e^{-\beta x}}}}

T T T
  • Z reguły β ( 0 , 1 ] . {\displaystyle \beta \in \left(0,1\right].}
  • Gdy β , {\displaystyle \beta \to \infty ,} funkcja przechodzi w progową bipolarną funkcję aktywacji
Funkcja Gaussa

y ( x ) = a e ( x b ) 2 2 c 2 {\displaystyle y(x)=ae^{-{\frac {(x-b)^{2}}{2c^{2}}}}}

T N T
  • a , b , c > 0 {\displaystyle a,b,c>0}
  • e – liczba Eulera
Znormalizowana funkcja wykładnicza (Softmax) σ ( z ) j = e z j k = 1 K e z k {\displaystyle \sigma (\mathbf {z} )_{j}={\frac {e^{z_{j}}}{\sum _{k=1}^{K}e^{z_{k}}}}} T T T
  • Prawdopodobieństwo zawsze sumuje się do jedności: k = 1 K σ ( z ) k = 1 {\displaystyle {\sum _{k=1}^{K}\sigma (\mathbf {z} )_{k}}=1}
  • e – liczba Eulera
  • K - szerokość wektorów wejściowego i wyjściowego
  • Stosowana głównie w najwyższej warstwie klasyfikatorów, w celu obliczenia prawdopodobieństwa przynależności wektora wejściowego z do każdej z K klas wyjściowych

Przypisy

  1. a b Ryszard Tadeusiewicz, Maciej Szaleniec: Leksykon sieci neuronowych. s. 34. ISBN 978-83-63270-10-0.