Saya sangat tertarik dengan Jaringan Neural Buatan, tetapi saya sedang mencari tempat untuk memulai.
Sumber daya apa yang tersedia dan apa proyek awal yang baik?
Saya sangat tertarik dengan Jaringan Neural Buatan, tetapi saya sedang mencari tempat untuk memulai.
Sumber daya apa yang tersedia dan apa proyek awal yang baik?
Jawaban:
Berikut beberapa contoh pemrograman Neural Net. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx
Anda dapat mulai membaca di sini: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html
Saya sendiri telah mengunjungi kursus tentang hal itu dan mengerjakan beberapa literatur.
Pertama-tama, hentikan anggapan bahwa jaringan saraf tiruan ada hubungannya dengan otak tetapi untuk kesamaan yang lewat dengan jaringan neuron biologis. Belajar biologi tidak akan membantu Anda menerapkan jaringan saraf secara efektif; belajar aljabar linier, kalkulus, dan teori probabilitas. Anda setidaknya harus membuat diri Anda terbiasa dengan gagasan diferensiasi dasar fungsi, aturan rantai, turunan parsial (gradien, Jacobian dan Hessian), dan memahami perkalian matriks dan diagonalisasi.
Sebenarnya apa yang Anda lakukan saat melatih jaringan adalah mengoptimalkan fungsi multidimensi yang besar (meminimalkan ukuran kesalahan Anda sehubungan dengan masing-masing bobot dalam jaringan), sehingga penyelidikan teknik untuk pengoptimalan numerik nonlinier mungkin terbukti bermanfaat. Ini adalah masalah yang dipelajari secara luas dengan basis literatur yang besar di luar jaringan saraf, dan ada banyak catatan kuliah tentang pengoptimalan numerik yang tersedia di web. Untuk memulai, kebanyakan orang menggunakan penurunan gradien sederhana , tetapi ini bisa jauh lebih lambat dan kurang efektif daripada metode yang lebih bernuansa seperti
Setelah Anda mendapatkan ide dasarnya, Anda dapat mulai bereksperimen dengan berbagai fungsi "squashing" di lapisan tersembunyi Anda, menambahkan berbagai jenis regularisasi, dan berbagai penyesuaian untuk mempercepat proses pembelajaran. Lihat makalah ini untuk daftar lengkap "praktik terbaik".
Salah satu buku terbaik tentang subjek ini adalah Jaringan Saraf Tiruan Chris Bishop untuk Pengenalan Pola . Ini cukup tua pada tahap ini tetapi masih merupakan sumber yang sangat baik, dan Anda sering dapat menemukan salinan bekas online dengan harga sekitar $ 30. Bab jaringan saraf dalam buku terbarunya , Pengenalan Pola dan Pembelajaran Mesin , juga cukup komprehensif. Untuk tutorial yang berpusat pada implementasi yang sangat bagus, lihat tutorial ini di CodeProject.com yang mengimplementasikan jenis jaringan pintar yang disebut jaringan konvolusional, yang membatasi konektivitas sedemikian rupa sehingga membuatnya sangat baik dalam belajar mengklasifikasikan pola visual.
Mesin pendukung vektor dan metode kernel lainnya telah menjadi sangat populer karena Anda dapat menerapkannya tanpa mengetahui apa yang Anda lakukan dan sering kali mendapatkan hasil yang dapat diterima. Jaringan saraf, di sisi lain, adalah masalah pengoptimalan besar yang memerlukan penyetelan yang cermat, meskipun masih disukai untuk banyak masalah, terutama masalah berskala besar di domain seperti computer vision.
Saya sangat merekomendasikan seri luar biasa ini oleh Anoop Madhusudanan di Proyek Kode .
Dia membawa Anda melalui dasar-dasar untuk memahami bagaimana mereka bekerja dengan cara yang mudah dipahami dan menunjukkan kepada Anda bagaimana menggunakan brainnet
perpustakaannya untuk membuat perpustakaan Anda sendiri.
Jaringan Neural adalah jenis deklasifikasi hari ini. Mesin vektor dukungan dan metode kernel lebih baik untuk lebih banyak kelas masalah daripada propagasi mundur. Jaringan saraf dan algoritme genetika menangkap imajinasi orang-orang yang tidak tahu banyak tentang pembelajaran mesin modern tetapi mereka tidak canggih.
Jika Anda ingin mempelajari lebih lanjut tentang AI dan pembelajaran mesin, saya sarankan untuk membaca Artificial Intelligence: A Modern Approach karya Peter Norvig . Ini adalah survei luas tentang AI dan banyak teknologi modern. Ini membahas sejarah dan teknik yang lebih lama juga, dan akan memberi Anda landasan yang lebih lengkap dalam dasar-dasar AI dan Pembelajaran mesin.
Jaringan saraf cukup mudah. Terutama jika Anda menggunakan algoritme genetika untuk menentukan bobot, bukan propagasi mundur yang tepat.
Saya kedua dwf rekomendasi Jaringan Neural untuk Pengenalan Pola oleh Chris Bishop. Meskipun, itu mungkin bukan teks awal. Norvig atau tutorial online (dengan kode di Matlab!) Mungkin akan menjadi pengantar yang lebih lembut.
Proyek awal yang baik adalah OCR (Pengenalan Karakter Optik). Anda dapat memindai halaman teks dan memberi makan setiap karakter melalui jaringan untuk melakukan klasifikasi. (Tentu saja Anda harus melatih jaringan terlebih dahulu!).
Buku Raul Rojas adalah awal yang sangat bagus (juga gratis). Juga, buku Haykin edisi ke-3 , meskipun volume besar, dijelaskan dengan sangat baik.
Saya dapat merekomendasikan di mana untuk tidak memulai. Saya membeli Pengantar Jaringan Syaraf oleh Kevin Gurney yang memiliki ulasan bagus tentang Amazon dan mengklaim sebagai "pengantar yang sangat mudah diakses untuk salah satu topik terpenting dalam ilmu kognitif dan komputer". Secara pribadi, saya tidak akan merekomendasikan buku ini sebagai permulaan. Saya hanya bisa memahaminya sekitar 10% saja, tapi mungkin hanya saya (bahasa Inggris bukan bahasa ibu saya). Saya akan melihat opsi lain dari utas ini.
http://www.ai-junkie.com/ann/evolved/nnt1.html adalah pengantar yang jelas untuk multi-layer perceptron, meskipun tidak menjelaskan algoritma backpropagation
Anda juga dapat melihat di generation5.org yang menyediakan banyak artikel tentang AI secara umum dan memiliki beberapa teks bagus tentang jaringan saraf.
Jika Anda tidak keberatan mengeluarkan uang, Buku Pegangan Teori Otak dan Jaringan Saraf sangat bagus. Ini berisi 287 artikel yang mencakup penelitian di banyak disiplin ilmu. Ini dimulai dengan pengantar dan teori dan kemudian menyoroti jalur melalui artikel untuk menutupi minat Anda dengan sebaik-baiknya.
Untuk proyek pertama, peta Kohonen menarik untuk dikategorikan : temukan hubungan tersembunyi dalam koleksi musik Anda, buat robot pintar , atau pecahkan hadiah Netflix .
Dua buku yang digunakan selama saya belajar:
Kursus pengantar: Pengenalan ke Neural Computing oleh Igor Aleksander dan Helen Morton.
Kursus lanjutan: Neurocomputing oleh Robert Hecht-Nielsen
Saya menemukan Fausett's Fundamentals of Neural Networks sebagai buku pengantar yang lugas dan mudah dibaca .
Saya menemukan buku teks "Computational Intelligence" sangat membantu.
Programming Collective Intelligence membahas hal ini dalam konteks algoritma Pencarian dan Pemeringkatan. Juga, dalam kode yang tersedia di sini (di bab.4), konsep yang dibahas dalam buku ini diilustrasikan dalam contoh Python.
Saya setuju dengan pendapat orang lain yang mengatakan bahwa belajar biologi bukanlah titik awal yang baik ... karena banyak sekali info yang tidak relevan dalam biologi. Anda tidak perlu memahami cara kerja neuron untuk menciptakan kembali fungsinya - Anda hanya perlu mensimulasikan tindakannya. Saya merekomendasikan "How To Create A Mind" oleh Ray Kurzweil - ini masuk ke dalam aspek biologi yang relevan untuk model komputasi, (membuat neuron simual dengan menggabungkan beberapa input dan menembak setelah ambang batas tercapai) tetapi mengabaikan hal-hal yang tidak relevan seperti bagaimana neuron benar-benar menambahkan masukan mereka bersama-sama. (Anda hanya akan menggunakan + dan ketidaksetaraan untuk dibandingkan dengan ambang, misalnya)
Saya juga harus menunjukkan bahwa buku ini tidak benar-benar tentang 'menciptakan pikiran' - buku ini hanya berfokus pada pengenalan pola heirarkis / neokorteks. Tema umum telah dibicarakan sejak tahun 1980-an yang saya percayai, jadi ada banyak buku lama yang mungkin berisi informasi yang sama dengan bentuk yang agak kuno. Saya telah membaca dokumen lama yang menyatakan bahwa sistem vision, misalnya, adalah pengenal pola berlapis-lapis. Dia berpendapat bahwa ini berlaku untuk seluruh neokorteks. Juga, ambil 'prediksi' dengan sebutir garam - perkiraan perangkat kerasnya mungkin cukup akurat, tapi saya pikir dia meremehkan betapa rumitnya tugas sederhana (mis: mengendarai mobil). Memang, dia telah melihat banyak kemajuan (dan menjadi bagian dari beberapa di antaranya) tetapi saya masih berpikir dia terlalu optimis. Ada perbedaan besar antara mobil AI yang mampu mengemudikan mobil sejauh 90% dengan sukses sepanjang waktu, jika dibandingkan dengan 99,9 +% yang dapat dilakukan manusia. Saya tidak berharap ada AI yang benar-benar mengemudikan saya selama setidaknya 20 tahun ... (Saya tidak menghitung mobil trek BMW yang perlu 'dilatih' di jalur yang sebenarnya, karena mereka tidak benar-benar bermain sama permainan)
Jika Anda sudah memiliki ide dasar tentang apa itu AI dan bagaimana itu dapat dimodelkan, Anda mungkin lebih baik melompat ke sesuatu yang lebih teknis.
Jika Anda ingin belajar dengan cepat tentang aplikasi beberapa konsep jaringan saraf pada simulator nyata, ada buku online hebat (sekarang wiki) yang disebut 'Ilmu Saraf Kognitif Komputasi' di http://grey.colorado.edu/CompCogNeuro/index. php / CCNBook / Utama
Buku ini digunakan di sekolah sebagai buku teks, dan membawa Anda melalui banyak area otak yang berbeda, dari neuron individu hingga fungsi eksekutif tingkat tinggi.
Selain itu, setiap bagian ditambah dengan 'proyek' pekerjaan rumah yang sudah siap untuk Anda. Cukup unduh, ikuti langkah-langkahnya, dan simulasikan semua yang dibicarakan dalam bab tersebut. Perangkat lunak yang mereka gunakan, Emergent, sedikit rumit tetapi sangat kuat: saya yakin ini adalah produk dari kerja lebih dari 10 tahun.
Saya menjalaninya di kelas sarjana semester terakhir ini, dan itu luar biasa. Memandu Anda melalui segala hal langkah demi langkah