Apa bedanya NN pembelajaran dalam sekarang (2016) dari yang saya pelajari hanya 4 tahun yang lalu (2012)?

13

Dikatakan di Wikipedia dan deeplearning4j bahwa Deep-learning NN (DLNN) adalah NN yang memiliki> 1 lapisan tersembunyi.

NN semacam ini adalah standar di universitas bagi saya, sementara DLNN sangat bergairah saat ini. Pernah ke sana, melakukan itu - apa masalahnya?

Saya mendengar juga bahwa NN yang ditumpuk dianggap sebagai pembelajaran yang mendalam. Bagaimana deep-learning benar-benar didefinisikan?

Latar belakang NN saya kebanyakan dari universitas, bukan dari pekerjaan:

  • mempelajari aplikasi NN dalam industri
  • punya sekitar 5 kursus tentang artif. intel. & mach. belajar. - Meskipun mungkin 2 dari mereka di NN
  • menggunakan NN untuk proyek kecil dan sederhana pada pengenalan gambar - menggunakan NN feed-forward 3 layer
  • tidak melakukan penelitian nyata (seperti dalam tesis dokter) pada mereka
Make42
sumber
@NeilSlater: Saya mempelajarinya paling intens di sekitar 2012.
Make42

Jawaban:

23

Anda benar bahwa konsep dasar NN yang dalam tidak berubah sejak 2012. Tetapi ada berbagai peningkatan cara pelatihan NN yang mendalam yang membuat mereka secara kualitatif lebih kuat. Ada juga beragam arsitektur yang tersedia saat ini. Saya telah membuat daftar beberapa perkembangan sejak 2012, dikelompokkan berdasarkan peningkatan pelatihan dan peningkatan arsitektur:

Perbaikan untuk melatih NN yang mendalam

  • Perangkat Keras : Perubahan yang paling jelas hanyalah perkembangan hukum Moore yang tak terhindarkan. Ada lebih banyak daya komputasi yang tersedia saat ini. Cloud computing juga memudahkan orang untuk melatih NN besar tanpa perlu membeli rig yang besar.

  • Perangkat Lunak : Perangkat lunak open source untuk pembelajaran dalam benar-benar sangat ditingkatkan dari 2012. Kembali pada tahun 2012 ada Theano, mungkin Caffe juga. Saya yakin ada beberapa yang lain juga. Tetapi hari ini kami juga memiliki TensorFlow, Torch, Paddle, dan CNTK, yang semuanya didukung oleh perusahaan teknologi besar. Ini terkait erat dengan poin-poin perangkat keras karena banyak dari platform ini membuatnya mudah untuk dilatih pada GPU, yang secara drastis mempercepat waktu pelatihan.

  • Fungsi aktivasi : Penggunaan fungsi aktivasi ReLU mungkin lebih luas hari ini, yang membuat pelatihan jaringan yang sangat dalam menjadi lebih mudah. Di sisi penelitian, ada berbagai fungsi aktivasi yang dipelajari, termasuk ReLU bocor , parametrik ReLU , dan unit maxout .

  • Algoritma optimisasi : Ada lebih banyak algoritma optimasi di sekitar hari ini. Adagrad dan Adadelta baru saja diperkenalkan pada tahun 2011 dan 2012, masing-masing. Tetapi kami sekarang juga memiliki pengoptimal Adam dan ini menjadi pilihan yang sangat populer.

  • Dropout : Dalam beberapa tahun terakhir, dropout telah menjadi alat standar untuk regularisasi ketika melatih jaringan saraf. Dropout adalah bentuk ansambel yang murah secara komputasi untuk NN. Secara umum, satu set model yang dilatih pada sampel acak dataset akan mengungguli model tunggal yang dilatih pada seluruh dataset. Ini sulit dilakukan secara eksplisit untuk NN karena sangat mahal untuk dilatih. Tetapi efek yang serupa dapat diperkirakan hanya dengan "mematikan" neuron secara acak pada setiap langkah. Subgraph yang berbeda di NN pada akhirnya mendapatkan pelatihan pada set data yang berbeda, dan dengan demikian mempelajari hal-hal yang berbeda. Seperti ensembling, ini cenderung membuat NN keseluruhan lebih kuat untuk overfitting. Dropout adalah teknik sederhana yang tampaknya meningkatkan kinerja di hampir setiap kasus, jadi

  • Normalisasi batch : Sudah diketahui untuk sementara waktu bahwa NN melatih terbaik pada data yang dinormalisasi --- yaitu, ada nol rata-rata dan varians unit. Dalam jaringan yang sangat dalam, ketika data melewati setiap lapisan, input akan ditransformasikan dan umumnya akan hanyut ke distribusi yang tidak memiliki properti yang bagus dan dinormalisasi ini. Ini membuat pembelajaran pada lapisan yang lebih dalam ini lebih sulit karena, dari sudut pandangnya, inputnya tidak memiliki mean nol dan varian unit. Berarti bisa sangat besar dan varians bisa sangat kecil. Normalisasi batch mengatasi hal ini dengan mengubah input ke layer agar memiliki mean nol dan varians unit. Ini tampaknya sangat efektif dalam melatih NN yang sangat dalam.

  • Teori : Sampai baru-baru ini, diperkirakan bahwa alasan NNs dalam sulit untuk dilatih adalah bahwa algoritma optimasi terjebak dalam minimum lokal dan mengalami kesulitan untuk keluar dan menemukan minimum global. Dalam empat tahun terakhir telah ada sejumlah studi yang tampaknya menunjukkan bahwa intuisi ini salah (misalnya, Goodfellow et al. 2014). Dalam ruang parameter dimensi yang sangat tinggi dari NN yang dalam, minima lokal cenderung tidak jauh lebih buruk daripada minima global. Masalahnya sebenarnya adalah ketika berlatih, NN dapat menemukan dirinya di dataran tinggi yang panjang. Selain itu, dataran tinggi ini dapat berakhir tiba-tiba di tebing curam. Jika NN mengambil langkah-langkah kecil, butuh waktu yang sangat lama untuk belajar. Tetapi jika langkah-langkahnya terlalu besar, ia akan bertemu dengan gradien besar ketika berjalan ke tebing, yang membatalkan semua pekerjaan sebelumnya. (Ini dapat dihindari dengan kliping gradien, inovasi pasca-2012 lainnya.)

