Stokastik gradyan inişinin rastgele bir davranışa sahip olduğunu biliyorum, ama nedenini bilmiyorum.
Bununla ilgili bir açıklama var mı?
Stokastik gradyan inişinin rastgele bir davranışa sahip olduğunu biliyorum, ama nedenini bilmiyorum.
Bununla ilgili bir açıklama var mı?
Yanıtlar:
Stokastik gradyan (SG) algoritması, SG'nin öğrenme hızının SA sıcaklığına bağlı olduğu simüle edilmiş bir tavlama (SA) algoritması gibi davranır. SG'nin getirdiği rastgele veya gürültü, daha iyi bir minimum seviyeye ulaşmak için yerel minimeden kaçmaya izin verir. Tabii ki, öğrenme hızını ne kadar hızlı azalttığınıza bağlıdır. Sinir Ağlarında Stokastik Degrade Öğrenmenin (pdf) bölüm 4.2'sini okuyun , burada daha ayrıntılı olarak açıklanmıştır.
Stokastik gradyan inişinde, tüm gözlemlemenin aksine parametrelerin her gözlem için tahmin edildiği gibi, normal gradyan inişinde (parti gradyan inişi). Ona çok fazla rastgelelik veren budur. Stokastik gradyan iniş yolu daha fazla yerde dolaşır ve bu nedenle yerel bir minimumun "dışına çıkma" ve küresel bir minimum bulma olasılığı daha yüksektir (Not *). Ancak, stokastik gradyan inişi hala yerel minimumda sıkışabilir.
Not: Öğrenme oranını sabit tutmak yaygındır, bu durumda stokastik degrade iniş yakınsama yapmaz; sadece aynı nokta etrafında dolaşıyor. Bununla birlikte, öğrenme hızı zamanla azalırsa, mesela, yineleme sayısıyla ters orantılıdır, o zaman stokastik gradyan inişi birleşir.
Önceki cevaplarda daha önce bahsedildiği gibi, her bir örneği tekrarlı olarak değerlendirdiğiniz için stokastik gradyan iniş çok daha gürültülü bir hata yüzeyine sahiptir. Her çağda toplu eğimde inişte küresel asgari düzeye doğru bir adım atarken (eğitim setinin üzerinden geçmek), stokastik eğimde iniş gradyanınızın bireysel adımları, değerlendirilen örneğe bağlı olarak her zaman küresel minimuma işaret etmemelidir.
Bunu iki boyutlu bir örnek kullanarak görselleştirmek için, Andrew Ng'in makine öğrenimi sınıfından bazı figürler ve çizimler.
İlk gradyan inişi:
İkincisi, stokastik gradyan inişi:
Alttaki kırmızı daire, sabit bir öğrenme oranı kullanıyorsanız stokastik gradyan inişinin küresel minimumun çevresindeki bir alanda "güncellenmeye devam edeceğini" gösterecektir.
Stokastik degrade iniş kullanıyorsanız bazı pratik ipuçları:
1) eğitim setini her çağdan önce karıştırın (veya "standart" varyantta yineleme)
2) küresel asgari seviyeye daha yakın "tavlama" yapmak için uyarlanabilir bir öğrenme oranı kullanmak
for
karıştırılan setten