Gradiens Descent

mély tanulás
matematika
gradiens süllyedés
Gradiens Descent cover image

Bevezetés

Képzeljük el, hogy van egy $f(x)$ függvényünk, és szeretnénk megtalálni a minimumát. Mit csinálnál ?

Egyszerű igaz? Csak a következő egyenletet kell megoldanunk:

$$f'(x) = 0$$

A helyzet az, hogy a $f'$ képletének megtalálása nem mindig egyszerű, mivel általában rendkívül bonyolultak, különösen a mély tanulásban, ahol összetett függvényekkel foglalkozunk. Tehát találnunk kell egy másik módszert, amely megadja nekünk a függvény minimumát anélkül, hogy meg kellene találnunk a $f'$ derivált képletét.

Építsünk némi intuíciót

Tegyük fel, hogy van egy f függvényünk a megfelelő gráfral:

Graph 1

Kezdjük egy véletlenszerű $x_{0}$ ponttal. A cél az, hogy ezt a pontot mozgassuk, és egyre közelebb tegyük $x*$-hoz úgy, hogy $f'($x*$) = 0$. Tehát a probléma két részre osztható:

  • Milyen irányba mozgassuk a $x$ pontot? Balra vagy jobbra ?

  • Mennyit mozgassuk meg ?

Az irány

Építsünk némi intuíciót az első kérdés megválaszolásához. Vessen egy pillantást a következő pontra:

Graph 2

Graph 3

Vegye figyelembe, hogy:

  • ha a $x_{0}$ pont az optimális $x*$ ponttól jobbra van, az érintővonal felfelé megy.

  • ha a $x_{0}$ pont az optimális $x*$ ponttól jobbra van, az érintővonal lefelé megy.

Egy vonal irányát a lejtésének előjele határozza meg:

  • Egy vonal $\implies$ felfelé megy, az $a$ meredeksége pozitív.

  • Egy vonal lefelé megy $\implies$, az $a$ meredeksége negatív.

Megjegyzés: \

Egy függvény érintővonalának meredeksége egy bizonyos $x_{0}$ pontban nem több, mint az adott $f'(x_{0})$ pont deriváltja:

$$ tangent(x*{0}): g(x) = f'(x*{0}).(x-x*{0}) + f(x*{0}) $$

Tehát válaszként a "Hova helyezzük át $x_{0}$ ?" kérdésre:

  • $f'(x_{0}) < 0$ $\implies$ $x_{0}$ $x*$ $\implies$ jobb oldalán El kell mozgatnunk $x_{0}$-t balra.

  • $f'(x_{0}) > 0$ $\implies$ $x_{0}$ a $x*$ balra $\implies$ A $x_{0}$-t jobbra kell mozgatnunk.

A lépések

Most pedig a második kérdés: Mennyit mozgassunk $x_{0}$ ?

Vessen egy pillantást a következő példákra:

Graph 4

Graph 5

Megállapíthatjuk, hogy:

  • $x_{0}$ közel van a $x*$-hoz => Az érintő meredeksége kicsi => $f'(x_{0})$ kicsi.

  • $x_{0}$ távol van $x*$-tól => Az érintő meredeksége nagy => $f'(x_{0})$ nagy.

Mindkét kérdés megválaszolásával arra a következtetésre jutottunk, hogy csak a $x_{0}$ pont deriváltjának ismerete adhat sok betekintést az optimális $x_{0}$ pont irányáról és távolságáról.

Gradiens süllyedés

A gradiens süllyedés az előző két kérdésre adott válaszok megfogalmazása. Ez egy iteratív optimalizálási algoritmus, amely egy véletlenszerű $x_{0}$ kezdőpontból kiindulva közelíti meg a függvény minimális $x*$ értékét. Az algoritmus a következő:

$$ x*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x_{n}} $$

ahol:

  • $ \frac{\mathrm{d} f}{\mathrm{d} x*{n}} $ nem több, mint $f$ deriváltja a $x*{n}$ pontban.

  • A $lr$ egy pozitív állandó, amely meghatározza, hogy mekkora lépések lesznek.

Figyeld meg, hogy:

  • $x_{n}$ a $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 $ => $ x_{n+ jobb oldalán található 1} = x_{n} - pozitív $ => $x_{n}$ balra mozog.

  • $x_{n}$ a következőtől balra van: $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0$ => $ x*{n +1} = x*{n} + pozitív $ => $x_{n}$ jobbra mozog.

  • $x_{n}$ közel $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}}$ közel $0$ => Kis frissítés $x_{ n}$.

Kvíz

  • Mikor áll le a gradiens süllyedés az iterációban:

  • Amikor $x_{n}$ elég kicsi.

  • Amikor $x_{n}$ közel van a $x_{0}$-hoz.

  • Amikor $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} = 0 $. XXX

  • Hogyan válasszunk $x_{0}$:

  • Véletlenszerűen választjuk ki. XXX

  • $x{n}$ környékére vesszük.

  • Ez a problémától függ.

  • Miért van szükségünk a gradiens süllyedésre:

  • Mert a számítógépek nem elég erősek a származékok kiszámításához.

  • Mert rendkívül nehéz megtalálni a mély tanulási modellek derivált képleteit. XXX

  • Mert a függvényeknek egynél több lokális minimumuk van.


Career Services background pattern

Karrier szolgáltatások

Contact Section background image

Maradjunk kapcsolatban

Code Labs Academy © 2024 Minden jog fenntartva.