Gradyan yöntemler genel olarak daha iyi optimize çalışır göre gradyanı, çünkü genellikle daha edilir iyi ölçekli . Yani, objektif fonksiyonun geometrisini tutarlı ve yararlı bir şekilde yansıtan bir boyuta sahiptir, uygun bir adım boyutu seçmeyi ve daha az adımda optimum hale getirmeyi kolaylaştırır.p ( x ) log p ( x )logp(x)p(x)logp(x)
Ne demek istediğimi görmek için, ve için degrade optimizasyon işlemini karşılaştırın . Herhangi bir noktada , gradyanı iseBunu çarparsak , başlangıçtaki küresel optimuma ulaşmak için gereken tam adım boyutunu elde ederiz, ne olursa olsunf ( x ) = log p ( x ) = - x 2 x f ( x ) fp(x)=exp(−x2)f(x)=logp(x)=−x2xf(x)1 / 2 x x f ( x ) f ( x ) x
f′(x)=−2x.
1/2xdır-dir. Bu, iyi bir adım büyüklüğü (veya ML jargonunda "öğrenme oranı") elde etmek için çok çalışmak zorunda olmadığımız anlamına gelir. İlk noktamız nerede olursa olsun, adımımızı sadece degradenin yarısına ayarladık ve tek adımda başlangıç noktasında olacağız. Ve tam olarak gereken faktörü bilmiyorsak, sadece 1 civarında bir adım boyutu seçebiliriz, biraz satır araştırması yapabiliriz ve nerede olursa olsun iyi sonuç veren, çok hızlı bir şekilde harika bir adım boyutu bulacağız. . Bu özellik, çevrilmesi ve ölçeklendirilmesi için sağlamdır . ölçeklendirmesi, optimal adım ölçeklendirmesinin 1/2 den farklı olmasına neden olurken , en azından adım ölçekleme, ne olduğu fark etmeksizin aynı olacaktır , bu nedenle verimli bir gradyan tabanlı optimizasyon elde etmek için sadece bir parametre bulmamız gerekir. düzeni.
xf(x)f(x)x
Buna karşılık, gradyanı optimizasyon için çok zayıf global özelliklere sahiptir. BizBu, mükemmel, iyi davranışlı gradyan , arttıkça üssel olarak azalan (daha hızlı bir faktör ile . En , zaten var böylece gradyan vektör boyunca adım ilgili, süreleri çok az. Optimum seviyeye doğru makul bir adım büyüklüğü elde etmek için, gradyanı bunun karşılığını, muazzam bir sabit ile ölçeklendirmeliyiz.p(x)
p′(x)=f′(x)p(x)=−2xexp(−x2).
−2xexp(−x2)xx=5exp(−x2)=1.4⋅10−1110−11∼1011. Böyle kötü bir şekilde ölçeklendirilmiş bir gradyan, optimizasyon amaçları için işe yaramaz olandan daha kötü - bir üniteyi yokuş yukarı yönde denemekten, adımımızı göre ölçekleyerek ayarlamaktan daha iyidir ! (Pek çok değişkende biraz daha kullanışlı olur, çünkü en azından gradyandan yön bilgisi alıyoruz, ancak ölçekleme sorunu devam ediyor.)
p′(x)p′(x)
Genel olarak, özellikle birden fazla değişkenimiz olduğunda, bu oyuncak örneğinde olduğu gibi mükemmel degrade ölçeklendirme özelliklerine sahip olacağının garantisi yoktur . Bununla birlikte, hemen hemen hiç önemsiz bir sorun için, , den daha iyi bir yol olacak . Bunun nedeni, olasılığın bir sürü terimde büyük bir ürün olması ve kayıt kütüğünün diğer birçok cevabında da belirtildiği gibi bir toplama dönmesidir. Olasılıktaki terimlerin bir optimizasyon bakış açısından iyi davranılması koşuluyla, günlükleri genellikle iyi davranılmakta ve iyi davranılmış işlevlerin toplamı iyi davranılmaktadır. Tarafından uslu Yanilog p ( x ) p ( x ) f ″ ( x )logp(x)logp(x)p(x)f′′(x)çok fazla veya çok hızlı bir şekilde değişmez ve gradyan yöntemleriyle optimize edilmesi kolay neredeyse ikinci dereceden bir işleve yol açar. Bir türevin toplamı, türevin emri ne olursa olsun, bu, büyük toplam terimler kümesinin çok makul bir ikinci türev olmasını sağlamaya yardımcı olur!