Table of Contents
Reţelele neurale adânci se pot confrunta cu provocări în timpul formării, în special cu problema de gradient care dispare. Această problemă apare atunci când gradientii devin foarte mici, împiedicând capacitatea reţelei de a învăţa eficient. Au fost dezvoltate diferite tehnici pentru a rezolva această problemă şi pentru a îmbunătăţi procesul de formare.
Înţelegerea problemei în care se află Gradientul care dispare
Problema de gradient dispariție afectează în primul rând rețelele adânci cu mai multe straturi. În timpul propagării înapoi, gradientii sunt propagați înapoi prin rețea. Dacă gradientii diminuează exponențial, straturile anterioare învață foarte lent sau încetează să învețe. Aceasta limitează capacitatea rețelei de a modela funcții complexe.
Tehnici de a rezolva problema
Mai multe metode pot ajuta la reducerea impactului degradarilor disparute:
- Funcții de activare: Utilizarea unor funcții precum ReLU (Unitatea liniară notificată) în loc de sigmoid sau tanoid ajută la menținerea unor gradienti mai puternici.
- Inalizare înălțime: Metode de inițializare adecvate, cum ar fi Xavier sau El inițializare, împiedică gradientii să se micșoreze sau să explodeze inițial.
- Normalizarea intrarilor de strat stabilizeaza invatarea si mentine fluxul de gradient sanatos.
- Conexiuni Skip: Arhitecturi precum ResNet introduc comenzi rapide care permit gradientilor sa ocoleasca anumite straturi.
- Limitarea dimensiunii de declivități în timpul formării le împiedică să devină prea mici sau prea mari.
Calcule şi perspective matematice
Declinul la nivel de strat l în timpul propunerii de spate poate fi exprimat ca:
unde L[ este pierderea, w[l]] sunt greutățile și al sunt activările. Regula lanțului se multiplică cu derivatele pe straturi, ceea ce poate duce la o degradare exponențială dacă derivații sunt mai puțin de unul.
Pentru functii de activare precum sigmoid, derivatul este:
σ'(x) = σ(x) × (1 - σ(x) ]]
Deoarece σ(x) variază între 0 și 1, derivatul poate fi foarte mic, în special pentru