Bir eyer noktasında nasıl sıkışabilir?


14

Şu anda, mini-toplu degrade inişinin bir eyer noktasında nasıl sıkışabileceğinden biraz şaşkınım.

Çözüm, bunu alamayacağım kadar önemsiz olabilir.

Her çağ bir yeni örnek almak ve maliyet fonksiyonu her parti, sadece statik yani, yeni bir parti dayalı yeni hatayı hesaplar hangi degrade da her bir mini seri için değiştirmek .. ama göre gerektiğini araçlarının bu should vanilya uygulaması eyer noktaları ile ilgili sorunlar var mı?

Sinir ağları için yaygın olan dışbükey olmayan hata fonksiyonlarını en aza indirmenin diğer bir önemli zorluğu, sayısız yetersiz yerel minimasında sıkışmaktan kaçınmaktır. Dauphin ve diğ. [19], zorluğun aslında yerel minimadan değil, eyer noktalarından, yani bir boyutun yukarı ve diğerinin aşağı eğildiği noktalardan kaynaklandığını iddia etmektedir. Bu eyer noktaları genellikle aynı hataya sahip bir plato ile çevrilidir, bu da gradyan tüm boyutlarda sıfıra yakın olduğu için SGD'nin kaçmasını zorlaştırır.

Özellikle SGD'nin yakınsamaya doğru dalgalandığı için eyer noktalarına karşı açık bir avantajı olacağı anlamına gelecektir ... Dalgalanmalar ve rastgele örnekleme ve her çağ için farklı olan maliyet fonksiyonu, tek bir tuzağa düşmemek için yeterli neden olmalıdır.

Tam toplu degrade için, hata fonksiyonu sabit olduğundan, eyer noktasında sıkışabileceği mantıklıdır.

Diğer iki kısımda biraz kafam karıştı.


1
Moti anlıyor. Çok yüksek yamaçlara sahip ve sıfır yamaçla çevrili eyer noktası, geri alınamayacağı "kötü alanlara" büyük adımlarla gradyan bir iniş başlatır. Temelde düz bir ovada bir kuyu aramayı düşünün. Şimdi kuru ve merkezde bir karınca tepesi ile iyi düşünün. Karınca tepesine inen, ama tam tepede olmayan bir eğim inişi, araştırmayı radyal olarak dışarı çıkaracak. Şimdi, arama için adım boyutunun kuyu çapından bin kat daha büyük olduğunu hayal edin. Arama iyi bir şey bulursa, karınca yuvası onu montana vurur
EngrStudent - Monica'yı yeniden eski haline getir

Ne istediğini kafam karıştı. SGD'nin, SGD'nin sahip olduğu miras gürültüsü nedeniyle neden eyer noktasında sıkışıp kalamayacağına şaşkın mısınız, bu yüzden size göre kaçabilmelidir? (tam toplu GD olmasından farklı olarak, eğer degrade sıfırsa ve gürültü yoksa o zaman kaçamaz, sormanız gereken şey bu mu?)
Pinokyo

Yanıtlar:


16

Off Convex'ten aşağıdaki resme bir göz atın . Dışbükey bir işlevde (en soldaki görüntü), yalnızca bir yerel minimum vardır, bu da küresel minimumdur. Ancak dışbükey olmayan bir fonksiyonda (en sağdaki görüntü), birden fazla yerel minima olabilir ve genellikle iki yerel minima'ya katılmak bir eyer noktasıdır. Daha yüksek bir noktadan yaklaşıyorsanız, degrade nispeten daha düzdür ve özellikle yalnızca bir yönde hareket ediyorsanız, orada takılı kalma riskiyle karşı karşıya kalırsınız.

Eyer noktasının şematik gösterimi

Şimdi, mini toplu iş kullanarak optimizasyon yapıp yapmadığınızveya stokastik degrade iniş, temelde dışbükey olmayan işlev aynıdır ve degrade bu işlevin bir özelliğidir. Mini-toplu iş yaparken, bir seferde birçok örnek düşünür ve hepsinin üzerinde ortalama gradyan adımını atarsınız. Bu varyansı azaltır. Ancak ortalama gradyan yönü hala eyer noktasıyla aynı yönü gösteriyorsa, o zaman hala orada sıkışıp kalma riskiniz vardır. Benzetme, eğer 2 adım ileri ve 1 adım geri giderseniz, bunların ortalamasını alırsanız, sonuçta 1 adım ileri gidersiniz. Bunun yerine SGD uygularsanız, tüm adımları birbiri ardına alırsınız, ancak hala tek bir yönde hareket ediyorsanız, eyer noktasına ulaşabilir ve tüm taraflardaki degradenin oldukça düz olduğunu ve adım boyutunun bu düz kısmı geçemeyecek kadar küçük. Bu değil

Buradaki görselleştirmeye bir göz atın . SGD ile bile, dalgalanmalar sadece bir boyut boyunca gerçekleşirse, adımlar küçüldükçe, eyer noktasında birleşir. Bu durumda, mini-toplu yöntem dalgalanma miktarını azaltacaktır, ancak degradenin yönünü değiştiremeyecektir.

Eğer dalgalanmalar başka yönlerde ise ve basamak boyutu düzlüğün üzerinden geçecek kadar büyükse SGD bazen basit eyer noktalarından çıkabilir . Ancak bazen eyer bölgeleri, aşağıdaki görüntüdeki gibi oldukça karmaşık olabilir.

