Apa perbedaan antara Neural Network, Deep Learning System, dan Deep Belief Network?

23

Apa perbedaan antara Neural Network, Deep Learning System, dan Deep Belief Network?

Seingat saya jaringan syaraf dasar Anda adalah 3 lapisan, dan saya punya Deep Belief Systems digambarkan sebagai jaringan syaraf yang ditumpuk satu sama lain.

Saya belum pernah mendengar tentang Sistem Pembelajaran Deep, tetapi saya sangat curiga ini adalah sinonim dari Deep Belief System. Adakah yang bisa mengkonfirmasi ini?

Lyndon White
sumber
Deep Belief System, adalah istilah yang saya gunakan, mereka mungkin sinonim (Pencarian Google akan memunculkan artikel untuk Deep Belief System)
Lyndon White
Deep Belief Network adalah nama kanonik karena mereka berasal dari Deep Boltzmann Network (dan bisa membingungkan dengan sistem propagasi kepercayaan yang sama sekali berbeda karena ini tentang jaringan bayesian dan teori keputusan probabilistik).
Gaborous
@gaborous Deep Belief Network adalah nama yang benar (dokumen yang saya dapatkan bertahun-tahun yang lalu memperkenalkan saya kepada mereka pasti memiliki kesalahan ketik). tetapi karena berasal dari jaringan boltzman yang dalam, nama itu sendiri noncanonical (AFAIK, senang melihat kutipan). DBN berasal dari Sigmoid Belief Networks dan RBM bertumpuk. Saya tidak berpikir istilah Deep Boltzmann Network pernah digunakan. Di sisi lain Deep Boltzmann Machine adalah istilah yang digunakan, tetapi Deep Boltzmann Machines diciptakan setelah Deep Belief Networks
Lyndon White
@ Oxinabox Anda benar, saya membuat kesalahan ketik, ini Deep Boltzmann Machines, meskipun itu benar-benar harus disebut Deep Boltzmann Network (tapi kemudian akronimnya akan sama, jadi mungkin itu sebabnya). Saya tidak tahu arsitektur mana yang ditemukan pertama kali, tetapi mesin Boltzmann adalah sebelum bm semi-terbatas. DBN dan DBM benar-benar konstruksi yang sama kecuali bahwa jaringan dasar yang digunakan sebagai lapisan berulang adalah SRBM vs BM.
Gaborous

Jawaban:

10

model jaringan saraf tiruan umumnya dibatasi hanya beberapa lapisan, katakanlah 3, selama beberapa dekade, karena berbagai alasan, termasuk bukti matematika bernama Kolmogorovs thm yang menunjukkan bahwa mereka secara teoritis dapat memperkirakan fungsi sewenang-wenang dengan kesalahan rendah (tetapi hanya dengan banyak neuron).

jaringan multilayer di luar itu tidak layak / efektif melalui teknik pembelajaran sebelumnya. terobosan serupa terjadi pada 2006 oleh 3 peneliti berbeda Hinton, Le Cun, Bengio yang mampu melatih lebih banyak lapisan. masalah utama di bidang ini adalah pengenalan tulisan tangan.

istilah "jaringan kepercayaan mendalam" tampaknya berasal dari makalah 2006 oleh Hinton yang merujuk pada jaringan Bayesian , yang memiliki hubungan konseptual / teoretis / analogi dengan jaringan saraf. "Algoritma pembelajaran cepat untuk jaring kepercayaan mendalam"

lihat slide 17 khususnya presentasi ini dalam jaringan saraf

jadi bidang pembelajaran yang dalam hanya berusia ~ ½ dekade dan sedang mengalami penelitian dan pengembangan yang cepat. Google, Facebook, Yahoo memiliki semua inisiatif berbasis pembelajaran yang diumumkan dan R&D sedang berlangsung.

ay
sumber
situs web yang didedikasikan untuk pembelajaran mendalam oleh para peneliti di lapangan
vzn
14

Jaringan saraf tiruan adalah kelas algoritma yang mencakup banyak jenis algoritma berdasarkan grafik, jadi saya tidak akan menjelaskan di sini lebih dari apa yang Anda tanyakan karena terlalu banyak yang ingin dikatakan, karena ada begitu banyak jenis JST.

Jenis pertama dari jaringan syaraf tiruan, neuron McCulloch-Pitts yang terkenal, adalah linear , yang berarti bahwa mereka hanya bisa menyelesaikan masalah keputusan linear (yaitu, dataset yang dapat dipisahkan secara linear dengan menggambar garis). Seiring waktu, model jaringan saraf linier ini dikenal sebagai Perceptron atau Adaline (tergantung pada bagaimana Anda menghitung pembaruan bobot).

Jaringan neural linear hanya terdiri dari grafik bipartit, di mana node sisi kiri adalah input dan sisi kanan node output. Hanya bobot tepi antara node yang dipelajari (ambang aktivasi node juga dapat disesuaikan tetapi ini jarang dilakukan).

Jaringan saraf dasar seperti Adaline atau Perceptron (tidak ada lapisan tersembunyi) Batas keputusan linier

