Giriiş
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:
Mesele şu ki, 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 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 noktasıyla başlayalım. Amaç, bu noktayı hareket ettirip x* olacak şekilde 'a giderek yaklaştırmaktır. Dolayısıyla sorun iki kısma ayrılabilir:
-
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:
-
noktası en uygun noktasının sağında olduğunda teğet çizgisi yukarı çıkar.
-
noktası en uygun 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 yukarıya doğru gidiyor, eğimi pozitif.
-
Bir doğru aşağı iniyor , eğim negatif.
Şunu unutmayın: \
Bir fonksiyonun belirli bir noktasındaki teğet çizgisinin eğimi, o noktasındaki türevden fazla değildir:
"'ı nereye taşımalıyız?" sorusuna yanıt olarak:
-
'ın sağına 'ı sola taşımamız gerekiyor.
-
'ın soluna 'ı sağa taşımamız gerekiyor.
Adımlar
Şimdi ikinci soruya gelelim: 'ı ne kadar taşımalıyız?
Aşağıdaki örneklere bir göz atın:
Şu sonuca varabiliriz:
-
, 'a yakındır => Teğetin eğimi küçüktür => küçüktür.
-
, 'dan uzak => Teğetin eğimi büyük => büyük.
Her iki soruyu da yanıtlayarak, yalnızca noktasındaki türev bilgisinin bize en uygun 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, rastgele bir başlangıç noktasından başlayarak fonksiyonun minimum değerine yaklaşan yinelemeli bir optimizasyon algoritmasıdır. Algoritma şu şekilde ifade ediliyor:
Neresi:
-
, 'nin noktasındaki türevinden fazla değildir.
-
adımların ne kadar büyük olacağını belirleyen pozitif bir sabittir.
Şuna dikkat edin:
-
, => => => sola doğru hareket eder.
-
, 'ın solundadır => => => sağa doğru hareket eder.
-
'a yakın => 'a yakın => .
Test
-
Degrade iniş yinelemeyi ne zaman durdurur:
-
yeterince küçük olduğunda.
-
değerine yakın olduğunda.
-
olduğunda. XXX
-
'ı nasıl seçeriz:
-
Rastgele seçiyoruz. XXX
-
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.