ReLU

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Graf funkcí ReLU (modrá) a GELU (zelená) poblíž x Reálná funkce jedné reálné proměnné zvaná ReLU (zkratka REctified Linear Unit) 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) = \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í. +more 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. Později se ukázalo, že má i biologickou motivaci a matematické odůvodnění. 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 a výpočetní neurovědě.

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. +more * Efektivní výpočet: Pouze porovnávání, sčítání a násobení. * Invariantní vůči měřítku: \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á. +more * 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í. To pomáhá zmírnit problém mizejícího gradientu. Například:

: 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) = \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, 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 \cdot \Phi(x),

: f'(x) = x \cdot \Phi'(x) + \Phi(x),

kde \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 \cdot \operatorname{sigmoid}(x),

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

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

Softplus

Další hladká aproximace ReLU je analytická funkce

: 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 je to zhruba \ln 1, takže malé kladné číslo, zatímco pro velké kladné x je to zhruba \ln(e^x), takže těsně nad x .

Tuto funkci lze aproximovat jako

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

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

: \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:

: 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:

: \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

: \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) = \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 hyperparametr, který se ladí s omezující podmínkou a \geq 0.

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

Mish

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

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

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

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

Squareplus

Squareplus je funkce

: \operatorname{squareplus}_b(x) = \frac{x + \sqrt{x^2 + b}}{2}

kde b \geq 0 je hyperparametr, který určuje rozsah zakřivené oblasti v blízkosti x = 0. (Například b = 0 dává ReLU a b = 4 dává funkci označovanou anglicky jako metallic means, kovové průměry. +more) Squareplus sdílí mnoho vlastností se softplus: Je monotónní, všude kladný, konverguje k 0 pro x \to -\infty, konverguje k identitě pro x \to +\infty a je 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 je velké.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top