Derin aramada çizgi arama yöntemleri kullanılıyor mu? Neden olmasın?


18

Bir çok öğretici çevrimiçi degrade inişi hakkında konuşuyor ve neredeyse hepsi sabit bir adım boyutu kullanıyor (öğrenme hızı ). Neden satır aramanın bir faydası yoktur (satır izleme veya tam satır araması gibi)?α


5
"Ve neredeyse hepsi sabit adım boyutu kullanıyor" - emin misiniz? "öğrenme hızı" hiper parametrelerinin adım boyutunu koşullara uyarlaması beklenir. Çok popüler bir Adam algoritması adım boyutunu
Aksakal

1
hmm, aslında uyarlanabilir adım boyutu gradyan yöntemleri en az 2011 yılından beri var olmuştur ve Wikipedia Stokastik gradyan iniş sayfasında bile belirtilmiştir . Tam olarak sıcak bir haber değil. Vanilya SGD bile neredeyse her zaman yineleme sayısı ( program ) ile değişen bir öğrenme oranı ile kullanılır . Şimdi, çok iyi bir soru şu olabilir: neden, çok fazla uyarlanabilir gradyan iniş yöntemi olsa bile, SGD hala Derin Öğrenme dünyasına hâkimdir? Soru göründüğünden çok daha az önemsiz.
DeltaIV

1
Geri arama satır araması bir yönü düzeltir ve ardından işlevi azaltmanın bir yolunu arar. Bu nedenle, arama yönünü seçmek için akıllı bir yolunuz yoksa, sıkıcı bir optimizasyon içindesiniz.
Alex R.

1
Satır aramasının SGD için anlamlı olmadığını görmüyorum ([toplu] degrade iniş yerine) - bu yüzden bunun sebebi olduğunu söyleyebilirim.
seanv507

3
Çizgi aramanın çok popüler olmamasının nedeninin degrade inişteki toplu işlem olduğundan şüpheleniyorum. Bir toplu iş alırsınız, sonra degradeyi hesaplarsınız. Gradyandaki gürültü nedeniyle çizgiyi ileri geri hareket ettirmek pek mantıklı değil. Belki adım boyutunu tavlarken bir sonraki partiye devam etmek daha iyidir.
Aksakal

Yanıtlar:


14

Vanilya eğim inişi çizgi aramaları kullanılarak daha güvenilir hale getirilebilir; Bunu yapan algoritmalar yazdım ve çok kararlı bir algoritma yapar (her ne kadar hızlı olmasa da).

Bununla birlikte, stokastik gradyan yöntemleri için bir çizgi araştırması yapmak neredeyse mantıklı değildir . Bunu söylememin nedeni, tam kayıp işlevini en aza indirmeye dayanan bir satır araması yaparsak, hemen stokastik yöntemler yapmak için ana motivasyonlardan birini kaybettik; şimdi her güncellemenin tam kayıp fonksiyonunu hesaplamamız gerekiyor. Bu, genellikle ilk türevin tamamını hesaplama maliyetiyle karşılaştırılabilir. Hesaplama maliyetleri nedeniyle tam eğimin hesaplanmasından kaçınmak istediğimiz göz önüne alındığında, tam kayıp fonksiyonunun hesaplanmasında iyi olmak istememiz pek olası görünmemektedir.

Alternatif olarak, rastgele örneklenmiş veri noktanıza dayalı bir satır araması gibi bir şey yapmayı düşünebilirsiniz. Ancak, bu da iyi bir fikir değildir; bu size çok ileri adım attığınız hakkında hiçbir şey söylemeyecektir (hat aramalarının ana yararıdır). Örneğin, lojistik regresyon yaptığınızı varsayalım. Daha sonra her sonuç sadece 0 veya 1'dir ve herhangi bir tek örnek için önemsiz bir şekilde ayrılırız, bu nedenle 1 örneğini temel alan regresyon parametrelerimiz için optimal çözüm önemsizdir veya , Hauck Donner etkisi ile. Bu iyi değil.-

DÜZENLE

@DeltaIV, bunun sadece bireysel numuneler için değil, mini seri için de geçerli olduğuna dikkat çekiyor.


