Yarı rastgele arama

Bu birim, yarı rastgele aramaya odaklanır.

Neden yarı rastgele aramayı kullanmalısınız?

Ayarlama sorunuyla ilgili bilgileri en üst düzeye çıkarmak için tasarlanmış iteratif bir ayarlama sürecinin parçası olarak kullanıldığında, süslü kara kutu optimizasyon araçlarına kıyasla tercihimiz yarı rastgele aramadır ("keşif aşaması" olarak adlandırdığımız). Bayes optimizasyonu ve benzer araçlar, sömürü aşaması için daha uygundur. Rastgele kaydırılmış düşük tutarsızlıklı dizilere dayalı yarı rastgele arama, belirli bir arama alanını tekdüze ancak rastgele bir şekilde keşfettiği ve arama noktalarını rastgele aramadan daha fazla dağıttığı için "jitterli, karıştırılmış ızgara araması" olarak düşünülebilir.

Yarı rastgele aramanın daha gelişmiş kara kutu optimizasyon araçlarına (ör. Bayes optimizasyonu, evrimsel algoritmalar) kıyasla avantajları şunlardır:

  • Arama alanını uyarlamalı olmayan bir şekilde örneklemek, deneyleri yeniden çalıştırmadan sonradan analizde ayarlama hedefini değiştirmeyi mümkün kılar. Örneğin, genellikle eğitimdeki herhangi bir noktada elde edilen doğrulama hatası açısından en iyi denemeyi bulmak isteriz. Ancak yarı rastgele aramanın uyarlanabilir olmayan yapısı, herhangi bir denemeyi yeniden çalıştırmadan nihai doğrulama hatası, eğitim hatası veya bazı alternatif değerlendirme metriklerini temel alarak en iyi denemeyi bulmayı mümkün kılar.
  • Yarı rastgele arama, tutarlı ve istatistiksel olarak tekrarlanabilir bir şekilde çalışır. Arama algoritmasının uygulanması değişse bile aynı tekdüzelik özelliklerini koruduğu sürece altı ay önceki bir çalışmayı yeniden üretmek mümkün olmalıdır. Gelişmiş Bayes optimizasyon yazılımı kullanılıyorsa uygulama, sürümler arasında önemli bir şekilde değişebilir. Bu da eski bir aramanın yeniden oluşturulmasını çok daha zor hale getirir. Eski bir uygulamaya geri dönmek her zaman mümkün değildir (ör. optimizasyon aracı bir hizmet olarak çalıştırılıyorsa).
  • Arama alanını tekdüze bir şekilde keşfetmesi, sonuçlar ve arama alanıyla ilgili ne gibi öneriler sunabilecekleri hakkında mantıklı çıkarım yapmayı kolaylaştırır. Örneğin, yarı rastgele aramanın geçişinde en iyi nokta arama alanının sınırındaysa bu, arama alanı sınırlarının değiştirilmesi gerektiğinin iyi (ancak hatasız olmayan) bir işaretidir. Ancak, uyarlanabilir bir kara kutu optimizasyon algoritması, eşit derecede iyi noktalar içerse bile bazı şanssız erken denemeler nedeniyle arama alanının ortasını ihmal etmiş olabilir. Bunun nedeni, iyi bir optimizasyon algoritmasının aramayı hızlandırmak için tam olarak bu tür bir düzensizliği kullanması gerekmesidir.
  • Uyarlanabilir algoritmalardan farklı olarak, sıralı yerine paralel olarak farklı sayıda deneme çalıştırmak, yarı rastgele arama (veya diğer uyarlanabilir olmayan arama algoritmaları) kullanıldığında istatistiksel olarak farklı sonuçlar vermez.
  • Daha gelişmiş arama algoritmaları, özellikle de nöral ağ hiperparametre ayarlaması göz önünde bulundurularak tasarlanmamışsa uygulanamaz noktaları her zaman doğru şekilde işleyemeyebilir.
  • Yarı rastgele arama basittir ve özellikle birçok ayar denemesi paralel olarak çalışırken iyi çalışır. Anekdot olarak1, özellikle birçok denemenin paralel olarak çalıştırılması gerektiğinde (ve bu nedenle yeni denemeler başlatırken önceki deneme sonuçlarını kullanma şansı çok az olduğunda) uyarlanabilir bir algoritmanın, bütçesinin 2 katına sahip olan yarı rastgele bir aramayı yenmesi çok zordur. Bayes optimizasyonu ve diğer gelişmiş kara kutu optimizasyon yöntemleri konusunda uzmanlığınız yoksa bu yöntemlerin sağlayabileceği avantajlardan yararlanamayabilirsiniz. Gerçekçi derin öğrenme ayarlama koşullarında gelişmiş kara kutu optimizasyon algoritmalarını karşılaştırmak zordur. Bu alandaki araştırmalar son derece aktiftir ve daha karmaşık algoritmalar, deneyimsiz kullanıcılar için kendi tuzaklarına sahiptir. Bu yöntemlerde uzmanlar iyi sonuçlar elde edebilir ancak yüksek paralellik koşullarında arama alanı ve bütçe çok daha önemli olma eğilimindedir.

