Miksi käytämme tasasuuntaisia lineaarisia yksiköitä (ReLU) hermoverkkojen kanssa? Kuinka se parantaa hermoverkkoa?
Miksi sanomme, että ReLU on aktivointitoiminto? Eikö ”softmax-aktivointitoiminto ole neuroverkoissa? Oletan, että käytämme molempia, ReLU: ta ja softmaxia, näin:
neuroni 1, jossa on softmax-lähtö —-> ReLU hermosolun 1 ulostulossa, joka on
neuroni 2: n tulo —> neuroni 2, jonka softmax-ulostulo -> …
niin että neuroni 2: n tulo on periaatteessa ReLU (softmax (x1)). oikein?
Vastaus
ReLU-funktio on $ f (x) = \ max (0, x). $ Yleensä tätä käytetään elementtien mukaan jonkin muun funktion, kuten matriisi-vektorituotteen, ulostuloon. MLP-käytöissä tasasuuntaajayksiköt korvaavat kaikki muut aktivointitoiminnot lukuun ottamatta kenties Mutta luulen, että voisit sekoittaa ja sovittaa heitä, jos haluat.
Yksi tapa, jolla ReLU: t parantavat hermoverkkoja, on nopeuttamalla koulutusta. Liukuvärilaskenta on hyvin yksinkertaista (joko 0 tai 1 riippuen merkistä $ x $ ). ReLU: n laskentavaihe on myös helppo: negatiivisten elementtien arvoksi asetetaan 0.0 – ei eksponentiaalia, ei kertolasku- tai jakooperaatioita.
Logististen ja hyperbolisten tangenttiverkkojen gradientit ovat pienempiä kuin ReLU. Tämä tarkoittaa, että positiivinen osa päivittyy nopeammin harjoittelun edetessä. Tämä maksaa kuitenkin kustannuksia. Vasemmanpuoleisella 0-gradientilla on oma ongelma, jota kutsutaan ”kuolleiksi neuroneiksi”, jossa gradienttipäivitys asettaa saapuvat arvot ReLU: ksi siten, että lähtö on aina nolla; muokatut ReLU-yksiköt, kuten ELU (tai Leaky ReLU tai PReLU jne.), voivat parantaa tätä.
$ \ frac {d} {dx} \ text { ReLU} (x) = 1 \ kaikki x > 0 $ . Sitä vastoin sigmoidiyksikön kaltevuus on enintään 0,25 $ $ ; toisaalta $ \ tanh $ on parempi hinta syötteille alueella 0, koska 0,25 dollaria < \ frac {d} {dx} \ tanh (x) \ le 1 \ kaikki x \ sisällä [-1,31, 1,31] $ (noin).
Kommentit
- En näe mitään todisteita siitä, että halusin esittää kysymyksen tai että olisin osallistunut tälle sivulle. Suoraan sanottuna olen ’ hämmästynyt siitä, kuinka hyvin ReLU toimii, mutta olen ’ lakannut kyseenalaistamasta sitä :).
- @aginensky Vaikuttaa siltä, että kommentti poistettiin väliaikaisesti.
- En poistanut kommenttia, eikä minulle ilmoitettu siitä. Olen ’ lopettanut vastaamisen kysymyksiin ja luulen, että tämä tarkoittaa, että olen ’ tehnyt myös kommentoinnin.
- @aginensky En tiedä ’, miksi tämä saisi sinut lopettamaan kommentoinnin. Jos sinulla on kysyttävää kommenteista ja valvonnasta, voit esittää kysymyksen osoitteessa meta.stats.SE.
Vastaa
Yksi tärkeä huomautettava asia on, että ReLU on idempotentti. Kun otetaan huomioon, että ReLU on $ \ rho (x) = \ max (0, x) $ , on helppo nähdä, että $ \ rho \ circ \ rho \ circ \ rho \ circ \ dots \ circ \ rho = \ rho $ pätee mihin tahansa äärelliseen kokoonpanoon. Tämä ominaisuus on erittäin tärkeä syvän hermoverkkojen kannalta, koska kukin Verkko soveltaa epälineaarisuutta. Sovelletaan nyt kahta sigmoidiperheen funktiota samaan tuloon toistuvasti 1-3 kertaa:
Voit heti nähdä, että sigmoidifunktiot” puristavat ”syötteensä aiheuttaen kadonneen kaltevuusongelman: johdannaiset lähestyvät nollaa $ n $ (toistuvien sovellusten määrä) lähestyy ääretöntä.
Vastaa
ReLU on maksimitoiminto (x, 0) syötteellä x esim matriisi sekoitetusta kuvasta. ReLU asettaa sitten matriisin x kaikki negatiiviset arvot nollaksi ja kaikki muut arvot pidetään vakioina.
ReLU lasketaan konvoluution jälkeen ja on epälineaarinen aktivointitoiminto, kuten tanh tai sigmoid.
Softmax on luokittelija hermoverkon päässä. Tämä on logistinen regressio normalisoimaan lähdöt arvoiksi välillä 0 ja 1. (Vaihtoehtoinen tässä on SVM-luokittelija).
CNN Forward Pass, esim .: input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax
Kommentit
- Äänestys. Tämä on erittäin huono vastaus! Softmax ei ole luokittelija! Se on funktio, joka normalisoi (skaalaa) lähdöt alueelle [0,1] ja varmistaa, että niiden summa on 1. Logistinen regressio ei ” laillista ” mitä tahansa!Lause ” ReLU lasketaan konvoluution jälkeen ja siksi epälineaarinen aktivointitoiminto, kuten tanh tai sigmoid. ” puuttuu verbi tai järki.
- Vastaus ei ole niin huono. Lausekkeen, jossa ei ole verbiä, on oltava ” ReLU lasketaan konvoluution jälkeen ja IS on siis epälineaarinen aktivointitoiminto, kuten tanh tai sigmoid. ”>
Softmaxin ajattelu luokittelijana on myös järkevää. Sitä voidaan pitää todennäköisyysluokittajana , joka määrittää todennäköisyyden jokaiselle luokalle. Se ” laillistaa ” / ” normalisoi ” lähdöt [0,1] -väliin.
Vastaus
ReLU on kirjaimellinen kytkin. Sähkökytkimellä 1 voltin tulo antaa 1 voltin ulostulon, n volttitulo antaa n voltin ulos, kun se on päällä. Päälle / pois päältä, kun päätät vaihtaa nollasta, saadaan täsmälleen sama kaavio kuin ReLU: lla. Useiden painotettujen summien painotettu summa (pistetulo) on edelleen lineaarinen järjestelmä. Tietyn tulon kohdalla ReLU-kytkimet ovat erikseen päällä tai pois päältä. Tämä johtaa tiettyyn lineaariseen projektioon syötteestä lähtöön, kun kytkimet yhdistävät yhteen painotetun summan … painotetut summat. Tietylle tulolle ja tietylle lähtöhermolle on yhdistetty painotettujen summien järjestelmä, joka voidaan tosiasiallisesti tiivistää yhdeksi tehokkaaksi painotetuksi summaksi. Koska ReLU kytkee tilan nollaan, tulossa ei ole yhtäkkiä epäjatkuvuuksia tulon asteittaisten muutosten vuoksi.
On olemassa muita numeerisesti tehokkaita painotettuja summa (pistetulo) -algoritmeja, kuten FFT- ja Walsh Hadamard -muunnokset. Ei ole mitään syytä, ettet voi sisällyttää niitä ReLU-pohjaiseen hermoverkkoon ja hyötyä laskennallisista voitoista. (Esim. Kiinteät suodatinpankin hermoverkot.)
Vastaa
ReLU on luultavasti yksi yksinkertaisimmista epälineaarisista funktioista. Vaihefunktio on yksinkertaisempi. Vaihefunktiolla on kuitenkin ensimmäinen johdannainen (gradientti) nolla kaikkialla paitsi yhdessä pisteessä, jossa se on ääretön gradientti. ReLU: lla on äärellinen johdannainen (gradientti) kaikkialla. Sillä on ääretön toinen johdannainen yhdessä pisteessä.
Syöttö eteenpäin -verkot koulutetaan etsimällä nollagradienttia. Tärkeää tässä on siellä on paljon ensimmäisiä johdannaisia, jotka voidaan laskea suuren verkon backpropation-rutiinissa, ja se auttaa, että ne ovat nopeasti laskettavissa kuten ReLU. Toinen on se, että toisin kuin vaihefunktio, ReLU: n kaltevuudet ovat aina rajallisia eivätkä ne ole triviaalit nollat melkein kaikkialla. Lopuksi tarvitsemme epälineaarisia aktivointeja, jotta syvä oppimisverkko toimisi hyvin l, mutta se on eri aihe.