BaşlayınÜcretsiz Başlayın

Başlatma ve aktivasyon

Kararsız (kaybolan veya taşan) gradyan sorunları, derin sinir ağlarını eğitirken sıkça karşılaşılan bir zorluktur. Bu ve sonraki egzersizlerde, su içilebilirliği sınıflandırma görevi için kurduğun mimariyi genişleterek bu sorunlara karşı daha dayanıklı hale getireceksin.

İlk adım olarak, ağırlık başlatmayı He (Kaiming) başlatma stratejisiyle iyileştireceksin. Bunu yapmak için, senin için init olarak içe aktarılmış olan torch.nn.init modülünden uygun başlatıcıyı çağırman gerekecek. Sonrasında, varsayılan ReLU yerine çoğunlukla daha iyi sonuç veren ELU aktivasyon fonksiyonlarına geçiş yapacaksın.

Bu egzersiz

PyTorch ile Orta Düzey Deep Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • fc1 için yapıldığı gibi, ikinci katmanın fc2 ağırlık özniteliğine He (Kaiming) başlatıcısını uygula.
  • Son katmanda kullanılan farklı aktivasyon fonksiyonunu dikkate alarak, üçüncü katmanın fc3 ağırlık özniteliğine He (Kaiming) başlatıcısını uygula.
  • forward() metodundaki aktivasyon fonksiyonlarını relu yerine elu olacak şekilde güncelle.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(9, 16)
        self.fc2 = nn.Linear(16, 8)
        self.fc3 = nn.Linear(8, 1)
        
        # Apply He initialization
        init.kaiming_uniform_(self.fc1.weight)
        ____(____)
        ____(____, ____)

    def forward(self, x):
        # Update ReLU activation to ELU
        x = nn.functional.relu(self.fc1(x))
        x = nn.functional.relu(self.fc2(x))
        x = nn.functional.sigmoid(self.fc3(x))
        return x
Kodu Düzenle ve Çalıştır