Odborná definice
Odborná definice
Backpropagation je výpočetní postup na získání gradientů ztrátové funkce podle parametrů neuronové sítě. Po dopředném výpočtu predikce se chyba šíří výpočtovým grafem opačným směrem pomocí řetězového pravidla diferenciálního počtu. Výsledné parciální derivace říkají optimalizátoru, jako citlivo ztráta reaguje na změnu každého parametru. Backpropagation sama neurčuje velikost aktualizace váh, tu provádí optimalizační algoritmus podle gradientů, rychlosti učení a dalších pravidel.
Srozumitelné vysvětlení
Srozumitelné vysvětlení
Síť nejprve vytvoří odpověď a vypočítá, jako velmi se odlišuje od cíle. Potom se výpočet prochází zpětně a při každém parametru se zjišťuje, jaký podíl měl na výsledné chybě. Je to podobné rozpočítání odchylky ve výrobní linke mezi jednotlivé kroky, ne však podle dojmu, ale podle derivací. Optimalizátor následně upraví váhy směrem, který má ztrátu snížit. Bez zpětného šíření by trénink hlubokých sítí vyžadoval nesrovnatelně dražší odhadování vlivu milionů parametrů.
Časté otázky
Časté otázky
Je backpropagation to jisté jako gradient descent?
Ne. Backpropagation efektivně vypočítá gradienty v síti. Gradient descent nebo jiný optimalizátor tyto gradienty použije na aktualizaci parametrů. Jeden mechanismus tedy poskytuje směr citlivosti, druhý rozhoduje, jak se parametry reálně změní.
Proč vzniká problém miznúcich gradientů?
Při opakovaném násobení malými derivacemi přes mnoho vrstev může gradient směrem k skorším vrstvám klesnout téměř na nulu. Ty se potom učí velmi pomalu. Pomáhají vhodné aktivační funkce, reziduální spojení, normalizace a starostlivá inicializace.
Co znamená automatická diferenciace?
Framework si zostaví výpočetní graf operací a aplikuje naň pravidla derivování. Vývojář nemusí ručně odvodit každou rovnici, ale stále musí rozumět tomu, které operace jsou diferencovatelné, kde se graf prerušuje a jaké gradienty vznikají.
Používá se backpropagation i při transformerech?
Ano. Transformer má jiné vrstvy než klasická dopredná síť, ale jeho parametry se běžně učí spetným šírením gradientů přes attention, projekce, normalizace a feed-forward bloky. Výpočetní náročnost roste s velikostí modelu a délkou sekvence.
Jak se kontroluje správnost implementace gradientů?
Při vlastních operacích se používá gradient checking, který porovná analytický gradient s numerickým odhadom při malé změně parametru. Rozdíl má být v očekávané tolerancii. Při velkých sítích se kontrolují i normy gradientů, Nan hodnoty a stabilita tréninku.
Související pojmy
Související pojmy
Zdroje a redakční stopa
Zdroje a redakční stopa
- Google Machine Learning Crash Course, Backpropagation
- Google Machine Learning Glossary
Definícia je autorská odborná syntéza. Pri právnych a regulačných rozhodnutiach má prednosť aktuálne oficiálne znenie predpisu a posúdenie konkrétneho prípadu.
