Gradyan İnişi
November 15, 2024 'de güncellendi 3 dakika oku

Giriiş
$f(x)$ fonksiyonumuz olduğunu ve onun minimumunu bulmak istediğimizi düşünün. Ne yapardın?
Basit değil mi? Sadece aşağıdaki denklemi çözmemiz gerekiyor:
$$f’(x) = 0$$
Mesele şu ki, $f’$ formülünü bulmak her zaman kolay değildir, çünkü bunlar özellikle karmaşık işlevlerle uğraştığımız derin öğrenmede son derece karmaşık olma eğilimindedir. Dolayısıyla $f’$ türevinin formülünü bulmamıza gerek kalmadan bize bir fonksiyonun minimumunu sağlayabilecek başka bir yöntem bulmamız gerekiyor.
Hadi biraz sezgi geliştirelim
Diyelim ki, ilgili grafiği olan bir f fonksiyonumuz var:
Rastgele bir $x_{0}$ noktasıyla başlayalım. Amaç, bu noktayı hareket ettirip $f’($x*$) = 0$ olacak şekilde $x*$‘a giderek yaklaştırmaktır. Dolayısıyla sorun iki kısma ayrılabilir:
-
$x$ noktasını hangi yöne hareket ettirmeliyiz? Sol mu Sağ mı?
-
Ne kadar hareket ettirmeliyiz?
Yön
İlk soruyu cevaplamak için biraz sezgi geliştirelim. Aşağıdaki noktaya bir göz atın:
Dikkat:
-
$x_{0}$ noktası en uygun $x*$ noktasının sağında olduğunda teğet çizgisi yukarı çıkar.
-
$x_{0}$ noktası en uygun $x*$ noktasının sağında olduğunda teğet çizgisi aşağı iner.
Bir doğrunun yönü eğiminin işaretiyle belirlenir:
-
Bir doğru $\imali$ yukarıya doğru gidiyor, $a$ eğimi pozitif.
-
Bir doğru aşağı iniyor $\imali$, eğim $a$ negatif.
Şunu unutmayın: \
Bir fonksiyonun belirli bir $x_{0}$ noktasındaki teğet çizgisinin eğimi, o $f’(x_{0})$ noktasındaki türevden fazla değildir:
$$ tangent(x*{0}): g(x) = f’(x*{0}).(x-x*{0}) + f(x*{0}) $$
“$x_{0}$‘ı nereye taşımalıyız?” sorusuna yanıt olarak:
-
$f’(x_{0}) < 0$ $\implies$ $x_{0}$ $x*$‘ın sağına $\implies$ $x_{0}$‘ı sola taşımamız gerekiyor.
-
$f’(x_{0}) > 0$ $\implies$ $x_{0}$ $x*$‘ın soluna $\implies$ $x_{0}$‘ı sağa taşımamız gerekiyor.
Adımlar
Şimdi ikinci soruya gelelim: $x_{0}$‘ı ne kadar taşımalıyız?
Aşağıdaki örneklere bir göz atın:
Şu sonuca varabiliriz:
-
$x_{0}$, $x*$‘a yakındır => Teğetin eğimi küçüktür => $f’(x_{0})$ küçüktür.
-
$x_{0}$, $x*$‘dan uzak => Teğetin eğimi büyük => $f’(x_{0})$ büyük.
Her iki soruyu da yanıtlayarak, yalnızca $x_{0}$ noktasındaki türev bilgisinin bize en uygun $x_{0}$ noktasının yönü ve uzaklığı hakkında birçok fikir verebileceği sonucuna vardık.
Gradyan iniş
Kademeli iniş, önceki iki sorunun yanıtlarının formülasyonudur. Bu, $x_{0}$ rastgele bir başlangıç noktasından başlayarak fonksiyonun minimum $x*$ değerine yaklaşan yinelemeli bir optimizasyon algoritmasıdır. Algoritma şu şekilde ifade ediliyor:
$$ x*{n+1} = x*{n} - lr \times \frac{\mathrm{d} f}{\mathrm{d} x_{n}} $$
Neresi:
-
$ \frac{\mathrm{d} f}{\mathrm{d} x*{n}} $, $f$‘nin $x*{n}$ noktasındaki türevinden fazla değildir.
-
$lr$ adımların ne kadar büyük olacağını belirleyen pozitif bir sabittir.
Şuna dikkat edin:
-
$x_{n}$, $x*$ => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} > 0 $ => $ x_{n+‘nın sağındadır 1} = x_{n} - pozitif $ => $x_{n}$ sola doğru hareket eder.
-
$x_{n}$, $x*$‘ın solundadır => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}} < 0$ => $ x*{n +1} = x*{n} + pozitif $ => $x_{n}$ sağa doğru hareket eder.
-
$x_{n}$ $x*$‘a yakın => $\frac{\mathrm{d} f}{\mathrm{d} x_{n}}$ $0$‘a yakın => $x_{‘ye küçük güncelleme n}$.
Test
-
Degrade iniş yinelemeyi ne zaman durdurur:
-
$x_{n}$ yeterince küçük olduğunda.
-
$x_{n}$ $x_{0}$ değerine yakın olduğunda.
-
$\frac{\mathrm{d} f}{\mathrm{d} x_{n}} = 0 $ olduğunda. XXX
-
$x_{0}$‘ı nasıl seçeriz:
-
Rastgele seçiyoruz. XXX
-
$x_{n}$ civarından alıyoruz.
-
Soruna bağlı.
-
Neden degrade inişe ihtiyacımız var:
-
Çünkü bilgisayarlar türevleri hesaplayacak kadar güçlü değil.
-
Çünkü derin öğrenme modellerinin türev formüllerini bulmak son derece zordur. XXX
-
Çünkü fonksiyonların birden fazla yerel minimumu vardır.
Code Labs Academy ile Veri Bilimi ve Yapay Zeka konusunda ustalaşın! Çevrimiçi Eğitim Kampımıza Katılın – Esnek Yarı Zamanlı ve Tam Zamanlı Seçenekler Mevcuttur.