Apakah para ilmuwan atau pakar riset tahu dari dapur apa yang terjadi di dalam jaringan saraf "dalam" yang kompleks dengan sedikitnya jutaan koneksi yang bekerja secara instan? Apakah mereka memahami proses di balik ini (mis. Apa yang terjadi di dalam dan bagaimana cara kerjanya tepatnya), atau itu menjadi bahan perdebatan?
Misalnya penelitian ini mengatakan:
Namun tidak ada pemahaman yang jelas tentang mengapa kinerja mereka sangat baik, atau bagaimana mereka dapat ditingkatkan.
Jadi apakah ini berarti bahwa para ilmuwan sebenarnya tidak tahu bagaimana model jaringan convolutional yang kompleks bekerja?
Jawaban:
Ada banyak pendekatan yang bertujuan untuk membuat jaringan saraf yang terlatih lebih dapat ditafsirkan dan kurang seperti "kotak hitam", khususnya jaringan saraf convolutional yang telah Anda sebutkan.
Memvisualisasikan aktivasi dan bobot lapisan
Visualisasi aktivasi adalah yang pertama jelas dan lurus ke depan. Untuk jaringan ReLU, aktivasi biasanya mulai terlihat relatif blobby dan padat, tetapi ketika pelatihan berlangsung, aktivasi biasanya menjadi lebih jarang (sebagian besar nilainya nol) dan terlokalisasi. Ini kadang-kadang menunjukkan apa tepatnya lapisan tertentu difokuskan ketika melihat gambar.
Pekerjaan besar lain pada aktivasi yang ingin saya sebutkan adalah deepvis yang menunjukkan reaksi setiap neuron pada setiap lapisan, termasuk lapisan pooling dan normalisasi. Begini cara mereka menggambarkannya :
Strategi umum kedua adalah memvisualisasikan bobot (filter). Ini biasanya paling dapat ditafsirkan pada lapisan CONV pertama yang melihat langsung pada data piksel mentah, tetapi dimungkinkan untuk juga menunjukkan bobot filter lebih dalam di jaringan. Misalnya, lapisan pertama biasanya mempelajari filter mirip gabor yang pada dasarnya mendeteksi tepi dan gumpalan.
Eksperimen percobaan
Inilah idenya. Misalkan ConvNet mengklasifikasikan gambar sebagai anjing. Bagaimana kita bisa yakin bahwa itu benar-benar menangkap anjing dalam gambar sebagai lawan dari beberapa isyarat kontekstual dari latar belakang atau objek lain-lain?
Salah satu cara untuk menyelidiki bagian mana dari gambar yang berasal dari prediksi klasifikasi adalah dengan memplot probabilitas kelas minat (misalnya kelas anjing) sebagai fungsi dari posisi objek penyembur. Jika kita mengulangi wilayah gambar, menggantinya dengan semua nol dan memeriksa hasil klasifikasi, kita dapat membangun peta panas 2 dimensi dari apa yang paling penting untuk jaringan pada gambar tertentu. Pendekatan ini telah digunakan dalam Jaringan Konvolusionalisasi Visualisasi dan Pengertian Matthew Zeiler (yang Anda rujuk dalam pertanyaan Anda):
Dekonvolusi
Pendekatan lain adalah mensintesis gambar yang menyebabkan neuron tertentu terbakar, pada dasarnya apa yang dicari neuron. Idenya adalah untuk menghitung gradien sehubungan dengan gambar, bukan gradien yang biasa sehubungan dengan bobot. Jadi Anda memilih layer, atur gradien menjadi nol kecuali satu untuk satu neuron dan backprop ke gambar.
Deconv sebenarnya melakukan sesuatu yang disebut propagasi balik terpandu untuk membuat gambar tampak lebih bagus, tapi itu hanya detail.
Pendekatan serupa dengan jaringan saraf lainnya
Sangat merekomendasikan posting ini oleh Andrej Karpathy , di mana ia banyak bermain dengan Recurrent Neural Networks (RNN). Pada akhirnya, ia menerapkan teknik serupa untuk melihat apa yang sebenarnya dipelajari oleh neuron:
Kesimpulan
Saya telah menyebutkan hanya sebagian kecil dari hasil dalam bidang penelitian ini. Ini cukup aktif dan metode baru yang menjelaskan cara kerja jaringan saraf muncul setiap tahun.
Untuk menjawab pertanyaan Anda, selalu ada sesuatu yang belum diketahui para ilmuwan, tetapi dalam banyak kasus mereka memiliki gambaran yang bagus (sastra) tentang apa yang terjadi di dalam dan dapat menjawab banyak pertanyaan tertentu.
Bagi saya kutipan dari pertanyaan Anda hanya menyoroti pentingnya penelitian tidak hanya peningkatan akurasi, tetapi struktur dalam jaringan juga. Seperti yang dikatakan Matt Zieler dalam pembicaraan ini , kadang-kadang visualisasi yang baik dapat mengarah pada akurasi yang lebih baik.
sumber
Itu tergantung pada apa yang Anda maksud dengan "tahu apa yang terjadi".
Secara konseptual, ya: JST melakukan regresi nonlinier. Ekspresi aktual yang diwakili oleh matriks bobot / fungsi aktivasi suatu JST dapat diperluas secara eksplisit dalam bentuk simbolis (misalnya mengandung sub-ekspresi seperti 1/1 ).1/1+e1/1+e…
Namun, jika dengan 'tahu' maksud Anda memprediksi output dari beberapa JST (kotak hitam) spesifik , dengan beberapa cara lain, maka rintangannya adalah adanya kekacauan di JST yang memiliki derajat kebebasan tinggi .
Berikut ini juga beberapa karya yang relatif baru oleh Hod Lipson tentang memahami JST melalui visualisasi .
sumber
Jawaban singkatnya adalah tidak .
Penafsiran model adalah bidang hiper-aktif dan sangat-panas dari penelitian saat ini (pikirkan tentang grail suci, atau sesuatu), yang telah diajukan belakangan ini paling tidak karena keberhasilan (sering luar biasa) model pembelajaran mendalam dalam berbagai tugas; model-model ini saat ini hanya kotak hitam, dan kita secara alami merasa tidak nyaman tentang itu ...
Berikut adalah beberapa sumber umum (dan baru-baru ini, pada Des 2017) tentang masalah ini:
Artikel terbaru (Juli 2017) di Science memberikan gambaran bagus tentang status & penelitian saat ini: Bagaimana detektif AI membuka kotak hitam pembelajaran dalam (tidak ada tautan dalam teks, tetapi nama & ketentuan googling akan terbayar)
DARPA sendiri saat ini menjalankan program tentang Explainable Artificial Intelligence (XAI)
Ada sebuah lokakarya di NIPS 2016 tentang Pembelajaran Mesin yang Dapat Diartikan untuk Sistem yang Kompleks , serta tutorial ICML 2017 tentang Pembelajaran Mesin yang Dapat Diartikan oleh Been Kim dari Google Brain.
Dan pada level yang lebih praktis (kode dll):
Alat What-If oleh Google, fitur baru (September 2018) dari aplikasi web TensorBoard open-source, yang memungkinkan pengguna menganalisis model ML tanpa menulis kode ( halaman proyek , posting blog )
Kotak alat Relevansi Propagasi Lapisan (LRP) untuk jaringan saraf ( kertas , halaman proyek , kode , pembungkus TF Slim )
FairML: Model Prediktif Black-Box Audit, oleh Cloudera Fast Forward Labs ( posting blog , kertas , kode )
LIME: Penjelasan Model-agnostik Lokal yang Dapat Diartikan ( kertas , kode , posting blog , port R )
Makalah yang sangat baru (November 2017) oleh Geoff Hinton, Menyaring Jaringan Syaraf Menjadi Pohon Keputusan Lembut , dengan implementasi PyTorch yang independen
SHAP: Pendekatan Terpadu untuk Menafsirkan Prediksi Model ( makalah , kode Python penulis , paket R )
Jaringan Syaraf Konvolusional yang Dapat Dipertafsirkan ( makalah , kode penulis )
Lucid, kumpulan infrastruktur dan alat untuk penelitian dalam interpretabilitas jaringan saraf oleh Google ( kode ; makalah: Fitur Visualisasi , The Building Blocks of Interpretability )
Jaringan Transparecy-by-Design (TbD) ( kertas , kode , demo )
SVCCA: Analisis Korelasi Kanonik Vektor Singular untuk Dinamika dan Interpretasi Pembelajaran Mendalam ( kertas , kode , posting blog Google )
TCAV: Pengujian dengan Vektor Aktivasi Konsep ( makalah ICML 2018 , kode Tensorflow )
Grad-CAM: Visual Penjelasan dari Jauh Networks melalui Lokalisasi berbasis Gradient ( kertas , penulis kode Torch , kode Tensorflow , kode PyTorch , Keras misalnya notebook )
Diseksi Jaringan: Mengukur Interpretabilitas Representasi Visual Dalam, oleh MIT CSAIL ( halaman proyek , kode Caffe , port PyTorch )
Diseksi GAN: Memvisualisasikan dan Memahami Jaringan Permusuhan Generatif, oleh MIT CSAIL ( halaman proyek , dengan tautan ke kertas & kode)
Jelaskan untuk Memperbaiki: Kerangka Kerja untuk Menafsirkan dan Memperbaiki Prediksi Detektor Objek DNN ( kertas , kode )
Akhir-akhir ini, ada gelombang minat untuk mulai membangun dasar yang lebih teoretis untuk jaring saraf pembelajaran yang mendalam. Dalam konteks ini, ahli statistik terkenal dan pelopor penginderaan tekan David Donoho baru-baru ini (musim gugur 2017) mulai menawarkan kursus di Stanford, Theories of Deep Learning (STATS 385) , dengan hampir semua materi tersedia secara online; sangat dianjurkan ...
PEMBARUAN :
sumber
Tidak yakin apakah ini yang Anda cari, tetapi google mengekstraksi gambar dari jaringan ketika diberi makan dengan white noise.
Lihat Inceptionism: Pergi Lebih Jauh ke Jaringan Saraf Tiruan (Google Research Blog) .
Jenis ini mewakili apa yang diketahui jaringan.
sumber
Saya khawatir saya tidak memiliki kutipan khusus yang berguna, tetapi saya telah melihat / mendengar kutipan oleh para ahli seperti Andrew Ng dan Geoffrey Hinton di mana mereka dengan jelas mengatakan bahwa kita tidak benar-benar memahami jaringan saraf. Yaitu, kita memahami sesuatu tentang bagaimana mereka bekerja (misalnya, matematika di belakang propagasi belakang) tetapi kita tidak benar-benar mengerti mengapa mereka bekerja. Ini semacam perbedaan yang halus, tetapi intinya adalah tidak, kami tidak memahami detail terdalam tentang bagaimana tepatnya Anda pergi dari sekelompok bobot, hingga, misalnya, mengenali kucing yang bermain dengan bola.
Setidaknya dalam hal pengenalan gambar, penjelasan terbaik yang pernah saya dengar adalah bahwa lapisan berturut-turut dari jaringan saraf mempelajari fitur yang lebih canggih, terdiri dari fitur yang lebih terperinci dari level sebelumnya. Dengan kata lain, lapisan pertama mungkin mengenali "ujung" atau "garis lurus". Lapisan berikutnya mungkin belajar bentuk-bentuk geometris seperti "kotak", atau "segitiga", dan kemudian lapisan yang lebih tinggi mungkin belajar "hidung" atau "mata" berdasarkan fitur-fitur sebelumnya, dan kemudian lapisan tingkat yang lebih tinggi masih belajar "wajah" dibuat naik dari "mata", "hidung", "rahang", dll. Tetapi bahkan itu, seperti yang saya mengerti, masih hipotetis dan / atau tidak dipahami secara detail lengkap.
sumber
Berikut adalah jawaban oleh Carlos E. Perez untuk pertanyaan Apa teori di balik pembelajaran yang mendalam?
Singkatnya: kami memiliki beberapa ide, tetapi kami tidak yakin.
sumber
IYA
Saya kira "tahu dari dapur" berarti "tahu secara detail"?
Biarkan saya memberi Anda serangkaian analogi:
Iblis ada dalam detailnya, tetapi poin penting di sini adalah tentang struktur buatan. Mereka tidak muncul secara acak. Anda membutuhkan banyak pengetahuan untuk mendapatkan sesuatu yang bermanfaat. Untuk Neural Networks, saya akan mengatakan kira-kira butuh 40 tahun dari publikasi ide utama (Rosenblatt perceptron, 1957) ke aplikasi pertama (US Postal Service, 1989). Dan dari sana lagi 13 tahun penelitian aktif untuk sistem yang sangat mengesankan (ImageNet 2012).
Apa yang kita ketahui dengan sangat baik adalah bagaimana pelatihan itu bekerja . Karena itu perlu diimplementasikan. Jadi pada struktur yang sangat kecil, kita tahu secara detail.
Pikirkan komputer. Perancang chip tahu betul cara kerja chip mereka. Tetapi mereka mungkin hanya akan memiliki gagasan yang sangat kasar tentang bagaimana sistem operasi Linux bekerja.
Contoh lain adalah fisika dan kimia: Fisika menggambarkan kekuatan inti alam semesta. Apakah itu berarti mereka tahu segalanya tentang kimia juga? Tidak! Seorang fisikawan "sempurna" dapat menjelaskan segala sesuatu dalam kimia ... tetapi itu akan sangat tidak berguna. Dia akan membutuhkan lebih banyak informasi, tidak dapat melewati bagian yang tidak relevan. Hanya karena dia "memperbesar" terlalu banyak - pertimbangkan detail yang dalam praktiknya tidak menarik atau penting. Harap dicatat bahwa pengetahuan ahli fisika tidak salah. Mungkin seseorang bahkan bisa menyimpulkan pengetahuan dari ahli kimia darinya. Tetapi pemahaman "tingkat tinggi" tentang interaksi molekul ini tidak ada.
Wawasan utama dari kedua contoh tersebut adalah lapisan abstraksi: Anda dapat membangun kompleksitas dari struktur sederhana .
Apa lagi?
Kami tahu benar apa yang pada prinsipnya dapat dicapai dengan jaringan saraf yang kami desain:
Oh, dan tentu saja kami memiliki pendekatan analitis untuk jaringan saraf. Saya menulis tesis master saya tentang Analisis dan Optimalisasi Arsitektur Jaringan Syaraf Konvolusional . Dalam konteks ini LIME (Penjelasan Agnostik Model-Interpretable Lokal) bagus:
sumber
Saya hanya ingin menambahkan sesuatu:
itu tergantung pada apa yang Anda maksud oleh ilmuwan:
Saya seorang mahasiswa PhD di bidang teknik elektro dan saya melihat begitu banyak peneliti bekerja dengan JST, dalam masalah seperti regresi, kontrol prediksi, kontrol adaptif dan masalah klasifikasi.
Anda dapat dengan jelas melihat bahwa kurangnya keterampilan pengkodean mereka adalah kelemahan utama, dan mereka tidak benar-benar mengerti apa yang terjadi di dalam JST, sekarang saya bahkan tidak berbicara tentang Deep , mereka berjuang memahami hal-hal sederhana seperti ADALINE dan ANFIS! semua yang Anda dengar mereka katakan adalah: berikan data dan itu akan beradaptasi!
sumber