Deep Learning Academy · Ders

.grad Okuma ve Sıfırlama

Gradyanların neden biriktiğini ve sıfırlanması gerektiğini öğrenin.

3. ders / 413 adım

.grad Okuma ve Sıfırlama, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.

.grad Özelliği

Backward sonrasında eğitilen her tensör, gradyanını .grad içinde saklar. Bu değeri okumak, kaybın o tensördeki değişikliklere nasıl tepki verdiğini gösterir.

print(weight.grad)

Gradyanlar None Olarak Başlar

Herhangi bir backward çağrısından önce .grad sıfır değil, None değerindedir. PyTorch onu ancak ilk gradyan kümesi gerçekten ulaştığında oluşturur.

Gradyanlar Birikir

Şaşırtıcı nokta şudur: backward, .grad değerini değiştirmek yerine ona ekleme yapar. Temizlemeden backward'ı iki kez çağırırsanız sayılar üst üste birikir.

Birikim Neden Vardır

Bu ekleme davranışı bilerek tasarlanmıştır. Tek bir güncellemeden önce birkaç mini grubun gradyanlarını toplamanıza olanak tanır; böylece daha büyük bir grubu taklit edebilirsiniz.

Gizli Hata

Gradyanları temizlemeyi unutursanız eski gradyanlar bir sonraki adımınızı bozar ve model yanlış sayılarla eğitilir. Bu sessiz hata, neredeyse herkesin bir kez yaptığı bir yanlıştır.

Her Adımda Sıfırlayın

Çözüm, her backward işleminden önce gradyanları sıfırlamaktır. Bir iyileştiriciyle çalışırken her eğitim adımının başında yalnızca zero_grad() çağrmanız yeterlidir.

optimizer.zero_grad()

Doğru Sıra

Döngünün ritmi sabittir: zero_grad, forward, loss, backward, step. Önce sıfırlamak, her adımda yalnızca mevcut grubun gradyanlarının kullanılmasını garanti eder.

optimizer.zero_grad()
loss.backward()
optimizer.step()

İyileştirici Olmadan Temizleme

Henüz bir iyileştirici yok mu? Bir sonraki backward çağrısından önce her tensörün .grad değerini yeniden None yaparak gradyanları kendiniz geçersiz kılabilirsiniz.

w.grad = None

set_to_none Daha Ucuzdur

Daha yeni kodlarda zero_grad(set_to_none=True) tercih edilir. Gradyanları sıfırlarla doldurmak yerine None yapmak, biraz bellek ve zaman tasarrufu sağlar.

Hata Ayıklamak İçin Gradyanları Okuma

.grad değerine bakmak hata ayıklama için çok yararlıdır. Tüm değerlerin sıfır olması çalışmayan bir nörona işaret edebilir; çok büyük değerler ise eğitim kontrolden çıkmadan önce patlayan gradyanlara karşı uyarır.

Edinmeye Değer Bir Alışkanlık

Sıfırlamayı zihninizde otomatik hâle getirin. Güvenilir her eğitim döngüsü önce gradyanları temizler; böylece model yalnızca mevcut gruptan öğrenir.

Hızlı Kontrol

Birikim tuzağını kontrol edin.

Özet

Gradyanlar .grad içinde tutulur ve backward çağrıları boyunca birikir; bu nedenle her adımda onları zero_grad ile temizlemeniz gerekir. Bunu unutmak eğitimi fark edilmeden bozar. 🧹

Başlamak ücretsiz

Yapay zeka eğitmeniyle Python öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“.grad Okuma ve Sıfırlama” dersi ücretsiz mi?

Evet — “.grad Okuma ve Sıfırlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.

“.grad Okuma ve Sıfırlama” dersinde ne öğreneceğim?

Gradyanların neden biriktiğini ve sıfırlanması gerektiğini öğrenin. Deep Learning Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“.grad Okuma ve Sıfırlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Deep Learning Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. requires_grad ve Hesaplama Grafiği
  2. Gradyanları Almak için backward() Çağrısı
  3. .grad Okuma ve Sıfırlama
  4. Çıkarım için torch.no_grad()
← Deep Learning Academy Sayfasına Dön