Dereceli alçalma - Gradient descent

Dereceli alçalma bir birinci derece yinelemeli optimizasyon algoritma bulmak için yerel minimum türevlenebilir bir fonksiyon. Fikir, ters yönde tekrarlanan adımlar atmaktır. gradyan Geçerli noktadaki fonksiyonun (veya yaklaşık gradyan), çünkü bu en dik iniş yönüdür. Tersine, gradyan yönünde adım atmak bir yerel maksimum bu işlevin; prosedür daha sonra olarak bilinir gradyan tırmanışı.

Gradyan inişi genellikle Cauchy, bunu ilk kez 1847'de öneren,[1] ancak doğrusal olmayan optimizasyon problemleri için yakınsama özellikleri ilk olarak Haskell Köri 1944'te.[2]

Açıklama

Bir dizi gradyan iniş çizimi seviye setleri

Gradyan inişi şu gözlemlere dayanmaktadır: çok değişkenli işlev dır-dir tanımlı ve ayırt edilebilir bir noktanın mahallesinde , sonra azalır en hızlı eğer biri buradan giderse negatif gradyan yönünde -de . Bunu takip eder, eğer

için o zaman yeterince küçük . Başka bir deyişle, terim -den çıkarılır çünkü eğime karşı, yerel minimuma doğru hareket etmek istiyoruz. Bu gözlem akılda tutularak, bir tahminle başlar yerel minimum için ve sırayı dikkate alır öyle ki

Biz var monoton sıra

Öyleyse umarım sıra istenen yerel minimuma yakınsar. Değerinin adım boyutu her yinelemede değişmesine izin verilir. İşlevle ilgili belirli varsayımlarla (Örneğin, dışbükey ve Lipschitz ) ve belirli seçimler (örneğin, bir satır arama tatmin eden Wolfe koşulları veya Barzilai – Borwein yöntemi[3][4] aşağıdaki gibi gösterilmiştir),

yakınsama minimum yerel düzeyde garanti edilebilir. Fonksiyon ne zaman dır-dir dışbükey, tüm yerel minimumlar aynı zamanda küresel minimumdur, bu nedenle bu durumda gradyan inişi küresel çözüme yaklaşabilir.

Bu süreç yandaki resimde gösterilmektedir. Buraya düzlemde tanımlandığı ve grafiğinin bir çanak şekil. Mavi eğriler kontur çizgileri yani değerinin bulunduğu bölgeler sabittir. Bir noktadan çıkan kırmızı ok, o noktadaki negatif gradyanın yönünü gösterir. Bir noktadaki (negatif) gradyan dikey o noktadan geçen kontur çizgisine. Bu gradyanı görüyoruz iniş bizi kasenin dibine, yani fonksiyonun değerinin geldiği noktaya götürür. minimumdur.

Gradyan inişini anlamak için bir analoji

Dağlarda sis

Gradyan inişinin arkasındaki temel sezgi, varsayımsal bir senaryo ile gösterilebilir. Bir kişi dağlarda mahsur kalmış ve aşağı inmeye çalışıyor (yani küresel minimumu bulmaya çalışıyor). Görüşün son derece düşük olduğu yoğun sis var. Bu nedenle, dağın aşağısındaki yol görünmez, bu nedenle minimum yolu bulmak için yerel bilgileri kullanmaları gerekir. Mevcut konumlarında tepenin dikliğine bakmayı ve ardından en dik inişle (yani yokuş aşağı) yönde ilerlemeyi içeren gradyan iniş yöntemini kullanabilirler. Dağın tepesini (yani maksimum) bulmaya çalışıyorlarsa, en dik çıkış yönünde (yani yokuş yukarı) ilerlerlerdi. Bu yöntemi kullanarak, sonunda dağın aşağısında yollarını bulurlar veya muhtemelen bir delikte sıkışırlar (yani yerel minimum veya Eyer noktası ), bir dağ gölü gibi. Bununla birlikte, tepenin dikliğinin basit bir gözlemle hemen aşikar olmadığını, aksine, kişinin o anda sahip olduğu, ölçmek için karmaşık bir alet gerektirdiğini de varsayalım. Enstrümanla tepenin dikliğini ölçmek biraz zaman alır, bu nedenle gün batımından önce dağdan aşağı inmek istiyorlarsa enstrümanı kullanımlarını en aza indirmelidirler. O halde zorluk, yoldan çıkmamak için tepenin dikliğini ölçmeleri gereken frekansı seçmektir.

