Bevezetés
Képzeljük el, hogy van egy függvényünk, és szeretnénk megtalálni a minimumát. mit tennél ?
Egyszerű igaz? Csak a következő egyenletet kell megoldanunk:
A helyzet az, hogy a 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 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:
Kezdjük egy véletlenszerű ponttal. A cél az, hogy ezt a pontot mozgassuk, és egyre közelebb tegyük -hoz úgy, hogy x*. Tehát a probléma két részre osztható:
-
Milyen irányba mozgassuk a 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:
Vegye figyelembe, hogy:
-
ha a pont az optimális ponttól jobbra van, az érintővonal felfelé megy.
-
ha a pont az optimális 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 felfelé megy, az meredeksége pozitív.
-
Egy vonal lefelé megy , az meredeksége negatív.
Megjegyzés: \
Egy függvény érintővonalának meredeksége egy bizonyos pontban nem több, mint az adott pont deriváltja:
Tehát válaszként a "Hova helyezzük át ?" kérdésre:
-
jobb oldalán El kell mozgatnunk -t balra.
-
a balra A -t jobbra kell mozgatnunk.
A lépések
Most pedig a második kérdés: Mennyit mozgassunk ?
Vessen egy pillantást a következő példákra:
Arra következtethetünk, hogy:
-
közel van a -hoz => Az érintő meredeksége kicsi => kicsi.
-
távol van -tól => Az érintő meredeksége nagy => nagy.
Mindkét kérdés megválaszolásával arra a következtetésre jutottunk, hogy csak a pont deriváltjának ismerete adhat sok betekintést az optimális 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ű kezdőpontból kiindulva közelíti meg a függvény minimális értékét. Az algoritmus a következő:
ahol:
-
nem több, mint deriváltja a pontban.
-
A egy pozitív állandó, amely meghatározza, hogy mekkora lépések lesznek.
Figyeld meg, hogy:
-
a => => => balra mozog.
-
a következőtől balra van: => => => jobbra mozog.
-
közel => közel => Kis frissítés .
Kvíz
-
Mikor áll le a gradiens süllyedés az iterációban:
-
Amikor elég kicsi.
-
Amikor közel van a -hoz.
-
Amikor . XXX
-
Hogyan válasszunk :
-
Véletlenszerűen választjuk ki. XXX
-
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.*