MYZ 303E İnşaat Mühendisliğinde Yapay Zeka
Gradyan İniş, makine öğrenmesinde bir fonksiyonun minimumunu bulmak için kullanılan temel bir optimizasyon algoritmasıdır. Makine öğrenmesi bağlamında, bu fonksiyon genellikle bir modelin belirli bir veri setinde ne kadar iyi performans gösterdiğini ölçen bir kayıp veya maliyet fonksiyonudur. Amaç, en iyi modeli elde etmek için bu fonksiyonu minimize eden ağırlık değerlerini (W) bulmaktır.
Özünde, gradyan iniş, en dik yokuş aşağı yönünde adımlar atarak bir vadideki en düşük noktayı bulmaya benzer. Algoritma, adını fonksiyonun minimumuna ulaşmak için negatif gradyanı (en dik iniş yönü) takip etmesinden alır.
Bir fonksiyonun gradyanı, kısmi türevlerin bir vektörüdür. f(x₁, x₂, ..., xₙ) fonksiyonu için gradyan ∇f olarak gösterilir:
Gradyan, fonksiyonun en dik artış yönünü gösterir. Ters yönde (-∇f) adımlar atarak, fonksiyonun minimumuna doğru ilerleyebiliriz. Makine öğrenmesinde, gradyanı modelimizin ağırlıklarına (W) göre hesaplarız.
Gradyan inişte, ağırlıkları (W) aşağıdaki kurala göre iteratif olarak güncelleriz:
Burada:
Öğrenme oranı α kritik bir hiperparametredir. Çok küçükse, algoritma çok yavaş yakınsayacaktır. Çok büyükse, algoritma minimumu aşabilir ve yakınsamayı başaramayabilir veya hatta uzaklaşabilir.
Toplu gradyan inişte, tüm eğitim veri seti için maliyet fonksiyonunun ağırlıklara göre gradyanını hesaplarız:
Bu yaklaşım, büyük veri setleri için hesaplama açısından pahalıdır çünkü her güncelleme adımı için tüm eğitim seti üzerinde gradyanların hesaplanmasını gerektirir.
Stokastik gradyan iniş, parametreleri bir seferde yalnızca bir eğitim örneği kullanarak günceller:
Burada (x⁽ⁱ⁾, y⁽ⁱ⁾) tek bir eğitim örneğidir. SGD çok daha hızlıdır, ancak parametre güncellemelerinde daha yüksek varyansa sahiptir, bu da amaç fonksiyonunun şiddetli dalgalanmasına neden olabilir.
Mini-batch gradyan iniş, toplu ve stokastik yöntemler arasında bir uzlaşmadır. Ağırlıkları, eğitim verisinin küçük bir rastgele alt kümesini (mini-batch) kullanarak günceller:
Bu yaklaşım, SGD'ye kıyasla parametre güncellemelerinin varyansını azaltarak daha stabil bir yakınsama sağlar. Ayrıca, paralelleştirilebilen verimli matris işlemlerine olanak tanır.
Gradyan iniş genellikle şu koşullardan biri karşılandığında sonlandırılır:
Konveks olmayan fonksiyonlar için (derin öğrenmedekiler gibi), gradyan iniş global minimum yerine bir yerel minimuma yakınsayabilir. Bunun nedeni, algoritmanın sadece yokuş aşağı hareket etmesi ve küresel olarak en derin nokta olmayan vadilere takılabilmesidir.
Eyer noktaları, gradyanın tüm yönlerde sıfır olduğu, ancak minimum olmayan noktalardır. Yüksek boyutlu uzaylarda (makine öğrenmesinde yaygın), eyer noktaları yerel minimumlardan daha yaygındır ve yakınsama hızını düşürebilir.
Platolar, gradyanın çok küçük olduğu ancak sıfır olmadığı düz bölgelerdir. Gradyan iniş bu bölgelerde önemli ölçüde yavaşlayabilir ve kaçmak için birçok iterasyon gerekebilir.
Momentum, mevcut güncellemeye önceki güncelleme vektörünün bir fraksiyonunu ekleyerek gradyan inişi hızlandırmaya yardımcı olur:
Burada γ momentum katsayısıdır (genellikle 0.9). Bu, algoritmanın ravines (yüzeyin bir boyutta diğerine göre çok daha dik eğrildiği alanlar) içinde daha etkili bir şekilde hareket etmesine yardımcı olur.
RMSprop, kare gradyanların geçmişine dayalı olarak her ağırlık için öğrenme oranını ayarlar:
Bu, gradyanı normalleştirmeye yardımcı olur ve algoritmayı özelliklerin ölçeğine daha az duyarlı hale getirir.
Adam, momentum ve RMSprop fikirlerini birleştirir, gradyanların hem ilk momentini (ortalama) hem de ikinci momentini (merkezsiz varyans) takip eder:
Adam, genellikle temel gradyan inişten daha hızlı ve daha güvenilir bir şekilde yakınsadığı için uygulamada yaygın olarak kullanılır.
Gradyan iniş, makine öğrenmesinin inşaat mühendisliğindeki uygulamalarında yaygın olarak kullanılır, bunlara şunlar dahildir:
İnşaat mühendisliği uygulamalarında, kayıp fonksiyonunun seçimi özellikle önemlidir. Yapısal uygulamalar için, güvenlikle ilgili kaygılar genellikle düşük tahminleri aşırı tahminlerden daha ciddi şekilde cezalandıran asimetrik kayıp fonksiyonlarını gerektirir.
Gradyan iniş, çoğu makine öğrenmesi algoritmasının omurgasını oluşturan güçlü bir optimizasyon tekniğidir. Matematiksel temellerini, varyantlarını ve sınırlamalarını anlamak, makine öğrenmesini inşaat mühendisliği problemlerine etkili bir şekilde uygulamak için gereklidir.
Bu öğretici teorik yönlere odaklanırken, pratik uygulama, hiperparametrelerin, verilerin ön işlenmesinin ve belirli problem için uygun model mimarilerinin seçiminin dikkatli bir şekilde düşünülmesini gerektirir.