Bu benzetmede, kişi algoritmayı temsil eder ve dağdan inen yol, algoritmanın keşfedeceği parametre ayarları sırasını temsil eder. Tepenin dikliği, eğim Bu noktada hata yüzeyinin Dikliği ölçmek için kullanılan alet farklılaşma (hata yüzeyinin eğimi, türev karesi alınmış hata fonksiyonunun bu noktada). Seyahat etmeyi seçtikleri yön, gradyan Bu noktada hata yüzeyinin Başka bir ölçüm yapmadan önce seyahat ettikleri süre, algoritmanın öğrenme hızıdır. Görmek Geri yayılım § Sınırlamalar Bu tür "tepeden aşağı inen" algoritmanın sınırlamaları hakkında bir tartışma için.

Örnekler

Gradyan inişinde aşağıdaki gibi patolojik fonksiyonlarla ilgili sorunlar vardır: Rosenbrock işlevi burada gösterilmektedir.

Rosenbrock işlevi, minimumu içeren dar ve kavisli bir vadiye sahiptir. Vadinin dibi çok düz. Eğimli düz vadi nedeniyle optimizasyon, minimuma doğru küçük adım boyutları ile yavaşça zikzak çiziyor.

Banana-SteepDesc.gif

Yöntemin zikzak doğası, gradyan iniş yönteminin uygulandığı aşağıda da görülmektedir.

The gradient descent algorithm in action. (1: contour)The gradient descent algorithm in action. (2: surface)

Adım boyutunu ve iniş yönünü seçme

Bir adım boyutu kullandığından beri çok küçük olması yakınsamayı yavaşlatır ve çok büyük, sapmaya yol açar, iyi bir önemli bir pratik problemdir. Philip Wolfe pratikte "[alçalma] yönünün akıllıca seçimleri" nin kullanılmasını savundu.[5] En dik iniş yönünden sapan bir yön kullanmak mantığa aykırı görünse de, fikir, daha küçük eğimin çok daha uzun bir mesafeden sürdürülerek telafi edilebileceğidir.

Bunu matematiksel olarak düşünmek için bir yön kullanalım ve adım boyutu ve daha genel güncellemeyi düşünün:

.

İçin iyi ayarlar bulmak ve biraz düşünmeyi gerektirir. Öncelikle güncelleme yönünün yokuş aşağı bakmasını istiyoruz. Matematiksel olarak, izin verme arasındaki açıyı göstermek ve , bunu gerektirir Daha fazlasını söylemek için, optimize ettiğimiz amaç işlevi hakkında daha fazla bilgiye ihtiyacımız var. Oldukça zayıf varsayım altında sürekli olarak farklılaştırılabilirse, şunu kanıtlayabiliriz:[6]

 

 

 

 

(1)

Bu eşitsizlik, işlevden emin olabileceğimiz miktarın azalması, köşeli parantez içindeki iki terim arasındaki değiş tokuşa bağlıdır. Köşeli parantez içindeki ilk terim, iniş yönü ile negatif gradyan arasındaki açıyı ölçer. İkinci terim, eğimin iniş yönü boyunca ne kadar hızlı değiştiğini ölçer.

