Bagaimana saya harus menyandikan struktur jaringan saraf ke dalam genom?


14

Untuk ruang masalah deterministik, saya perlu menemukan jaringan saraf dengan simpul optimal dan struktur tautan. Saya ingin menggunakan algoritma genetika untuk mensimulasikan banyak jaringan saraf untuk menemukan struktur jaringan terbaik untuk domain masalah.

Saya tidak pernah menggunakan algoritma genetika untuk tugas seperti ini sebelumnya. Apa pertimbangan praktisnya? Secara khusus, bagaimana saya harus menyandikan struktur jaringan saraf menjadi genom?

Jawaban:


12

Bagian 4.2 dari "Essentials of Metaheuristics" memiliki banyak informasi tentang cara-cara alternatif penyandian struktur grafik melalui Algoritma Genetika.

Terkait dengan pengembangan JST, saya pribadi tidak akan cenderung menerapkan hal semacam ini 'dari awal':

Bidang neuroevolution telah ada selama beberapa waktu, dan implementasi beberapa metode, seperti Neuroevolution of Augmenting Topology ( NEAT ) sekarang menggabungkan hasil dari banyak pengalaman praktis.

Menurut tautan di atas:

Kami juga mengembangkan ekstensi untuk NEAT yang disebut HyperNEAT yang dapat mengembangkan jaringan saraf dengan jutaan koneksi dan mengeksploitasi keteraturan geometris dalam domain tugas. Halaman HyperNEAT mencakup tautan ke publikasi dan penjelasan umum tentang pendekatan tersebut.


"Essentials of Metaheuristics" itu terlihat sangat menarik! Ini adalah sesuatu yang sebenarnya ada di peta jalan untuk M-automata, karena MCTS murni tidak pernah optimal di game M. Dari wiki metaheuristik : "Dalam ilmu komputer dan optimisasi matematis, metaheuristik adalah prosedur tingkat tinggi atau heuristik yang dirancang untuk menemukan, menghasilkan, atau memilih heuristik (algoritma pencarian parsial) yang dapat memberikan solusi yang cukup baik untuk masalah optimasi, terutama dengan informasi yang tidak lengkap atau tidak sempurna atau kapasitas komputasi yang terbatas. "
DukeZhou

4

Menggunakan algoritma evolusioner untuk mengembangkan jaringan saraf disebut neuroevolution .

Beberapa algoritma neuroevolusi hanya mengoptimalkan bobot jaringan saraf dengan topologi tetap. Kedengarannya tidak seperti yang Anda inginkan. Algoritme neuroevolusi lain mengoptimalkan bobot dan topologi jaring saraf. Algoritma semacam ini tampaknya lebih sesuai untuk tujuan Anda, dan kadang-kadang disebut TWEANNs (Topologi dan Jaringan Neural Berevolusi Berat).

Salah satu algoritma populer disebut NEAT , dan mungkin merupakan tempat yang baik untuk memulai, jika hanya karena ada banyak implementasi, salah satunya mudah-mudahan ditulis dalam bahasa favorit Anda. Setidaknya itu akan memberi Anda dasar untuk bekerja.

NEAT mengkodekan genom jaringan saraf secara langsung sebagai struktur grafik. Mutasi dapat beroperasi pada struktur jaringan dengan menambahkan tautan baru (dengan menghubungkan dua node yang sebelumnya tidak terhubung) atau node baru (dengan memisahkan koneksi yang ada), atau dapat beroperasi hanya pada mengubah bobot yang terkait dengan tepi pada grafik (disebut mutating) bobot). Untuk memberi Anda gambaran tentang besarnya ukuran JST yang bekerja dengan algoritma khusus ini, kemungkinan akan kesulitan dengan lebih dari 100 atau 200 node.

Ada lebih banyak TWEANN yang dapat diukur, tetapi mereka lebih kompleks dan membuat asumsi tentang jenis struktur yang mereka hasilkan yang mungkin tidak selalu produktif dalam praktik. Misalnya, cara lain untuk menyandikan struktur jaringan saraf, adalah sebagai produk dari pola benih yang berulang kali diperluas oleh tata bahasa (misalnya sistem-L). Anda bisa lebih mudah menjelajahi struktur yang lebih besar, tetapi karena mereka dihasilkan oleh tata bahasa, mereka akan memiliki semacam perasaan berulang yang khas. HyperNEAT adalah ekstensi populer NEAT yang membuat jenis asumsi yang berbeda (bahwa pola bobot dapat dengan mudah dinyatakan sebagai fungsi geometri), dan dapat menskala ke JST dengan jutaan koneksi ketika asumsi itu cocok dengan domain tertentu.

Ada beberapa makalah survei yang tertaut di tautan teratas jika Anda ingin mengamati beragam teknik yang lebih besar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.