Ada dua artikel besar baru-baru ini tentang beberapa sifat geometris dari jaringan saraf yang dalam dengan linearitas piecewise linear (yang akan mencakup aktivasi ReLU):
- Tentang Jumlah Wilayah Linear dari Jaringan Saraf Tiruan oleh Montufar, Pascanu, Cho dan Bengio.
- Tentang sejumlah wilayah respons dari jaringan umpan maju dalam dengan aktivasi linear sepotong demi sepotong oleh Pascanu, Montufar dan Bengio.
Mereka memberikan beberapa teori dan ketelitian yang sangat dibutuhkan dalam hal jaringan saraf.
Analisis mereka berpusat pada gagasan bahwa:
jaringan yang dalam mampu memisahkan ruang input mereka menjadi daerah respons yang lebih linier secara eksponensial daripada rekan-rekan dangkal mereka, meskipun menggunakan jumlah unit komputasi yang sama.
Dengan demikian kita dapat menginterpretasikan jaringan saraf yang dalam dengan aktivasi linier piecewise sebagai mempartisi ruang input menjadi sekelompok wilayah, dan pada masing-masing wilayah terdapat beberapa permukaan linear.
Dalam grafik yang telah Anda referensikan, perhatikan bahwa berbagai (x, y) -region memiliki hypersurfaces linier atas mereka (tampaknya bidang miring atau bidang datar). Jadi kami melihat hipotesis dari dua artikel di atas beraksi dalam grafik referensi Anda.
Selanjutnya mereka menyatakan (penekanan dari rekan penulis):
jaringan yang dalam mampu mengidentifikasi sejumlah lingkungan input eksponensial dengan memetakannya ke output umum dari beberapa lapisan tersembunyi perantara. Perhitungan yang dilakukan pada aktivasi lapisan perantara ini direplikasi berkali-kali, sekali di setiap lingkungan yang diidentifikasi. Ini memungkinkan jaringan untuk menghitung fungsi yang terlihat sangat kompleks bahkan ketika mereka didefinisikan dengan parameter yang relatif sedikit.
Pada dasarnya ini adalah mekanisme yang memungkinkan jaringan yang dalam untuk memiliki representasi fitur yang sangat kuat dan beragam meskipun memiliki jumlah parameter yang lebih sedikit daripada rekan-rekan mereka yang dangkal. Secara khusus, jaringan saraf yang dalam dapat mempelajari jumlah eksponensial dari daerah linier ini. Ambil contoh, Teorema 8 dari makalah referensi pertama, yang menyatakan:
Teorema 8: Jaringan maksimum dengan lapisan lebar dan peringkat dapat menghitung fungsi dengan setidaknya daerah linier.Ln0kkL−1kn0
Ini lagi untuk jaringan saraf yang dalam dengan aktivasi linier piecewise, seperti ReLU misalnya. Jika Anda menggunakan aktivasi mirip sigmoid, Anda akan memiliki hypersurfaces yang tampak lebih sinusoidal. Banyak peneliti sekarang menggunakan ReLUs atau beberapa variasi ReLUs (ReLUs bocor, PReLUs, ELUs, RReLUs, daftar berjalan terus) karena struktur linier piecewise mereka memungkinkan untuk backpropagation gradien yang lebih baik vs unit sigmoidal yang dapat jenuh (memiliki sangat datar / daerah asimptotik) dan secara efektif membunuh gradien.
Hasil eksponensial ini sangat penting, jika tidak linearitas sambungan mungkin tidak dapat secara efisien mewakili jenis fungsi nonlinier yang harus kita pelajari ketika datang ke visi komputer atau tugas pembelajaran mesin keras lainnya. Namun, kami memiliki hasil eksponensial ini dan oleh karena itu jaringan yang dalam ini (secara teori) dapat mempelajari segala macam nonlinier dengan memperkirakannya dengan sejumlah besar wilayah linier.
Adapun pertanyaan Anda tentang hypersurface: Anda benar-benar dapat mengatur masalah regresi di mana jaring yang dalam Anda mencoba mempelajari . Ini sama saja dengan hanya menggunakan jaring dalam untuk menyiapkan masalah regresi, banyak paket pembelajaran mendalam dapat melakukan ini, tidak ada masalah.y=f(x1,x2)
Jika Anda hanya ingin menguji intuisi Anda, ada banyak paket pembelajaran mendalam yang tersedia hari ini: Theano (Lasagna, No Learn dan Keras dibangun di atasnya), TensorFlow, sekelompok orang lain saya yakin saya akan pergi di luar. Paket pembelajaran mendalam ini akan menghitung backpropagation untuk Anda. Namun, untuk masalah skala yang lebih kecil seperti yang Anda sebutkan itu adalah ide yang baik untuk mengkodekan backpropagation sendiri, cukup lakukan sekali, dan pelajari cara gradien memeriksanya. Tetapi seperti yang saya katakan, jika Anda hanya ingin mencobanya dan memvisualisasikannya, Anda dapat memulai dengan cukup cepat dengan paket pembelajaran yang mendalam ini.
Jika seseorang dapat melatih jaringan dengan benar (kami menggunakan cukup titik data, menginisialisasi dengan benar, pelatihan berjalan dengan baik, ini adalah seluruh masalah lain yang jujur), maka satu cara untuk memvisualisasikan apa yang telah dipelajari jaringan kami, dalam hal ini , sebuah hypersurface, adalah hanya membuat grafik hypersurface kami di atas xy-mesh atau grid dan memvisualisasikannya.
Jika intuisi di atas benar, maka menggunakan jaring dalam dengan ReLU, jaring dalam kita akan mempelajari sejumlah daerah eksponensial, masing-masing daerah memiliki permukaan linearnya sendiri. Tentu saja, intinya adalah bahwa karena kita memiliki banyak secara eksponensial, pendekatan linier dapat menjadi sangat baik dan kita tidak merasakan ketimpangan dari semuanya, mengingat bahwa kita menggunakan jaringan yang dalam / cukup besar.