Prensipte eşitsizlik (1) üzerinde optimize edilebilir ve Optimal bir adım boyutu ve yönü seçmek için. Sorun, ikinci terimi köşeli parantez içinde değerlendirmenin, değerlendirmeyi gerektirmesidir. ve ekstra gradyan değerlendirmeleri genellikle pahalıdır ve istenmez. Bu sorunun etrafından dolaşmanın bazı yolları:

  • Ayarlayarak akıllı bir iniş yönünün faydalarından vazgeçin , ve kullan satır arama uygun bir adım boyutu bulmak için örneğin, tatmin edici Wolfe koşulları.
  • Varsayalım ki iki kez türevlenebilir, Hessian'ı kullanın tahmin Sonra seçin ve eşitsizliği optimize ederek (1).
  • Varsayalım ki dır-dir Lipschitz, Lipschitz sabitini kullanın bağlanmak Sonra seçin ve eşitsizliği optimize ederek (1).
  • Özel bir model oluşturun için . Sonra seçin ve eşitsizliği optimize ederek (1).
  • İşleve ilişkin daha güçlü varsayımlar altında gibi dışbükeylik, Daha gelişmiş teknikler belki mümkün.

Genellikle yukarıdaki tariflerden birini takip ederek, yakınsama minimum yerel düzeyde garanti edilebilir. Fonksiyon ne zaman dır-dir dışbükey, tüm yerel minimumlar aynı zamanda küresel minimumdur, bu nedenle bu durumda gradyan inişi küresel çözüme yakınlaşabilir.

Doğrusal bir sistemin çözümü

En dik iniş algoritması Wiener filtresi.[7]

Gradyan inişi, ikinci dereceden bir minimizasyon problemi olarak yeniden formüle edilmiş bir doğrusal denklem sistemini çözmek için kullanılabilir, örn. doğrusal en küçük kareler. Çözümü

Doğrusal en küçük kareler anlamında işlevi küçültmek olarak tanımlanır

Gerçek için geleneksel doğrusal en küçük karelerde ve Öklid normu kullanılır, bu durumda

Bu durumda, satır arama minimizasyon, yerel olarak en uygun adım boyutunu bulma her yinelemede, analitik olarak gerçekleştirilebilir ve yerel olarak optimum için açık formüller bilinmektedir.[8]

Algoritma, doğrusal denklemleri çözmek için nadiren kullanılır. eşlenik gradyan yöntemi en popüler alternatiflerden biri. Gradyan iniş yinelemelerinin sayısı genellikle spektral ile orantılıdır. durum numarası sistem matrisinin (maksimumun minimuma oranı özdeğerler nın-nin )yakınsama sırasında eşlenik gradyan yöntemi tipik olarak durum numarasının bir karekökü ile belirlenir, yani çok daha hızlıdır. Her iki yöntem de fayda sağlayabilir ön koşullandırma, gradyan inişinin ön koşullandırıcı üzerinde daha az varsayım gerektirebileceği durumlarda.[9]

Doğrusal olmayan bir sistemin çözümü

Gradyan inişi, bir sistemi çözmek için de kullanılabilir. doğrusal olmayan denklemler. Aşağıda, üç bilinmeyen değişkeni çözmek için gradyan inişinin nasıl kullanılacağını gösteren bir örnek bulunmaktadır: x1, x2, ve x3. Bu örnek, gradyan inişinin bir yinelemesini göstermektedir.

Doğrusal olmayan denklem sistemini düşünün

İlişkili işlevi tanıtalım

nerede

Şimdi amaç işlevi tanımlanabilir

en aza indirmeye çalışacağız. İlk tahmin olarak kullanalım

Biz biliyoruz ki

nerede Jacobian matrisi tarafından verilir

Hesaplıyoruz:

Böylece

ve

Bu örneğe uygulanan gradyan inişinin ilk 83 yinelemesini gösteren bir animasyon. Yüzeyler izo yüzeyler nın-nin mevcut tahminle ve oklar iniş yönünü gösterir. Küçük ve sabit adım boyutu nedeniyle yakınsama yavaştır.

