Derin Öğrenmede hiperparametreleri seçme rehberi


38

Yığılmış otomatik kodlayıcılar veya derin inanç ağları gibi derin bir mimarinin hiperparametrelerinin nasıl seçileceğine dair bir kılavuz vermede yardımcı olabilecek bir makale arıyorum. Çok fazla hiperparametre var ve nasıl seçileceği konusunda kafam çok karıştı. Çapraz doğrulama kullanmak da bir eğitim değil çünkü eğitim gerçekten çok zaman alıyor!


Ian Goodfellow'un Derin Öğrenme Kitabını öneriyorum: deeplearningbook.org
Vadim Smolyakov

Yanıtlar:


24

Temelde dört yöntem var:

  1. Manuel Arama: Problem tahminleri hakkında sahip olduğunuz bilgiyi kullanarak parametreleri tahmin edin ve sonucu gözlemleyin. Bu sonuca göre parametreleri tweak. İşe yarayacak parametreleri bulana veya zamanınız bitene kadar bu işlemi tekrarlayın.
  2. Grid Search: Problem hakkında sahip olduğunuz bilgiyi kullanarak hiperparametrelerin aralıklarını tanımlayın. Ardından, genellikle eşit olarak dağıtılmış, bu aralıklardan birkaç nokta seçin. Her parametre kombinasyonunu kullanarak ağınızı eğitin ve en iyi performansı gösteren kombinasyonu seçin. Alternatif olarak, aramanızı, en iyisini yapan parametrelerin ortalandığı daha dar bir alanda tekrarlayabilirsiniz.
  3. Rastgele Arama: Kılavuz arama gibi, hiperparametrelerin aralıklarını belirlemek için problemin bilgisini kullanırsınız. Ancak bu aralıklardaki değerleri metodik bir şekilde seçmek yerine rasgele seçersiniz. İyi sonuç veren parametreleri bulana kadar bu işlemi tekrarlayın veya aramanızı daraltmak için öğrendiklerinizi kullanın. Bu makalede , Hiper Parametre Optimizasyonu için Rastgele Arama Dr. Bengio, diğer tüm metotların karşılaştırılması gereken temel metot olduğunu ve diğer metotlardan daha iyi çalışma eğiliminde olduğunu göstermektedir.
  4. Bayesian Optimizasyonu: Daha yakın tarihli bir çalışma, bir sonraki deney için hiper parametrelerinin nasıl ayarlanacağına karar vermek için herhangi bir deneyden elde edilen bilgileri kullanarak bu diğer yaklaşımların geliştirilmesine odaklanmıştır. Bu çalışmanın bir örneği Adams ve ark. Tarafından Makine Öğrenmesi Algoritmalarının Pratik Bayesian Optimizasyonu olabilir .

14

Çok çeşitli yöntemler vardır. Rasgele / yönlendirilmemiş arama yöntemlerinde (ızgara arama veya rasgele arama gibi) ve doğrudan yöntemlerde büyük ölçüde bölümlendirilebilirler. Ancak, şanslı olmadığınız sürece hepsinin önemli miktarda hiperparametre ayarlarının test edilmesinin gerekli olduğunu unutmayın (en azından yüzlerce, parametre sayısına bağlıdır).

Doğrudan yöntem sınıfında, birkaç farklı yaklaşım tanımlanabilir:

  • türevsiz yöntemler, örneğin Nelder-Mead simplex veya DIRECT
  • CMA-ES ve parçacık sürüleri gibi evrimsel yöntemler
  • model tabanlı yaklaşımlar, örneğin EGO ve sıralı Kriging

Hiperparametre ayarı için çeşitli çözücüler sunan bir Python paketi olan Optunity'ye bakmak isteyebilirsiniz (şimdilik EGO ve Kriging hariç bahsettiğim her şey). Yakında MATLAB ve R için optimizasyon sağlanacaktır. Yasal Uyarı: Bu paketin ana geliştiricisiyim.

Kişisel deneyimime dayanarak, evrimsel yöntemler bu tür sorunlar için çok güçlü.


10

Başka yerde arama! Yoshua Bengio, en sevdiğim uygulamalı makalelerimden birini yayınladı; bunlardan biri sinir ağlarını eğitmeye başladıklarında tüm yeni makine öğrenim mühendislerine önereceğim: Derin mimarilerin gradyan tabanlı eğitimi için pratik öneriler. Hiperparametre dönüşüne bakış açısını almak için: öğrenme oranı, öğrenme hızı programı, erken durma, minibatch boyutu, gizli katman sayısı vb. Dahil, Bölüm 3'e bakın.

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.