Pra-pelatihan dalam jaringan saraf convolutional yang mendalam?

Jawaban:

39

Saya tidak yakin apakah ini benar-benar menjawab pertanyaan Anda, tetapi dari apa yang saya pahami alasan Anda tidak melihat orang-orang melakukan pretraining ( maksud saya ini dalam pengertian pretraining tanpa pengawasan ) adalah karena ada berbagai inovasi dalam pelatihan murni yang diawasi yang telah membuat pretraining tanpa pengawasan tanpa perlu (untuk saat ini, siapa yang tahu masalah dan masalah apa yang akan terjadi di masa depan?).

f(x)=maks(0,x)

Artikel Glorot, Bordes dan Bengio menggunakan ReLU untuk multilayer perceptrons dan bukan Conv Nets. Artikel sebelumnya Apa Arsitektur Multi-Tahap terbaik untuk Pengakuan Objek oleh Jarret dan lainnya dari kelompok NYU Yann LeCun menggunakan nonlinier rektifikasi tetapi untuk unit sigmoidal, sehingga mereka memiliki fungsi aktivasi bentuk, dll. Kedua artikel mengamati bahwa menggunakan nonlinier rektifikasi tampaknya menutup banyak kesenjangan antara metode murni diawasi dan metode pretrained tanpa pengawasan.f(x)=|tanh(x)|

Inovasi lain adalah kami telah menemukan inisialisasi yang jauh lebih baik untuk jaringan yang dalam. Menggunakan ide standardisasi varians melintasi lapisan jaringan, aturan praktis yang baik telah ditetapkan selama bertahun-tahun. Salah satu yang pertama, yang paling populer adalah oleh Glorot dan Bengio Memahami Kesulitan Pelatihan Deep Feedforward Networks yang menyediakan cara untuk menginisialisasi jaring dalam di bawah hipotesis aktivasi linier dan kemudian pada Delving Deep Into Rectifieroleh sekelompok anggota tim Riset Microsoft yang memodifikasi inisialisasi bobot Glorot dan Bengio untuk menjelaskan nonlinier yang diperbaiki. Inisialisasi berat adalah masalah besar untuk jaring yang sangat dalam. Untuk jaring 30 lapisan, inisialisasi bobot MSR jauh lebih baik daripada inisialisasi berat Glorot. Ingatlah bahwa makalah Glorot keluar pada 2010 dan kertas MSR keluar pada 2015.

Saya tidak yakin apakah Klasifikasi ImageNet dengan kertas Deep Convolutional Neural Networks oleh Alex Krizhevsky, Ilya Sutskever, dan Geoff Hinton adalah yang pertama menggunakan ReLUs untuk conv nets, tetapi ia memiliki dampak terbesar. Dalam makalah ini kita melihat bahwa ReLU untuk konvoi mempercepat pembelajaran, sebagaimana dibuktikan oleh salah satu grafik CIFAR-10 mereka yang menunjukkan bahwa konvoi ReLU dapat mencapai tingkat kesalahan pelatihan yang lebih rendah lebih cepat daripada konvoi non-ReLU. ReLU ini tidak menderita masalah gradien / jenuh sigmoidal yang hilang dan dapat digunakan untuk melatih jaring yang lebih dalam. Salah satu inovasi besar lainnya adalah penggunaan pelatihan Dropout, injeksi kebisingan stokastik atau teknik rata-rata model (tergantung pada sudut pandang Anda) yang memungkinkan kami untuk melatih jaringan saraf yang lebih dalam, lebih besar lebih lama tanpa terlalu banyak.

Dan inovasi jaringan bersih berlanjut dengan kecepatan terik, hampir semua metode menggunakan ReLU (atau beberapa modifikasi seperti PReLU dari Microsoft Research), Dropout, dan pelatihan yang diawasi murni (SGD + Momentum, mungkin beberapa teknik tingkat pembelajaran adaptif seperti RMSProp atau ADAGrad ).

Jadi seperti yang sekarang, banyak dari jaringan yang berkinerja terbaik tampaknya bersifat murni diawasi. Itu bukan untuk mengatakan bahwa pretraining tanpa pengawasan atau menggunakan teknik tanpa pengawasan mungkin tidak penting di masa depan. Tetapi beberapa jaring yang sangat dalam telah dilatih, telah menyamai atau melampaui kinerja tingkat manusia pada kumpulan data yang sangat kaya, hanya menggunakan pelatihan yang diawasi. Bahkan saya percaya pengajuan Microsoft Research terbaru untuk kontes ImageNet 2015 memiliki 150 lapisan. Itu bukan kesalahan ketik. 150

Jika Anda ingin menggunakan pra-pelatihan tanpa pengawasan untuk konveksi, saya pikir Anda akan lebih baik menemukan tugas di mana pelatihan "standar" yang diawasi dengan konveyor tidak berkinerja baik dan mencoba pra-pelatihan tanpa pengawasan.

Tidak seperti pemodelan bahasa alami, tampaknya sulit untuk menemukan tugas tanpa pengawasan yang membantu tugas yang diawasi yang sesuai ketika datang ke data gambar. Tetapi jika Anda melihat-lihat internet cukup banyak, Anda melihat beberapa pelopor pembelajaran mendalam (Yoshua Bengio, Yann LeCun untuk menyebutkan beberapa) berbicara tentang betapa pentingnya menurut mereka pembelajaran tanpa pengawasan adalah dan akan ada.

AI indie
sumber
1
Saya telah melihat dalam tutorial Stanford tentang ConvNet bahwa, ada pretraining dalam jaringan saraf convolutional. di sini adalah tautannya: cs231n.github.io/transfer-learning Apakah ini berbeda? karena mereka sebenarnya melakukan hal yang sama bukan?
Rika
2
Hei, aku minta maaf atas jawaban yang terlambat. Pembelajaran transfer banyak dilakukan. Ini digunakan untuk menghindari tugas pelatihan yang membosankan dari awal dan alih-alih menggunakan fitur yang dilatih pada dataset besar seperti ImageNet, dan kami malah hanya melatih classifier di atas fitur-fitur itu. Saya telah memperbarui jawaban saya untuk menentukan bahwa hari ini Anda tidak melihat banyak pretraining tanpa pengawasan , yang tidak sama dengan pembelajaran transfer. Terima kasih atas komentarnya.
AI Indie
+1. Jawaban yang sangat bagus Apa yang saya lewatkan ada beberapa diskusi atau komentar tentang apakah apa yang Anda katakan (yaitu bahwa tidak perlu melakukan pra-pelatihan) berlaku khusus untuk jaringan saraf convolutional (jika demikian, mengapa?) Atau ke jaringan dalam apa pun, termasuk non- yang konvolusional.
Amoeba berkata Reinstate Monica
14

Seperti dapat dipahami dari jawaban di atas, pra-pelatihan 'dibuat' ketika banyak hal terjadi. Namun, saya ingin menyaring pemahaman saya tentang hal itu:

  1. Dahulu di tahun 2010, semua orang peduli tentang pra-pelatihan. Ini adalah makalah yang bagus tentang masalah yang tidak saya lihat.
  2. Sedikit sebelum sebelum Alex Krizhevsky, Ilya Sutskever dan Geoff Hinton menerbitkan makalah imagenet mereka, orang masih percaya bahwa fitur itu penting tetapi sebagian besar terfokus pada pembelajaran tanpa pengawasan dan bahkan belajar mandiri untuk membuat fitur-fitur tersebut.
  3. Tidak sulit untuk melihat mengapa - blok bangunan jaringan saraf pada saat itu tidak sekuat dan konvergen sangat lambat untuk fitur yang bermanfaat. Sering kali mereka bahkan gagal secara spektakuler. Pra pelatihan berguna ketika Anda memiliki data yang cukup sehingga Anda bisa mendapatkan inisialisasi yang baik untuk SGD.
  4. Ketika relu dibesarkan, jaringan terkonvergensi lebih cepat. Ketika relu bocor dan solusi yang lebih baru muncul, jaring saraf menjadi mesin yang lebih kuat ketika datang untuk konvergen ke hasil yang layak. Saya sangat menyarankan Anda bermain dengan demo jaringan saraf yang bagus yang ditulis oleh googler berbakat ini , Anda akan melihat apa yang saya bicarakan.
  5. Untuk mencapai poin utama kami, bukan berarti bahwa beberapa bentuk Pra-pelatihan tidak penting dalam pembelajaran yang mendalam. Jika Anda ingin mendapatkan hasil yang canggih, Anda harus melakukan pra-pemrosesan data (misalnya ZCA) dan memilih bobot awal dengan benar - ini adalah makalah yang sangat bagus tentang masalah ini .

Jadi Anda lihat, pra-pelatihan berubah dalam bentuk menjadi pra-pemrosesan dan bobot inisialisasi tetapi tetap berfungsi dan menjadi lebih elegan.

Sebagai catatan akhir, pembelajaran mesin sangat modis. Saya pribadi bertaruh seperti Andrew Ng bahwa pembelajaran tanpa pengawasan dan otodidak akan dominan di masa depan jadi jangan menjadikan ini agama :)

radar
sumber
13

Ada beberapa makalah tetapi tidak sebanyak autoencoder atau RBM. Saya pikir alasannya adalah garis waktu NN. Stacked RBM dan autoencoder diperkenalkan masing-masing pada 2006 dan 2007 . Setelah dipekerjakannya ReLU pada 2009, pembelajaran yang tidak diawasi sebagian ditinggalkan (ketika ada cukup data untuk belajar dalam pembelajaran yang diawasi langsung). Meskipun Convolution net (atau LeNet) ditemukan pada tahun 1989 , ia tidak dapat dilatih sebagai struktur yang dalam sampai tahun 2012 yang setelah mempopulerkan pembelajaran yang diawasi langsung dengan ReLU. Jadi para peneliti, saya kira, telah melatihnya sebagian besar dengan menggunakan pembelajaran langsung yang diawasi.

yasin.yazici
sumber
Jadi, Anda setuju bahwa belum ada pra-pelatihan dalam jaringan saraf convolutional yang mendalam?
RockTheStar
4
@RockTheStar tidak, ada tapi tidak sebanyak dua sebelumnya. research.microsoft.com/pubs/200804/CNN-Interspeech2013_pub.pdf penelitian ini telah menggunakannya. Berikut ini kutipan singkatnya; "Kami mengamati bahwa pra-pelatihan meningkatkan baik DNN dan CNN kecuali untuk CNN pada TIMIT di mana pretraining tidak membantu. Secara umum, peningkatan relatif penggunaan pretraining untuk CNN kurang dari pada DNN."
yasin.yazici