Şimdi uygun öyle bulunmalı ki

Bu, çeşitli satır arama algoritmalar. Bir de basitçe tahmin edebilir hangi verir

Amaç fonksiyonunu bu değerde değerlendirmek,

Düşüş sonraki adımın değerine

amaç işlevinde önemli bir azalmadır. Diğer adımlar, sisteme yaklaşık bir çözüm bulunana kadar değerini daha da düşürür.

Yorumlar

Gradyan inişi, sonsuz boyutlu olanlarda bile, herhangi bir sayıda boyuttaki boşluklarda çalışır. İkinci durumda, arama alanı tipik olarak bir işlev alanı ve biri hesaplanır Fréchet türevi alçalma yönünü belirlemek için küçültülecek işlevin.[10]

Bu gradyan inişi herhangi bir sayıda boyutta (en azından sonlu sayı) çalışır, bunun bir sonucu olarak görülebilir. Cauchy-Schwarz eşitsizliği. Bu makale, herhangi bir boyuttaki iki vektörün iç (nokta) ürününün büyüklüğünün eş doğrusal olduklarında maksimize edildiğini kanıtlıyor. Gradyan inişi durumunda, bu, bağımsız değişken ayarlamalarının vektörünün, kısmi türevlerin gradyan vektörü ile orantılı olduğu durumdur.

Gradyan inişi, yerel bir minimumun gerekli bir değerle hesaplanması için birçok yineleme alabilir. doğruluk, Eğer eğrilik farklı yönlerde verilen işlev için çok farklıdır. Bu tür işlevler için, ön koşullandırma gibi işlev düzeyi setlerini şekillendirmek için uzayın geometrisini değiştiren eşmerkezli daireler, yavaş yakınsamayı iyileştirir. Bununla birlikte, ön koşullandırmanın oluşturulması ve uygulanması hesaplama açısından pahalı olabilir.

Gradyan inişi, bir satır arama, yerel olarak en uygun adım boyutunu bulma her yinelemede. Hat araması yapmak zaman alıcı olabilir. Tersine, sabit bir küçük zayıf yakınsama sağlayabilir.

Dayalı yöntemler Newton yöntemi ve tersine çevirme Hessian kullanma eşlenik gradyan teknikler daha iyi alternatifler olabilir.[11][12] Genel olarak, bu tür yöntemler daha az sayıda yinelemede birleşir, ancak her yinelemenin maliyeti daha yüksektir. Bir örnek, BFGS yöntemi Bu, her adımda gradyan vektörünün "daha iyi" bir yöne gitmek için çarpıldığı bir matrisin hesaplanmasından ve daha karmaşık bir satır arama algoritması, "en iyi" değerini bulmak için Bilgisayar belleği sorunlarının baskın olduğu son derece büyük sorunlar için, sınırlı bellek yöntemi gibi L-BFGS BFGS veya en dik iniş yerine kullanılmalıdır.

Gradyan inişi uygulama olarak görülebilir Euler yöntemi çözmek için adi diferansiyel denklemler bir gradyan akışı. Buna karşılık, bu denklem optimal bir kontrolör olarak türetilebilir[13] kontrol sistemi için ile geri bildirim formunda verilmiştir .

Uzantılar

Gradyan inişi işlemek için uzatılabilir kısıtlamalar ekleyerek projeksiyon kısıtlamalar üzerine. Bu yöntem, yalnızca projeksiyon bir bilgisayarda verimli bir şekilde hesaplanabildiğinde uygulanabilir. Uygun varsayımlar altında bu yöntem birleşir. Bu yöntem, belirli bir durumdur. ileri-geri algoritması monoton kapanımlar için (aşağıdakileri içerir dışbükey programlama ve varyasyonel eşitsizlikler ).[14]

Hızlı gradyan yöntemleri

