Dayalı: DataScience'da yayınlanan bir soru CrossValidated'a gönderilen bir sorunun kopyası ise ne yapmalıyız? , Cevaplarımı CrossValidated ( https://stats.stackexchange.com/a/311318/89653 ) 'de sorulan aynı soruya tekrar gönderiyorum .
Not: Bu cevap boyunca eğitim kaybını en aza indirgemeyi kast ediyorum ve validasyon kaybı gibi durma kriterlerini tartışmıyorum. Durma kriterlerinin seçimi aşağıda açıklanan süreci / kavramları etkilemez.
Bir sinir ağı eğitim işlemi, bir kayıp fonksiyonu minimum değerini bulmak için , B nöronlar arasındaki ağırlıktaki bir matris (veya birkaç matrisler temsil eder) ve X, eğitim veri kümesi temsil eder. Ben bir simge kullanmak X bizim minimizasyonu olduğunu belirtmek için ℒ sadece ağırlıkları üzerinde meydana W (olduğunu, aradığımız W böyle ℒ iken minimize edilir) X sabittir.LX(W)WXXLWWLX
Şimdi, W'de elementleri olduğunu varsayarsak (yani, ağda P ağırlıkları vardır), ℒ P + 1 boyutlu bir uzayda bir yüzeydir . Görsel bir analog vermek için, sadece iki nöron ağırlığımız olduğunu hayal edin ( P = 2 ). Öyleyse ℒ kolay bir geometrik yoruma sahiptir: 3 boyutlu bir uzayda bir yüzeydir. Bu, herhangi bir ağırlık W matrisi için , kayıp fonksiyonunun X üzerinde değerlendirilebilmesi ve bu değerin yüzeyin yükselmesi haline gelmesinden kaynaklanmaktadır.PWPLP+1P=2LWX
Ancak, dışbükeysizlik sorunu var; Tarif ettiğim yüzey çok sayıda yerel minimuma sahip olacak ve bu nedenle degrade iniş algoritmaları bu minimalarda "sıkışıp kalmaya" meyilliyken daha derin / daha düşük / daha iyi bir çözüm yakınlarda kalabilir. Bu, tüm eğitim yinelemelerinde değişmediği takdirde ortaya çıkar , çünkü yüzey verilen X için sabittir ; tüm özellikleri çeşitli minimaları da dahil olmak üzere statiktir.XX
Buna bir çözüm, karıştırma ile birlikte mini toplu eğitimdir. Satırları karıştırıp belirli bir yineleme sırasında yalnızca bir alt kümesinde egzersiz yaparak, , her yinelemede değişir ve gerçekte, tüm egzersiz yinelemeleri ve dönemleri boyunca iki yinelemenin tam olarak aynı X üzerinde gerçekleştirilmemesi mümkündür. . Bunun etkisi, çözücünün yerel bir asgari seviyeden kolayca "sıçraması" olmasıdır. Çözücünün, i - i uygulamalı mini-toplu X i iterasyonunda yerel minimumda sıkışmış olduğunu hayal edin . Bu asgari minimum , belirli bir ağırlık değerinde değerlendirilen ℒ değerine karşılık gelir ; biz buna ℒ X i ( WXXiXiL . Kullandığımız çünkü bir sonraki denemede bizim kaybı yüzeyin şekli aslında değiştirir X i + 1 , olduğunu ℒ X i + 1 ( W i ) çok farklı bir değere alabilir ℒ X i ( W i ) ve Yerel bir asgariye uymuyor oldukça olası! Şimdi bir degrade güncellemesi hesaplayabilir ve eğitime devam edebiliriz. Açıklamak gerekirse: şekli ℒ X i + 1 olacaktır - genel olarak - bu farklı ℒ X iLXi(Wi)Xi+1LXi+1(Wi)LXi(Wi)LXi+1LXi. Burada, X eğitim setinde değerlendirilen function kayıp fonksiyonuna ; Belirli bir W değeri için bu kaybın (sadece bir skaler olan) değerlendirilmesinden ziyade W'nin tüm olası değerleri üzerinde tanımlanmış tam bir yüzeydir . Ayrıca, küçük gruplar karıştırmadan kullanılırsa, hala kayıp yüzeylerin bir dereceye kadar "çeşitlendirilmesi" olduğunu, ancak çözücünün göreceği sınırlı (ve göreceli olarak küçük) benzersiz hata yüzeylerinin olacağına dikkat edin (özellikle Aynı dönemdeki mini seri kümeleri - ve dolayısıyla her bir dönem boyunca yüzeyleri kaybeder -).LXWW
One thing I deliberately avoided was a discussion of mini-batch sizes, because there are a million opinions on this and it has significant practical implications (greater parallelization can be achieved with larger batches). However, I believe the following is worth mentioning. Because L is evaluated by computing a value for each row of X (and summing or taking the average; i.e., a commutative operator) for a given set of weight matrices W, the arrangement of the rows of X has no effect when using full-batch gradient descent (that is, when each batch is the full X, and iterations and epochs are the same thing).