Hiperparametreler, eğitimin farklı yönlerini kontrol eden değişkenlerdir. Sık kullanılan üç hiperparametre şunlardır:
Buna karşılık parametreler, ağırlıklar ve önyargı gibi modelin bir parçası olan değişkenlerdir. Diğer bir deyişle, hiperparametreler sizin kontrol ettiğiniz değerlerdir; parametreler ise modelin eğitim sırasında hesapladığı değerlerdir.
Öğrenme hızı
Öğrenme hızı, modelin ne kadar hızlı yakınsadığını etkileyen, sizin belirlediğiniz bir kayan nokta sayısıdır. Öğrenme hızı çok düşükse modelin birleşmesi uzun sürebilir. Ancak öğrenme hızı çok yüksekse model hiçbir zaman yakınlaşmaz, bunun yerine kaybı en aza indiren ağırlıklar ve önyargılar arasında gidip gelir. Amaç, modelin hızlı bir şekilde yakınsaması için çok yüksek veya çok düşük olmayan bir öğrenme hızı seçmektir.
Öğrenme hızı, gradyan azalma sürecinin her adımında ağırlıklarda ve önyargıda yapılacak değişikliklerin büyüklüğünü belirler. Model, bir sonraki iterasyon için modelin parametrelerini (ağırlık ve önyargı değerleri) belirlemek üzere gradyanı öğrenme hızıyla çarpar. Eğim azalma yönteminin üçüncü adımında, negatif eğim yönünde hareket edilecek "az miktar" öğrenme hızını ifade eder.
Eski model parametreleri ile yeni model parametreleri arasındaki fark, kayıp işlevinin eğimiyle orantılıdır. Örneğin, eğim büyükse model büyük bir adım atar. Küçükse küçük bir adım atar. Örneğin, gradyanın büyüklüğü 2,5 ve öğrenme hızı 0,01 ise model parametreyi 0,025 oranında değiştirir.
İdeal öğrenme hızı, modelin makul sayıda iterasyonda yakınsamasına yardımcı olur. Şekil 21'de kayıp eğrisi, modelin yakınlaşmaya başlamadan önce ilk 20 iterasyonda önemli ölçüde iyileştiğini gösterir:
Şekil 21. Hızlı bir şekilde yakınsaklığa ulaşan bir öğrenme hızıyla eğitilmiş bir modeli gösteren kayıp grafiği.
Buna karşılık, çok küçük bir öğrenme hızı, yakınsaması için çok fazla iterasyon gerektirebilir. Şekil 22'de kayıp eğrisi, modelin her iterasyondan sonra yalnızca küçük iyileştirmeler yaptığını gösterir:
Şekil 22. Küçük bir öğrenme hızıyla eğitilen bir modeli gösteren kayıp grafiği.
Her iterasyon kaybın dalgalanmasına veya sürekli artmasına neden olduğundan çok yüksek bir öğrenme hızı hiçbir zaman yakınsama sağlamaz. Şekil 23'te kayıp eğrisi, modelin her iterasyondan sonra kaybı azalttığını ve ardından artırdığını gösterir. Şekil 24'te ise kayıp daha sonraki iterasyonlarda artar:
Şekil 23. Çok yüksek bir öğrenme hızı ile eğitilmiş bir modeli gösteren kayıp grafiği. Bu modelde, iterasyon sayısı arttıkça kayıp eğrisi büyük dalgalanmalar göstererek yukarı ve aşağı hareket ediyor.
Şekil 24. Çok yüksek bir öğrenme hızıyla eğitilmiş bir modeli gösteren kayıp grafiği. Bu modelde, sonraki iterasyonlarda kayıp eğrisi önemli ölçüde artar.
Alıştırma: Anladığınızdan emin olun
Grup boyutu
Grup boyutu, modelin ağırlıklarını ve önyargılarını güncellemeden önce işlediği örnek sayısını ifade eden bir hiper parametredir. Ağırlıkları ve önyargıyı güncellemeden önce modelin veri kümesindeki her örnek için kaybı hesaplaması gerektiğini düşünebilirsiniz. Ancak bir veri kümesi yüz binlerce hatta milyonlarca örnek içeriyorsa tüm grubu kullanmak pratik değildir.
Ağırlıkları ve önyargıyı güncellemeden önce veri kümesindeki her bir örneği incelemeye gerek kalmadan ortalama olarak doğru gradyanı elde etmek için kullanılan yaygın iki teknik stokastik gradyan azalma ve mini grup stokastik gradyan azalma'dır:
Stokastik gradyan azalma (SGD): Stokastik gradyan azalma, iterasyon başına yalnızca tek bir örnek (bir grup boyutu) kullanır. Yeterli sayıda iterasyon yapıldığında SGD çalışır ancak çok gürültülüdür. "Gürültü", eğitim sırasında bir iterasyonda kaybın azalmak yerine artmasına neden olan varyasyonları ifade eder. "Stohastik" terimi, her grubu oluşturan bir örneğin rastgele seçildiğini gösterir.
Aşağıdaki resimde, model SGD'yi kullanarak ağırlıklarını ve önyargılarını güncellerken kaybın nasıl hafifçe dalgalandığına dikkat edin. Bu durum, kayıp grafiğinde gürültüye neden olabilir:
Şekil 25. Kayıp eğrisinde gürültü gösteren, stokastik gradyan inişi (SGD) ile eğitilmiş model.
Stokastik gradyan azalma yönteminin kullanılmasının, yalnızca yakınsamaya yakın değil, kayıp eğrisinin tamamında gürültü oluşturabileceğini unutmayın.
Küçük grup stokastik gradyan inişi (küçük grup SGD): Küçük grup stokastik gradyan inişi, tam grup ve SGD arasında bir uzlaşmadır. $ N $ veri noktası için toplu boyut, 1'den büyük ve $ N $'den küçük herhangi bir sayı olabilir. Model, her bir gruba dahil edilen örnekleri rastgele seçer, gradyanlarını ortalaması alır ve ardından ağırlıkları ve önyargıyı iterasyon başına bir kez günceller.
Her bir grup için örnek sayısının belirlenmesi, veri kümesine ve kullanılabilir bilgi işlem kaynaklarına bağlıdır. Genel olarak küçük toplu boyutlar SGD gibi, büyük toplu boyutlar ise tam toplu gradyan azalma gibi davranır.
Şekil 26. Küçük grup SGD ile eğitilmiş model.
Bir modeli eğitirken gürültünün, ortadan kaldırılması gereken istenmeyen bir özellik olduğunu düşünebilirsiniz. Ancak belirli miktarda gürültü iyi bir şey olabilir. Daha sonraki modüllerde, gürültünün bir modelin genelleştirmesini nasıl iyileştirebileceğini ve sinir ağında optimum ağırlıkları ve önyargıları nasıl bulacağınızı öğreneceksiniz.
Dönemler
Eğitim sırasında bir dönem, modelin eğitim veri kümesindeki her örneği bir kez işlediği anlamına gelir. Örneğin, 1.000 örnek içeren bir eğitim kümesi ve 100 örneklik bir mini grup boyutu verildiğinde, modelin bir epoch'u tamamlaması 10 iterations sürer.
Eğitim genellikle birçok epoch gerektirir. Yani sistemin, eğitim veri kümesindeki her örneği birden çok kez işlemesi gerekir.
Dönem sayısı, model eğitime başlamadan önce belirlediğiniz bir hiper parametredir. Çoğu durumda, modelin yakınsaması için kaç epoch gerektiğini denemeniz gerekir. Genel olarak, daha fazla dönem daha iyi bir model oluşturur ancak eğitilmesi de daha uzun sürer.
Şekil 27. Tam toplu işleme ve mini toplu işleme.
Aşağıdaki tabloda, toplu boyut ve dönemlerin bir modelin parametrelerini güncelleme sayısıyla ilişkisi açıklanmaktadır.
Grup türü | Ağırlıklar ve önyargı güncellemeleri ne zaman gerçekleşir? |
---|---|
Tam toplu işlem | Model, veri kümesindeki tüm örnekleri inceledikten sonra. Örneğin, bir veri kümesi 1.000 örnek içeriyorsa ve model 20 dönem boyunca eğitiliyorsa model, ağırlıkları ve önyargıyı 20 kez (dönem başına bir kez) günceller. |
Stokastik gradyan inişi | Model, veri kümesinden tek bir örneği inceledikten sonra. Örneğin, bir veri kümesi 1.000 örnek içeriyorsa ve 20 epoch boyunca eğitiliyorsa model, ağırlıkları ve önyargıyı 20.000 kez günceller. |
Mini grup stokastik gradyan inişi | Model her gruptaki örnekleri inceledikten sonra. Örneğin, bir veri kümesi 1.000 örnek içeriyorsa, toplu boyutu 100 ise ve model 20 dönem boyunca eğitilirse model, ağırlıkları ve önyargıyı 200 kez günceller. |