Gradyan inişinin bir başka uzantısı da Yurii Nesterov 1983'ten itibaren[15] ve sonradan genelleştirilmiştir. Dışbükey problemler için daha hızlı yakınsama sağlayan basit bir algoritma değişikliği sağlar. Kısıtlanmamış pürüzsüz problemler için yönteme Hızlı Gradyan Yöntemi (FGM) veya Hızlandırılmış Gradyan Yöntemi (AGM). Spesifik olarak, türevlenebilir fonksiyon dışbükey ve dır-dir Lipschitz ve bunun varsayılmadığı dır-dir kuvvetli dışbükey, ardından her adımda oluşturulan amaç değerindeki hata gradyan iniş yöntemi ile ile sınırlı . Nesterov hızlandırma tekniğini kullanarak hata şu anda azalır .[16] Oranın azalması için maliyet fonksiyonu birinci dereceden optimizasyon yöntemleri için idealdir. Bununla birlikte, sabit faktörü azaltarak algoritmayı geliştirme fırsatı vardır. optimize edilmiş gradyan yöntemi (OGM)[17] bu sabiti iki kat azaltır ve büyük ölçekli problemler için en uygun birinci dereceden yöntemdir.[18]

Kısıtlı veya pürüzsüz olmayan sorunlar için Nesterov'un FGM'sine hızlı proksimal gradyan yöntemi (FPGM), bir ivme proksimal gradyan yöntemi.

İtme

Yerel minimumda takılma riskini azaltan ve sürecin aksi takdirde yoğun şekilde zikzak yapacağı durumlarda yakınsamayı önemli ölçüde hızlandıran bir başka uzantı da, momentum yöntemi"Konservatif bir kuvvet alanında viskoz bir ortamda hareket eden Newton parçacıklarının kütlesine" benzer şekilde bir momentum terimi kullanan.[19] Bu yöntem genellikle bir uzantı olarak kullanılır. geri yayılım eğitmek için kullanılan algoritmalar yapay sinir ağları.[20][21]

Ayrıca bakınız

