Miért használunk egyenirányított lineáris egységeket (ReLU) neurális hálózatokkal? Hogyan javítja ez az ideghálózatot?
Miért mondjuk, hogy a ReLU aktiválási funkció? Nem “softmax” aktivációs funkció neurális hálózatoknál? Gondolom, hogy mind a ReLU-t, mind a softmax-ot használjuk, így:
1 neuron softmax kimenettel —-> ReLU az 1. neuron kimenetén, amely a 2. neuron bemenete —> a 2. neuron softmax kimenettel -> …
úgy, hogy a 2. neuron bemenete alapvetően ReLU (softmax (x1)). helyes?
Válasz
A ReLU függvény $ f (x) = \ max (0, x). $ Általában ezt elemenként alkalmazzák valamilyen más függvény, például egy mátrix-vektor termék kimenetére. Az MLP használatában az egyenirányító egységek az összes többi aktiválási funkciót helyettesítik, kivéve talán a kiolvasást De feltételezhetem, hogy keverheted őket, ha szeretnéd.
A ReLU-k az ideghálózatok fejlesztésének egyik módja az edzés felgyorsítása. A gradiens kiszámítása nagyon egyszerű (vagy 0, vagy 1, a $ x $ előjelétől függően). A ReLU számítási lépése is egyszerű: bármely negatív elem értéke 0.0 – nincs exponenciális, nincs szorzási vagy osztási művelet.
A logisztikai és hiperbolikus tangens hálózatok gradiensei kisebbek, mint a a ReLU. Ez azt jelenti, hogy a pozitív rész gyorsabban frissül a képzés előrehaladtával. Ennek azonban költsége van. A bal oldali 0 gradiensnek megvan a maga problémája, az úgynevezett “elhalt idegsejtek”, amelyben egy gradiens frissítés úgy állítja be a bejövő értékeket ReLU-ra, hogy a kimenet mindig nulla legyen; módosított ReLU egységek, például ELU (vagy Leaky ReLU, vagy PReLU, stb.) ezt javíthatják.
$ \ frac {d} {dx} \ text { ReLU} (x) = 1 \ összes x > 0 $ . Ezzel szemben a szigmoid egység gradiensének értéke legfeljebb 0,25 $ $ ; másrészről a $ \ tanh $ ára jobban érvényes a 0-hoz közeli régió bemeneteihez, mivel 0,25 $ < \ frac {d} {dx} \ tanh (x) \ le 1 \ forall x \ in [-1.31, 1.31] $ (hozzávetőlegesen).
Megjegyzések
- Nem látok bizonyítékot arra, hogy kérdést akartam volna feltenni, vagy hogy részt vettem volna ezen az oldalon. Őszintén szólva ‘ csodálkozom, hogy a ReLU milyen jól működik, de ‘ abbahagytam :).
- @aginensky Úgy tűnik, hogy a megjegyzést időközben eltávolították.
- A megjegyzést nem én távolítottam el, és nem is értesítettem. ‘ abbahagytam a kérdések megválaszolását, és azt hiszem, ez azt jelenti, hogy én is ‘ végeztem a kommenteléssel.
- @aginensky Nem tudom, hogy ‘ miért tudom, hogy emiatt abbahagyja a kommentelést. Ha kérdése van a megjegyzésekkel és a moderálással kapcsolatban, feltehet egy kérdést a meta.stats.SE webhelyen.
Válasz
Fontos megjegyezni, hogy a ReLU idempotens. Tekintettel arra, hogy a ReLU $ \ rho (x) = \ max (0, x) $ , könnyen belátható, hogy a $ $ rho \ circ \ rho \ circ \ rho \ circ \ dots \ circ \ rho = \ rho $ minden véges kompozícióra igaz. Ez a tulajdonság nagyon fontos a mély neurális hálózatoknál, mert a A hálózat nemlinearitást alkalmaz. Most alkalmazzunk két sigmoid-család függvényt ugyanazon bemeneten 1-3-szor ismételten:
Rögtön láthatja, hogy a sigmoid függvények” összenyomják “a bemeneteiket, ami egy eltűnő gradiens problémát eredményez. math-container “> $ n $ (az ismételt alkalmazások száma) megközelíti a végtelent.
Válasz
ReLU a max függvény (x, 0) x bemenettel pl mátrix egy összevont képből. A ReLU ezután az x mátrix összes negatív értékét nullára állítja, és az összes többi érték állandó marad.
A ReLU a konvolúció után kerül kiszámításra, és egy nemlineáris aktivációs függvény, mint például a tanh vagy a sigmoid.
A Softmax egy osztályozó az ideghálózat végén. Ez logisztikai regresszió a kimenetek 0 és 1 közötti értékekre történő normalizálására. (Alternatív megoldás itt egy SVM osztályozó).
CNN Forward Pass, pl .: input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax
Megjegyzések
- Visszavonás. Ez nagyon rossz válasz! A Softmax nem osztályozó! Ez egy olyan funkció, amely normalizálja (skálázza) a kimeneteket a [0,1] tartományba, és biztosítja, hogy összegük 1 legyen. A logisztikai regresszió nem ” nem normalizálódik “>
bármi!Az ” ReLU mondatot a konvolúció után számítják ki, és ezért egy nemlineáris aktiválási függvény, például tanh vagy sigmoid.
Válasz
A ReLU szó szerinti kapcsoló. Elektromos kapcsolóval 1 volt bemenet 1 volt kimenetet ad, n volt feszültség pedig n feszültséget ad ki. Be / Ki, amikor úgy dönt, hogy nullán kapcsol, pontosan ugyanazt a grafikont adja, mint a ReLU. Számos súlyozott összeg súlyozott összege (dot szorzat) továbbra is lineáris rendszer. Egy adott bemenetnél a ReLU kapcsolók külön-külön be vagy ki vannak kapcsolva. Ez egy adott lineáris vetületet eredményez a bemenettől a kimenetig, mivel a … súlyozott összegének különböző súlyozott összegeit összekapcsolják a kapcsolók. Egy adott bemenet és egy adott kimeneti neuron esetében létezik a súlyozott összegek összetett rendszere, amely valójában egyetlen effektív súlyozott összegre összegezhető. Mivel a ReLU nullára kapcsolja az állapotot, a kimenetben nincsenek hirtelen megszakítások a bemenet fokozatos megváltoztatásához.
Vannak más, számszerűen hatékony súlyozott összegű (dot szorzat) algoritmusok is, mint az FFT és a Walsh Hadamard transzformáció. Nincs ok arra, hogy ezeket ne illessze be egy ReLU alapú ideghálózatba, és ne élvezhesse a számítási nyereséget. (Pl. Fix szűrőbank ideghálózatok.)
Válasz
A ReLU valószínűleg az egyik legegyszerűbb nemlineáris függvény. A lépésfüggvény egyszerűbb. A lépésfüggvénynek azonban az első derivált (gradiens) nulla mindenhol, csak egy pontban, ahol végtelen gradiens. A ReLU mindenhol véges deriváltal rendelkezik (gradiens). Végtelen második deriváltja van egy pontban.
Az előremenő hálózatokat nulla gradiens keresésével képezzük ki. A legfontosabb itt az, hogy van egy csomó első derivatív, amelyet egy nagy nettó backpropation rutinban kell kiszámítani, és segít abban, hogy gyorsan kiszámíthatók, mint a ReLU. A második az, hogy a lépésfüggvénytől eltérően a ReLU gradiensei mindig végesek, és nem triviális nullák szinte mindenhol. Végül nemlineáris aktiválásokra van szükségünk ahhoz, hogy a mély tanulási háló jól működjön l, de ez más téma.