Backpropagation
Backpropagation, česky zpětné šíření chyby, je klíčový algoritmus, díky kterému se neuronové sítě učí. Poté, co síť provede nějaký úkol, například rozpozná obrázek, porovná svůj výsledek se správnou odpovědí a spočítá, jak moc se zmýlila. Tuto informaci o chybě pak pošle zpětně skrze celou svou strukturu, od konce až na začátek. Při tomto zpětném průchodu zjišťuje, které vnitřní spoje (váhy) v síti nesou za chybu největší zodpovědnost, a mírně je upraví, aby příští pokus dopadl lépe.
Zjednodušeně si to lze představit jako hru v házení šipek na terč. Když poprvé hodíte a minete cíl, podíváte se, kam šipka dopadla (změříte chybu). Následně přemýšlíte, co jste udělali špatně – možná jste měli špatný postoj nebo jste šipku pustili příliš brzy (analyzujete, co přispělo k chybě). Pro další hod se na základě tohoto zjištění poučíte a mírně upravíte svůj styl (upravíte váhy). Tento proces opakujete, dokud se nezačnete trefovat do středu.
Backpropagation (česky zpětné šíření chyby)
Odborná definice: Backpropagation je optimalizační algoritmus používaný pro trénování umělých neuronových sítí, zejména v kontextu učení s učitelem. Jedná se o efektivní metodu výpočtu gradientu chybové funkce vůči všem vahám a prahovým hodnotám (biasům) v síti. Algoritmus má dvě hlavní fáze. V první, dopředné fázi (forward pass), jsou vstupní data zpracována sítí a je vygenerován výstup. V druhé, zpětné fázi (backward pass), je chyba (rozdíl mezi predikovaným a skutečným výstupem) šířena od výstupní vrstvy zpět k vrstvám vstupním. Pomocí řetězového pravidla (chain rule) z diferenciálního počtu se postupně počítají parciální derivace chyby podle jednotlivých vah, čímž se určí jejich vliv na celkovou chybu. Tento vypočtený gradient je následně použit optimalizační metodou, jako je gradientní sestup (gradient descent), k aktualizaci vah tak, aby se chyba sítě minimalizovala.
Etymologie a kontext: Termín je doslovným překladem anglického „backward propagation of errors“ (zpětné šíření chyb). Název přesně popisuje jádro metody: šíření informace o chybě směrem dozadu, tedy proti směru, kterým se šířil signál při výpočtu. Základní principy metody byly položeny již v 60. letech 20. století v kontextu teorie řízení a dynamického programování. Algoritmus, jak ho známe dnes, byl pro neuronové sítě popsán a zpopularizován v roce 1986 Davidem Rumelhartem, Geoffreym Hintonem a Ronaldem Williamsem. Jejich práce ukázala, že backpropagation umožňuje hlubokým sítím učit se užitečné vnitřní reprezentace dat, což se stalo základem pro revoluci v oblasti hlubokého učení.