Sebuah langkah besar diambil ketika jaringan saraf dangkal ditemukan: alih-alih hanya memiliki grafik bipartit, kami menggunakan grafik 3-sisi: input "layer", output "layer", dan satu "hidden layer" di antara mereka. Terima kasih kepada lapisan tersembunyi, jaringan sekarang dapat mengambil keputusan non-linear, dan menyelesaikan masalah seperti kanon XOR.

Untuk jaringan saraf Xor neural network contoh jalur aktivasi Untuk batas keputusan jaringan

Perhatikan bahwa istilah "dangkal" diciptakan secara retrospektif ketika jaringan saraf yang dalam (juga disebut jaringan ne-layer n ) ditemukan. Ini untuk menentang jaringan saraf dengan hanya satu lapisan tersembunyi, dengan jaringan saraf dalam dengan n lapisan tersembunyi . Seperti yang bisa Anda tebak, menggunakan lebih banyak lapisan tersembunyi memungkinkan untuk memutuskan kumpulan data yang lebih rumit karena ada lebih banyak lapisan untuk memodulasi keputusan (yaitu, dengan kata lain Anda meningkatkan dimensi batas keputusan Anda, yang dapat menyebabkan overfitting).

Jaringan saraf N-layer Batas keputusan non-linear yang kompleks menggunakan jaringan saraf dalam n-layer

Anda mungkin bertanya: mengapa tidak ada yang mencoba menggunakan jaringan saraf multi-lapis (dalam) sebelumnya? Bahkan, mereka melakukannya, pada tahun 1975 oleh Fukushima dengan Cognitron dan Neocognitron (yang sebenarnya merupakan jaringan saraf convolutional, tapi itu cerita lain). Namun, masalahnya adalah tidak ada yang tahu cara efisien mempelajari jaringan seperti itu, masalah besar adalah regularisasi . AutoEncoders Hinton membuka jalan, dan kemudian Unit Linear Rektifikasi dari LeCun memperbaiki masalah ini untuk selamanya.

Bagaimana dengan Deep Beliefs Networks (DBN)? Mereka hanya mesin Boltzmann semi-lapis multi-layered. Jadi mereka adalah semacam jaringan saraf yang dalam, tetapi dengan pola jaringan dasar yang berbeda (yaitu: lapisan, ini adalah pola yang diulang): Mesin Boltzmann berbeda dari jaringan lain karena bersifat generatif , artinya biasanya digunakan untuk belajar dari data Anda untuk mereproduksi itu ("menghasilkan" itu), sedangkan jaringan saraf dalam biasa digunakan untuk memisahkan data Anda (dengan menggambar "batas keputusan").

Dengan kata lain, DNN hebat untuk mengklasifikasikan / memprediksi nilai dari dataset Anda, sementara DBN hebat untuk "memperbaiki" data yang rusak (ketika saya mengatakan perbaikan, itu tidak hanya dari data yang rusak, itu juga dapat pada data yang sangat bagus) bahwa Anda hanya ingin memperbaiki sedikit agar lebih stereotip untuk lebih mudah mengenali dengan jaringan saraf lain, seperti digit tulisan tangan).

Bahkan, untuk meringkas dengan rapi, Anda dapat mengatakan bahwa AutoEncoders adalah bentuk yang lebih sederhana dari Deep Belief Network. Berikut adalah contoh DBN yang dilatih untuk mengenali wajah tetapi BUKAN angka, angka-angka secara otomatis menghilang (ini adalah efek "memperbaiki" dari DBN):

Contoh Deep Belief Network tentang pengenalan wajah

Jadi pada akhirnya, DBN dan DNN tidak berlawanan: mereka saling melengkapi. Misalnya, Anda dapat membayangkan suatu sistem untuk mengenali karakter tulisan tangan yang pertama-tama akan memberi makan gambar karakter ke DBN untuk membuatnya lebih stereotip dan kemudian mengumpankan gambar stereotip ke DNN yang kemudian akan menampilkan karakter yang diwakili oleh gambar tersebut.

Catatan terakhir: Deep Belief Nets sangat dekat dengan Deep Boltzmann Machines: Deep Boltzmann Machines menggunakan lapisan Mesin Boltzmann (yang merupakan jaringan saraf dua arah, juga disebut jaringan saraf berulang), sedangkan Deep Belief Nets menggunakan Mesin Boltzmann semi-terbatas (semi- dibatasi berarti bahwa mereka diubah menjadi searah, sehingga memungkinkan untuk menggunakan backpropagation untuk mempelajari jaringan yang jauh lebih efisien daripada mempelajari jaringan berulang). Kedua jaringan digunakan untuk tujuan yang sama (regenerasi dataset), tetapi biaya komputasi berbeda (Deep Boltzmann Machines secara signifikan lebih mahal untuk dipelajari karena sifatnya yang berulang: lebih sulit untuk "menstabilkan" bobot).

