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, kursun bir parçasıdır

PyTorch ile Orta Düzey Deep Learning

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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