Referanslar

  1. ^ Lemaréchal, C. (2012). "Cauchy ve Gradyan Yöntemi" (PDF). Doc Math Extra: 251–254.
  2. ^ Curry, Haskell B. (1944). "Doğrusal Olmayan Minimizasyon Sorunları İçin En Dik İniş Yöntemi". Quart. Appl. Matematik. 2 (3): 258–261. doi:10.1090 / qam / 10667.
  3. ^ Barzilai, Jonathan; Borwein, Jonathan M. (1988). "İki Noktalı Adım Boyutlu Gradyan Yöntemleri". IMA Sayısal Analiz Dergisi. 8 (1): 141–148. doi:10.1093 / imanum / 8.1.141.
  4. ^ Fletcher, R. (2005). "Barzilai-Borwein Yöntemi Üzerine". Qi, L .; Teo, K .; Yang, X. (editörler). Uygulamalar ile Optimizasyon ve Kontrol. Uygulamalı Optimizasyon. 96. Boston: Springer. s. 235–256. ISBN  0-387-24254-6.
  5. ^ Wolfe, Philip (1969-04-01). "Yükselme Yöntemleri için Yakınsama Koşulları". SIAM İncelemesi. 11 (2): 226–235. doi:10.1137/1011036. ISSN  0036-1445.
  6. ^ Bernstein, Jeremy; Vahdat, Arash; Yue, Yisong; Liu, Ming-Yu (2020-06-12). "İki sinir ağı arasındaki mesafe ve öğrenmenin kararlılığı hakkında". arXiv:2002.03432 [cs.LG ].
  7. ^ Haykin, Simon S. Uyarlamalı filtre teorisi. Pearson Education India, 2008. - s. 108-142, 217-242
  8. ^ Yuan, Ya-xiang (1999). "Gradyan yöntemi için adım boyutları" (PDF). İleri Matematikte AMS / IP Çalışmaları. 42 (2): 785.
  9. ^ Bouwmeester, Henricus; Dougherty, Andrew; Knyazev, Andrew V. (2015). "Eşlenik Gradyan ve En Dik İniş Yöntemleri için Simetrik Olmayan Ön Koşullandırma". Prosedür Bilgisayar Bilimleri. 51: 276–285. doi:10.1016 / j.procs.2015.05.241.
  10. ^ Akilov, G. P .; Kantorovich, L.V. (1982). Fonksiyonel Analiz (2. baskı). Pergamon Basın. ISBN  0-08-023036-9.
  11. ^ Basın, W. H .; Teukolsky, S. A .; Vetterling, W. T .; Flannery, B.P. (1992). C'de Sayısal Tarifler: Bilimsel Hesaplama Sanatı (2. baskı). New York: Cambridge University Press. ISBN  0-521-43108-5.
  12. ^ Strutz, T. (2016). Veri Uydurma ve Belirsizlik: Ağırlıklı En Küçük Kareler ve Ötesine Pratik Bir Giriş (2. baskı). Springer Görüntüleyici. ISBN  978-3-658-11455-8.
  13. ^ Ross, I.M. (2019-07-01). "Doğrusal olmayan optimizasyon için optimal bir kontrol teorisi". Hesaplamalı ve Uygulamalı Matematik Dergisi. 354: 39–51. doi:10.1016 / j.cam.2018.12.044. ISSN  0377-0427.
  14. ^ Combettes, P. L .; Pesquet, J.-C. (2011). "Sinyal işlemede proksimal bölme yöntemleri". Bauschke, H. H .; Burachik, R. S.; Combettes, P. L .; Elser, V .; Luke, D. R .; Wolkowicz, H. (editörler). Bilim ve Mühendislikte Ters Problemler için Sabit Noktalı Algoritmalar. New York: Springer. s. 185–212. arXiv:0912.3522. ISBN  978-1-4419-9568-1.
  15. ^ Nesterov, Yu. (2004). Konveks Optimizasyona Giriş Dersleri: Temel Bir Kurs. Springer. ISBN  1-4020-7553-7.
  16. ^ Vandenberghe, Lieven (2019). "Hızlı Gradyan Yöntemleri" (PDF). UCLA'da EE236C için ders notları.
  17. ^ Kim, D .; Fessler, J.A. (2016). "Düzgün Dışbükey Minimizasyon için Optimize Edilmiş Birinci Derece Yöntemler". Matematik. Prog. 151 (1–2): 81–107. arXiv:1406.5468. doi:10.1007 / s10107-015-0949-3. PMC  5067109. PMID  27765996. S2CID  207055414.
  18. ^ Drori Yoel (2017). "Düzgün Dışbükey Minimizasyonun Kesin Bilgi Tabanlı Karmaşıklığı". Karmaşıklık Dergisi. 39: 1–16. arXiv:1606.01424. doi:10.1016 / j.jco.2016.11.001. S2CID  205861966.
  19. ^ Qian, Ning (Ocak 1999). "Gradyan iniş öğrenme algoritmalarındaki momentum terimi üzerine" (PDF). Nöral ağlar. 12 (1): 145–151. CiteSeerX  10.1.1.57.5612. doi:10.1016 / S0893-6080 (98) 00116-6. PMID  12662723. Arşivlenen orijinal (PDF) 8 Mayıs 2014. Alındı 17 Ekim 2014.
  20. ^ "Momentum ve Öğrenme Hızı Uyarlaması". Willamette Üniversitesi. Alındı 17 Ekim 2014.
  21. ^ Geoffrey Hinton; Nitish Srivastava; Kevin Swersky. "Momentum yöntemi". Coursera. Alındı 2 Ekim 2018. İçin bir konferans serisinin parçası Coursera çevrimiçi kurs Makine Öğrenimi için Sinir Ağları Arşivlendi 2016-12-31 Wayback Makinesi.

daha fazla okuma

Dış bağlantılar