A véletlenszerű zaj hozzáadását a rejtett rétegekhez szabályszerűségnek tekintik? Mi a különbség az elvégzés, valamint a lemorzsolódás és a tétel-normalizálás hozzáadása között?


Válasz 1:

Igen, a véletlenszerű zaj hozzáadása a rejtett rétegekhez pontosan ugyanúgy van, mint a lemorzsolódás. A legfontosabb intuíció itt az, hogy ha az egyes rétegek neurális reakciója zajos, akkor az edzés során a súlyokat külön kategóriákba kell állítani úgy, hogy a zajnál nagyobb távolság legyen. Tehát a tesztelés idején, amikor nincs zaj, az osztályozásnak stabilabbnak kell lennie. Ez nagyon hasonlít a maximális margin-osztályozás működésére, és mindannyian tudjuk, hogy mennyire sikeresek voltak a maximális margin-technikák (pl. A Support Vector Machines). Vigyáznia kell arra, hogy a zaj ne érintse túl a jelet.

A lemorzsolódást normalizálási módszernek tekintik, mert a modell átlagolását hajtja végre. Vagyis az edzés során a modell egy adott időpontban valójában valószínűség-eloszlás egy olyan ideghálózati modell-osztályra, amelyben a súlyok rögzítve vannak, de a modell bármelyik neuronja hiányozhat. Az egyes idegi hálózatok általános valószínűségét az egy adott neuron jelenlétének vagy hiányának egyéni valószínűsége határozza meg. Ez a normalizálás, mivel átlagolja az egyes példányok torzulását, simítva a költségfüggvényt.

A véletlenszerű zaj hozzáadása a rejtett réteghez ugyanúgy működik, de eltérő valószínűség-eloszlással. Ahelyett, hogy rögzített súlyokkal rendelkezne, akkor fix topológiája van, és a valószínűség-eloszlást véletlenszerűen választja ki a súlyokat egy „igaz” súlyokra összpontosított Gauss-eloszlás szerint, azaz a merevlemezen tárolt súlyok szerint. Ez ismét a modell átlagolása, és ennek normalizáló hatással kell lennie, azzal a figyelmeztetéssel, hogy a zaj (szórás) ne kerülje túl a jelet. Tehát például ha először alkalmazza a BatchNorm-ot, akkor nagyjából egy normál kimeneti profilja lesz (az egységek nulla középpontjában vannak az egyik varianciával), majd zajt alkalmazhat, például 0,1-es varianciával. A varianciával játszhatsz, hogy megnézhesd, mi működik.

SZERKESZTÉS: Mivel a kérdés megemlítette a BatchNorm-ot, rámutattam, hogy a BatchNorm-ot valójában nem használják normalizálásra. Vagyis a BatchNorm nem simítja a költségeket. Ehelyett a BatchNorm került hozzáadásra, hogy javítsa a visszapótlás teljesítményét. Lényegében megakadályozza, hogy a hátsó részben levő gradiens túlságosan nagyra vagy kicsire váljon az átméretezés és átváltás révén; technikájaként mélyebben kapcsolódik a másodrendű optimalizálási módszerekhez, amelyek megkísérlik modellezni a költségfelület görbületét. Mint fentebb említettem, a BatchNorm felhasználható annak garantálására is, hogy a relatív méretezés helyes-e, ha véletlenszerű zajt ad hozzá az idegi tevékenységekhez.


Válasz 2:

Én inkább optimalizációs trükknek tekintem, mint a legalizálást.

A hatásnak egyenértékűnek kell lennie az SGD sztochaszticitásának hatásával.

Az SGD és annak inspirációja A Monte Carlo módszerek elkerülhetik, hogy beragadjanak a rossz helyi minimumokba, mivel időnként véletlenszerű lépéseket tesznek, ahelyett, hogy szigorúan követik a legszorosabb ereszkedés irányát; vagy végezzen valami egyenértékűt a különféle inkarnációkban, például egy véletlenszerű komponenst adjon hozzá minden lépéshez, ahelyett, hogy periodikusan elvégezne egy véletlenszerű lépést.

Ha gyenge véletlenszerű zajt ad hozzá a súlyokhoz, pontosan ugyanezt fogja elérni. [Tipp: A színátmenet leereszkedése is hozzáad valamit a súlyokhoz minden iterációnál!]


Válasz 3:

EDIT:

Ha az egyes rétegek bemeneti adataihoz gauss-eloszlású, véletlenszerű zajt adunk, az modellel megbízhatóbbá válhat az adatok kis változásaival szemben, lehetővé téve a hálózat számára, hogy jobban megkülönböztesse a zajt a jeltől. Amint Zeeshan Zia mondta, ez lényegében sztochasztikus, megfelelő gradiens. Még mindig nem gondolnám ezt a szabályosítást. Ez inkább egy olyan módszer, amely segíti a modellt, hogy megtanulja a mintákat a zaj és a jel elválasztására.

A kimaradás véletlenszerűen letiltja a csomópontok egy bizonyos részét egy rejtett rétegben minden egyes lépésnél. Ez javítja a hálózatot, mivel arra kényszeríti őt, hogy megtanulja, hogyan kell felismerni ugyanazokat a mintákat többféle módon, ami jobb modellhez vezet.

A kötegelt normalizálás során elvégezzük a bemeneteket egy rétegre, és ellenőrizzük, hogy mindegyik normalizálva van-e 0 és 1 között. Ez elősegíti a hálózat jobb megtanulását, mivel megőrzi a megfelelő színátmenetet következetesebbé és simábbá. Ily módon elkerülhető a minimumok körüli ugrás, mert a gradiens túl nagy.