Apakah para ilmuwan tahu apa yang terjadi di dalam jaringan saraf tiruan?

69

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?

kenorb
sumber
" mengapa mereka berkinerja sangat baik " - mereka tidak benar-benar berkinerja begitu baik. Seperti kebanyakan teknologi baru, kegagalan tidak dilaporkan.
Tomáš Zato

Jawaban:

51

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 :

Singkatnya, kami telah mengumpulkan beberapa metode berbeda yang memungkinkan Anda untuk "melakukan pelacakan" fitur apa yang telah dipelajari neuron, yang dapat membantu Anda lebih memahami bagaimana DNN bekerja.

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.

filter lapisan pertama

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):

percobaan oklusi

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:

Neuron yang disorot dalam gambar ini tampaknya sangat bersemangat tentang URL dan mematikan di luar URL. LSTM kemungkinan menggunakan neuron ini untuk mengingat apakah itu di dalam URL atau tidak.

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.

Pepatah
sumber
Apakah memvisualisasikan mengetahui? Atau itu hanya solusi trendi untuk ketidaktahuan? Mungkin pengembangan matematika adalah bidang yang paling kurang kekakuan dan kecukupan.
FauChristian
1
@ Fu christian Anda tidak mengerti intinya di sini. Bobot dan semua operasi matematika di dalam jaringan saraf dikenal persis, seperti kode assembly. Ini tidak mungkin. Visualisasi memungkinkan untuk memahami mengapa operasi tertentu terjadi dan menghasilkan kinerja yang baik. Sekali lagi, sama seperti algoritma ilmu komputer klasik. Selain itu, saya mendorong Anda untuk membaca koran oleh Zieler di al, yang disebutkan dalam jawaban.
Maxim
1
Saya tidak ketinggalan poin itu, setelah mempelajarinya sebagai mahasiswa. Tapi saya malas dalam komentar saya. Kisi-kisi b & w yang mewakili kernel hanya menarik karena menunjukkan matriks yang agak kacau dari status kernel deteksi tepi bergelombang, menunjukkan kebutuhan untuk mengkarakterisasi kekacauan untuk memahaminya. Berapa distribusi ukuran, distribusi sudut, dan distribusi condongnya? Apakah distribusi ini menunjukkan (a) Kecocokan yang terlalu spesifik untuk set data tertentu atau (b) Pola umum yang dapat diganti oleh blok fungsional dengan efisiensi komputasi yang lebih besar. ~~ Sekali tidak bisa membedakan dari visual.
FauChristian
1
Benar, semua distribusi ini (dan banyak-banyak lainnya) tidak dihitung di sini. Itu tidak berarti mereka tidak bisa atau tidak boleh dihitung. Ini juga tidak berarti bahwa interpretasi model tidak ada hubungannya dengan visualisasi. Saya sekali lagi mendorong Anda untuk membaca "Visualisasi dan Memahami Jaringan Konvolusional" oleh Zieler di al, di mana penulis membahas ini secara rinci.
Maxim
Kami memilikinya di lab. Rekan saya menjalankan beberapa contoh kode. Saya akan melihatnya dari sisi statistik. Terima kasih.
FauChristian
27

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 .

NietzscheanAI
sumber
13

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:

Dan pada level yang lebih praktis (kode dll):

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 :

desertnaut
sumber
Hai. Ini sepertinya jawaban yang bagus, tetapi Anda perlu membersihkannya dan mengaturnya sedikit. Sumber daya pertama harus menjadi yang paling bermanfaat dan umum. Kemudian Anda dapat membuat daftar sumber daya dan makalah penelitian yang lebih spesifik, IMHO. Dan nanti Anda bisa daftar misalnya utas Twitter atau apa pun.
nbro
8

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.

mindcrime
sumber
2
Saya tertarik untuk membaca kutipan yang sebenarnya. Pada tingkat konseptual terluas, alasannya adalah "Mereka adalah penduga fungsi Universal yang dilatih untuk mengurangi kesalahan dalam masalah regresi".
NietzscheanAI
Saya akan melihat apakah saya bisa melacaknya. Saya cukup yakin kutipan dari Geoffrey Hinton yang saya pikirkan ada dalam sebuah video .. baik dari Coursera Class-nya atau beberapa video yang dia punya di Youtube. Jika saya dapat menemukannya, saya akan mengedit jawaban saya dan menautkannya.
mindcrime
Saya belum lupa. Saya akan mencoba menemukan mereka ketika saya punya waktu luang. Saya pikir setidaknya salah satu yang saya pikirkan adalah dari video yang merupakan bagian dari kursus Coursera.
mindcrime
Studi ini dapat membantu untuk menempatkan referensi yang sama: 'Namun tidak ada pemahaman yang jelas tentang mengapa kinerjanya sangat baik, atau bagaimana mereka dapat ditingkatkan'.
kenorb
4

