Tam metin 1674 Kelimeler, tahmini öğrenme süresi 5 dakika
Kaynak: zhihu
John, sezgiyi görmezden gelemezsin. Çünkü sezgi, verilerin çok hızlı işlendiğini gösterir ve bu da bilinçli insanların anlamasını imkansız hale getirir.
-Sherlock Holmes
Sinir ağı çok büyük ve karmaşıktır, bu da yeni başlayanlar için pek düşmanca değildir.
Xiaoxin, yeni başlayanlar için en küçük sinir ağını yaratmaya adanmış bu makaleyi getirdi.
Sinir ağının arkasındaki karmaşık matematik ve algoritmalarla karşılaştırıldığında, en küçük sinir ağını oluşturmak ve onu basit bir görevi tamamlamak için eğitmek, sinir ağının nasıl çalıştığına dair size sezgisel bir izlenim verecektir.
Şimdi başlayalım ~
Kaynak: blog.sina.com.cn
Sinir ağı, ağırlıkların toplamıdır. Bir sinir ağını bir dizi girdi ve çıktı değeri (hedef veya etiket) üzerinde eğitebiliriz. Sinir ağı içindeki ağırlıklar girişe bağlanır ve sonucu verir. Ağı eğitirken, ağın çıktı değerini hedef değerle eşleştirmeye çalışabilmesi için ağırlıklar güncellenir. Kısacası, bir sinir ağı, girdi ve çıktı arasındaki eşleşmeyi öğreniyor. Şimdi tüm bunların ne anlama geldiğine bir bakalım.
Aşağıdaki, yalnızca bir ağırlığa (w) sahip en küçük sinir ağıdır. Bir değer (x) girin, ağırlıkla çarpın ve sonuç ağın çıktı değeridir.
Bu sinir ağı çok küçük olduğu için onu çok basit bir görev üzerinde eğiteceğiz. Görevimiz ona herhangi bir numara sağlamaktır ve ağ bu numaranın işaretini değiştirmelidir. Örneğin, 3 girerseniz, ağ -3 çıktısı vermelidir.
Şimdi bir derin öğrenme kütüphanesi olan Keras'ta en küçük sinir ağını kurup eğiteceğim. Artık dilbilgisini derinlemesine anlamaya gerek yok, bu sadece sezgisel bir izlenime sahip olmak içindir.
rawsmallest_nn.py'yi barındırılan by GitHub'ı görüntüleyin
harika! Sadece tek ağırlıkta bir sinir ağı oluşturduk. Şimdi, sinir ağını eğitmek için kullanılan eğitim verilerini oluşturalım.
rawsmallest_nn_data.py hostedwith by GitHub'ı görüntüleyin
Ayrıca eğitim verilerini de oluşturduk. Veriler 100.000 rastgele sayı içerir ve etiket, sayının negatif sayısıdır. Ağı eğitmek için yeni oluşturulan verileri kullanın.
İlk olarak, sinir ağının ağırlıklarını rastgele başlatın. Ağ sürekli olarak eğitildiği için, ağırlıklar buna göre güncellenecektir. Lütfen eğitime başlamadan önce ağırlıkları kontrol edin.
Antrenmandan önce ağırlık
Şimdi verileri uydurmak için ağa yerleştirin. Fitting, eğitim için sadece başka bir isimdir.
Eğitim ağı
Ağı zaten eğittik. İlerleme çubuğunda görebileceğiniz gibi, ağ 100.000 örnek üzerinde eğitildi. Şimdi ağa bir değer girin ve tepkiyi gözlemleyin.
Yanıtı gözlemleyin
Ağ görevini neredeyse tamamladı. Çıkış değeri giriş numarasına çok yakındır ve işaret tam tersidir. Bu ağı daha fazla veri üzerinde eğiteceğimiz için, çıktı hedef değere gittikçe yaklaşacaktır. Mevcut ağırlığa bakın.
Egzersiz sonrası ağırlık
Ağı verilerle eğittiğimizde, ağırlık 0,42'den -1'e değişir. Açıktır ki, sayının işaretini değiştirmek için bir sayı -1 ile çarpılmalıdır.
Resim kaynağı: ofo.cc
Bir işlev yaklaştırıcısı olarak, temelde sinir ağı, ağırlığını ayarlayarak herhangi bir girdi değeri ile çıktı değeri arasındaki eşlemeyi öğrenebilir. Bu eşlemeyi öğrendikten sonra, herhangi bir girdi değeri için yaklaşık bir çıktı değeri üretebilir.
Bu nedenle, yeni başlayan biri olsanız bile korkmayın, en küçük sinir ağını oluşturarak başlayın ~
Yorum Beğen Takip Et
Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım
Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun