Mari kita mulai dengan triviliaty: Deep neural network hanyalah jaringan feedforward dengan banyak lapisan tersembunyi.
Ini kurang lebih semua yang bisa dikatakan tentang definisi. Jaringan saraf dapat berulang atau diteruskan; feedforward yang tidak memiliki loop dalam grafik mereka dan dapat diatur dalam lapisan. Jika ada "banyak" lapisan, maka kita katakan bahwa jaringannya dalam .
Berapa banyak lapisan yang harus dimiliki suatu jaringan agar memenuhi syarat sedalam itu? Tidak ada jawaban pasti untuk ini (ini seperti menanyakan berapa banyak butiran yang membuat tumpukan ), tetapi biasanya memiliki dua atau lebih lapisan tersembunyi yang diperhitungkan sedalam mungkin. Sebaliknya, jaringan dengan hanya satu lapisan tersembunyi secara konvensional disebut "dangkal". Saya menduga bahwa akan ada beberapa inflasi yang terjadi di sini, dan dalam sepuluh tahun orang mungkin berpikir bahwa apa pun dengan kurang dari, katakanlah, sepuluh lapis adalah dangkal dan hanya cocok untuk latihan taman kanak-kanak. Secara informal, "dalam" menunjukkan bahwa jaringan itu sulit untuk ditangani.
Berikut ini adalah ilustrasi, diadaptasi dari sini :
Tetapi pertanyaan sebenarnya yang Anda tanyakan adalah, tentu saja, Mengapa memiliki banyak lapisan bermanfaat?
Saya pikir jawaban yang agak mencengangkan adalah tidak ada yang benar-benar tahu. Ada beberapa penjelasan umum yang akan saya ulas secara singkat di bawah ini, tetapi tidak satupun dari mereka yang secara meyakinkan terbukti benar, dan orang bahkan tidak dapat memastikan bahwa memiliki banyak lapisan benar - benar bermanfaat.
Saya mengatakan bahwa ini mencengangkan, karena pembelajaran yang dalam sangat populer, memecahkan semua catatan (dari pengenalan gambar, bermain Go, ke terjemahan otomatis, dll.) Setiap tahun, digunakan oleh industri, dll. Dan kita masih belum cukup yakin mengapa ia bekerja sangat baik.
Aku mendasarkan diskusi saya di Belajar Jauh buku oleh Goodfellow, Bengio, dan Courville yang keluar pada tahun 2017 dan secara luas dianggap sebagai yang buku tentang pembelajaran yang mendalam. (Ini tersedia secara online secara gratis.) Bagian yang relevan adalah 6.4.1 Sifat dan Kedalaman Pendekatan Universal .
Anda yang menulisnya
10 tahun yang lalu di kelas saya belajar bahwa memiliki beberapa lapisan atau satu lapisan (tidak termasuk lapisan input dan output) adalah setara dalam hal fungsi yang dapat mewakili jaringan saraf [...]
Anda harus merujuk pada apa yang disebut teorema aproksimasi Universal , dibuktikan oleh Cybenko pada tahun 1989 dan digeneralisasi oleh berbagai orang di tahun 1990-an. Pada dasarnya dikatakan bahwa jaringan saraf dangkal (dengan 1 lapisan tersembunyi) dapat mendekati fungsi apa pun , yaitu pada prinsipnya dapat mempelajari apa saja . Hal ini berlaku untuk berbagai fungsi aktivasi nonlinier, termasuk unit linear yang diperbaiki yang sebagian besar jaringan saraf gunakan saat ini (buku teks referensi Leshno et al. 1993 untuk hasil ini).
Jika demikian, mengapa semua orang menggunakan jaring yang dalam?
Yah, jawaban yang naif adalah karena mereka bekerja lebih baik. Berikut adalah gambar dari buku Deep Learning yang menunjukkan bahwa membantu memiliki lebih banyak lapisan dalam satu tugas tertentu, tetapi fenomena yang sama sering diamati di berbagai tugas dan domain:
Kita tahu bahwa jaringan yang dangkal dapat bekerja sebaik jaringan yang lebih dalam. Tetapi tidak; dan biasanya tidak. Pertanyaannya adalah --- mengapa? Jawaban yang memungkinkan:
- Mungkin jaringan yang dangkal akan membutuhkan lebih banyak neuron daripada yang dalam?
- Mungkin jaringan yang dangkal lebih sulit untuk dilatih dengan algoritma kita saat ini (misalnya memiliki minima lokal yang lebih buruk, atau tingkat konvergensi lebih lambat, atau apa pun)?
- Mungkin arsitektur yang dangkal tidak sesuai dengan jenis masalah yang biasanya kita coba selesaikan (mis. Pengenalan objek adalah proses "hierarkis" yang mendalam dan klasik)?
- Sesuatu yang lain
Buku Deep Learning mengemukakan poin-poin # 1 dan # 3. Pertama, ia berpendapat bahwa jumlah unit dalam jaringan yang dangkal tumbuh secara eksponensial dengan kompleksitas tugas. Jadi agar berguna, jaringan yang dangkal mungkin harus sangat besar; mungkin jauh lebih besar dari jaringan yang dalam. Ini didasarkan pada sejumlah makalah yang membuktikan bahwa jaringan dangkal dalam beberapa kasus membutuhkan banyak neuron secara eksponensial; tetapi apakah klasifikasi MNIST atau Go Playing adalah kasus seperti itu tidak benar-benar jelas. Kedua, buku ini mengatakan ini:
Memilih model yang dalam mengkodekan keyakinan yang sangat umum bahwa fungsi yang ingin kita pelajari harus melibatkan komposisi beberapa fungsi yang lebih sederhana. Ini dapat ditafsirkan dari sudut pandang pembelajaran representasi yang mengatakan bahwa kami percaya masalah belajar terdiri dari menemukan serangkaian faktor yang mendasari variasi yang pada gilirannya dapat dijelaskan dalam hal faktor variasi mendasar lainnya yang lebih sederhana.
Saya pikir "konsensus" saat ini adalah bahwa itu adalah kombinasi dari poin-poin # 1 dan # 3: untuk tugas-tugas dunia nyata, arsitektur yang dalam sering kali bermanfaat dan arsitektur yang dangkal akan tidak efisien dan membutuhkan lebih banyak neuron untuk kinerja yang sama.
Tapi itu masih jauh dari terbukti. Pertimbangkan misalnya Zagoruyko dan Komodakis, 2016, Wide Residual Networks . Jaringan residual dengan 150+ lapisan muncul pada 2015 dan memenangkan berbagai kontes pengenalan gambar. Ini adalah kesuksesan besar dan tampak seperti argumen yang meyakinkan yang mendukung kedalaman; di sini adalah satu gambar dari presentasi oleh penulis pertama pada kertas jaringan sisa (perhatikan bahwa waktu yang membingungkan pergi ke kiri di sini):
Tetapi kertas yang terhubung di atas menunjukkan bahwa jaringan residu "lebar" dengan "hanya" 16 lapisan dapat mengungguli yang "dalam" dengan 150+ lapisan. Jika ini benar, maka seluruh poin dari gambar di atas rusak.
Atau pertimbangkan Ba dan Caruana, 2014, Apakah Jaring Yang Dalam Sangat Perlu Menjadi Dalam? :
Dalam makalah ini kami memberikan bukti empiris bahwa jaring dangkal mampu mempelajari fungsi yang sama seperti jaring dalam, dan dalam beberapa kasus dengan jumlah parameter yang sama dengan jaring dalam. Kami melakukan ini dengan pertama-tama melatih model dalam yang canggih, dan kemudian melatih model yang dangkal untuk meniru model dalam. Model mimik dilatih menggunakan skema kompresi model yang dijelaskan di bagian selanjutnya. Hebatnya, dengan kompresi model kami dapat melatih jaring yang dangkal seakurat beberapa model yang dalam, meskipun kami tidak dapat melatih jaring yang dangkal ini seakurat jaring yang dalam ketika jaring yang dangkal dilatih langsung pada yang asli. berlabel data pelatihan. Jika jaring dangkal dengan jumlah parameter yang sama dengan jaring dalam dapat belajar meniru jaring dalam dengan kesetiaan tinggi,
Jika benar, ini berarti bahwa penjelasan yang benar adalah peluru saya # 2, dan bukan # 1 atau # 3.
Seperti yang saya katakan --- belum ada yang tahu pasti.
Komentar penutup
Jumlah kemajuan yang dicapai dalam pembelajaran mendalam atas ~ 10 tahun terakhir benar-benar menakjubkan, tetapi sebagian besar kemajuan ini dicapai dengan trial and error, dan kami masih kekurangan pemahaman dasar tentang apa yang sebenarnya membuat jaring yang mendalam untuk bekerja dengan baik. Bahkan daftar hal-hal yang orang anggap penting untuk membangun jaringan mendalam yang efektif tampaknya berubah setiap beberapa tahun.
Kebangkitan pembelajaran yang dalam dimulai pada tahun 2006 ketika Geoffrey Hinton (yang telah bekerja pada jaringan saraf selama 20 tahun lebih tanpa minat banyak orang) menerbitkan beberapa makalah terobosan yang menawarkan cara yang efektif untuk melatih jaringan yang dalam ( kertas Sains , kertas perhitungan Neural ) . Caranya adalah dengan menggunakan pra-pelatihan tanpa pengawasan sebelum memulai gradient descent. Makalah-makalah ini merevolusi lapangan, dan selama beberapa tahun orang berpikir bahwa pra-pelatihan tanpa pengawasan adalah kuncinya.
Kemudian pada tahun 2010 Martens menunjukkan bahwa jaringan saraf yang dalam dapat dilatih dengan metode orde dua (disebut metode bebas Hessian) dan dapat mengungguli jaringan yang dilatih dengan pra-pelatihan: Pembelajaran mendalam melalui pengoptimalan bebas Hessian . Kemudian pada 2013 Sutskever et al. menunjukkan bahwa gradien keturunan stochastic dengan beberapa trik yang sangat pintar dapat mengungguli metode bebas Hessian: Pada pentingnya inisialisasi dan momentum dalam pembelajaran yang mendalam . Juga, sekitar 2010 orang menyadari bahwa menggunakan unit linear yang diperbaiki alih-alih unit sigmoid membuat perbedaan besar untuk gradient descent. Dropout muncul pada 2014. Jaringan residual muncul pada 2015. Orang-orang terus memunculkan cara yang lebih dan lebih efektif untuk melatih jaringan dalam danapa yang tampak seperti wawasan kunci 10 tahun yang lalu sering dianggap sebagai gangguan saat ini. Semua itu sebagian besar didorong oleh coba-coba dan ada sedikit pemahaman tentang apa yang membuat beberapa hal bekerja dengan baik dan beberapa hal lainnya tidak. Melatih jaringan yang dalam adalah seperti sekumpulan besar trik. Trik yang berhasil biasanya dirasionalisasi post factum.
Kami bahkan tidak tahu mengapa jaringan yang dalam mencapai puncak kinerja; hanya 10 tahun orang menyalahkan minima lokal, tetapi pemikiran saat ini adalah bahwa ini bukan intinya (ketika kinerja tinggi, gradien cenderung tetap besar). Ini adalah pertanyaan mendasar tentang jaringan yang dalam, dan kami bahkan tidak tahu ini .
Pembaruan: Ini kurang lebih adalah subjek pembicaraan NIPS 2017 Ali Rahimi tentang pembelajaran mesin sebagai alkimia: https://www.youtube.com/watch?v=Qi1Yry33TQE .
[Jawaban ini sepenuhnya ditulis ulang pada bulan April 2017, jadi beberapa komentar di bawah ini tidak berlaku lagi.]