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(x) függvényünk, és szeretnénk megtalálni a minimumát. mit tennél ?

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

f(x)=0f'(x) = 0

A helyzet az, hogy a ff' 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 ff' 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ű x0x_{0} ponttal. A cél az, hogy ezt a pontot mozgassuk, és egyre közelebb tegyük xx*-hoz úgy, hogy f(f'(x*)=0) = 0. Tehát a probléma két részre osztható:

  • Milyen irányba mozgassuk a xx 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 x0x_{0} pont az optimális xx* ponttól jobbra van, az érintővonal felfelé megy.

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

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

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

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

Megjegyzés: \

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

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

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

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

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

A lépések

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

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

Graph 4

Graph 5

Arra következtethetünk, hogy:

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

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

Mindkét kérdés megválaszolásával arra a következtetésre jutottunk, hogy csak a x0x_{0} pont deriváltjának ismerete adhat sok betekintést az optimális x0x_{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ű x0x_{0} kezdőpontból kiindulva közelíti meg a függvény minimális xx* értékét. Az algoritmus a következő:

xn+1=xnlr×dfdx_nx*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x\_{n}}

ahol:

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

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

Figyeld meg, hogy:

  • xnx_{n} a xx* => dfdxn>0\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 => xn+jobboldalaˊntalaˊlhatoˊ1=xnpozitıˊvx_{n+ jobb oldalán található 1} = x_{n} - pozitív => xnx_{n} balra mozog.

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

  • xnx_{n} közel xx* => dfdxn\frac{\mathrm{d} f}{\mathrm{d} x_{n}} közel 00 => Kis frissítés xnx_{ n}.

Kvíz

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

  • Amikor xnx_{n} elég kicsi.

  • Amikor xnx_{n} közel van a x0x_{0}-hoz.

  • Amikor dfdx_n=0\frac{\mathrm{d} f}{\mathrm{d} x\_{n}} = 0 . XXX

  • Hogyan válasszunk x0x_{0}:

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

  • xnx_{n} szomszédságában 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.


  • Sajátítsd el a Data Science and AI Code Labs Academy segítségével! Csatlakozzon online bootcampünkhöz – Rugalmas rész- és teljes munkaidős lehetőségek állnak rendelkezésre.*

Career Services background pattern

Karrier szolgáltatások

Contact Section background image

Maradjunk kapcsolatban

Code Labs Academy © 2025 Minden jog fenntartva.