Neural network nedir?
- Makine Öğrenmesi kursu
- İleri seviye
- Ders 1/78
- 5 dk
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
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
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.
h = np.maximum(0, X ____ W1 + b1)
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 |