Yanıtlar:
Bu, fonksiyonun asgariye indirilmesiyle ilgili bir problemdir, eğer gerçek global minimumun bulunması önemliyse, o zaman simüle edilmiş bir tavlama yöntemi kullanın . Bu, küresel asgariyi bulabilecek, ancak bunu yapmak çok zaman alabilir.
Sinir ağları söz konusu olduğunda, yerel minima mutlaka bir sorun yaratmaz. Yerel minimumların bir kısmı, gizli katman birimlerine izin vererek veya ağın giriş ve çıkış ağırlıklarını vb. Dikkate alarak işlevsel olarak özdeş bir model alabilmenizden kaynaklanmaktadır. performanstaki fark çok az olacak ve bu yüzden gerçekten önemli olmayacak. Son olarak, ve bu önemli bir nokta, bir sinir ağını yerleştirmedeki ana problem aşırı sığdırıcı, bu nedenle, agresif bir şekilde maliyet fonksiyonunun küresel asgari seviyesini aramak, aşırı yüklenme ve kötü performans gösteren bir modelle sonuçlanabilir.
Düzenli bir terim eklemek, örneğin kilo kaybı, yerel minima sorununu biraz azaltabilen maliyet işlevini hafifletmeye yardımcı olabilir ve zaten fazla uydurmamak için tavsiye edebileceğim bir şey.
Bununla birlikte, sinir ağlarında yerel minimadan kaçınmanın en iyi yöntemi, yerel minima ile daha az problemi olan bir Gauss Süreci modeli (veya Radyal Temel Fonksiyon sinir ağı) kullanmaktır.
Degrade iniş bir optimizasyon algoritmasıdır .
Bir ameliyat birçok optimizasyon algoritmaları vardır sabit sayıda bir gerçek değerlerle (ilişkilidir olmayan ayrılabilir ). Onları kabaca 2 kategoriye ayırabiliriz: gradyan tabanlı optimize ediciler ve türev içermeyen optimize ediciler. Genellikle nöral ağları denetimli bir ortamda optimize etmek için gradyanı kullanmak istersiniz çünkü bu türevsiz optimizasyondan çok daha hızlıdır. Yapay sinir ağlarını optimize etmek için kullanılan çok sayıda gradyan tabanlı optimizasyon algoritması vardır:
Ve sinir ağları optimizasyonu için önerilen diğer birçok algoritmalar olmuştur, optimizasyon veya v-SGD Hessian içermeyen google olabilir (adaptif öğrenme oranları ile SGD birçok türü vardır, örneğin bakınız buraya ).
NN'ler için optimizasyon çözülmüş bir problem değil! Tecrübelerime göre en büyük zorluk iyi bir yerel minimum bulmamak. Bununla birlikte, zorluklar çok düz bölgelerden uzaklaşmak, koşulsuz hata fonksiyonlarıyla uğraşmaktır. LMA ve Hessian'ın yaklaşımlarını kullanan diğer algoritmaların pratikte bu kadar iyi çalışmasının ve insanların stokastik versiyonları geliştirmeye çalışmasının nedeni budur. Bu düşük karmaşıklığı olan ikinci derece bilgiyi kullanır. Ancak, genellikle minibatch SGD için ayarlanmış çok iyi ayarlanmış bir parametre, herhangi bir karmaşık optimizasyon algoritmasından daha iyidir.
Genellikle global bir optimum bulmak istemezsiniz. Çünkü bu genellikle eğitim verilerinin yenilenmesini gerektirir.
Gradyan inişine ilginç bir alternatif, evrimsel algoritmalar (EA) ve partikül sürü optimizasyonu (PSO) gibi popülasyon bazlı eğitim algoritmalarıdır. Nüfusa dayalı yaklaşımların ardındaki temel fikir, bir aday çözüm popülasyonunun (NN ağırlık vektörleri) yaratılması ve aday çözümlerin arama alanını yinelemeli bir şekilde keşfetmesi, bilgi alışverişi yapması ve en sonunda bir asgariye yaklaşmasıdır. Birçok başlangıç noktası (aday çözüm) kullanıldığından, küresel minimumda yakınlaşma şansı önemli ölçüde artar. PSO ve EA'nın karmaşık NN eğitim problemlerinde gradyan inişinden daha iyi performans göstererek sıklıkla (her zaman olmasa da) çok rekabetçi bir performans gösterdikleri gösterilmiştir.
Bu konunun oldukça eski olduğunu biliyorum ve diğerleri yerel minima, fazladan takma vb. Kavramları açıklamak için harika bir iş çıkardılar. Ancak, OP alternatif bir çözüm ararken, bunlardan birine katkıda bulunmaya çalışacağım ve daha ilginç fikirlere ilham vereceğini umuyorum.
Fikir her ağırlığı w ile w + t arasında değiştirmektir, burada t Gauss dağılımını takip eden rastgele bir sayıdır. Ağın nihai çıktısı, t'nin tüm olası değerlerinin ortalama çıktısıdır. Bu analitik olarak yapılabilir. Ardından sorunu degrade iniş veya LMA veya diğer optimizasyon yöntemleriyle optimize edebilirsiniz. Optimizasyon tamamlandıktan sonra iki seçeneğiniz vardır. Bir seçenek, Gauss dağılımındaki sigmayı azaltmak ve sigma 0'a ulaşıncaya kadar optimizasyonu tekrar tekrar yapmaktır, o zaman daha iyi bir yerel asgariye sahip olacaksınız (ancak potansiyel olarak fazla uydurmaya neden olabilir). Diğer bir seçenek ise ağırlıkları rasgele sayı ile olanı kullanmaya devam etmektir, genellikle daha iyi genelleme özelliğine sahiptir.
İlk yaklaşım, bir optimizasyon numarasıdır (hedef işlevi değiştirmek için parametreler üzerinde evrişimi kullandığı için evrişimsel tünel olarak adlandırıyorum), maliyet fonksiyonu peyzajının yüzeyini yumuşatır ve bazı yerel minimumlardan kurtulur. Global minimum (veya daha iyi yerel minimum) bulmayı kolaylaştırın.
İkinci yaklaşım gürültü enjeksiyonu ile ilgilidir (ağırlıklar). Bunun analitik olarak yapıldığına dikkat edin, bu nihai sonucun birden çok ağ yerine tek bir ağ olduğu anlamına gelir.
Aşağıdakiler iki spiralli problem için örnek çıktılardır. Ağ mimarisi, her üçü için aynıdır: 30 düğümden yalnızca bir gizli katman vardır ve çıktı katmanı doğrusaldır. Kullanılan optimizasyon algoritması LMA'dır. Soldaki resim vanilya ayarı içindir; orta ilk yaklaşımı kullanıyor (yani, sürekli olarak sigmayı 0'a doğru düşürüyor); Üçüncüsü sigma = 2 kullanıyor.
Vanilya çözümünün en kötü olduğunu, evrişimli tünellemenin daha iyi bir iş çıkardığını ve evriyal tünelleme ile gürültü enjeksiyonunun (genelleme özelliği açısından) en iyisi olduğunu görebilirsiniz.
Hem evri tünel hem de gürültü enjeksiyonunun analitik yolu benim orijinal fikirlerim. Belki birilerinin ilgisini çekebilecek alternatiflerdir. Ayrıntıları Makalemde Birinde Sinir Ağlarının Sonsuz Sayısını Birleştirmek . Uyarı: Profesyonel bir akademik yazar değilim ve makale hakem tarafından gözden geçirilmedi. Bahsettiğim yaklaşımlar hakkında sorularınız varsa, lütfen yorum yazın.
Extreme Learning Machines Temel olarak girişleri gizli düğümlere bağlayan ağırlıkların rastgele atandığı ve hiç güncellenmediği bir sinir ağıdır. Gizli düğümler ve çıkışlar arasındaki ağırlıklar, doğrusal bir denklem (matris ters) çözülerek tek bir adımda öğrenilir.