Arsitektur baru

  • Jaringan residual : Para peneliti telah dapat melatih jaringan yang sangat dalam (lebih dari 1000 lapisan!) Menggunakan jaringan residu . Idenya di sini adalah bahwa setiap lapisan tidak hanya menerima output dari lapisan sebelumnya, tetapi juga input asli juga. Jika dilatih dengan benar, ini mendorong setiap lapisan untuk mempelajari sesuatu yang berbeda dari lapisan sebelumnya, sehingga setiap lapisan tambahan menambahkan informasi.

  • Jaringan yang luas dan dalam : Jaringan yang lebar dan dangkal memiliki kecenderungan untuk hanya menghafal pemetaan antara input dan output mereka. Jaringan dalam menggeneralisasi jauh lebih baik. Biasanya Anda menginginkan generalisasi yang baik, tetapi ada beberapa situasi, seperti sistem rekomendasi, di mana menghafal sederhana tanpa generalisasi juga penting. Dalam kasus ini Anda ingin memberikan solusi substantif yang baik ketika pengguna membuat permintaan umum, tetapi solusi yang sangat tepat ketika pengguna membuat permintaan yang sangat spesifik. Jaringan yang luas dan dalam mampu memenuhi tugas ini dengan baik.

  • Mesin turing neural : Kelemahan NN berulang tradisional (apakah itu RNN standar atau sesuatu yang lebih canggih seperti LSTM) adalah memori mereka agak "intuitif". Mereka berhasil mengingat input masa lalu dengan menyimpan aktivasi lapisan tersembunyi yang mereka hasilkan di masa depan. Namun, terkadang lebih masuk akal untuk secara eksplisit menyimpan beberapa data. (Ini mungkin perbedaan antara menuliskan nomor telepon di selembar kertas vs. mengingat bahwa jumlahnya memiliki sekitar 7 digit dan ada beberapa angka 3 di sana dan mungkin tanda hubung di suatu tempat di tengah.) Mesin saraf Turingadalah cara untuk mencoba mengatasi masalah ini. Idenya adalah bahwa jaringan dapat belajar untuk secara eksplisit melakukan fakta tertentu ke bank memori. Ini tidak mudah dilakukan karena algoritma backprop membutuhkan fungsi yang dapat dibedakan, tetapi melakukan datum ke alamat memori adalah operasi yang terpisah secara inheren. Akibatnya, mesin saraf Turing menyiasati ini dengan melakukan sedikit data ke distribusi alamat memori yang berbeda. Arsitektur ini tampaknya belum berfungsi dengan sangat baik, tetapi idenya sangat penting. Beberapa varian ini mungkin akan menyebar luas di masa depan.

  • Jaringan permusuhan generatif : GAN adalah ide yang sangat menarik yang tampaknya telah melihat banyak penggunaan praktis. Idenya di sini adalah untuk melatih dua NN secara bersamaan: satu yang mencoba untuk menghasilkan sampel dari distribusi probabilitas yang mendasari (generator), dan yang mencoba untuk membedakan antara titik data nyata dan titik data palsu yang dihasilkan oleh generator (pembeda). Jadi, misalnya, jika dataset Anda adalah kumpulan gambar kamar tidur, generator akan mencoba membuat gambar kamar tidur sendiri, dan pembeda akan mencoba mencari tahu apakah itu melihat gambar nyata kamar tidur atau gambar palsu kamar tidur. Pada akhirnya, Anda memiliki dua NN yang sangat berguna: satu yang sangat bagus dalam mengklasifikasikan gambar sebagai kamar tidur atau bukan kamar tidur, dan yang benar-benar bagus dalam menghasilkan gambar kamar tidur yang realistis.

J. O'Brien Antognini
sumber
Poin bagus! Saya tidak menyadari bahwa putus sekolah adalah perkembangan baru! Saya sudah menambahkannya sekarang. Terima kasih!
J. O'Brien Antognini
0

Pembelajaran mendalam (dan khususnya jaringan saraf berbelit-belit dalam) sangat populer saat ini karena adanya peningkatan substansial baru-baru ini dalam berbagai tantangan deteksi visi / objek mesin. Deep convents secara khusus telah digunakan untuk mengurangi kesalahan klasifikasi ImageNet dari 28% pada 2010 menjadi 7% pada 2014. Pembelajaran mendalam tentu saja overhyped, tetapi itu tidak mengurangi fakta bahwa ada peningkatan berarti dalam bidang penglihatan mesin.

Ryan Zotti
sumber
DLNN telah ada cukup lama - tetapi mereka telah disetel agar berfungsi dengan baik baru-baru ini. Itu saja?
Make42
Juga, apa definisi itu?
Make42
Ya, mereka sudah ada untuk sementara waktu, tetapi mereka sudah menjadi populer karena mereka sekarang disetel lebih efektif. Seperti yang dikatakan Neil Slater, DL didefinisikan secara luas karena itu sedikit kata kunci. Saya akan mendefinisikannya sebagai jaringan apa pun dengan lebih dari 3 lapisan tersembunyi. DL juga mencakup jaring yang terhubung penuh, penyandi otomatis, dan jaring yang berbelit-belit. Jaring berulang mungkin juga termasuk dalam kategori DL tergantung pada siapa yang Anda tanyakan
Ryan Zotti
0

Pertanyaan serupa ditanyakan pada CV: perbedaan antara jaringan saraf dan pembelajaran mendalam :

Pembelajaran mendalam = jaringan saraf tiruan yang dalam + model-model mendalam lainnya .

Jaringan syaraf tiruan dalam = jaringan syaraf tiruan dengan lebih dari 1 lapisan. (lihat jumlah minimum lapisan dalam jaringan saraf yang dalam )

FYI: Seberapa benarkah slide pada pembelajaran yang mendalam ini mengklaim bahwa semua peningkatan dari tahun 1980 hanya karena lebih banyak data dan komputer yang lebih cepat?

Franck Dernoncourt
sumber