Geri yayılım olmadan bir sinir ağı eğitmek mümkün mü?


94

Birçok sinir ağı kitabı ve öğreticisi, esas olarak degradeyi hesaplamak için bir araç olan backpropagation algoritmasına çok zaman harcıyor.

Diyelim ki ~ 10K parametreleri / ağırlıkları olan bir model inşa ediyoruz. Bazı degrade serbest optimizasyon algoritmaları kullanarak optimizasyonu çalıştırmak mümkün müdür?

Sayısal gradyanı hesaplamanın çok yavaş olacağını düşünüyorum, ama Nelder-Mead, Simüle Tavlama veya Genetik Algoritma gibi diğer yöntemlere ne dersiniz?

Tüm algoritmalar yerel minimadan muzdarip, neden gradyan takıntılı?



6
@FranckDernoncourt "neden kullanmaz gibi diğer soru yorumlanır küresel Bu bir daha oysa" neden kullanmaz, yapay sinir ağları eğitmek için optimizasyon teknikleri? " Türev içermeyen ... optimzers".
GeoMatt22 20:16

6
Yanıtlanan 3 cevapla, bu bana cevap verilemeyecek kadar geniş görünmüyor.
gung

5
Evet, Nelder-Mead'ın yerel asgari düzeyde sıkışıp kalması konusunda fazla endişelenmenize gerek yok, çünkü eğer işe yarar bir yer olursa şanslısınız.
Mark L. Stone

