L’afegir soroll aleatori a les capes ocultes es considera una regularització? Quina diferència hi ha entre afegir la normalització d'abandonament i lots?


Resposta 1:

Sí, afegir soroll a l’atzar a les capes ocultes és una regularització de la mateixa manera que ho és a l’abandonament. La intuïció clau aquí és que si la resposta neural a cada capa és sorollosa, l’entrenament ha d’ajustar els pesos a categories separades amb un espai més gran que el soroll. Així, en el moment de la prova, quan el soroll està absent, la classificació hauria de ser més estable. Això és molt semblant al funcionament de la classificació del marge màxim i tots sabem com han tingut èxit les tècniques de marge màxim (per exemple, Support Vector Machines). Heu d’anar amb compte per assegurar-vos que el soroll no sobrevola el senyal.

L’abandonament es considera un mètode de regularització perquè realitza una mitjana de models. És a dir, durant l’entrenament, el model en un moment determinat és en realitat una distribució de probabilitats sobre una classe de models de xarxa neuronal en què es fixen els pesos, però hi pot faltar qualsevol de les neurones del model. La probabilitat general de cada xarxa neuronal està determinada per la probabilitat individual que una determinada neurona estigui present o absent. Es tracta de la regularització, ja que promedia el biaix de cada cas, suavitzant la funció de costos.

Si afegeix soroll aleatori a la capa oculta funciona de la mateixa manera, però amb una distribució de probabilitats diferent. En lloc de tenir pesos fixos, teniu una topologia fixa i la distribució de probabilitats tria pesos a l'atzar segons una distribució gaussiana centrada en els pesos "veritables", és a dir, els pesos que emmagatzeneu al disc dur. Una vegada més, es tracta d'un model mitjà i hauria de tenir una influència regularitzadora, advertint que el soroll (la variància) no hauria de desbordar el senyal. Així, per exemple, si primer apliqueu BatchNorm, tindreu un perfil de sortida normal aproximadament (unitats centrades a zero amb una variació), i podeu aplicar soroll amb una variació de, per exemple, 0,1. Podeu jugar amb la variància per veure què funciona.

EDIT: Com que la pregunta esmentava BatchNorm, volia assenyalar que BatchNorm no s'utilitza realment per a la regularització. És a dir, BatchNorm no suavitza el cost. En lloc d'això, s'afegeix BatchNorm per tal de millorar el rendiment de la backpropagation. En essència, manté el gradient propagat per l'esquena que es faci massa gran o petit mitjançant la nova recuperació i actualització; com a tècnica, té connexions més profundes amb mètodes d’optimització de segon ordre que intenten modelar la curvatura de la superfície de cost. Com he esmentat anteriorment, BatchNorm també es pot utilitzar per garantir que l'escalat relatiu és correcte si afegiu soroll aleatori a les activitats neuronals.


Resposta 2:

Ho consideraria un truc d’optimització més que la regularització.

L’efecte hauria de ser equivalent a l’efecte d’estocàstica en la SGD.

La SGD i els seus mètodes d’inspiració Monte Carlo eviten quedar atrapats en mínims locals pobres fent un pas aleatori de tant en tant en lloc de seguir estrictament la direcció de la baixada més abrupta; o fent alguna cosa equivalent en les seves diverses encarnacions, per exemple, a l’hora d’afegir un component aleatori a cada pas en lloc de fer periòdicament un pas aleatori.

Si afegeix un soroll aleatori feble als pesos, serà exactament el mateix. [Suggeriment: el descens del gradient també afegeix alguna cosa als pesos en cada iteració.]


Resposta 3:

EDICIÓ:

Si afegiu sorolls aleatoris de distribució gaussiana a les dades d’entrada de cada capa, el model pot ser més robust a petits canvis en les dades que permetin a la vostra xarxa distingir millor el soroll del senyal. Com va dir Zeeshan Zia, això seria essencialment gradient estocàstic decent. Encara no consideraria aquesta regularització. És més una tècnica d’ajudar el vostre model a aprendre patrons per separar el soroll del senyal.

El desplegament desactiva aleatòriament una certa proporció dels nodes d’una capa oculta a cada passatge. Això millora la xarxa perquè l'obliga a aprendre a reconèixer els mateixos patrons de diverses maneres, la qual cosa condueix a un model millor.

La normalització per lots és allà on trigueu les entrades a una capa i assegureu-vos que es normalitzen entre 0 i 1. Això ajuda a la xarxa a aprendre millor perquè manté el decent gradient més coherent i suau. D’aquesta manera, eviteu saltar al voltant dels mínims perquè el vostre degradat és massa gran.