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).
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.
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).
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):
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):
Dan akhirnya, untuk timeline Inteligensi Buatan yang lebih ketat , lihat di sini .