Bonus: tentang Convolutional Neural Networks (CNN), Anda akan menemukan banyak klaim yang kontradiktif dan membingungkan, dan biasanya Anda akan menemukan bahwa itu hanyalah jaringan saraf yang dalam. Namun, tampaknya konsensus adalah untuk menggunakan definisi asli dari Fukushima's Neocognitron: CNN adalah DNN yang dipaksa untuk mengekstraksi fitur yang berbeda pada tingkat hierarki yang berbeda dengan memaksakan konvolusi sebelum aktivasi (yang secara alami dapat dilakukan oleh DNN, tetapi memaksanya dengan menetapkan fungsi konvolusi / aktivasi yang berbeda pada berbagai lapisan jaringan dapat menghasilkan hasil yang lebih baik, setidaknya itulah taruhan CNN):

Fitur jaringan saraf yang dalam Fitur-fitur jaringan saraf convolutional

Dan akhirnya, untuk timeline Inteligensi Buatan yang lebih ketat , lihat di sini .

gaborous
sumber
1
Jawaban bagus! Aspek kunci (mungkin aspek pendefinisian) dari jaringan deep convolutional adalah bahwa setiap layer berhubungan dengan penerapan konvolusi kemudian menerapkan fungsi aktivasi: ada kernel, dan semua node dalam layer menerapkan kernel yang sama. Bayangkan input adalah gambar. Biasanya, Anda memiliki simpul untuk setiap piksel, dan memiliki koneksi yang datang dari piksel terdekat. Jaringan biasa akan memungkinkan setiap piksel memiliki pola bobotnya sendiri di tepi yang masuk. Jaringan konvolusional memberlakukan persyaratan tambahan bahwa urutan bobotnya sama pada setiap piksel dalam gambar.
DW
Ya memang Anda benar, dan dari situlah asal nama itu. Tetapi secara pribadi, saya pikir ini sering digunakan sebagai peretasan untuk mengkhususkan jaringan syaraf yang dalam daripada apa pun (ketika karakteristik pendefinisian jaringan syaraf yang dalam adalah untuk tujuan umum dan agnostik untuk dataset). Sebagai contoh, HMAX, sejenis CNN, menggunakan konvolusi untuk menghitung peta arti-penting, yang jelas-jelas merupakan retasan ketika peta arti-penting dalam jaringan saraf biologis tentu saja tidak dihitung menggunakan pemrograman dinamis ...
gaborous
3

Deep Neural Networks adalah Neural Networks yang memiliki kedalaman relatif tinggi. Mereka adalah subkelas dari Neural Networks. Idenya benar-benar kembali dekade dan bukan hal baru. Apa yang baru adalah bahwa kami telah menemukan cara untuk melatih mereka dalam praktik. Alasan itu menjadi sangat populer baru-baru ini adalah pelatihan mereka menjadi layak dan orang-orang menggunakannya untuk mengalahkan algoritma canggih. DNN membutuhkan banyak data dan banyak daya komputasi yang tidak tersedia beberapa dekade yang lalu. Geoff Hinton dan para siswa serta koleganya menemukan cara untuk melatih mereka dalam praktik selama dekade terakhir dan menggunakannya untuk mengalahkan algoritma pembelajaran mesin seni di beberapa bidang di mana sebagian besar peneliti menolak gagasan untuk menggunakan mereka sepenuhnya pada saat itu.

Belief Networks adalah kelas Model Grafis Probabilistik, mereka memodelkan banyak variabel acak dan dependensinya menggunakan grafik (ada berbagai cara untuk melakukan ini). Variabel-variabel itu sendiri dapat dari distribusi berparameter dan mungkin dimodelkan oleh jaringan saraf (atau beberapa model lain untuk mewakili distribusi berparameter). Deep Belief Networks adalah Belief Networks yang memiliki kedalaman relatif tinggi.

Belief Networks cenderung bersifat generatif, yaitu kita dapat menggunakan model yang terlatih untuk menghasilkan sampel dari distribusi yang diwakilinya.

Jaringan saraf cenderung diskriminatif, kita dapat menggunakannya untuk menghitung probabilitas input yang diberikan (apakah ini gambar kucing? Berapa probabilitas ini menjadi gambar kucing?) Tetapi biasanya tidak untuk pengambilan sampel (menghasilkan gambar kucing).

Kaveh
sumber
Saya bukan ahli ML jadi ambillah apa yang saya tulis dengan sebutir garam.
Kaveh
-1

Jaringan saraf biasanya diimplementasikan di mana lapisan tersembunyi dan persamaan kuadrat diperlukan. Di mana pembelajaran mendalam dan jaringan kepercayaan mendalam digunakan di mana beberapa lapisan tersembunyi diperlukan untuk memanipulasi data seperti halnya jaringan Boltzmann yang dalam.

Kasus Msee
sumber
Jadi keduanya membutuhkan lapisan tersembunyi? Bisakah Anda melakukan beberapa lapisan tersembunyi di NN normal? Ini jaringan Boltzmann, maksud Anda mesin Boltzmann? Jadi apa bedanya? Itu tidak menjawab pertanyaan (atau mungkin itu menjawab, tetapi terlalu tidak jelas).
Jahat