Cybenko'nun sonucu, aşağıda aktarmayı umduğum gibi oldukça sezgiseldir; işleri daha da zorlaştıran şey, hem genelliği hem de en az sayıda gizli katmanı hedeflemekti. Kolmogorov'un sonucu (vzn dediği gibi) aslında daha güçlü bir garanti veriyor, ancak makine öğrenmesiyle biraz daha az ilgili (özellikle düğümler heterojen olduğu için standart bir sinir ağı oluşturmuyor); Bu sonuç sırayla korkutucu çünkü yüzeyde bazı sınırlamalar ve sürekli fonksiyonlar kaydeden sadece 3 sayfa, ancak gerçekte bir fraktal seti oluşturuyor. Cybenko'nun sonucu kullandığı kesin teknikler nedeniyle sıradışı ve çok ilginç olsa da, bu lezzetin sonuçları makine öğrenmesinde çok yaygın olarak kullanılıyor (ve sizi başkalarına işaret edebilirim).
İşte Cybenko'nun sonucunun neden olması gerektiğinin üst düzey bir özeti.
- Kompakt bir sette kesintisiz bir fonksiyon, parça parça sabit bir fonksiyonla yaklaşık olarak hesaplanabilir.
- Parçalı bir sabit fonksiyon, aşağıdaki gibi bir sinir ağı olarak gösterilebilir. Fonksiyonun sabit olduğu her bölge için, o bölge için gösterge fonksiyonu olarak bir sinir ağı kullanın. Ardından, giriş doğrusal kombinasyonu tüm göstergelerin toplamı olan tek bir düğüme sahip son bir katman oluşturun, orijinal parçalı sabit fonksiyondaki karşılık gelen bölgenin sabit değerine eşit bir ağırlıkla.
Yukarıdaki birinci noktaya gelince, bu "kompakt bir set üzerinde sürekli bir fonksiyonun düzgün bir şekilde sürekli olduğu" ifadesi olarak alınabilir. Bunun bizim için anlamı, sürekli işlevinizi ve bazı hedef hata , daha sonra skalasında (sonuna kadar) kabaca altküpeler), böylece her alt küp üzerinde sabit olan bir fonksiyon hedef fonksiyonun ϵ içindedir .[ 0 , 1 ]dϵ > 0[ 0 , 1 ]dτ> 0( 1 / τ)dε
Şimdi, bir sinir ağı tam olarak bir göstergeyi temsil edemez, ama çok yaklaşabilirsiniz. "Transfer fonksiyonu" nın bir sigmoid olduğunu varsayalım. (Aktarım işlevi, sinir ağı düğümünün değerini elde etmek için girdilerin doğrusal bir kombinasyonuna uyguladığınız sürekli bir işlevdir.) Ardından ağırlıkları büyük hale getirerek, daha fazla giriş için 0'a yakın veya 1'e yakın bir şey çıktırabilirsiniz. Bu, Cybenko'nun gelişimi ile tutarlıdır: limitte 0 veya 1'e eşit fonksiyonlara ihtiyacı olduğunu fark edin: limit tanımı gereği, tam olarak söylediklerimi elde edersiniz, yani şeyleri keyfi olarak 0 veya 1'e yaklaştırırsınız.
(Son katmandaki aktarım işlevini görmezden geldim; eğer orada ve sürekli ise, o zaman sabit ağırlıkları aktarıma göre o sabitin ters görüntüsündeki bir şeyle değiştirerek herhangi bir eşlemeyi ayarlayabiliriz. işlev.)[0 , 1 ]
Yukarıdakilerin birkaç katman aldığına dikkat edin: göstergeleri küpler üzerine inşa etmek için 2 ve ardından son çıkış katmanı. Cybenko iki genel nokta için çalışıyordu: en az sayıda gizli katman ve transfer fonksiyonu seçiminde esneklik. Transfer fonksiyonunda esnekliği nasıl çözdüğünü zaten açıkladım.
Minimum katman sayısını elde etmek için, yukarıdaki yapıdan kaçınır ve bunun yerine bir çelişki geliştirmek için fonksiyonel analiz kullanır. İşte argümanın bir kroki.
Son düğüm, altındaki katmanın elemanlarının doğrusal bir kombinasyonunu hesaplar ve ona bir transfer işlevi uygular. Bu lineer kombinasyon, fonksiyonların lineer bir kombinasyonudur ve bu nedenle, kendisinin bir fonksiyon, gizli katmandaki olası düğümler tarafından yayılan bazı fonksiyonların alt alanı içindeki bir fonksiyondur.
İşlevlerin bir alt alanı, sıradan bir sonlu boyutlu alt boşluk gibidir; temel fark, potansiyel olarak kapalı bir küme değildir; Bu yüzden cybenko'nun tüm argümanları bu alt uzayı kapatıyor. Bu kapatmanın tüm sürekli işlevleri içerdiğini kanıtlamaya çalışıyoruz; Bu, tüm sürekli fonksiyonlara keyfi olarak yakın olduğumuz anlamına gelecektir.
İşlev alanı basit olsaydı (bir Hilbert boşluğu), şu şekilde tartışabilirdik. Tersine alt uzayda yatmaması gereken bazı hedef sürekli işlevi seçin ve alt uzayın ortogonal tamamlayıcısı üzerine yansıtın. Bu kalıntı sıfır olmamalıdır. Ancak, alt alanımız yukarıdaki küçük küpler gibi şeyleri temsil edebileceğinden, bu kalıntının bir bölgesini bulabilir, ona küçük bir küp sığdırabiliriz (yukarıdaki gibi) ve böylece hedef fonksiyonumuza daha da yaklaşabiliriz. Projeksiyonlar minimal elementleri seçtiği için bu bir çelişkidir. (Not, burada bir şey bırakıyorum: Cybenko'nun argümanı küçük küpler yapmaz, bunu genel olarak da ele alır; Riesz temsil teoreminin bir formunu kullandığı ve transfer fonksiyonlarının özelliklerini (hatırlarsam) doğru, bu adım için ayrı bir lemma var,
Bir Hilbert uzayında değiliz, ancak yukarıdaki projeksiyon adımını değiştirmek için Hahn-Banach teoremini kullanabiliriz (not edin, Hahn-Banach'ın tercih edilen aksiyomu kullandığını kanıtlayın).
Şimdi Kolmogorov'un sonucu hakkında birkaç şey söylemek istiyorum. Bu sonuç, görünüşte Cybenko'nun geçmişine dayanmak zorunda olmasa da, şahsen bunun çok daha korkutucu olduğunu düşünüyorum.
İşte nedeni bu. Cybenko'nun sonucu yaklaşık bir garantidir : bir şeyi tam olarak temsil edebileceğimizi söylemez. Öte yandan, Kolmogorov'un sonucu eşitlik sağlıyor . Daha saçma, net büyüklüğünü söylüyor: sadece düğümlere ihtiyacınız var. Bu güçlenmeyi başarmak için yukarıda bahsettiğim bir şüphesiz var: ağ, tüm transfer fonksiyonlarının aynı olmadığı anlamına gelir.O ( d2)
Tamam, peki bütün bunlarla, bu şey nasıl mümkün olabilir ?!
Yukarıdaki küplerimize geri dönelim. Hassas bir seviyede pişirmemiz gerektiğine dikkat edin: Her için geri dönüp daha rafine τ > 0 seçmeliyiz . Göstergelerin (sonlu) doğrusal kombinasyonları ile çalıştığımızdan hiçbir zaman hiçbir şeyi temsil etmiyoruz. (sigmoidlerin yaklaşık etkilerini eklerseniz işler daha da kötüye gider.)ϵ > 0τ> 0
Öyleyse çözüm nedir? Peki, tüm ölçekleri aynı anda ele almaya ne dersiniz? Bunu telafi etmiyorum: Kolmogorov'un kanıtı gizli katmanı bir fraktal seti olarak etkili bir şekilde yapılandırmaktır. Sözü edilen başka bir yolla, temelde ila [ 0 , 1 ] d eşleştiren boşluk doldurma eğrileridir ; bu şekilde, tek değişkenli fonksiyonların bir kombinasyonuna sahip olmamıza rağmen, çok değişkenli herhangi bir fonksiyona uyabiliriz. Aslında, olabildiğince sezgisel olarak bu nedenle Ç ( d 2 ) bir saçma sayma bağımsız değişken ile "doğru": Biz sürekli bir fonksiyonu yazarken R d ile R[ 0 , 1 ][ 0 , 1 ]dO ( d2)R,dR,tek değişkenli sürekli fonksiyonlar sayesinde ve bu nedenle tüm koordinatlar arası etkileşimleri yakalamak için fonksiyonlarına ihtiyacımız var ...O ( d2)
Cybenko'nun sonucunun, yalnızca bir transfer fonksiyonu kullanması nedeniyle, makine öğrenmesiyle daha alakalı olduğunu unutmayın. Bu tür teoremler makine öğreniminde çok yaygındır (vzn, cevabında bunu önerdi, ancak özel transfer fonksiyonları nedeniyle daha az uygulanabilir olan Kolmogorov'un sonucuna atıfta bulundu; diğer yazarlar), ancak bunlar hala fraktallar ve en az iki transfer işlevi içermektedir).
İlgileniyorsanız (ben yukarıdakilerden daha az rastgele bir şekilde daha az, ve bazı resimler var; bunları Hahn-Banach ile ustalık etmeden önce yazdım) yazdırabileceğim bu konularda bazı slaytlarım var. Bence her iki kanıt da çok, çok iyi. (Ayrıca, bu konularla ilgili başka bir cevabım var ama Kolmogorov'un sonucunu öğrenmeden önce yazdım.)