Pro úplné pochopení neuronových sítí.
![](https://miro.medium.com/max/1280/0*nPckd5w-WZxAUPpV.png)
Jednou z nejčastěji používaných aktivačních funkcí ve strojovém učení, přesněji v neuronových sítích, je sigmoidní funkce. V kroku zpětného šíření při trénování neuronové sítě je třeba najít derivaci ztrátové funkce vzhledem ke každé váze v síti. K tomu je třeba najít derivaci aktivační funkce. Cílem tohoto článku je objasnit nejasnosti ohledně hledání derivace sigmoidní funkce.
Na začátek uvádíme sigmoidní funkci:
![](https://miro.medium.com/max/60/1*h2mKSbkSqRmYi9OhHyWpKA@2x.png?q=20)
Na zkoušku si na kalkulačce vezměte sigmoidní funkci o velikosti 5. Měli byste dostat 0,99330714907.
Pro účely derivace lze tuto funkci zapsat také jako:
![](https://miro.medium.com/max/60/1*XcZaBh3il0ooTtYChZTsiQ@2x.png?q=20)
První věc, které jsem si na této funkci všiml, je, že jde o složení funkcí. První funkce je
![](https://miro.medium.com/max/60/1*bDiSa_0gjyaKffPGj-zsXg@2x.png?q=20)
a druhá je
![](https://miro.medium.com/max/60/1*1J0Oric7dnSzYlMb0oXHOA@2x.png?q=20)
Připomeňme si, že v kalkulačce, když existuje složení funkcí, derivace, je první funkce vzhledem k druhé vynásobená druhou funkcí vzhledem k proměnné, v tomto případě x. Takto:
![](https://miro.medium.com/max/60/1*euGFm_1TRovvYQkje9BZ9g@2x.png?q=20)
Takže derivace sigmoidy vzhledem k x je derivace sigmoidální funkce vzhledem k m krát derivace m vzhledem k x. Toto pravidlo o složení funkcí si můžete představit jako jakýsi mezivýpočet, jehož výsledkem je původní derivace, kterou jste chtěli získat křížovým zrušením:
![](https://miro.medium.com/max/60/1*9qgk0QD8Agn7bw1x2G4BPg@2x.png?q=20)
Teď, když víme, že sigmoidní funkce je složením funkcí, stačí nám k nalezení derivace, že:
- Najděte derivaci sigmoidní funkce vzhledem k m, naší mezilehlé hodnotě
- Najděte derivaci m vzhledem k x
- Vynásobte tyto hodnoty dohromady
Derivace sigmoidy vzhledem k m
Podívejme se zpět, jak vypadá sigmoidní funkce s m jako naší mezilehlou hodnotou:
![](https://miro.medium.com/max/60/1*en0hcpeSaFAY8IbXm3vOwA@2x.png?q=20)
Najít její derivaci vzhledem k m je poměrně jednoduché, pokud si zapamatujeme mocninné pravidlo:
![](https://miro.medium.com/max/60/1*ii-9jyo9DzjdvxD_NewuPA@2x.png?q=20)
Derivace x^n je n krát derivace x na mocninu n-1.
Takže,
![](https://miro.medium.com/max/60/1*RRPcS47LvAXygCRQdxIVRQ@2x.png?q=20)
Nyní, dosadíme-li naši původní hodnotu m zpět do rovnice, dostaneme
![](https://miro.medium.com/max/60/1*YgwWo7IGFfHCI2QL8BE2JA@2x.png?q=20)
Nakonec,
![](https://miro.medium.com/max/60/1*DSOvR25jPyjRLxZFQ5w2Qw@2x.png?q=20)
Já! Krok 1 jsme splnili.
Najděte derivaci m vzhledem k x
Tady je m:
![](https://miro.medium.com/max/60/1*HY6mNDzKbnm0KkL7BTqgFg@2x.png?q=20)
Pro nalezení derivace musíme najít derivaci každého členu vzhledem k x. První člen je snadný:
![](https://miro.medium.com/max/60/1*xqN5kF3GuEhCyVuzlZ2qpQ@2x.png?q=20)
Druhý člen je trochu složitější.
Nechme
![](https://miro.medium.com/max/60/1*u6dIXvsIhIWvHXSAj3TPUQ@2x.png?q=20)
a
![](https://miro.medium.com/max/60/1*NmjZIoawG2sIaj4aCAIrqg@2x.png?q=20)
.
Víme, že
![](https://miro.medium.com/max/60/1*yJaPKPIIqNpfV8zHw_XTwA@2x.png?q=20)
Pokud se dostaneme k e^u, není to jasné, přečtěte si prosím toto.
Nyní opět použijeme řetězové pravidlo,
![](https://miro.medium.com/max/60/1*FcQNYyN8wm69ZPQlcXZYkQ@2x.png?q=20)
Takže prostě vynásobíme ty derivace, které jsme právě vypočítali, abychom dostali derivaci vzhledem k x:
![](https://miro.medium.com/max/60/1*9hhIYJlrrEnX9jA9j5P2wA@2x.png?q=20)
Všechno pro krok 2,
![](https://miro.medium.com/max/60/1*oQbxRgKqYbPcLDpLuCAkzw@2x.png?q=20)
Vynásobte derivace
Připomeňme si, že jakmile jsme našli obě meziprodukce, museli jsme je vynásobit. Takže tady je rychlé shrnutí:
![](https://miro.medium.com/max/60/1*aTlg-GrkdIkD05aV349w4g@2x.png?q=20)
Nyní, pokud si pamatujete, jak se násobí :), to můžeme konečně dokončit!
![](https://miro.medium.com/max/60/1*gCzsgoQkdQVVjJi8G5l9uA@2x.png?q=20)
Tuto hodnotu nyní můžete vzít a použít jako derivaci sigmoidní funkce. Po manipulaci s tímto výsledkem však nastane zajímavá věc. Ukazuje se, že derivaci můžete přepsat takto:
![](https://miro.medium.com/max/60/1*HL-p9alkMl4EvVAGNTS9bQ@2x.png?q=20)
Derivace sigmoidní funkce je sigmoida krát 1 minus sigmoida. Páni. Cítím se podveden 🙂
.
Napsat komentář