Bununla birlikte, hesaplama kaynaklarınız yalnızca az sayıda denemenin paralel olarak çalıştırılmasına izin veriyorsa ve birçok denemeyi sırayla çalıştırabiliyorsanız ayarlama sonuçlarınızın yorumlanmasını zorlaştırmasına rağmen Bayes optimizasyonu çok daha cazip hale gelir.

Açık Kaynak Vizier, yarı rastgele arama özelliğine sahiptir. Bu Vizier kullanım örneğinde algorithm="QUASI_RANDOM_SEARCH" değerini ayarlayın. Bu hiperparametre tarama örneğinde alternatif bir uygulama mevcuttur. Bu uygulamaların her ikisi de belirli bir arama alanı için bir Halton dizisi oluşturur (Critical Hyper-Parameters: No Random, No Cry (Kritik Hiper Parametreler: Rastgele Değil, Ağlama Yok) bölümünde önerildiği gibi kaydırılmış, karıştırılmış bir Halton dizisi uygulamak için tasarlanmıştır.

Düşük tutarsızlık sırasına dayalı yarı rastgele bir arama algoritması kullanılamıyorsa bunun yerine, rastgele tekdüze aramayı kullanmak mümkündür. Ancak bu yöntemin biraz daha az etkili olması muhtemeldir. 1-2 boyutta ızgara araması da kabul edilir ancak daha yüksek boyutlarda kabul edilmez. (Bergstra ve Bengio, 2012'ye bakın).

Yarı rastgele aramayla iyi sonuçlar elde etmek için kaç deneme gerekir?

Genel olarak yarı rastgele aramayla sonuç almak için kaç deneme gerektiğini belirlemenin bir yolu yoktur ancak belirli örneklere bakabilirsiniz. Şekil 3'te gösterildiği gibi, bir çalışmadaki deneme sayısı sonuçlar üzerinde önemli bir etkiye sahip olabilir:

Doğrulama hata oranı (y-ekseni) ve ayarlama bütçesi (x-ekseni) arasındaki kutu grafiği. Ayarlama bütçesi, denemelerin sayısıdır. Ortalama doğrulama hata oranı, ayarlama bütçesi arttıkça genellikle düştü.

Şekil 3: ResNet-50, 100 denemeyle ImageNet üzerinde ayarlanmıştır. Bootstrapping kullanılarak farklı ayarlama bütçesi tutarları simüle edildi. Her deneme bütçesi için en iyi performansların kutu grafikleri çizilir.

 

Şekil 3 ile ilgili olarak aşağıdakilere dikkat edin:

  • 6 deneme örneklendiğinde çeyrek aralık aralıkları, 20 deneme örneklendiğinde olduğundan çok daha büyüktür.
  • 20 deneme olsa bile, özellikle şanslı ve şanssız çalışmalar arasındaki fark, sabit hiper parametrelerle farklı rastgele tohumlarda bu modelin yeniden eğitilmeleri arasındaki tipik varyasyondan büyük olabilir.Bu iş yükü için bu varyasyon, yaklaşık% 23'lük bir doğrulama hata oranında yaklaşık +/- %0,1 olabilir.


  1. Ben Recht ve Kevin Jamieson, 2 kat bütçeli rastgele aramanın referans olarak ne kadar güçlü olduğuna dikkat çekti (Hyperband makalesinde benzer argümanlar sunulur). Ancak en son Bayes optimizasyon tekniklerinin, 2 kat bütçeye sahip rastgele aramayı alt ettiği arama alanları ve sorunlar bulmak kesinlikle mümkündür. Ancak deneyimlerimize göre, Bayes optimizasyonunun önceki denemelerin sonuçlarını gözlemleme fırsatı olmadığından, yüksek paralellik rejimde 2 kat bütçeli rastgele aramayı aşmak çok daha zor oluyor.