AI Technology Review Press: Doğal dil işleme, görüntü sınıflandırmasından çeviriye ve bir dizi diğer görevlere kadar birçok makine öğrenimi görevi, modeldeki parametreleri ve / veya hiperparametreleri ayarlamak için gradyan içermeyen optimizasyona dayanır. Facebook, parametre / hiper-parametre ayarlamasını daha hızlı ve daha kolay hale getirmek için Nevergrad (https://github.com/facebookresearch/nevergrad) adlı bir Python 3 kitaplığı oluşturdu ve açık kaynak olarak yayınladı. Nevergrad, gradyan hesaplamalarına dayanmayan ve bunları standart bir Q&A Python çerçevesinde sunan birçok optimizasyon algoritması sağlar. Ek olarak, Nevergrad ayrıca test ve değerlendirme araçlarını da içerir.
Nevergrad artık halka açık ve yapay zeka araştırmacıları ve diğer gradyan olmayan optimizasyonla ilgili çalışanlar, işlerine yardımcı olmak için bunu hemen kullanabilirler. Bu platform, yalnızca en gelişmiş algoritmaları ve yöntemleri uygulamalarına ve performanslarını farklı ayarlarda karşılaştırmalarına izin vermekle kalmayacak, aynı zamanda makine öğrenimi bilim insanlarının belirli bir kullanım durumu için en iyi optimize ediciyi bulmalarına yardımcı olacaktır. Facebook Yapay Zeka Araştırma Enstitüsü'nde (FAIR) araştırmacılar, Nevergrad'ı pekiştirmeli öğrenme, görüntü oluşturma ve diğer alanlarda çeşitli projelere uyguluyorlar.Örneğin, makine öğrenimi modellerinin daha iyi ayarlanmasına yardımcı olmak için parametre taramanın yerini alabilir.
Bu kitaplık, aşağıdakiler gibi çeşitli optimize ediciler içerir:
Diferansiyel evrim (Diferansiyel evrim)
Sıralı ikinci dereceden programlama
FastGA
Kovaryans matris uyarlaması
Gürültü yönetimi için nüfus kontrol yöntemleri (Gürültü yönetimi için nüfus kontrol yöntemleri)
Parçacık sürüsü optimizasyonu
Bundan önce, bu algoritmaların kullanımı genellikle araştırmacıların algoritmanın uygulamasını kendilerinin yazmasını gerektiriyordu, bu da çeşitli en yeni yöntemler arasında karşılaştırma yapmalarını zorlaştırıyor, hatta bazen tamamen imkansız hale getiriyordu. Artık yapay zeka geliştiricileri, Nevergrad'ı kullanarak belirli makine öğrenimi sorunları üzerinde farklı yöntemleri kolayca test edebilir ve ardından sonuçları karşılaştırabilir. Alternatif olarak, yeni gradyansız optimizasyon yönteminin mevcut son teknoloji yöntemlerle nasıl karşılaştırıldığını değerlendirmek için iyi bilinen kıyaslamaları kullanabilirler.
Nevergrad'da bulunan gradyan içermeyen optimizasyon yöntemleri, aşağıdakiler gibi çeşitli makine öğrenimi problemleri için kullanılabilir:
Çoklu yerel minimumlarla ilgili sorunlar gibi çok modlu problemler. (Dil modellemesi için derin öğrenme hiperparametrelendirmesi gibi.)
Kötü koşullandırılmış problemler genellikle tamamen farklı dinamik özelliklere sahip birden çok değişkeni optimize ederken ortaya çıkar (belirli bir problem için ayarlanmayan atma ve öğrenme oranları gibi).
Kısmi rotasyon problemleri dahil ayrılabilir veya dönen problemler.
Kısmen ayrılabilir sorunlar birkaç değişken blok aracılığıyla çözülebilir. Örnekler arasında derin öğrenme veya diğer mimari arama tasarım formları ve çok görevli ağların parametreleştirilmesi yer alır.
Kesikli, sürekli veya karışık problemler. Bu sorunlar, güç sistemlerini içerebilir (çünkü bazı güç istasyonları ayarlanabilir sürekli çıktıya sahipken diğerleri sürekli veya yarı sürekli çıktıya sahiptir) veya her katman için öğrenme hızının, ağırlık zayıflamasının ve doğrusal olmayan türdeki sinir ağı görevlerinin eşzamanlı seçilmesini gerektirebilir. .
Bir gürültü problemi vardır, yani bu problem için fonksiyon, pekiştirmeli öğrenmedeki farklı seviyeler gibi tam olarak aynı parametrelerle çağrıldığında farklı sonuçlar döndürebilir.
Makine öğreniminde Nevergrad, öğrenme hızı, momentum, ağırlık azalması (belki her katman için), bırakma algoritması, derin ağın her parçası için katman parametreleri ve diğerleri gibi parametreleri ayarlamak için kullanılabilir. Daha genel olarak, gradyan olmayan yöntemler ayrıca grid yönetimi (https://www.sciencedirect.com/science/article/pii/S0142061597000409), havacılık (https://www.sciencedirect.com/science/article/ pii / S0142061597000409), lens tasarımı (https://www.researchgate.net/publication/222434804_Human-competitive_lens_system_design_with_evolution_strategies) ve diğer birçok bilimsel ve mühendislik uygulamaları.
Bu örnek evrimsel algoritmanın nasıl çalıştığını göstermektedir. İşlev alanındaki arama noktalarını örnekleyin, en iyi nokta topluluğunu seçin ve ardından mevcut nokta topluluğunu optimize etmeye çalışmak için mevcut noktaların etrafında yeni noktalar önerin.
Facebook araştırma ekibi, belirli algoritmaların belirli durumlarda en iyi performansı gösterdiğini göstermek için çeşitli kıyaslamaları uygulamak için Nevergrad'ı kullandı. Bu iyi bilinen örnekler, çeşitli ayarlara (çok modlu veya çok modlu olmayan, gürültülü veya gürültüsüz, ayrık veya ayrık olmayan, kötü koşullu veya kötü koşulsuz) karşılık gelir ve en iyi optimizasyon algoritmasını belirlemek için Nevergrad'ın nasıl kullanılacağını gösterir.
Her kıyaslama testinde, Facebook araştırma ekibi farklı X değerleri üzerinde bağımsız deneyler yaptı. Bu, çeşitli yöntemler arasında birkaç X değeri üzerinden tutarlı sıralamanın istatistiksel olarak anlamlı olmasını sağlar. Aşağıdaki iki kıyaslama örneğine ek olarak, burada (https://github.com/facebookresearch/nevergrad/blob/master/docs/benchmarks.md) daha kapsamlı bir liste var ve basit bir komut satırının nasıl kullanılacağını ekliyor Bu karşılaştırmaları yeniden çalıştırmak için yönergeler.
Bu şekil, gürültü optimizasyonunun bir örneğini göstermektedir
Bu örnek, pcCMSA-ES gürültü yönetimi ilkelerini (https://homepages.fhv.at/hgb/New-Papers/PPSN16_HB16.pdf) kullanan TBPSA'nın birkaç alternatiften nasıl daha iyi performans gösterdiğini göstermektedir. Facebook araştırma ekibi burada sadece TBPSA'yı algoritmanın sınırlı bir örneğiyle karşılaştırıyor, ancak diğer yöntemlerden daha iyi performans gösteriyor.
Nevergrad platformu, birçok makine öğrenimi senaryosunda görünen ayrı amaç işlevlerini de yürütebilir. Bu senaryolar, örneğin, sınırlı bir seçenek kümesi arasından seçim yapmayı (sinir ağlarındaki etkinleştirme işlevleri gibi) ve çeşitli katman türleri arasından seçim yapmayı (örneğin, ağdaki belirli konumların atlanıp atlanmayacağına karar vermeyi içerir. bağ).
Mevcut alternatif platformlar (Bbob ve Cutest) herhangi bir ayrı kıyaslama içermiyor. Nevergrad, softmax işlevi (ayrık sorunları gürültülü sürekli sorunlara dönüştürme) veya sürekli değişkenlerin ayrıklaştırılmasıyla işlenen ayrık etki alanlarını yürütemez.
Facebook araştırma ekibi, bu senaryoda FastGA'nın (https://arxiv.org/abs/1703.03334) en iyi performansı gösterdiğini fark etti. DoubleFastGA, 1 / dim ve (dim-1) / dim arasındaki mutasyon oranına karşılık gelir, 1 / dim ve 1/2 değil. Bunun nedeni, orijinal aralığın ikili alana karşılık gelmesi ve burada keyfi alanı dikkate almalarıdır. Birkaç senaryoda, basit ve tutarlı bir mutasyon oranı karışımı (https://arxiv.org/abs/1606.05551) iyi performans gösterdi.
Faacebook, araştırmacıların yeni algoritmalar oluşturmasına ve değerlendirmesine yardımcı olmak için Nevergrad'a özellikler eklemeye devam edecek. İlk sürümün temel manuel test yetenekleri var, ancak Facebook, fiziksel modelleri temsil etme yeteneği de dahil olmak üzere ona daha fazla özellik eklemeyi planlıyor. Uygulama açısından, Nevergrad'ın kullanımını kolaylaştırmaya ve eğimi iyi belirleyemeyen PyTorch takviye öğrenme modelindeki parametreleri optimize etmek için kullanmaya devam edecekler. Nevergrad, parametre taraması için A / B testi ve iş planlama gibi diğer görevlere de yardımcı olabilir.
Via: https://code.fb.com/ai-research/nevergrad/, AI Technology Review tarafından derlenmiştir.
Facebook Yapay Zeka Araştırma Enstitüsü'nün yıllar içindeki önemli başarılarını görüntülemek için orijinal metni okumak için tıklayın