Jika setiap neuron dalam jaringan saraf pada dasarnya adalah fungsi regresi logistik, mengapa multi layer lebih baik?

13

Saya akan mengikuti kursus DeepAI Cousera (video Week3 1 "Ikhtisar Jaringan Saraf") dan Andrew Ng menjelaskan bagaimana setiap lapisan dalam jaringan saraf hanyalah regresi logistik yang lain, tetapi dia tidak menjelaskan bagaimana hal itu membuat segalanya menjadi lebih akurat.

Jadi dalam jaringan 2 layer, bagaimana cara menghitung logistik berkali-kali membuatnya lebih akurat?

mskw
sumber
7
Seringkali agar sesuai dengan model regresi logistik tunggal yang baik, Anda perlu melakukan engennering fitur yang signifikan. Dua layer nn sedang mencoba melakukan beberapa pekerjaan untuk Anda.
Matthew Drury
@ msk, apakah Anda pernah membuat fitur baru berdasarkan fitur asli Anda untuk meningkatkan regresi logistik Anda? Inilah yang dilakukan oleh layer tersembunyi.
Ricardo Cruz

Jawaban:

10

Ketika menggunakan fungsi aktivasi logistik, memang benar bahwa fungsi yang menghubungkan input setiap unit dengan outputnya sama dengan untuk regresi logistik. Tetapi, ini tidak benar-benar sama dengan setiap unit yang melakukan regresi logistik. Perbedaannya adalah bahwa, dalam regresi logistik, bobot dan bias dipilih sedemikian rupa sehingga output paling cocok dengan nilai target yang diberikan (menggunakan kerugian log / cross-entropy). Sebaliknya, unit tersembunyi di jaring saraf mengirimkan outputnya ke unit hilir. Tidak ada target output yang cocok dengan unit tersembunyi individu. Sebaliknya, bobot dan bias dipilih untuk meminimalkan beberapa fungsi objektif yang tergantung pada hasil akhir jaringan.

Daripada melakukan regresi logistik, mungkin lebih masuk akal untuk memikirkan setiap unit tersembunyi sebagai penghitungan koordinat dalam beberapa ruang fitur. Dari perspektif ini, tujuan dari lapisan tersembunyi adalah untuk mengubah inputnya - vektor input dipetakan ke vektor aktivasi lapisan tersembunyi. Anda dapat menganggap ini sebagai pemetaan input ke ruang fitur dengan dimensi yang sesuai dengan setiap unit tersembunyi.

Lapisan output sering dapat dianggap sebagai algoritma pembelajaran standar yang beroperasi di ruang fitur ini. Misalnya, dalam tugas klasifikasi, menggunakan unit output logistik dengan kehilangan entropi silang setara dengan melakukan regresi logistik di ruang fitur (atau regresi logistik multinomial jika menggunakan output softmax). Dalam tugas regresi, menggunakan output linier dengan kesalahan kuadrat setara dengan melakukan regresi kuadrat terkecil dalam ruang fitur.

Melatih jumlah jaringan untuk mempelajari pemetaan ruang fitur dan fungsi klasifikasi / regresi (dalam ruang fitur) yang, bersama-sama, memberikan kinerja terbaik. Dengan asumsi unit tersembunyi nonlinier, meningkatkan lebar lapisan tersembunyi atau menumpuk beberapa lapisan tersembunyi memungkinkan pemetaan ruang fitur yang lebih kompleks, sehingga memungkinkan fungsi yang lebih kompleks menjadi pas.

pengguna20160
sumber
7

Salah satu cara untuk melihat kekuatan nonlinier adalah dengan mencatat teorema aproksimasi universal .

Meskipun dalam praktiknya tidak terlalu signifikan (ini tentang kemampuan jaringan lapisan tunggal), ia memberi tahu Anda bahwa jika Anda menggunakan jumlah sigmoids (panjang arbitrer) Anda pada prinsipnya dapat memperkirakan fungsi kontinu ke tingkat yang diinginkan. Jika Anda tahu teori Fourier atau ingat teorema aproksimasi Weierstrass seharusnya tidak mengejutkan.

Jakub Bartczuk
sumber
3
Ini adalah satu-satunya orang yang benar-benar menjawab pertanyaan dengan benar, meskipun agak terlalu ringkas. Lapisan tersembunyi sudah cukup untuk membuat fitur baru yang kuat yang menggabungkan fitur asli. Masalahnya adalah bahwa Anda mungkin memerlukan lapisan tersembunyi dengan terlalu banyak node, dan proses konvergensi berfungsi paling baik dengan jaringan yang lebih dalam dengan lapisan tersembunyi> 1.
Ricardo Cruz
5

Ketika ada lapisan tersembunyi yang ada di jaringan saraf, kami menambahkan fitur non-linear. Silakan periksa jawaban saya di sini untuk memahami.

apa yang membuat jaringan saraf model klasifikasi nonlinier?

Secara khusus, fungsi sigmoid bersarang akan lebih "kuat" daripada transformasi linear fitur asli dan satu fungsi sigmoid (regresi logistik.)


Ini adalah contoh numerik untuk menanggapi komentar OP.

X10×37W3×7X×W10×77

Haitao Du
sumber
Saya hanya bertanya-tanya, lalu bagaimana salah satu node lapisan pertama berbeda dalam output, yaitu Node 1 mendapat X1, X2, X3, Node 2 juga mendapat X1, X2, X3, jika mereka semua regresi logistik, bagaimana output mereka akan berbeda?
mskw
misalkan Anda memiliki 3 fitur, dan 10 unit tersembunyi, maka output dari lapisan tersembunyi memiliki 10 "fitur rekayasa".
Haitao Du
Mengapa Anda menyebutnya "fitur rekayasa", juga fitur yang Anda sebutkan X1, X2, X3?
mskw
Saya akan mengedit jawaban saya untuk menanggapi komentar Anda.
Haitao Du
Terima kasih telah merevisi, dari penjelasan Anda, saya tidak yakin apakah Anda tidak menjawab pertanyaan saya, atau saya memiliki kesenjangan pengetahuan di mana saya perlu menjembatani terlebih dahulu. Secara khusus, dari jawaban Anda apakah Bobot mengacu pada masing-masing fungsi output simpul? Jika demikian, bagaimana perbedaannya dari masing-masing node lainnya pada layer yang sama?
mskw
3

Dalam regresi logistik standar kami memiliki 1 output di lapisan akhir. Namun dengan jaringan neural layer tersembunyi tunggal, kita dapat memiliki beberapa nilai menengah yang masing-masing dapat dianggap sebagai output dari model regresi logistik yang berbeda yaitu kita tidak hanya melakukan regresi logistik yang sama berulang kali. Maka bukan suatu lompatan besar untuk berpikir bahwa adalah mungkin bahwa kombinasi ini memiliki kemampuan ekspresif yang lebih besar daripada model regresi logistik standar (dan juga telah ditunjukkan dalam praktik dan teori ).

Nyj=f(i=1Nwjixi+bj)fwjixibjadalah beberapa bias. Bobot dipilih oleh algoritme pengoptimalan untuk mengoptimalkan sasaran, misalnya, meminimalkan kesalahan klasifikasi. Inisialisasi sangat penting untuk algoritma gradient descent yang biasanya digunakan untuk mengoptimalkan bobot. Lihat https://intoli.com/blog/neural-network-initialization/ di mana jika semua bobot dimulai pada 0, jaringan tidak dapat belajar.

Srijan Parmeshwar
sumber