ReLU

Graf funkcí ReLU (modrá) a GELU (zelená) poblíž x = 0

Reálná funkce jedné reálné proměnné zvaná ReLU (zkratka REctified Linear Unit)[1] nebo usměrňovač (rectifier) či rampa (ramp function) se používá především v kontextu umělých neuronových sítí jako aktivační funkce. Je definována jako kladná část svého argumentu:

f ( x ) = x + = max ( 0 , x ) = x + | x | 2 = { x pro  x > 0 , 0 jinak , {\displaystyle f(x)=x^{+}=\max(0,x)={\frac {x+|x|}{2}}={\begin{cases}x&{\text{pro }}x>0,\\0&{\text{jinak}},\end{cases}}}

kde x je vstup do neuronu. Její průběh popisuje také výstupní napětí ideálního usměrňovače v elektrotechnice v závislosti na vstupním napětí. Jako aktivační funkci ji zavedl Kunihiko Fukushima v roce 1969 v kontextu extrakce vizuálních prvků v hierarchických neuronových sítích.[2] Později se ukázalo, že má i biologickou motivaci a matematické odůvodnění.[3] V roce 2011 se zjistilo, že ReLU umožňuje lepší trénování hlubších sítí ve srovnání s předtím používanými aktivačními funkcemi, např. logistickou funkcí (která je inspirována teorií pravděpodobnosti; viz logistická regrese) nebo praktičtější hyperbolickou funkcí. ReLu a její varianty tak patří k nejoblíbenějším aktivačním funkcím pro hluboké učení a uplatňují se například v počítačovém vidění, rozpoznávání řeči[4] a výpočetní neurovědě.[5]

Výhody

  • Řídká aktivace: Například v náhodně inicializované síti je aktivováno pouze asi 50 % skrytých jednotek (mají nenulový výstup).
  • Lepší šíření gradientu: Méně problémů s mizejícím gradientem ve srovnání se sigmoidálními aktivačními funkcemi, které saturují v obou směrech.
  • Efektivní výpočet: Pouze porovnávání, sčítání a násobení.
  • Invariantní vůči měřítku: max ( 0 , a x ) = a max ( 0 , x )  for  a 0 {\displaystyle \max(0,ax)=a\max(0,x){\text{ for }}a\geq 0} .

V roce 2011 se ukázalo, že použití ReLU jako nelinearity umožňuje trénovat hluboké neuronové sítě s učitelem bez nutnosti předtrénování bez učitele. ReLU ve srovnání se sigmoidou nebo podobnými aktivačními funkcemi umožňují rychlejší a efektivnější trénování hlubokých neuronových architektur na velkých a komplexních souborech dat.

Nevýhody

  • Funkce ReLU není diferencovatelná v nule; je však diferencovatelná všude jinde a hodnota derivace v nule může být libovolně zvolena 0 nebo 1.
  • Necentrovaná.
  • Neohraničená.
  • Neurony s ReLU mohou být někdy vytlačeny do stavů, ve kterých se stanou neaktivními v podstatě pro všechny vstupy (dying ReLU problem). V tomto stavu neprotékají neuronem zpět žádné gradienty, a tak neuron uvízne v trvale neaktivním stavu a „umírá“. Jde o variantu problému mizejícího gradientu. V některých případech může takto odumřít velké množství neuronů dané sítě, a to snižuje kapacitu modelu. Tento problém obvykle nastává, když je rychlost učení nastavena příliš vysoko. Může být zmírněn použitím tzv. netěsných (leaky) ReLU, které přiřazují malý kladný sklon pro x < 0; výkon sítě je však nižší.

Varianty

Po částech lineární varianty

Netěsné (leaky) ReLU

Netěsné ReLU mají malý kladný gradient, pro záporná čísla, tj. když neuron není aktivní.[4] To pomáhá zmírnit problém mizejícího gradientu. Například:

f ( x ) = { x pro  x > 0 , 0.01 x jinak . f ( x ) = { 1 pro  x > 0 , 0.01 jinak . {\displaystyle f(x)={\begin{cases}x&{\text{pro }}x>0,\\0.01x&{\text{jinak}}.\end{cases}}\qquad \qquad f'(x)={\begin{cases}1&{\text{pro }}x>0,\\0.01&{\text{jinak}}.\end{cases}}}

Parametrické ReLU

Parametrické ReLU (PReLU) posouvá tuto myšlenku dále tím, že převádí koeficient netěsnosti do parametru, který se učí spolu s dalšími parametry neuronové sítě.

f ( x ) = { x pro  x > 0 , a x jinak . f ( x ) = { 1 pro  x > 0 , a jinak . {\displaystyle f(x)={\begin{cases}x&{\text{pro }}x>0,\\a\cdot x&{\text{jinak}}.\end{cases}}\qquad \qquad \qquad f'(x)={\begin{cases}1&{\text{pro }}x>0,\\a&{\text{jinak}}.\end{cases}}}

Pro a ≤ 1 je to ekvivalentní s

f ( x ) = max ( x , a x ) {\displaystyle f(x)=\max(x,ax)}

a má tedy vztah k sítím typu „maxout“.

Nelineární varianty

Lineární jednotka s Gaussovou chybou (GELU)

GELU (Gaussian-error linear unit) je hladká aproximace ReLU:

f ( x ) = x Φ ( x ) , {\displaystyle f(x)=x\cdot \Phi (x),}
f ( x ) = x Φ ( x ) + Φ ( x ) , {\displaystyle f'(x)=x\cdot \Phi '(x)+\Phi (x),}

kde Φ ( x ) = P ( X x ) {\displaystyle \Phi (x)=P(X\leqslant x)} je kumulativní distribuční funkce standardního normálního rozdělení.

Tato aktivační funkce je znázorněna na obrázku na začátku tohoto článku. Má „hrbol“ nalevo od x = 0 a slouží jako výchozí aktivace například pro model BERT .

SiLU

SiLU (sigmoid linear unit) nebo funkce swish je další hladká aproximace, poprvé uvedená v článku o GELU:

f ( x ) = x sigmoid ( x ) , {\displaystyle f(x)=x\cdot \operatorname {sigmoid} (x),}
f ( x ) = x sigmoid ( x ) + sigmoid ( x ) , {\displaystyle f'(x)=x\cdot \operatorname {sigmoid} '(x)+\operatorname {sigmoid} (x),}

kde sigmoid ( x ) {\displaystyle \operatorname {sigmoid} (x)} je sigmoida, logistická funkce.

Softplus

Další hladká aproximace ReLU je analytická funkce

f ( x ) = ln ( 1 + e x ) , f ( x ) = e x 1 + e x = 1 1 + e x , {\displaystyle f(x)=\ln(1+e^{x}),\qquad \qquad f'(x)={\frac {e^{x}}{1+e^{x}}}={\frac {1}{1+e^{-x}}},}

která se nazývá funkce softplus nebo SmoothReLU. Pro velký záporný argument x {\displaystyle x} je to zhruba ln 1 {\displaystyle \ln 1} , takže malé kladné číslo, zatímco pro velké kladné x {\displaystyle x} je to zhruba ln ( e x ) {\displaystyle \ln(e^{x})} , takže těsně nad x {\displaystyle x} .

Tuto funkci lze aproximovat jako

ln ( 1 + e x ) { ln 2 , x = 0 , x 1 e x / ln 2 , x 0 {\displaystyle \ln \left(1+e^{x}\right)\approx {\begin{cases}\ln 2,&x=0,\\[6pt]{\frac {x}{1-e^{-x/\ln 2}}},&x\neq 0\end{cases}}}

To se substitucí x = y ln ( 2 ) {\displaystyle x=y\ln(2)} dá převést na

log 2 ( 1 + 2 y ) { 1 , y = 0 , y 1 e y , y 0. {\displaystyle \log _{2}(1+2^{y})\approx {\begin{cases}1,&y=0,\\[6pt]{\frac {y}{1-e^{-y}}},&y\neq 0.\end{cases}}}

Sem lze přidat ještě parametr ostrosti k {\displaystyle k} :

f ( x ) = ln ( 1 + e k x ) k , f ( x ) = e k x 1 + e k x = 1 1 + e k x . {\displaystyle f(x)={\frac {\ln(1+e^{kx})}{k}},\qquad \qquad f'(x)={\frac {e^{kx}}{1+e^{kx}}}={\frac {1}{1+e^{-kx}}}.}

Derivací softplus je logistická funkce.

Logistická sigmoidní funkce je hladkou aproximací derivace ReLU, Heavisideovy funkce.

Zobecnění softplus na více vstupních proměnných je LogSumExp s prvním argumentem nastaveným na nulu:

L S E 0 + ( x 1 , , x n ) := LSE ( 0 , x 1 , , x n ) = ln ( 1 + e x 1 + + e x n ) . {\displaystyle \operatorname {LSE_{0}} ^{+}(x_{1},\dots ,x_{n}):=\operatorname {LSE} (0,x_{1},\dots ,x_{n})=\ln(1+e^{x_{1}}+\cdots +e^{x_{n}}).}

Funkce LogSumExp je

LSE ( x 1 , , x n ) = ln ( e x 1 + + e x n ) , {\displaystyle \operatorname {LSE} (x_{1},\dots ,x_{n})=\ln(e^{x_{1}}+\cdots +e^{x_{n}}),}

a jeho gradient je softmax; softmax s prvním argumentem nastaveným na nulu je vícerozměrné zobecnění logistické funkce. LogSumExp i softmax se používají ve strojovém učení.

ELU

ELU (Exponential Linear Units, exponenciální lineární jednotky) mají střední aktivaci bližší nule, což urychluje učení. Bylo prokázáno, že ELU mohou dosáhnout vyšší přesnost klasifikace než ReLU.

f ( x ) = { x pro  x > 0 , a ( e x 1 ) jinak . f ( x ) = { 1 pro  x > 0 , a e x jinak . {\displaystyle f(x)={\begin{cases}x&{\text{pro }}x>0,\\a\left(e^{x}-1\right)&{\text{jinak}}.\end{cases}}\qquad \qquad f'(x)={\begin{cases}1&{\text{pro }}x>0,\\a\cdot e^{x}&{\text{jinak}}.\end{cases}}}

V těchto vzorcích je a {\displaystyle a} hyperparametr, který se ladí s omezující podmínkou a 0 {\displaystyle a\geq 0} .

Na ELU lze pohlížet jako na vyhlazenou verzi posunuté ReLU (SReLU), která má tvar f ( x ) = max ( a , x ) {\displaystyle f(x)=\max(-a,x)} se stejnou interpretací a {\displaystyle a} .

Mish

Funkci mish lze také použít jako hladkou aproximaci ReLU. Je definována jako

f ( x ) = x tanh ( softplus ( x ) ) , {\displaystyle f(x)=x\tanh {\big (}\operatorname {softplus} (x){\big )},}

kde tanh ( x ) {\displaystyle \tanh(x)} je hyperbolická tangenta a softplus ( x ) {\displaystyle \operatorname {softplus} (x)} je funkce softplus.

Mish není monotónní a byla inspirována funkcí swish, což je varianta ReLU.[6]

Squareplus

Squareplus je funkce

squareplus b ( x ) = x + x 2 + b 2 {\displaystyle \operatorname {squareplus} _{b}(x)={\frac {x+{\sqrt {x^{2}+b}}}{2}}}

kde b 0 {\displaystyle b\geq 0} je hyperparametr, který určuje rozsah zakřivené oblasti v blízkosti x = 0 {\displaystyle x=0} . (Například b = 0 {\displaystyle b=0} dává ReLU a b = 4 {\displaystyle b=4} dává funkci označovanou anglicky jako metallic means, kovové průměry.) Squareplus sdílí mnoho vlastností se softplus: Je monotónní, všude kladný, konverguje k 0 pro x {\displaystyle x\to -\infty } , konverguje k identitě pro x + {\displaystyle x\to +\infty } a je C {\displaystyle C^{\infty }} hladký. Squareplus však lze vypočítat pouze pomocí algebraických funkcí, takže se dobře hodí pro situace, kde jsou omezené výpočetní zdroje nebo instrukční sady. Squareplus navíc nevyžaduje žádnou zvláštní pozornost k zajištění numerické stability, když x {\displaystyle x} je velké.

Reference

V tomto článku byl použit překlad textu z článku Rectifier (neural networks) na anglické Wikipedii.

  1. LIU, Danqing. A Practical Guide to ReLU [online]. 2017-11-30 [cit. 2024-03-26]. Dostupné online. (anglicky) 
  2. Competition and cooperation in neural nets: proceedings of the U.S.-Japan joint seminar held at Kyoto, Japan, February 15-19, 1982. Příprava vydání Shun-Ichi Amari, M. A. Arbib. Berlin Heidelberg: Springer 441 s. (Lecture notes in biomathematics). ISBN 978-3-540-11574-8, ISBN 978-0-387-11574-0. 
  3. HAHNLOSER, R. H.; SARPESHKAR, R.; MAHOWALD, M. A. Digital selection and analogue amplification coexist in a cortex-inspired silicon circuit. Nature. 2000-06-22, roč. 405, čís. 6789, s. 947–951. PMID: 10879535. Dostupné online [cit. 2024-03-26]. ISSN 0028-0836. DOI 10.1038/35016072. PMID 10879535. 
  4. a b Andrew L. Maas, Awni Y. Hannun, Andrew Y. Ng (2014). Rectifier Nonlinearities Improve Neural Network Acoustic Models.
  5. HANSEL, D.; VAN VREESWIJK, C. How noise contributes to contrast invariance of orientation tuning in cat visual cortex. The Journal of Neuroscience: The Official Journal of the Society for Neuroscience. 2002-06-15, roč. 22, čís. 12, s. 5118–5128. PMID: 12077207 PMCID: PMC6757721. Dostupné online [cit. 2024-03-26]. ISSN 1529-2401. DOI 10.1523/JNEUROSCI.22-12-05118.2002. PMID 12077207. 
  6. SHAW, Sweta. Activation Functions Compared With Experiments. W&B [online]. 2020-05-10 [cit. 2024-03-26]. Dostupné online. (anglicky)