Považuje sa pridávanie náhodného šumu do skrytých vrstiev za regularizáciu? Aký je rozdiel medzi týmto postupom a pridaním výpadku a normalizáciou dávky?


Odpoveď 1:

Áno, pridávanie náhodného šumu do skrytých vrstiev je regularizácia presne rovnakým spôsobom ako v prípade výpadku. Kľúčovou intuíciou je, že ak je nervová odozva v každej vrstve hlučná, potom tréning musí prispôsobiť závažia jednotlivým kategóriám s vôľou, ktorá je väčšia ako hluk. Preto v čase skúšky, keď hluk chýba, by klasifikácia mala byť stabilnejšia. Je to veľmi podobné tomu, ako funguje klasifikácia maximálnej marže, a všetci vieme, aké úspešné boli techniky maximálnej marže (napr. Support Vector Machines). Musíte si však dávať pozor, aby hluk neprekonal signál.

Dropout sa považuje za metódu regularizácie, pretože vykonáva spriemerovanie modelu. To znamená, že počas tréningu je model v určitom časovom okamihu rozdelením pravdepodobnosti cez triedu modelov neurónových sietí, v ktorých sú stanovené hmotnosti, ale môže chýbať ktorýkoľvek z neurónov v modeli. Celková pravdepodobnosť každej nervovej siete je určená individuálnou pravdepodobnosťou prítomnosti alebo neprítomnosti konkrétneho neurónu. Ide o regularizáciu, pretože je to priemer v rámci zaujatosti každého prípadu, čím sa vyhladí nákladová funkcia.

Pridanie náhodného šumu k skrytej vrstve funguje rovnakým spôsobom, ale s odlišným rozdelením pravdepodobnosti. Namiesto toho, aby ste mali pevnú váhu, máte pevnú topológiu a rozdelenie pravdepodobnosti vyberie váhy náhodne podľa gaussovského rozdelenia sústredeného na „skutočné“ hmotnosti, tj hmotnosti, ktoré ukladáte na pevný disk. Opäť platí, že ide o spriemerovanie modelu a malo by to mať vplyv na regularizáciu s tým, že hluk (rozptyl) by nemal signál premôcť. Napríklad, ak prvýkrát použijete BatchNorm, budete mať zhruba štandardný normálny výstupný profil (jednotky vycentrované na nulu s variantom jedna) a potom môžete použiť šum s rozptylom, povedzme 0,1. Môžete hrať s rozptylom, aby ste videli, čo funguje.

EDIT: Keďže otázka spomenula BatchNorm, chcel som zdôrazniť, že BatchNorm sa na regularizáciu v skutočnosti nepoužíva. To znamená, že BatchNorm nevyrovnáva náklady. Namiesto toho sa pridáva BatchNorm, aby sa zlepšil výkon backpropagácie. V podstate chráni šírenie chrbta pred príliš veľkými alebo malými zmenami v mierke a nedávením; ako technika má hlbšie väzby na metódy optimalizácie druhého poriadku, ktoré sa snažia modelovať zakrivenie nákladovej plochy. Ako som už spomenul vyššie, BatchNorm sa dá tiež použiť na zabezpečenie správnosti relatívneho škálovania, ak chcete neurálnym činnostiam pridať náhodný šum.


Odpoveď 2:

Považoval by som to za trik optimalizácie viac ako za regularizáciu.

Účinok by mal byť rovnocenný so účinkom stochasticity v SGD.

SGD a jeho inšpirácie, metódy Monte Carlo, sa vyhýbajú uviaznutiu v zlých miestnych minimách náhodným krokom raz za čas namiesto prísneho sledovania smeru najstrmšieho zostupu; alebo robia niečo ekvivalentné vo svojich rôznych inkarnáciách, napríklad pridaním náhodného komponentu do každého kroku namiesto pravidelného vykonávania náhodného kroku.

Pridaním slabého náhodného šumu k váham sa dosiahne presne to isté. [Pomôcka: Klesanie tiež prispieva k váham v každej iterácii!]


Odpoveď 3:

EDIT:

Ak k vstupným údajom každej vrstvy pridáte gaussiánsky distribuovaný náhodný šum, váš model by sa stal odolnejší voči malým zmenám v údajoch, čo vašej sieti umožní lepšie rozlíšiť šum od signálu. Ako povedal Zeeshan Zia, v podstate by to bol slušný stochastický gradient. Stále by som túto reguláciu neuvažoval. Ide skôr o techniku, ktorá pomáha vášmu modelu naučiť sa vzory na oddelenie šumu od signálu.

Dropout náhodne zakáže určitú časť uzlov v skrytej vrstve pri každom prechode. To zlepšuje sieť, pretože ju núti naučiť sa rozpoznávať rovnaké vzorce niekoľkými spôsobmi, čo vedie k lepšiemu modelu.

Šaržová normalizácia je miesto, kde zoberiete vstupy do vrstvy a ubezpečíte sa, že sú všetky normalizované medzi 0 a 1. To pomáha sieti lepšie sa učiť, pretože udržiava slušný gradient konzistentnejší a hladší. Týmto spôsobom sa vyhnete skákaniu okolo minima, pretože váš sklon je príliš veľký.