CodeBlanks Logo Icon CodeBlanks

Neural network nedir?

Neural network, biyolojik sınır ağlarından ilham alan katmanlı bir modeldir.

Sinir ağı nedir?

Yapay sinir ağı, basit hesap birimlerinin (nöronların) katmanlar halinde birbirine bağlanmasıyla oluşan bir modeldir. Her katman girdisini doğrusal bir dönüşümle değiştirir ve doğrusal olmayan bir fonksiyondan geçirir; katmanlar üst üste binince model çok karmaşık ilişkileri öğrenebilir.

# girdi (4 özellik) -> gizli katman (8 nöron) -> çıktı (3 sınıf)
h = relu(X @ W1 + b1)    # (n, 8)
cikti = h @ W2 + b2      # (n, 3)

Lojistik regresyon tek katmanlı bir sinir ağıdır; derin öğrenme, bu yapının çok katmanlı hâlidir.

Neden şimdi?

Sinir ağı fikri 1950'lerden beri vardır. Son yıllardaki başarının üç nedeni vardır: büyük etiketli veri setleri, GPU'ların paralel matris çarpımı gücü ve daha iyi eğitim teknikleri (ReLU, iyi başlatma, Adam, dropout).

  • Görüntü: evrişimli ağlar (CNN).
  • Dizi ve metin: RNN, LSTM ve özellikle transformer.
  • Tablo verisi: çoğu zaman gradient boosting hâlâ daha iyidir.

Uygulama Doğrusal katmanların bileşimi

İki doğrusal katmanı (W1, W2) aktivasyonsuz art arda uygulamanın tek bir W1 @ W2 matrisiyle aynı sonucu verdiğini np.allclose ile yazdır. Ardından araya ReLU (np.maximum(0, ·)) koyunca sonucun artık aynı olmadığını yazdır.

Başlangıç kodu

model.py
import numpy as np

rng = np.random.default_rng(0)
X = rng.normal(size=(5, 3))
W1 = rng.normal(size=(3, 4))
W2 = rng.normal(size=(4, 2))

# buraya yaz

Örnek çözüm

model.py
import numpy as np

rng = np.random.default_rng(0)
X = rng.normal(size=(5, 3))
W1 = rng.normal(size=(3, 4))
W2 = rng.normal(size=(4, 2))

print(np.allclose((X @ W1) @ W2, X @ (W1 @ W2)))
print(np.allclose(np.maximum(0, X @ W1) @ W2, X @ (W1 @ W2)))

Beklenen çıktı

True
False

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Gizli katmanlar arasındaki doğrusal olmayan fonksiyon olmasaydı ne olurdu?

  • Hiçbir şey değişmezdi
  • Tüm ağ tek bir doğrusal dönüşüme indirgenirdi Doğru cevap
  • Ağ daha güçlü olurdu
  • Eğitim imkânsız olurdu

Açıklama: İki doğrusal dönüşümün bileşimi yine doğrusaldır: W2(W1x) = (W2W1)x.

2 Gizli katmanı hesapla.

Soru
h = np.maximum(0, X ____ W1 + b1)
Cevap
h = np.maximum(0, X @ W1 + b1)

Açıklama: @ matris çarpımıdır; np.maximum(0, ·) ReLU'dur.

3 Kavramları eşleştir.

Kavram Anlamı
nöron Basit hesap birimi
katman Nöron grubu
W Öğrenilen ağırlıklar
ReLU Doğrusal olmayan fonksiyon

İleri seviye bölümündeki tüm dersler