- Makale, sinir ağı eğitiminin temel bileşenlerinden biri olan otomatik türevleme adlı önemli kavramı Python kullanarak açıklıyor.
- Yazar bir makine öğrenimi mühendisi ve Tensorflow ile Pytorch gibi kütüphaneleri kullanıyor; amacı otomatik türevleme yapan en basit kodu yazmak.
- Yazar, iki değişken
x ve y arasındaki toplamı hesaplayıp sonucu z değişkenine atayan Python koduyla başlıyor. Ancak z, kullanılan değişkenleri izlemediği için x veya y değiştiğinde z değerini otomatik olarak güncellemek mümkün olmuyor.
- Bunu çözmek için yazar, değişkenler üzerinde sembolik hesaplamaya izin veren bir
Tensor sınıfı tanıtıyor. Bu sınıfta toplama işleci yeniden tanımlanıyor.
Tensor sınıfı daha sonra ikili ağaç kullanılarak geliştiriliyor. Her tensör, onu oluşturan işlemle birlikte iki başka tensörü içerebiliyor. Bu, Children demeti eklenerek yapılıyor.
- Yazar, hesaplama grafiğini çalıştırmak ve tensörün gerçek değerini hesaplamak için
Tensor sınıfına forward metodunu ekliyor.
- Yazar,
Tensor sınıfının desteklediği temel işlemler için türev ekleyerek hesaplama grafiğine otomatik türevlemeyi dahil ediyor. grad fonksiyonuna yapılan özyinelemeli çağrılar, hesaplama grafiğini dolaşıyor ve karmaşık fonksiyonları basit fonksiyonların birleşimine ayırıyor.
Tensor sınıfı; çıkarma, bölme, üs alma ve negatifleme gibi ek işlemler eklenerek daha karmaşık formülleri işleyebilecek şekilde genişletiliyor.
- Yazar, karmaşık formüller üretip bunların türevini alarak
Tensor sınıfının kullanımını gösteriyor.
- Yazar,
Tensor sınıfı için olası iyileştirme ve optimizasyonlarla bitiriyor: keyfi boyuttaki diziler için işlemler eklemek, x tensörüne bağlı olmayan düğümlerde dolaşmayı durdurmak ve hesaplamayı tekrar etmemek için önbellekleme kullanmak.
- Bu makale, otomatik türevlemenin sinir ağlarının optimizasyonu ve eğitimi için nasıl gerçekleştirildiğini okuyucuların anlamasına yardımcı olmayı amaçlıyor.
1 yorum
Hacker News görüşleri