Vai izlases trokšņa pievienošana slēptiem slāņiem tiek uzskatīta par normalizāciju? Kāda ir atšķirība starp to izdarīšanu un izlaišanas un partijas normalizēšanas pievienošanu?


Atbilde 1:

Jā, nejaušu trokšņu pievienošana slēptiem slāņiem ir legalizācija tieši tādā pašā veidā kā izstāšanās. Galvenā intuīcija šeit ir tāda, ka, ja neironu reakcija katrā slānī ir trokšņaina, tad apmācībai ir jāpielāgo svari atsevišķām kategorijām ar atstarpi, kas ir lielāka par troksni. Tādējādi testa laikā, kad trokšņa nav, klasifikācijai vajadzētu būt stabilākai. Tas ir ļoti līdzīgs tam, kā darbojas maksimālās robežas klasifikācija, un mēs visi zinām, cik veiksmīgas ir bijušas maksimālās rezerves klasifikācijas (piemēram, atbalsta vektora iekārtas). Jums tomēr jābūt uzmanīgiem, lai pārliecinātos, ka troksnis nepārspīlē signālu.

Pamešana tiek uzskatīta par normalizācijas metodi, jo tā veic modeļa vidējo aprēķinu. Tas ir, apmācības laikā modelis noteiktā laika posmā faktiski ir varbūtības sadalījums neironu tīkla modeļu klasē, kurā svari ir fiksēti, bet var trūkt jebkura modeļa neirona. Katra neironu tīkla kopējo varbūtību nosaka individuālā varbūtība, ka konkrētais neirons atrodas vai nav. Tā ir normalizēšana, jo tiek aprēķināta vidējā vērtība attiecībā uz katras instances aizspriedumiem, izlīdzinot izmaksu funkciju.

Nejaušu trokšņu pievienošana slēptajam slānim darbojas tāpat, bet ar atšķirīgu varbūtības sadalījumu. Tā vietā, lai jums būtu fiksēts svars, jums ir fiksēta topoloģija, un varbūtības sadalījums svarus izvēlas pēc nejaušības principa atbilstoši Gausa sadalījumam, kura centrā ir “patiesie” svari, ti, svariem, kurus jūs glabājat cietajā diskā. Atkal tas ir vidējais modeļa modelis, un tam vajadzētu būt regulējošai ietekmei, ievērojot brīdinājumu, ka troksnim (dispersijai) nevajadzētu pārspīlēt signālu. Tā, piemēram, ja jūs pirmo reizi uzklājat BatchNorm, jums būs aptuveni parasts normāls izvades profils (vienības, kuru centrā ir nulle ar vienu dispersiju), un pēc tam jūs varat pielietot troksni ar dispersiju, teiksim, 0,1. Jūs varat spēlēt ar dispersiju, lai redzētu, kas darbojas.

REDIĢĒT: Tā kā jautājumā tika minēts BatchNorm, es gribēju norādīt, ka BatchNorm patiešām netiek izmantots normalizēšanai. Tas ir, BatchNorm neizlīdzina izmaksas. Tā vietā tiek pievienots BatchNorm, lai uzlabotu atkārtotās reproducēšanas veiktspēju. Būtībā tas novērš, ka aizmugures izplatītais slīpums kļūst pārāk liels vai mazs, mainot skalu un atkārtojoties; kā paņēmiens tam ir dziļāki savienojumi ar otrās kārtas optimizācijas metodēm, kas mēģina modelēt izmaksu virsmas izliekumu. Kā es minēju iepriekš, BatchNorm var izmantot arī, lai garantētu, ka relatīvā mērogošana ir pareiza, ja jūs neironu darbībām pievienosit nejaušu troksni.


Atbilde 2:

Es to uzskatītu par optimizācijas triku, nevis par legalizēšanu.

Efektam jābūt līdzvērtīgam stohastiskuma efektam SGD.

SGD un tās iedvesmas avots Montekarlo metodes ļauj izvairīties no iestrēgšanas nabadzīgajos vietējos minimumos, ik pa laikam veicot nejaušu soli, nevis stingri ievērojot straujāko nolaišanās virzienu; vai veicot kaut ko līdzvērtīgu dažādos iemiesojumos, piemēram, pievienojot nejaušu komponentu katram solim, nevis periodiski veicot nejaušu soli.

Pievienojot svariem vāju nejaušu troksni, tiks sasniegts tieši tas pats. [Padoms: Gradienta nolaišanās arī palielina svaru katrā iterācijā!]


Atbilde 3:

REDIĢĒT:

Ja katra slāņa ievades datiem pievienotu Gausa sadalītu nejaušu troksni, tas varētu padarīt jūsu modeli noturīgāku pret nelielām datu izmaiņām, kas ļauj jūsu tīklam labāk atšķirt troksni no signāla. Kā sacīja Zeeshan Zia, tas būtībā būtu stohastisks pienācīgs gradients. Es joprojām neuzskatu par šo legalizāciju. Tas vairāk ir paņēmiens, kas palīdz jūsu modelim iemācīties modeļus, lai atdalītu troksni no signāla.

Pamešana pēc nejaušības principa izslēdz noteiktu mezglu daļu katrā paslēptā slānī. Tas uzlabo tīklu, jo liek tam iemācīties atpazīt vienādus modeļus vairākos veidos, kas noved pie labāka modeļa.

Sērijveida normalizēšana ir tā, ka, paņemot ievadus vienā slānī, pārliecinieties, ka tie visi tiek normalizēti no 0 līdz 1. Tas palīdz tīklam labāk mācīties, jo tas nodrošina vienmērīgu un vienmērīgu slīpumu. Tādā veidā jūs izvairītos no lēkšanas ap minimāliem, jo ​​jūsu slīpums ir pārāk liels.