Katmanlar
- Makine Öğrenmesi kursu
- İleri seviye
- Ders 3/78
- 5 dk
Neural network, giriş, gizli ve çıkış katmanlarından oluşur.
Katmanlar
Bir katman, aynı girdiyi alan nöronların topluluğudur. Tüm nöronların ağırlıkları bir matriste toplanır; böylece katmanın çıktısı tek bir matris çarpımıyla hesaplanır:
# 3 girdi, 4 nöronlu katman
W = rng.normal(size=(3, 4)) # her sütun bir nöron
b = np.zeros(4)
h = X @ W + b # (n, 3) @ (3, 4) -> (n, 4)Girdi katmanı veriyi alır, gizli katmanlar ara temsiller üretir, çıktı katmanı tahmini verir.
Derinlik ve genişlik
Bir ağın genişliği katman başına nöron sayısı, derinliği katman sayısıdır. Derin ağlar hiyerarşik özellikler öğrenir: görüntüde ilk katmanlar kenarları, sonrakiler şekilleri, en üsttekiler nesneleri.
katmanlar = [784, 128, 64, 10] # girdi, iki gizli, çıktı
param = sum(a * b + b for a, b in zip(katmanlar[:-1], katmanlar[1:]))
print(param) # 109386Parametre sayısı arttıkça model daha esnek olur ama daha çok veri ve düzenlileştirme ister.
Uygulama Parametre sayısı
Katman boyutları [784, 256, 128, 10] olan bir ağın her katmanının parametre sayısını (ağırlık + sapma) bir liste olarak, ardından toplamı yazdır.
Başlangıç kodu
katmanlar = [784, 256, 128, 10]
# buraya yazÖrnek çözüm
katmanlar = [784, 256, 128, 10]
param = [a * b + b for a, b in zip(katmanlar[:-1], katmanlar[1:])]
print(param)
print(sum(param))Beklenen çıktı
[200960, 32896, 1290] 235146
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 10 girdili ve 32 nöronlu bir katmanın kaç parametresi vardır?
- 320
- 42
- 32
- 352 Doğru cevap
Açıklama: Ağırlıklar 10 × 32 = 320, sapmalar 32: toplam 352.
2 Katmanın çıktısını hesapla.
h = X @ W ____ b
h = X @ W + b
Açıklama: Sapma vektörü yayınlamayla her satıra eklenir.
3 Katmanları eşleştir.
| Kavram | Anlamı |
|---|---|
girdi katmanı |
Veriyi alır |
gizli katman |
Ara temsil |
çıktı katmanı |
Tahmin |
W sütunu |
Bir nöron |