Sinir ağlarını optimize etmek için neden Genetik Algoritmalar kullanılmıyor?


13

Anladığım kadarıyla, Genetik Algoritmalar çok amaçlı optimizasyon için güçlü araçlardır.

Ayrıca, Yapay Sinir Ağlarının (özellikle derin olanların) eğitimi zordur ve birçok sorunu vardır (dışbükey olmayan maliyet fonksiyonları - yerel minima, yok olan ve patlayan gradyanlar vb.).

Ayrıca kavramsal olarak GA ile bir NN eğitimi almanın mümkün olduğunu düşünüyorum. Merak ediyordum, neden pratikte kullanılmıyorlar? Performans meselesi mi?

Yanıtlar:


5

Sinir Ağlarının (NN) Genetik Algoritmalar (GA) ile eğitilmesi sadece mümkün olmakla kalmaz, aynı zamanda performansın sıkça kullanılacak kadar iyi olduğu bazı niş alanlar da vardır. Bunun iyi bir örneği, oyun gibi basit ortamlarda denetleyici üretmeye başarılı bir yaklaşım olan topolojileri veya NEAT'ı arttırma Nöro-evrimi'dir .

Yine de daha genel bir durumda, yaklaşım, ayarlanacak birçok parametreye sahip büyük, derin ağlara iyi ölçeklenmez.

Genetik algoritmalar ve optimal parametreler için diğer global aramalar, gradyan tabanlı algoritmaların olmadığı şekilde sağlamdır. Örneğin, bir NN'yi adım işlevi etkinleştirmeleriyle veya diğer ayırt edilemeyen etkinleştirme işlevleriyle eğitebilirsiniz. Başka yerlerde zayıflıkları var. NN'ler için kullanılan GA'lar ile ilgili bir şey, ağırlık parametrelerinin bazı kombinasyonlarda değiştirilebilir, ancak diğer kombinasyonlarda büyük ölçüde birbirine bağımlı olmasıdır. Eşit derecede iyi iki sinir ağını bir GA'da çapraz geçiş yapacağınız farklı parametrelerle birleştirmek genellikle düşük performansa sahip üçüncü bir ağ ile sonuçlanır. NEAT'ın başarısı kısmen NN'nin bağlantılarını "büyüterek" ve benzer sinir ağları arasında eşleştirerek bu sorunu çözmenin bir yolunu bulmaktır.

Gradyan tabanlı yaklaşımlar çok daha verimlidir. Genel olarak ve sadece NN alanlarında değil, bir işlevin parametrelere göre gradyanını hesaplayabiliyorsanız, en uygun parametreleri diğer çoğu optimizasyon tekniğinden daha hızlı bulabilirsiniz. Doğru bir gradyan, tek bir değerlendirmeden en az küçük bir iyileşmeyi garanti eder ve diğer optimizasyon uzmanlarının çoğu, bu tür bir garanti veremeyen bir üret ve yeniden dene paradigmasına düşer. Yerel optima bulma eğiliminin zayıflığı, NN'lerde kayıp fonksiyonları için büyük bir engel teşkil etmedi ve momentum, RPROP, Adam vb.

Büyük bir çok katmanlı ağ üzerinde uygulamada, gradyan yöntemleri büyük olasılıkla ağ parametrelerini bulmak için NEAT gibi GA aramalarından daha hızlıdır. ImageNet'i ve hatta GA'nın ağ ağırlıklarını yardımsız bulduğu MNIST'i çözen GA eğitimli hiçbir CNN bulamazsınız. Bununla birlikte, GA'lar veya en azından bazı varyantları% 100 dışlanmaz. Örneğin, bu 2017 blogu , makine öğreniminde önemli bir görev olan ve gradyan tabanlı yöntemler kullanarak çok izlenebilir olmayan NN hiperparametreleri keşfetmek için GA'ları kullanarak keşif eden Büyük Ölçekli Görüntü Sınıflandırıcıların Evrimi dahil olmak üzere son makaleleri gözden geçiriyor .


1

Aslında, Google Brain zaten resim sınıflandırıcılar için benzer bir şey yaptı

Yine de, araştırmaları ağları eğitmek için backpropagation kullanıyor, ancak iyi bir mimari bulmak için genetik algoritmalar kullanıyorlar. Bahsedilmesi gereken bir şey daha var: en iyi modellerine ulaşmak için - muazzam miktarda hesaplama gücü gerektiriyordu.

İlk gazeteyi 2017'de yayınladılar ve 2018'de geliştirilmiş bir versiyona sahip oldular . Bu konuyu blog yazılarında okuyabilirsiniz

Ağ mimarisi araştırması için başka bir araştırma var , ancak genetik algoritmalar yerine bayes optimizasyonu kullanıyorlar

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.