Saya memposting ini sebelumnya di MSE, tetapi disarankan bahwa mungkin ada tempat yang lebih baik untuk bertanya.
Teorema aproksimasi universal menyatakan bahwa "jaringan umpan-maju multilayer standar dengan satu lapisan tersembunyi, yang berisi jumlah neuron tersembunyi yang terbatas, adalah aproksimator universal di antara fungsi kontinu pada subset ringkas Rn, dengan asumsi ringan pada fungsi aktivasi."
Saya mengerti apa artinya ini, tetapi makalah yang relevan terlalu jauh dari tingkat pemahaman matematika saya untuk memahami mengapa itu benar atau bagaimana lapisan tersembunyi mendekati fungsi-fungsi non-linear.
Jadi, dalam hal sedikit lebih maju daripada kalkulus dasar dan aljabar linier, bagaimana jaringan umpan-maju dengan satu lapisan tersembunyi memperkirakan fungsi-fungsi non-linear? Jawabannya tidak harus sepenuhnya konkret.
Jawaban:
Hasil Cybenko cukup intuitif, seperti yang saya harap sampaikan di bawah ini; Apa yang membuat hal-hal lebih rumit adalah ia bertujuan untuk generalisasi, serta jumlah minimal lapisan tersembunyi. Hasil Kolmogorov (disebutkan oleh vzn) pada kenyataannya mencapai jaminan yang lebih kuat, tetapi agak kurang relevan dengan pembelajaran mesin (khususnya, itu tidak membangun jaringan saraf standar, karena node heterogen); hasil ini pada gilirannya menakutkan karena di permukaan itu hanya 3 halaman merekam beberapa batas dan fungsi kontinu, tetapi pada kenyataannya itu membangun satu set fraktal. Sementara hasil Cybenko tidak biasa dan sangat menarik karena teknik yang tepat ia gunakan, hasil rasa itu sangat banyak digunakan dalam pembelajaran mesin (dan saya bisa mengarahkan Anda ke orang lain).
Berikut ini ringkasan tingkat tinggi mengapa hasil Cybenko harus berlaku.
Mengenai poin pertama di atas, ini dapat diambil sebagai pernyataan "fungsi kontinu atas satu set kompak adalah terus menerus seragam". Apa artinya ini bagi kami adalah Anda dapat mengambil fungsi kontinu Anda di atas , dan beberapa kesalahan target ϵ > 0 , maka Anda dapat memasukkan [ 0 , 1 ] d pada skala τ > 0 (berakhir dengan kira-kira ( 1) / τ ) d subkubes) sehingga fungsi yang konstan pada setiap subkubus berada dalam ϵ dari fungsi target.[0,1]d ϵ>0 [0,1]d τ>0 (1/τ)d ϵ
Sekarang, jaringan syaraf tidak bisa secara tepat mewakili indikator, tetapi Anda bisa sangat dekat. Misalkan "fungsi transfer" adalah sigmoid. (Fungsi transfer adalah fungsi kontinu yang Anda terapkan pada kombinasi input yang linier untuk mendapatkan nilai neural net node.) Kemudian dengan membuat bobot menjadi besar, Anda menghasilkan sesuatu yang mendekati 0 atau mendekati 1 untuk input lebih banyak. Ini konsisten dengan pengembangan Cybenko: perhatikan dia membutuhkan fungsi yang terlibat sama dengan 0 atau 1 dalam batas: dengan definisi batas, Anda mendapatkan persis apa yang saya katakan, artinya Anda mendorong sesuatu dengan sewenang-wenang mendekati 0 atau 1.
Perhatikan bahwa di atas mungkin tampak mengambil beberapa lapisan: katakanlah, 2 untuk membangun indikator di atas kubus, dan kemudian lapisan hasil akhir. Cybenko sedang mencoba untuk dua poin umum: jumlah minimal lapisan tersembunyi, dan fleksibilitas dalam pemilihan fungsi transfer. Saya telah menjelaskan bagaimana ia bekerja dengan fleksibilitas dalam fungsi transfer.
Untuk mendapatkan jumlah lapisan minimum, ia menghindari konstruksi di atas, dan sebagai gantinya menggunakan analisis fungsional untuk mengembangkan kontradiksi. Berikut ini sketsa argumennya.
Node akhir menghitung kombinasi linear dari elemen-elemen lapisan di bawahnya, dan menerapkan fungsi transfer untuk itu. Kombinasi linear ini adalah kombinasi linear dari fungsi, dan dengan demikian, itu sendiri adalah fungsi, fungsi dalam beberapa subruang fungsi, yang direntang oleh kemungkinan node di lapisan tersembunyi.
Subruang fungsi sama seperti subruang dimensi terbatas biasa, dengan perbedaan utama yang berpotensi bukan set tertutup; itulah sebabnya argumen cybenko semuanya mengambil penutupan subruang itu. Kami mencoba membuktikan bahwa penutupan ini mengandung semua fungsi kontinu; itu berarti kita secara sewenang-wenang dekat dengan semua fungsi berkelanjutan.
Jika ruang fungsi itu sederhana (ruang Hilbert), kita bisa berdebat sebagai berikut. Pilih beberapa fungsi kontinyu target yang secara kontradiktif seharusnya tidak terletak di subruang, dan proyeksikan ke komplemen ortogonal dari subruang. Sisa ini harus bukan nol. Tetapi karena subruang kami dapat mewakili hal-hal seperti kubus-kubus kecil di atas, kami dapat menemukan beberapa wilayah residu ini, pas dengan kubus kecil untuk itu (seperti di atas), dan dengan demikian bergerak lebih dekat ke fungsi target kami. Ini adalah kontradiksi karena proyeksi memilih elemen minimal. (Catatan, saya meninggalkan sesuatu di sini: Argumen Cybenko tidak membangun kubus kecil, ia menangani ini secara umum juga; Di sinilah ia menggunakan bentuk teorema representasi Riesz, dan properti dari fungsi transfer (jika saya ingat dengan benar, ada lemma terpisah untuk langkah ini,
Kita tidak berada dalam ruang Hilbert, tetapi kita dapat menggunakan teorema Hahn-Banach untuk menggantikan langkah proyeksi di atas (perhatikan, membuktikan Hahn-Banach menggunakan aksioma pilihan).
Sekarang saya ingin mengatakan beberapa hal tentang hasil Kolmogorov. Walaupun hasil ini tampaknya tidak memerlukan latar belakang Cybenko, saya pribadi berpikir itu jauh lebih menakutkan.
Oke, jadi dengan semua itu, bagaimana mungkin benda ini bekerja ?!
Perhatikan bahwa hasil Cybenko, karena hanya menggunakan satu jenis fungsi transfer, lebih relevan dengan pembelajaran mesin. Teorema jenis ini sangat umum dalam pembelajaran mesin (vzn menyarankan ini dalam jawabannya, namun ia merujuk pada hasil Kolmogorov, yang kurang berlaku karena fungsi transfer kustom; ini dilemahkan dalam beberapa versi yang lebih mewah dari hasil Kolmogorov (diproduksi oleh penulis lain), tetapi itu masih melibatkan fraktal, dan setidaknya dua fungsi transfer).
Saya memiliki beberapa slide tentang topik-topik ini, yang dapat saya posting jika Anda tertarik (semoga tidak terlalu kasar dari yang di atas, dan memiliki beberapa gambar; Saya menulisnya sebelum saya mahir dengan Hahn-Banach, namun). Saya pikir kedua bukti itu sangat, sangat bagus. (Juga, saya punya jawaban lain di sini tentang topik-topik ini, tetapi saya menulisnya sebelum saya mengacak hasil Kolmogorov.)
sumber
Ada hasil lanjutan, kunci untuk pembelajaran mesin, yang dikenal sebagai teorema Kolmogorov [1]; Saya belum pernah melihat sketsa intuitif mengapa itu bekerja. Ini mungkin ada hubungannya dengan budaya yang berbeda yang mendekatinya. Kerumunan belajar yang diterapkan menganggap teorema Kolmogorov sebagai teorema keberadaan yang hanya menunjukkan bahwa NN mungkin ada, jadi setidaknya struktur tidak terlalu membatasi, tetapi teorema tidak menjamin NN ini dapat ditemukan. Matematikawan tidak begitu peduli dengan aplikasi teorema tingkat rendah.
Teorema ini juga secara historis digunakan untuk memohon / mempertahankan kecanggihan yang melekat dari NNs multilayer untuk melawan kritik dari Perceptrons (Minsky / Papert) bahwa ada fungsi dasar [yaitu nonlinier] yang tidak dapat mereka pelajari.
Ilmuwan komputer teoretis lebih suka untuk tidak menganggap NNs sebagai "perkiraan" , karena istilah itu memiliki arti khusus / berbeda. Mungkin ada beberapa analogi kasar dengan interpolasi linier piecewise tapi sekali lagi, saya belum melihatnya ditata.
[1] Kolmogorov, AN (1957). Pada representasi fungsi kontinu dari banyak variabel dengan superposisi fungsi kontinu dari satu variabel dan penambahan. Doklady Akademii Nauk SSSR, 144, 679-681; Penerjemahan Masyarakat Matematika Amerika, 28, 55-59 [1963]
[2] 2.3 Kemampuan Aproksimasi Jaringan Saraf Feedforward untuk Fungsi Kontinu
[3] Teorema Kolmogorov dan jaringan saraf multilayer Kurkova
sumber