Gizli katmanlar ve parametreler

PyTorch ile Deep Learning'e Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

nn.Sequential() ile katmanları yığma

# Üç doğrusal katmanlı ağ oluşturma
model = nn.Sequential(

nn.Linear(n_features, 8),
nn.Linear(8, 4), nn.Linear(4, n_classes)
)
  • Girdi doğrusal katmanlardan geçer
  • nn.Sequential() içindeki katmanlar gizli katmanlardır
PyTorch ile Deep Learning'e Giriş

nn.Sequential() ile katmanları yığma

# Üç doğrusal katmanlı ağ oluşturma
model = nn.Sequential(
    nn.Linear(n_features, 8), # n_features: girdi özellik sayısı
    nn.Linear(8, 4),
    nn.Linear(4, n_classes) # n_classes: çıktı sınıf sayısı  
)
  • Girdi doğrusal katmanlardan geçer
  • nn.Sequential() içindeki katmanlar gizli katmanlardır
  • n_features ve n_classes veri kümesi tarafından belirlenir
PyTorch ile Deep Learning'e Giriş

Katman ekleme

İki gizli katmanlı bir sinir ağı görselleştirmesi

PyTorch ile Deep Learning'e Giriş

Katman ekleme

Dört gizli katmanlı bir sinir ağı görselleştirmesi

PyTorch ile Deep Learning'e Giriş

Katman ekleme

Dört gizli katmanlı bir sinir ağı görselleştirmesi

PyTorch ile Deep Learning'e Giriş

Katman ekleme

Dört gizli katmanlı bir sinir ağı görselleştirmesi

PyTorch ile Deep Learning'e Giriş

Katman ekleme

# Üç doğrusal katmanlı ağ oluşturma
model = nn.Sequential(
    nn.Linear(10, 18),
    nn.Linear(18, 20),
    nn.Linear(20, 5)
)
PyTorch ile Deep Learning'e Giriş

Katman ekleme

# Üç doğrusal katmanlı ağ oluşturma
model = nn.Sequential(
    nn.Linear(10, 18), # 10 özelliği alır, 18 üretir
    nn.Linear(18, 20),
    nn.Linear(20, 5)
)
  • Girdi 10 ➡ çıktı 18 ➡ çıktı 20 ➡ Çıktı 5
PyTorch ile Deep Learning'e Giriş

Katman ekleme

# Üç doğrusal katmanlı ağ oluşturma
model = nn.Sequential(
    nn.Linear(10, 18),
    nn.Linear(18, 20), # 18 alır, 20 üretir
    nn.Linear(20, 5)
)
  • Girdi 10 ➡ çıktı 18 ➡ çıktı 20 ➡ Çıktı 5
PyTorch ile Deep Learning'e Giriş

Katman ekleme

# Üç doğrusal katmanlı ağ oluşturma
model = nn.Sequential(
    nn.Linear(10, 18),
    nn.Linear(18, 20),
    nn.Linear(20, 5) # 20 alır, 5 üretir
)
  • Girdi 10 ➡ çıktı 18 ➡ çıktı 20 ➡ Çıktı 5
PyTorch ile Deep Learning'e Giriş

Katmanlar nöronlardan oluşur

$$

  • Her nöron önceki katmandaki tüm nöronlara bağlıysa tam bağlantılıdır

Girdi ve çıktı katmanları oklarla bağlanmış bir görsel

PyTorch ile Deep Learning'e Giriş

Katmanlar nöronlardan oluşur

$$

  • Her nöron önceki katmandaki tüm nöronlara bağlıysa tam bağlantılıdır

$$

  • Doğrusal katmandaki bir nöron:

Oklarla bağlanmış girdi/çıkış katmanları ve bir çıktı nöronu daire içine alınmış

PyTorch ile Deep Learning'e Giriş

Katmanlar nöronlardan oluşur

$$

  • Her nöron önceki katmandaki tüm nöronlara bağlıysa tam bağlantılıdır

$$

  • Doğrusal katmandaki bir nöron:
    • Önceki katmandaki tüm nöronları kullanarak doğrusal işlem yapar

Oklarla bağlanmış katmanlar, bir çıktı nöronu ve vurgulu oklar

PyTorch ile Deep Learning'e Giriş

Katmanlar nöronlardan oluşur

$$

  • Her nöron önceki katmandaki tüm nöronlara bağlıysa tam bağlantılıdır

$$

  • Doğrusal katmandaki bir nöron:
    • Önceki katmandaki tüm nöronları kullanarak doğrusal işlem yapar
    • N+1 parametreye sahiptir: girdilerden N ve bias için 1

N+1

PyTorch ile Deep Learning'e Giriş

Parametreler ve model kapasitesi

  • Daha fazla gizli katman = daha fazla parametre = daha yüksek model kapasitesi

$$

İki katmanlı bir ağ için kod bloğu

PyTorch ile Deep Learning'e Giriş

Parametreler ve model kapasitesi

  • Daha fazla gizli katman = daha fazla parametre = daha yüksek model kapasitesi

$$

İki katmanlı bir ağ için kod bloğu

$$

Manuel parametre hesabı:

  • İlk katmanda 4 nöron var, her nöronda 8+1 parametre. 9 çarpı 4 = 36 parametre
PyTorch ile Deep Learning'e Giriş

Parametreler ve model kapasitesi

  • Daha fazla gizli katman = daha fazla parametre = daha yüksek model kapasitesi

$$

İki katmanlı bir ağ için kod bloğu

$$

Manuel parametre hesabı:

  • İlk katmanda 4 nöron var, her nöronda 8+1 parametre. 9 çarpı 4 = 36 parametre
PyTorch ile Deep Learning'e Giriş

Parametreler ve model kapasitesi

  • Daha fazla gizli katman = daha fazla parametre = daha yüksek model kapasitesi

$$

İki katmanlı bir ağ için kod bloğu

$$

Manuel parametre hesabı:

  • İlk katmanda 4 nöron var, her nöronda 8+1 parametre. 9 çarpı 4 = 36 parametre
  • İkinci katmanda 2 nöron var, her nöronda 4+1 parametre. 5 çarpı 2 = 10 parametre
PyTorch ile Deep Learning'e Giriş

Parametreler ve model kapasitesi

  • Daha fazla gizli katman = daha fazla parametre = daha yüksek model kapasitesi

$$

İki katmanlı bir ağ için kod bloğu

$$

Manuel parametre hesabı:

  • İlk katmanda 4 nöron var, her nöronda 8+1 parametre. 9 çarpı 4 = 36 parametre
  • İkinci katmanda 2 nöron var, her nöronda 4+1 parametre. 5 çarpı 2 = 10 parametre
  • 36 + 10 = 46 öğrenilebilir parametre
PyTorch ile Deep Learning'e Giriş

Parametreler ve model kapasitesi

  • Daha fazla gizli katman = daha fazla parametre = daha yüksek model kapasitesi

$$

İki katmanlı bir ağ için kod bloğu

$$

PyTorch kullanarak:

  • .numel(): tensördeki eleman sayısını döndürür
total = 0
for parameter in model.parameters():
    total += parameter.numel()
print(total)
46
PyTorch ile Deep Learning'e Giriş

Karmaşıklık ve verimliliği dengelemek

Karmaşıklık ve verimlilik dengesi

PyTorch ile Deep Learning'e Giriş

Hadi pratik yapalım!

PyTorch ile Deep Learning'e Giriş

Preparing Video For Download...