Berikut adalah jawaban oleh Carlos E. Perez untuk pertanyaan Apa teori di balik pembelajaran yang mendalam?

[...]

Matematika yang mendasari Deep Learning telah ada selama beberapa dekade, namun hasil mengesankan yang kita lihat saat ini adalah bagian dari konsekuensi perangkat keras yang jauh lebih cepat, lebih banyak data dan peningkatan metode secara bertahap.

Deep Learning secara umum dapat dibingkai sebagai masalah optimisasi di mana tujuannya adalah fungsi dari kesalahan model. Masalah optimisasi ini sangat sulit dipecahkan mengingat ruang parameter model (yaitu bobot jaringan saraf) menyebabkan masalah dalam dimensi yang sangat tinggi. Algoritma pengoptimalan bisa memakan waktu sangat lama untuk menjelajahi ruang ini. Selain itu, ada keyakinan yang belum diverifikasi bahwa masalahnya adalah non-cembung dan perhitungan akan selamanya terjebak dalam minimum lokal.

[...]

Teori mengapa mesin benar-benar bertemu dengan penarik atau dengan kata lain belajar mengenali pola yang kompleks masih belum diketahui.

Singkatnya: kami memiliki beberapa ide, tetapi kami tidak yakin.

Benjamin Crouzier
sumber
3

Apakah para ilmuwan tahu apa yang terjadi di dalam jaringan saraf tiruan?

IYA

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?

Saya kira "tahu dari dapur" berarti "tahu secara detail"?

Biarkan saya memberi Anda serangkaian analogi:

  1. Apakah seorang insinyur pesawat tahu dari dapur apa yang terjadi di dalam pesawat?
  2. Apakah perancang chip tahu secara detail apa yang terjadi pada chip yang dirancangnya?
  3. Apakah seorang insinyur sipil tahu segalanya tentang rumah yang ia bangun?

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:

  • Jaringan saraf yang dirancang untuk memainkan Go - tidak peduli seberapa canggih - bahkan tidak akan pernah bisa bermain catur. Anda tentu saja dapat menambahkan lapisan abstraksi lain di sekitarnya dan menggabungkan berbagai hal. Tetapi pendekatan ini membutuhkan manusia.
  • Sebuah jaringan saraf yang dirancang untuk membedakan anjing dari kucing yang hanya melihat pudel dan kucing Persia kemungkinan akan berkinerja sangat buruk ketika harus memutuskan untuk Yorkshire Terrier.

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:

masukkan deskripsi gambar di sini

Martin Thoma
sumber
1
Sebagian besar dari mereka dipengaruhi oleh model biologis .. Jadi, mengatakan para ilmuwan membangun NN sebagai fungsi dari masalah adalah agak sulit untuk dipercaya ... Terutama ketika tidak ada yang tahu mengapa arsitektur tertentu atau set hyperparameters tertentu bekerja dengan baik untuk masalah yang diberikan ... Saya tidak berbicara tentang hiperparameter yang tepat tetapi tampaknya tidak ada yang memiliki gambaran umum tentang perkiraan hiperparameter mungkin bekerja untuk masalah yang diberikan (masalah didefinisikan dengan baik) .. Jadi tidak ada ilmuwan yang tidak tahu apa yang terjadi di dalam sebuah NN.
DuttaA
Pikirkan insinyur mobil / pesawat terbang awal. Apakah Anda mengatakan mereka tidak tahu apa yang terjadi di dalam pesawat / mobil mereka, karena mereka tidak membangunnya, karena bentuknya tidak aerodinamis?
Martin Thoma
1
Ofc ... Tidak tahu sesuatu karena kurangnya teknologi ... Adalah sesuatu yang berbeda dari tidak mengetahui secara teoritis..Aku percaya itu adalah teknologi dalam kasus pesawat terbang .. Sementara di sini kita tidak dapat memproses secara matematis..Jadi lupakan teknologi
DuttaA
1

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!

Carter Nolan
sumber
1
Meskipun Anda mungkin benar secara konseptual, Anda bisa mendapatkan suara dan mungkin bisa membantu konstruktif jika Anda menulis ulang jawaban Anda untuk dianggap sebagai pengamatan sosiologis daripada omelan pedantic.
FauChristian