4
çok güzel (+1), ancak son örnekte neden tek bir örnek hakkında konuştuğunuzdan emin değilim. Bir mini partiye dayalı hat aramasının hesaplanmasının bir anlamı olmadığını kabul ediyorum, ancak bir mini parti hala 512 örnek içeriyor (genellikle ve ImageNet hakkında konuşurken): tabii ki mini modeldeki örnek sayısı için sabit bir değer yok -toplu, ancak 1 örnek mini-partiler biraz aşırı hissediyorum. Onları sadece amacınızı daha açık hale getirmek için mi kullandınız, yoksa bir şey mi kaçırıyorum?
DeltaIV

2
@DeltaIV: tek örnek çoğunlukla çok basit bir problem üzerinde ne kadar kötü olabileceğine dikkat çekmek. 512+ eşdeğeri olan lojistik regresyonda 512 numune ile mini seri yapsaydık, aynı sorunu görürdük.
Cliff AB

10

Öğreticiler, muhtemelen optimizasyon için kullanılan en basit algoritmalardan biri olduğu için gradyan inişinden bahsediyor, bu yüzden açıklamak kolay. Bu tür eğiticilerin çoğu oldukça kısa olduğundan, basit şeylere odaklanırlar. Derin öğrenme için kullanılan basit degrade inişin ötesinde en az birkaç popüler optimizasyon algoritması vardır. Aslında insanlar genellikle daha hızlı yakınsadıkları için farklı algoritmalar ve sonra degrade iniş kullanırlar. Bazıları sabit olmayan öğrenme oranına sahiptir (örn. Zaman içinde azalma). Bu tür algoritmaların gözden geçirilmesi için , Sebastian Ruder (veya arXived kağıdı ) tarafından yayınlanan degrade iniş optimizasyon algoritmalarına genel bir bakışı kontrol edebilirsiniz .


2
@DeltaIV: Tüm "diğer" fantezi yöntemler SGD'nin üzerine inşa edilmiştir. Ana sorun, diğer yöntemlerin, gradyanı hesaplamak için rastgele örnekleme noktalarından ziyade, daha verimli sıçramalar yapmak için yerel bilgiden faydalanmasıdır. Ancak SGD çok basit ve hızlıdır ve kendi başına tamamen korkunç değildir.
Alex R.

2
@AlexR. mesele ne SGD'nin basit ve / veya hızlı olmasıdır. Basitlik önemli değildir, çünkü tüm iyi kütüphaneler SGD, Adam, AdaGrad ve RMSProp'u (ve bazen daha fazlasını) uygular. Hız daha da önemlidir, çünkü parametre düzeyi güncellemelerini hesaplamak için örneğin Adam tarafından harcanan zaman, ResNet gibi bir modelin genel eğitim süresine kıyasla sonsuzdur. Tek nokta şu ki, bugün nedenini tam olarak anlamadığımız için SGD onlardan daha iyi genelleme yapıyor. Temel olarak SOTA'yı yenmek istiyorsanız, genellikle onu kullanmak veya en azından eğitim sırasında daha sonra geçmek zorunda kalırsınız .
DeltaIV

3
@DeltaIV Çok ilginç. Bağlandığınız makaleyi açtım ve SGD'nin Adem'den daha iyi genelleştiği iddiası için Wilson ve ark . yani "iyi bilindiğini" söylediğinizde, yaklaşık yarım yıldan beri iyi tanınıyorsunuz, değil mi?
amip diyor Reinstate Monica

2
@DeltaIV Teşekkürler. Derin öğrenmenin çoğunu kendim yapmıyorum ve bunun farkında değildim. 2012'de Hinton'un Coursera derslerini izlerken esas olarak RMSprop'u savunuyordu ve son 1-2 yıl içinde herkesin Adam'ı (Adam gazetesine göre RMSprop'un yerini alan) kullanmasıydı. Ben zaman autoencoders ile oynarken geçen yıl, Adam çok daha hızlı SGD daha çalıştığını fark etti ve o zamandan beri sadece Adem günümüzde varsayılan bir seçim olduğunu varsaydık.
amip diyor Reinstate Monica

3
@CliffAB Evet, erken durma ve düzenlenme arasındaki ilişki, gradyan inişinin özdeğer esasında çalıştığı ve küçük özdeğerlerin yakınsak olan son olanlar olduğu en küçük kareler için açıkça görülebilir ; oysa sırt cezası küçük özdeğerleri de cezalandırır. Şimdi Wilson ve ark. Yukarıda bağlı ama Adam farklı karşı kendi en küçük kareler, örneğin SGD en azından bir değil erken ve geç durdurma vs ile açıklanabilir. Farklı çözümlere yakınlaştıklarını iddia ediyorlar.
amip diyor Reinstate Monica
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.