Gradyan inişi: hatayı adım adım azaltan optimizasyon yöntemi
Sözlük

Gradyan inişi: hatayı adım adım azaltan optimizasyon yöntemi

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Gradyan inişi, bir modelin hatasını adım adım azaltarak parametrelerini öğrenen optimizasyon yöntemidir. Nasıl çalıştığını ve türlerini örnekle öğrenin.

Gradyan inişi nedir?

Gradyan inişi (gradient descent), bir model eğitilirken kayıp fonksiyonunu, yani modelin hata ölçüsünü en aza indirmek için parametrelerin tekrar tekrar küçük adımlarla güncellendiği optimizasyon yöntemidir. Derin öğrenmede sinir ağlarının ağırlıklarını öğrenmek için kullanılan temel yöntemdir.

Adı, eğimin (gradyanın) gösterdiği yönün tersine, yani aşağı doğru ilerlemesinden gelir.

Nasıl çalışır?

Bir dağın tepesinde sisli havada durduğunuzu ve en alçak noktaya inmek istediğinizi düşünün. Yalnızca ayağınızın altındaki eğimi hissedebiliyorsunuz. Her adımda eğimin en dik aşağı gittiği yöne küçük bir adım atarsınız. Gradyan inişi bu işlemi matematiksel olarak yapar.

Her yinelemede model mevcut parametrelerle tahmin yapar, hatayı hesaplar, hatanın her parametreye göre eğimini bulur ve parametreyi şu mantıkla günceller: yeni değer = eski değer eksi öğrenme oranı çarpı gradyan. Bu döngü hata yeterince küçüldüğünde ya da belirlenen sayıda tur tamamlandığında durur.

Öğrenme oranı neden kritik?

Öğrenme oranı, her adımın büyüklüğünü belirleyen hiperparametredir. Çok büyükse model en düşük noktayı aşar, hata dalgalanır ya da artar. Çok küçükse eğitim çok yavaşlar ve yetersiz kalan bir noktada takılabilir.

Bu yüzden öğrenme oranı denenerek ayarlanır, eğitim ilerledikçe düşürülen öğrenme oranı takvimleri kullanılabilir. Eğitim eğrilerini izlemek sorunu erken fark etmenin en pratik yoludur: kayıp salınıyorsa adım büyük, neredeyse hiç düşmüyorsa adım küçük olabilir. Veri kümesi büyüdükçe öğrenme oranını ve grup boyutunu birlikte ayarlamak gerekir.

Türleri

Toplu gradyan inişinde her adım için tüm eğitim verisi kullanılır; kararlıdır ama büyük veride yavaştır. Stokastik gradyan inişinde (SGD) her adım tek bir örnekle atılır; hızlıdır ama gürültülüdür. Mini toplu gradyan inişi ise veriyi küçük gruplara böler ve pratikte en yaygın yaklaşımdır.

Uygulamada çoğu zaman Adam gibi uyarlanabilir öğrenme oranlı yöntemler kullanılır; bunlar her parametre için adımı otomatik ayarlayarak eğitimi hızlandırır, ama temelde aynı gradyan mantığına dayanır.

Sık karşılaşılan sorunlar

Gradyan inişi her zaman küresel en iyi çözümü bulmaz; yerel çukurlarda ya da düz bölgelerde takılabilir. Çok katmanlı ağlarda gradyanlar katmanlar boyunca ya aşırı küçülebilir (kaybolan gradyan) ya da aşırı büyüyebilir (patlayan gradyan).

Kayıp yüzeyindeki eyer noktaları da ilerlemeyi yavaşlatır; momentum gibi teknikler önceki adımların yönünü hatırlayarak bu bölgelerden çıkmayı kolaylaştırır. Bu sorunlara karşı uygun aktivasyon fonksiyonu seçimi, ağırlık başlatma yöntemleri, gradyan kırpma ve normalleştirme katmanları gibi önlemler alınır. Veri ölçeklendirmesi de adımların dengeli ilerlemesi için önemlidir.

Mindset programlarında gradyan inişi

Derin Öğrenme Temelleri eğitimi sinir ağlarının temellerini ve model eğitimi ile hiperparametre yönetimini ele alır; öğrenme oranı ve optimizasyon gibi kavramların uygulamada nasıl kullanıldığını görmek isteyen veri ve yapay zeka ekipleri için uygundur. Derin Öğrenme Programı da aynı alanda daha bütünsel bir yol sunar.

İlgili Mindset programı

Derin Öğrenme (Deep Learning) Temelleri

Sık sorulanlar

Sık sorulan sorular

Gradyan inişi ile geri yayılım aynı şey mi?

Hayır. Geri yayılım, hatanın ağdaki her ağırlığa göre gradyanını verimli biçimde hesaplayan yöntemdir. Gradyan inişi ise bu gradyanları kullanarak ağırlıkları güncelleyen optimizasyon adımıdır. Sinir ağı eğitiminde bu adımlar birlikte çalışır: önce geri yayılım gradyanı bulur, sonra gradyan inişi ağırlıkları günceller.

Gradyan inişi yalnızca sinir ağlarında mı kullanılır?

Hayır. Doğrusal regresyon, lojistik regresyon ve birçok makine öğrenmesi modelinde de kayıp fonksiyonunu azaltmak için kullanılır; yeter ki kayıp fonksiyonu türevlenebilir olsun. Derin öğrenmede yaygınlığının nedeni, çok sayıda parametreli modellerde pratik bir çözüm sunmasıdır.

Model eğitimi ne zaman durdurulmalı?

Eğitim hatası düşmeye devam ederken doğrulama hatası artmaya başlıyorsa model ezberliyor demektir; erken durdurma uygulanır ve en iyi doğrulama sonucu veren ağırlıklar saklanır. Hata artık anlamlı biçimde düşmüyorsa ya da planlanan tur sayısı tamamlandıysa da eğitim sonlandırılır.

Gradyan inişi minimum noktayı kesin bulur mu?

Bulması garanti değildir. Kayıp yüzeyi dışbükeyse tek bir en iyi noktaya ulaşılır; sinir ağlarında ise yüzey karmaşıktır ve yerel çukurlar ya da düz bölgeler olabilir. Uygulamada yeterince iyi bir çözüm bulmak çoğunlukla hedeflenir.

Gradyan İnişi (Gradient Descent) Nedir?