Karmaşık eyer bölgeleri

Momentum, ADAGRAD, Adam vb. Yöntemlerin bundan kurtulabilmesinin yolu, geçmiş gradyanları dikkate almaktır. İvme düşünün,

vt=γvt1+ηthetaJ(θ)

son degradenin bir bölümünü ekler, . Sadece bir yönde ileri geri gidiyorsanız, esasen işaretleri değiştirirseniz, ilerlemenizi nemlendirir. Bir yönde sürekli olarak olumlu bir ilerleme kaydedilmiş olsa da, bu şekilde gelişir ve aşağı doğru gider.vt1


Tam olarak değil! Uygulamada bir cevap için bkz. Stats.stackexchange.com/a/284399/117305
alifornia

@AliAbbasinasab Sanırım Antimon iyi açıklıyor. Tabii ki, sıradan bir eyer noktasında sıkışmak, cevabınızda bahsettiğiniz gibi değil, ancak sadece SGD'nin yakalanma olasılığını gösterdi. Ve bana göre, SGD'nin kaçamayacağı bazı sıradışı eyer noktaları gösterdi.
Kazuya Tomita

2

Olmamalı.

[ 1 ], rasgele başlatma ve uygun sabit adım boyutuna sahip gradyan inişinin bir sele noktasına yaklaşmadığını göstermiştir. Bu uzun bir tartışmadır, ancak neden aşağıdaki örneğe baktığınıza dair bir fikir vermek için:

f(x,y)=12x2+14y412y2

resim açıklamasını buraya girin

Kritik noktalar .

z1=[00],z2=[01],z3=[01]

z2z3z1

z0=[x0]z1z1xR2

2f(x,y)=[1003y21]

2f(z1)xxz1


Her seferinde bir eyer noktasında sıkışacağınız bir karşı örnek fonksiyonunu kolayca seçebilirsiniz ...
Jan Kukacka

1
Bağlantınıza ulaşamadım [1] - tam bir alıntı yapabilir misiniz? Bu arada, talebinize karşılıksız ek varsayımlara dayandığını gösteren karşı örnekler oluşturmak mümkündür.
whuber

@whuber karşı örnekleri kolayca pişirebilirsiniz. Örneğin, alanınız olarak yalnızca bir çizginiz varsa. Sadece birçok kişi için açık olmayabilir bir nokta eklemeye çalıştım (Başlangıçta neden bana çok açık değildi). Referans hakkında, neden ulaşamadığınız hakkında hiçbir fikrim yok. Tekrar kontrol ettim, bağlantı geçerli ve güncelleniyor. "Degrade İniş Minimizers'e Yakınlaşır, Jason D. Lee, Max Simchowitz, Michael I. Jordan † ve Benjamin Recht † ♯Elektrik ve Bilgisayar Bilimleri Bölümü † Statistcs Üniversitesi California Üniversitesi, Berkeley, 19 Nisan 2019 "
alifornia

Referans için teşekkürler. Ona hızlı bir bakış (bağlantı şimdi işe yarıyor), analizin birçok olasılığı engelleyen "katı eyerlerle" (Hessian'ın hem olumlu hem de olumsuz özdeğerlerinin olduğu yerde) sınırlı olduğunu gösteriyor. Makalenin son ifadeleri arasında “sıkı eyer durumunun başarısız olduğu yerlerde çok zor kısıtlanmamış optimizasyon problemleri olduğunu not ediyoruz” ve örnek olarak kuartik minimizasyon sunulmaktadır.
whuber

0

Referans verilen makaleye giderseniz (ayrıca emperitif yaklaşımlarının mini-toplu SGD'de gerçekten nasıl geliştiğini de gösterirler) şunları belirtirler:

Degrade iniş yönteminin bir adımı her zaman bir eyer noktasına yakın doğru yönü gösterir ... ve böylece küçük mutlak değerin öz değerlerine karşılık gelen yönlerde küçük adımlar atılır.

Ayrıca, eyer noktalarının yakınında (başka bir deyişle, eyer dik değildir) - "yaylaların" varlığına dikkat ederler - bu gibi durumlarda, çok küçük adımlar atmak eyer bölgesinden kaçmadan önce erken yakınsamayla sonuçlanır. Bu dışbükey olmayan bir optimizasyon olduğundan, öğrenme oranının yakınsaması bunu daha da kötüleştirecektir.

Kişinin sorunlu bölgeden kaçıp kaçamayacağını görmek için mini-toplu SGD'yi tamamladıktan sonra (yani öğrenme hızını sıfırlamak) yeniden başlatan yinelemeli bir yaklaşım denemek mümkün görünmektedir.


0

Sorunun, bir eyer noktasına yaklaşırken bir platoya, yani düşük (mutlak değerde) gradyanlara sahip bir alana girmeniz olduğunu düşünüyorum. Özellikle sırttan yaklaşırken. Böylece algoritmanız adım boyutunu küçültür. Azalan adım boyutu ile artık tüm gradyanlar (tüm yönlerde) mutlak değerde küçüktür. Böylece algoritma durur, en azından bunun olduğunu düşünür.

Adımları azaltmazsanız, minimumun üstünden atlayacak ve onları çok özleyeceksiniz. Adım boyutunu bir şekilde azaltmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.