AI-For-Beginners/translations/tr/lessons/3-NeuralNetworks/04-OwnFramework
leestott f2699f91dc 🌐 Update translations via Co-op Translator 2025-08-28 14:37:35 +00:00
..
lab 🌐 Update translations via Co-op Translator 2025-08-28 14:37:35 +00:00
OwnFramework.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 14:37:35 +00:00
README.md 🌐 Update translations via Co-op Translator 2025-08-26 12:09:18 +00:00

README.md

Sinir Ağlarına Giriş. Çok Katmanlı Algılayıcı

Önceki bölümde, en basit sinir ağı modeli olan tek katmanlı algılayıcıyı, iki sınıflı doğrusal sınıflandırma modelini öğrendiniz.

Bu bölümde, bu modeli daha esnek bir çerçeveye genişleteceğiz ve böylece:

  • Çok sınıflı sınıflandırma yapabilmenin yanı sıra iki sınıflı sınıflandırma yapabiliriz
  • Sınıflandırmanın yanı sıra regresyon problemlerini çözebiliriz
  • Doğrusal olarak ayrılabilir olmayan sınıfları ayırabiliriz

Ayrıca, farklı sinir ağı mimarileri oluşturabilmemizi sağlayacak kendi modüler Python çerçevemizi geliştireceğiz.

Ders Öncesi Testi

Makine Öğreniminin Formalizasyonu

Makine Öğrenimi problemini formalize ederek başlayalım. Diyelim ki X eğitim veri setimiz ve Y etiketlerimiz var ve en doğru tahminleri yapacak bir model f oluşturmalıyız. Tahminlerin kalitesi Kayıp Fonksiyonu ile ölçülür. Sıkça kullanılan kayıp fonksiyonları şunlardır:

  • Regresyon problemleri için, bir sayı tahmin etmemiz gerektiğinde, mutlak hatai|f(x(i))-y(i)| veya kare hatai(f(x(i))-y(i))2 kullanabiliriz.
  • Sınıflandırma için, 0-1 kaybı (temelde modelin doğruluğu ile aynıdır) veya lojistik kayıp kullanırız.

Tek katmanlı algılayıcı için, f fonksiyonu doğrusal bir fonksiyon olarak tanımlanmıştı: f(x)=wx+b (burada wırlık matrisi, x giriş özelliklerinin vektörü ve b önyargı vektörüdür). Farklı sinir ağı mimarileri için, bu fonksiyon daha karmaşık bir form alabilir.

Sınıflandırma durumunda, ağ çıktısı olarak ilgili sınıfların olasılıklarını elde etmek genellikle arzu edilir. Rastgele sayıları olasılıklara dönüştürmek (örneğin çıktıyı normalleştirmek) için genellikle softmax fonksiyonu σ kullanılır ve f fonksiyonu f(x)=σ(wx+b) olur.

Yukarıdaki f tanımında, w ve b parametreler olarak adlandırılır: θ=⟨w,b⟩. Veri seti ⟨X,Y⟩ verildiğinde, tüm veri setindeki genel hatayı parametreler θ'nin bir fonksiyonu olarak hesaplayabiliriz.

Sinir ağı eğitiminin amacı, parametreler θ'yi değiştirerek hatayı minimize etmektir.

Gradyan İnişi Optimizasyonu

Gradyan inişi adı verilen iyi bilinen bir fonksiyon optimizasyon yöntemi vardır. Fikir, kayıp fonksiyonunun parametrelere göre türevini (çok boyutlu durumda gradyan olarak adlandırılır) hesaplayabileceğimiz ve parametreleri hatayı azaltacak şekilde değiştirebileceğimizdir. Bu şu şekilde formalize edilebilir:

  • Parametreleri rastgele değerlerle başlatın: w(0), b(0)
  • Şu adımı birçok kez tekrarlayın:
    • w(i+1) = w(i)-η∂ℒ/∂w
    • b(i+1) = b(i)-η∂ℒ/∂b

Eğitim sırasında, optimizasyon adımları tüm veri seti dikkate alınarak hesaplanmalıdır (unutmayın ki kayıp, tüm eğitim örnekleri üzerinden bir toplam olarak hesaplanır). Ancak, gerçek hayatta veri setinin küçük bölümleri olan minibatch'ler alırız ve gradyanları bir alt veri kümesine dayanarak hesaplarız. Alt küme her seferinde rastgele alındığı için, bu yönteme stokastik gradyan inişi (SGD) denir.

Çok Katmanlı Algılayıcılar ve Geri Yayılım

Tek katmanlı ağ, yukarıda gördüğümüz gibi, doğrusal olarak ayrılabilir sınıfları sınıflandırabilir. Daha zengin bir model oluşturmak için, ağın birkaç katmanını birleştirebiliriz. Matematiksel olarak bu, f fonksiyonunun daha karmaşık bir form alacağı ve birkaç adımda hesaplanacağı anlamına gelir:

  • z1=w1x+b1
  • z2=w2α(z1)+b2
  • f = σ(z2)

Burada, α bir doğrusal olmayan aktivasyon fonksiyonu, σ bir softmax fonksiyonu ve parametreler θ=<w1,b1,w2,b2>'dir.

Gradyan inişi algoritması aynı kalır, ancak gradyanları hesaplamak daha zor olur. Zincir türevleme kuralı sayesinde, türevleri şu şekilde hesaplayabiliriz:

  • ∂ℒ/∂w2 = (∂ℒ/∂σ)(∂σ/∂z2)(∂z2/∂w2)
  • ∂ℒ/∂w1 = (∂ℒ/∂σ)(∂σ/∂z2)(∂z2/∂α)(∂α/∂z1)(∂z1/∂w1)

Zincir türevleme kuralı, kayıp fonksiyonunun parametrelere göre türevlerini hesaplamak için kullanılır.

Bu ifadelerin en sol kısmı aynı olduğundan, türevleri kayıp fonksiyonundan başlayarak ve hesaplama grafiği boyunca "geri giderek" etkili bir şekilde hesaplayabiliriz. Bu nedenle, çok katmanlı bir algılayıcıyı eğitme yöntemi geri yayılım veya 'backprop' olarak adlandırılır.

hesaplama grafiği

TODO: görsel kaynağı

Geri yayılımı, notebook örneğimizde çok daha ayrıntılı bir şekilde ele alacağız.

Sonuç

Bu derste, kendi sinir ağı kütüphanemizi oluşturduk ve bunu basit bir iki boyutlu sınıflandırma görevi için kullandık.

🚀 Meydan Okuma

Eşlik eden notebook'ta, çok katmanlı algılayıcılar oluşturmak ve eğitmek için kendi çerçevenizi uygulayacaksınız. Modern sinir ağlarının nasıl çalıştığını ayrıntılı bir şekilde görebileceksiniz.

OwnFramework notebook'una geçin ve üzerinde çalışın.

Ders Sonrası Testi

İnceleme ve Kendi Kendine Çalışma

Geri yayılım, AI ve ML'de yaygın olarak kullanılan bir algoritmadır ve daha ayrıntılı çalışmaya değerdir.

Ödev

Bu laboratuvarda, bu derste oluşturduğunuz çerçeveyi kullanarak MNIST el yazısı rakam sınıflandırmasını çözmeniz isteniyor.

Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.