1
BTW, ultra L-BFGS, bir koşuşturma verir. iyi olabilir, ama o kadar belirsiz ki muhtemelen kimse sinir ağlarında denememiş bile. S. 12 ( matemik.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf (makalede ultra BFGS olarak adlandırılmadı ) olan matems.dundee.ac.uk/nasc/na-reports/NA149_RF.pdf ( önceki sayfalarda okunması gerekir ) ultra BFGS yerine ultra L-BFGS olmak için "L" (sınırlı hafıza) sürümüne geçin. L olmayan versiyon kağıtta düzenlenmiştir. Ultra BFGS temelde çorbalanmış ("sıcak çubuk") bir üründür. BFGS - daha hızlı olabilir, ancak biraz daha hızlı olabilir.
Mark L. Stone

Yanıtlar:


80

Bahsettiğiniz ilk iki algoritma (Nelder-Mead ve Simüle Tavlama) genellikle hem daha güvenilir hem de daha az maliyetli olan daha iyi alternatifler olduğu için optimizasyon çevrelerinde oldukça eski olarak kabul edilir. Genetik algoritmalar geniş bir yelpazeyi kapsar ve bunlardan bazıları makul olabilir.

Bununla birlikte, daha geniş bir türev içermeyen optimizasyon (DFO) algoritması sınıfında, son yıllarda aktif bir araştırma alanı olduğu için, bu "klasiklerden" daha iyi olan birçok kişi var. Öyleyse, bu yeni yaklaşımlardan bazıları derin öğrenme için makul olabilir mi?

Tekniğin durumunu karşılaştıran nispeten yeni bir makale aşağıdadır:

Rios, LM ve Sahinidis, NV (2013) Türevsiz optimizasyon: algoritmaların incelenmesi ve yazılım uygulamalarının karşılaştırılması. Global Optimizasyon Dergisi.

Bu, son tekniklerle ilgili birçok ilginç kavrayışı olan hoş bir yazıdır. Örneğin, sonuçlar açıkça en iyi yerel optimize edicilerin farklı sıralı kuadratik programlama biçimlerini (SQP) kullanan "model tabanlı" olduğunu göstermektedir .

Ancak, özetlerinde belirtildiği gibi, "Bütün bu çözücülerin iyi çözümler elde etme yeteneğinin artan problem büyüklüğü ile azaldığını buluyoruz." Sayılar hakkında bir fikir vermek için, tüm problemler için çözücülere 2500 fonksiyon değerlendirmesi bütçesi verildi ve problem büyüklükleri optimize etmek için maksimum ~ 300 parametre idi. O [10] parametrelerinin ötesinde, bu optimize edicilerden çok azı çok iyi performans gösterdi ve en iyileri bile sorun boyutu arttıkça performansta gözle görülür bir azalma gösterdi.

Bu yüzden, çok yüksek boyutlu problemler için, DFO algoritmaları türev tabanlı olanlarla rekabetçi değildir. Bir bakış açısı vermek gerekirse, PDE (kısmi diferansiyel denklem) tabanlı optimizasyon , çok yüksek boyut problemleri olan başka bir alandır (örneğin, büyük bir 3D sonlu elemanlar ızgarasının her hücresi için birkaç parametre). Bu alanda, " eşleştirme yöntemi " en çok kullanılan yöntemlerden biridir. Bu ayrıca ileri model kodunun otomatik farklılaşmasına dayanan bir degrade iniş iyileştiricisidir.

Yüksek boyutlu bir DFO iyileştiricisine en yakın olan belki de hava durumu modelleri gibi karmaşık PDE simülasyonlarına veri özümsemek için kullanılan Ensemble Kalman Filtresidir . İlginç bir şekilde, bu esasen bir SQP yaklaşımıdır, ancak Bayes-Gauss yorumuyla (yani ikinci dereceden bir model olumlu, yani hiçbir eyer noktası yok). Ancak, bu uygulamalardaki parametre ya da gözlem sayısının derin öğrenmede görülenlerle karşılaştırılabilir olduğunu sanmıyorum.

Not: (yerel minima): Derin öğrenmede okuduğum küçükten itibaren, fikir birliğinin, yüksek boyutlu NN parametresi için en problemli olan yerel minimadan ziyade eyer noktaları olduğu kanaatindeyim .

Örneğin, Nature dergisindeki son incelemede , "Son teorik ve ampirik sonuçlar, yerel minarinin genel olarak ciddi bir sorun olmadığını şiddetle tavsiye ediyor. Bunun yerine, manzara, gradyanın sıfır olduğu ve birleştiği zaman çok sayıda eyer noktasıyla doludur. yüzey çoğu boyutta yukarı doğru eğriler ve geri kalan kısımda aşağı doğru eğriler. "

İlgili bir endişe yerel ve küresel optimizasyon hakkındadır (örneğin, bu soru yorumlarda belirtilmiştir). Derin öğrenme yapmasam da, tecrübelerime göre abartmak kesinlikle geçerli bir mesele. Kanımca, global optimizasyon yöntemleri en çok "doğal" verilere dayanmayan mühendislik tasarım problemleri için uygundur . Veri asimilasyon problemlerinde, mevcut herhangi bir küresel minima, yeni veri eklendikten sonra kolayca değişebilir (ihmal: Deneyim , verilerin model kapasitesine göre genellikle "seyrek" olduğu jeobilim problemlerinde yoğunlaşmıştır).

Belki ilginç bir bakış açısı

O. Bousquet & L. Bottou (2008) Büyük çaplı öğrenmenin değişmesi . NIPS.

Uygulamada neden ve ne zaman yaklaşık optimizasyonun tercih edilebileceği konusunda yarı teorik argümanlar sunar.

Son not (meta optimizasyon): Degrade tabanlı tekniklerin eğitim ağları için baskındır gibi görünmesine rağmen, ilgili meta optimizasyon görevlerinde DFO için bir rol olabilir.

Bir örnek, hiper-parametre ayarı olabilir. (İlginçtir ki, Rios & Sahinidis’in başarılı model tabanlı DFO iyileştiricileri, temel olarak bir dizi deney tasarımı / yanıt yüzeyi problemi çözüyor gibi görünebilir .)

Başka bir örnek, katmanların kurulması (örneğin sayı, tür, sıra, düğüm / katman) anlamında mimarileri tasarlamak olabilir. Bu ayrık optimizasyon bağlamında genetik stil algoritmaları daha uygun olabilir. Burada, bağlantının bu faktörler tarafından dolaylı olarak belirlendiği durumu düşünüyorum (örneğin, tam bağlantılı katmanlar, evrişimli katmanlar vb.). Diğer bir deyişle, bağlantısı olup meta optimize açık. (Bağlantı gücü, örneğin, düzenli hale ve / veya ReLU aktivasyonları ile seyrekliğin desteklenebildiği yerlerde eğitim altında kalacaktır ... ancak bu seçimler meta-optimize edilebilir.)O[N2]notL1


1
Alıntı yaptığınız 'inceleme', sinir ağlarının başlıca savunucularından; Yerel minima hakkındaki iddiayı sorgulayacağım - NN'lerin iyi bilinen bir teorik eleştirisi, kesin olarak herhangi bir karmaşık modelin gradyan inişiyle optimize edilemeyeceği, çünkü yerel minimada sıkışıp kalacağıdır. Sadece fon ile çözülebilecek nns'in başarıları olup olmadığı ve başarısızlıkları duymadığınız açık değildir.
seanv507

2
@ GeoMatt22 Kontrast ayrışması, RBM'lerin altına girdiği özel bir model sınıfının derecesine özel bir yaklaşımdır. RBM'lerin, maksimum olasılık tahmininin gradyanının uygulanamaz olduğu belirli bir dağıtım türünü ima eden olasılıksal modeller olduğu belirtilmelidir. Yapay sinir ağları, herhangi bir olası başlangıç ​​noktası olmadan, örneğin bir menteşe kaybını optimize etmek suretiyle kullanılabilen hesaplamalı modellerdir. Uzun lafın kısası, CD sinir ağlarını optimize etmek için genel bir araç değildir.
bayerj

2
@ seanv507 Bu iddia, büyük destekçiler tarafından yapılmış olsa da, bu iddiaları titizlikle değerlendiren en iyi konferanslardan, örneğin arxiv.org/abs/1406.2572 gibi , makine öğreniminin en iyi konferanslarından gelen makaleler gözden geçirilmiştir . Şimdiye kadar, bu iddia, çoğunlukla üstün teorik argümanları ve ampirik kanıtları nedeniyle, geniş ML topluluğunda yaygın olarak kabul görüyor. Burada bir reklam hominem argümanının yeterli olduğunu sanmıyorum.
bayerj 21:16

1
DL teorisinin eksik olduğuna katılıyorum. Yine de, bunun gibi makalelerin bunu ilerlettiğini kabul etmek zorundasınız. Makalenin yanlış sonuçlara işaret ettiğini ve sonuçların (“yerel minima, eyer noktalarından daha az sorun değil” gibi) geçersiz olduğunu düşünüyorsanız, bu sefer hedeflenen başka bir ad hominem saldırısını belirtmekten daha iyisini yapmanız gerekir. Bir bütün olarak ML topluluğu.
bayerj 21:16

1
Son zamanlarda yapılan çalışmalar rastgele başlatma ile gradyan inişinin yerel bir asgariye (bir eyer noktası yerine) yaklaştığını göstermektedir. Buraya yazdınız : arxiv.org/abs/1602.04915 ve blog buraya yazınız : offconvex.org/2016/03/24/saddles-again Öte yandan, büyük sinir ağlarında yerel minimanın (daha az) yakın tarihli bir hipotezi var Global kadar iyi, burada tartışılan: stats.stackexchange.com/questions/203288/…
DavidR 21:16 '

12

Kullanabileceğiniz her tür yerel arama algoritması var, geri yayılma genel olarak daha karmaşık işler için en verimli olduğu kanıtlandı ; diğer yerel aramaların daha iyi olduğu durumlar var.

Hızlı bir şekilde iyi bir çözüm bulmak için sinir ağındaki rastgele-start-tepe tırmanma yöntemini kullanabilirsiniz , ancak neredeyse optimal bir çözüm bulmak mümkün olmaz.

Wikipedia (biliyorum, en büyük kaynak değil ama yine de)

Kesin küresel optimumun bulunmasının, sabit bir sürede kabul edilebilir bir yerel optimumun bulunmasından daha az önemli olduğu problemlerde, benzetilmiş tavlama, gradyan inişi gibi alternatiflere tercih edilebilir.

kaynak

Genetik algoritmalara gelince, Sinir Ağı eğitimi için Backpropagation vs Genetic Algorithm'i göreceğim.

Backprop için yapacağım en temel durum, çok yaygın bir şekilde kullanılması ve çok büyük gelişmeler olması . Bu görüntüler gerçekten de vanilya geri yayılımındaki inanılmaz gelişmelerden bazılarını gösteriyor.

Backprop'ı tek bir algoritma olarak düşünmüyorum, ancak bir algoritma sınıfı.

Ayrıca sinir ağları için 10k parametresinin küçük fasulye olduğunu da eklemek isterim. Başka bir arama harika sonuç verir, ancak milyonlarca parametrenin bulunduğu derin bir ağda bu pek pratik değildir.


12

Orijinal sinir ağları, 70'li yıllardaki geri yayılım devriminden önce, elle "eğitildi". :)

Söyleniyor ki:

Geri yayılım kullanmayan aşırı öğrenme makinesi denilen bir “makine öğrenme” okulu var .

Yaptıkları şey, rastgele ağırlıklar ile çok, çok, çok sayıda düğümü olan bir sinir ağı oluşturmak ve ardından en az kareleri (doğrusal bir regresyon gibi) kullanarak son katmanı eğitmektir. Daha sonra sinir ağını daha sonra budaırlar ya da fazla takılmamak için son adımda (kement gibi) düzenlileştirme uygularlar. Bunun sadece tek bir gizli katmanı olan sinir ağlarına uygulandığını gördüm. Eğitim yok, bu yüzden çok hızlı. Bazı testler yaptım ve şaşırtıcı bir şekilde, bu şekilde "eğitilmiş" bu sinir ağları oldukça doğru.

En azından birlikte çalıştığım kişilerin çoğu, bu makineyi "okulu" öğrenerek alay ederek tedavi ediyorlar ve kendi konferansları ve benzeri konularla dışlanmış bir grup.


Bir başka nokta: geri yayılma içinde, neuralnetpaket içerisinde R'de uygulanan ve sadece türevinin büyüklüğünü kullanan esnek geri yayılma gibi nadiren belirtilen alternatifler vardır . Algoritma, doğrusal cebir yerine if-else koşullarından oluşur. Geleneksel geri yayılmaya göre bazı avantajları vardır, yani verilerinizi normalleştirmenize gerek yoktur, çünkü yok olan degrade sorunundan muzdarip olmazlar .


Taksi, 4. paragrafınızdaki spieli (çoğu veya tamamı) yapın ve ardından sonucu "ince ayar" yapmak için türev tabanlı bir optimizasyon için başlangıç ​​noktası olarak kullanın.
Mark L. Stone

1
@ MarkL.Stone Önce ikinci katmana doğrusal bir regresyon uygulayarak geri yayılma yapan kimseyi tanımıyorum. Yine de ilginç geliyor.
Ricardo Cruz

1
Bildiğim kadarıyla, ELM'lerin etrafındaki tartışmalar çoğunlukla uygulamadan değil, etik yönlerden kaynaklanıyor. Schmidt ve arkadaşları 1992'de, Feedforward Network'lerini rastgele ağırlıklar ile çoktan ele aldılar.
Firebug

3

Bir sinir ağının ağırlıklarını optimize etmek için hemen hemen her türlü sayısal optimizasyon algoritmasını kullanabilirsiniz. Ayrıca, sadece ağırlıkları değil, düzenin kendisini de (katmanlar sayısı, her kattaki nöronların sayısı, hatta nöronun türü) optimize etmek için karma sürekli kesikli optimizasyon algoritmalarını kullanabilirsiniz. Ancak, bir şekilde "boyutsallık laneti" ve yerel iyimserliklerden muzdarip olmayan bir optimizasyon algoritması yoktur.


3

Parametrelerin nasıl güncellenmesi gerektiğini bildirmek için başka bir ağı da kullanabilirsiniz.

Orada üretimden bağımsız Sinir Arayüzler (DNI) tarihinde Deepmind dan. Geri yayını kullanmak yerine, paralel ve asenkron parametre güncellemesine izin veren parametrelerin nasıl güncelleneceğini tahmin etmek için başka bir sinir ağı kümesi kullanır.

Bu makale, DNI'nın RNN'lerin eğitim hızını ve model kapasitesini arttırdığını ve çeşitli görevlerde hem RNN hem de FFNN'ler için karşılaştırılabilir sonuçlar verdiğini göstermektedir.


Makalede ayrıca geri yayılmayan diğer birçok yöntem listelenmiş ve karşılaştırılmıştır.

Sentetik gradyan modelimiz, gradyan yükselişi [2] için kullanılan bir değer fonksiyonuna veya bootstrapping için kullanılan bir değer fonksiyonuna en çok benzeyen bir modeldir. Geriye yayılmayı ortadan kaldırmayı amaçlayan diğer birçok eser, biyolojik olarak makul kredi ataması yapma hedefiyle bunu gerçekleştiriyor, ancak bu, katmanlar arasında güncelleme kilitlemesini ortadan kaldırmıyor. Örneğin hedef yayılımı [3, 15], yerine oturması gereken hedef aktivasyonları oluşturarak, katmanlar arasındaki geçiş gradyanlarına olan bağlılığı ortadan kaldırır. Bununla birlikte, bu hedeflerin sırayla üretilmesi gerekir, ağda geriye doğru ilerler ve katmanlar hala güncellenir ve geriye doğru kilitlenir. Diğer algoritmalar, kayıp veya ödüllerin doğrudan her katmana yayınlanmasına izin vererek geriye doğru kilitlemeyi kaldırır - örneğin REINFORCE [21] (tüm aktivasyonların eylem olduğunu düşünerek),1ve ve Politika Degrade Koagent Ağları [20] - ancak bir çıktı (ya da bir global eleştirmen) tarafından ödüllendirilmeleri gerektiğinden, güncellemeleri hala kilitli tutuyorlar. Gerçek Zamanlı Tekrarlayan Öğrenme [22] veya [17] gibi yaklaşımlar güncelleme kilidini kaldırmanın umut verici bir yolu gibi görünse de, bu yöntemler parametrelere göre mevcut durumun tam (veya yaklaşık) derecesinin korunmasını gerektirir. Bu, doğası gereği ölçeklenebilir değildir ve ayrıca optimize edicinin ağ durumu hakkında küresel bilgiye sahip olmasını gerektirir. Buna karşılık, DNI ile yerel bir iletişim sorunu olarak katmanlar arasındaki etkileşimi çerçeveleyerek, öğrenme sistemi hakkında küresel bilgiye olan ihtiyacı ortadan kaldırıyoruz. [4, 19] gibi diğer işler, katmanların geri yayılmadan paralel olarak eğitilmesine izin verir,


2

Bu bir topluluk sorusu olduğu sürece, başka bir cevap ekleyeceğimi düşündüm. "Geri Yayılım" sadece gradyan iniş algoritmasıdır. Yerel minima veya maksima'yı bulmaya çalıştığı işlevin yalnızca ilk türevini kullanmayı içerir. Newton yöntemi veya Newton-Raphson adı verilen ve Hessian'ın hesaplanmasını içeren ve böylece ikinci türevleri kullanan başka bir yöntem var. Degrade inişinin başarısız olduğu durumlarda başarılı olabilir. Bana benden daha bilgili başkaları tarafından söylendi ve evet, bu ikinci elden, ikinci bir türevin hesaplanması açısından çok pahalı olduğu için, sinir ağlarında kullanılmadığına dair ikinci bir elektir.

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.