Xinzhiyuan önerilir
Kaynak: google-developers.appspot.com
Xin Zhiyuan Rehberi Geri yayılım algoritması (BP algoritması) şu anda yapay sinir ağlarını eğitmek için en yaygın kullanılan ve en etkili algoritmadır. Google'ın makine öğrenimi hızlandırılmış kursu için destekleyici bir materyal olarak Google, geri yayılım algoritmasının çalışma prensibini sezgisel olarak tanıtan bir demo web sitesi başlattı.
İnternet adresi:
https://google-developers.appspot.com/machine-learning/crash-course/backprop-scroll/
Geri yayılım algoritmaları, büyük sinir ağlarının hızlı eğitimi için gereklidir. Bu makale, algoritmanın çalışma prensibini tanıtacaktır.
Basit sinir ağı
Yukarıdaki şekilde gösterildiği gibi, bir giriş düğümü, bir çıkış düğümü ve iki gizli katman (her biri iki düğüm) içeren bir sinir ağı göreceksiniz.
Bitişik katmanlardaki düğümler ağırlıkları geçer
İlişkili, bu ağırlıklar ağ parametreleridir.Aktivasyon fonksiyonu
Her düğümün toplam girişi x, aktivasyon işlevi f (x) ve çıkışı y = f (x) vardır.
f (x) doğrusal olmayan bir fonksiyon olmalıdır, aksi takdirde sinir ağı yalnızca doğrusal modelleri öğrenebilir.
Yaygın olarak kullanılan etkinleştirme işlevi sigmoid işlevidir:
Hata fonksiyonu
Amaç, verilere dayalı olarak ağın ağırlıklarını otomatik olarak öğrenmektir, böylece tüm girdiler
Tahmine dayalı çıktı Hedefe yakın .Bu hedefle olan boşluğu ölçmek için bir hata fonksiyonu kullanıyoruz
. Yaygın olarak kullanılan hata işleviİleri yayılma
İlk önce bir girdi örneği alıyoruz
Ve ağın giriş katmanını güncelleyin.Tutarlılığı korumak için, girdiyi diğer herhangi bir düğümle aynı gibi, ancak bir etkinleştirme işlevi olmadan, böylece çıktısının girdiye eşit olmasını sağlarız.
.Şimdi ilk gizli katmanı güncelliyoruz. Önceki düğüm katmanının y çıktısını alıyoruz ve ağırlıkları bir sonraki düğüm katmanının x girdisini hesaplamak için kullanıyoruz.
Ardından, ilk gizli katmandaki düğümün çıktısını güncelliyoruz. Bunun için f (x) aktivasyon fonksiyonunu kullanıyoruz.
Bu iki formülü kullanarak ağın geri kalanına yayılabilir ve ağın son çıktısını elde edebiliriz.
Hata türevi
Geri yayılım algoritması, belirli bir numunenin tahmin edilen çıktısını ideal çıktıyla karşılaştırır ve ardından ağın her ağırlığının güncelleme aralığını belirler. Bunun için her ağırlığa göre hatayı hesaplamamız gerekiyor.
Değişim durumu.Hata türevini aldıktan sonra, ağırlıkları güncellemek için basit bir güncelleme kuralı kullanabiliriz:
onların arasında,
Bu, "öğrenme hızı" olarak adlandırılan normal bir niceliktir. Bu sabiti deneyime dayalı olarak ince ayarlamamız gerekir.Güncelleme kuralı çok basittir: ağırlık artırıldıktan sonra hata azalırsa (
), ağırlığı artırın; aksi takdirde, ağırlık artırıldıktan sonra hata artarsa ( ), ardından ağırlığı azaltın.Diğer türevler
Hesaplamaya yardımcı olmak için
Ayrıca, her bir düğüm için diğer iki türevi, yani aşağıdaki iki öğeyle birlikte hatanın varyasyonunu da saklarız:Geri yayılım
Hata türevini geri yaymaya başladık. Bu belirli girdi örneği için tahmin edilen çıktıya sahip olduğumuzdan, bu çıktıyla hatanın nasıl değiştiğini hesaplayabiliriz. Hata fonksiyonumuza göre
, Alabiliriz:Şimdi anlıyoruz
, Sonra zincir kuralına göre alabiliriz .Bunlar arasında, f (x) S tipi aktivasyon işlevi olduğunda,
.Bir düğümün toplam girdisine göre hata türevi elde edildiğinde, o düğüme giren ağırlığa göre hata türevini elde edebiliriz.
Zincir kuralına göre bir önceki katmandan da alabiliriz
. Bu noktada tam bir döngü oluşturduk.Ardından, tüm hata türevleri hesaplanana kadar önceki 3 formülü tekrarlayın.
Son.
Topluluğa katıl
Xinzhiyuan AI teknolojisi + endüstri topluluğunun işe alımında, AI teknolojisi + endüstrisiyle ilgilenen öğrenciler küçük bir WeChat asistanı hesabı ekleyebilirler: aiera2015_3 Gruba katılın; incelemeyi geçtikten sonra sizi gruba katılmaya davet edeceğiz. Topluluğa katıldıktan sonra, grup açıklamalarını değiştirmelisiniz (isim-şirket-pozisyon; profesyonel grup incelemesi katıdır, lütfen anlayın).