Neuroevolusi Cybercalmar

Berkembang jaringan saraf


Jaringan saraf tiruan meniru sistem saraf biologis nyata. Mereka mengandung neuron dan koneksi di antara mereka, menyediakan konversi sinyal yang masuk menjadi hasil keluaran yang signifikan. Di bidang pembelajaran mesin, jaringan ini sering diinisialisasi dengan koneksi acak antara neuron, setelah itu jaringan belajar sampai mulai berperilaku dengan cara yang benar. Pendekatan ini cukup berlaku, namun, pada hewan ada banyak sistem saraf sederhana yang bekerja di luar kotak: tidak ada yang mengajarkan ikan untuk berenang atau kupu-kupu untuk terbang, terlepas dari kenyataan bahwa perilaku mereka diciptakan oleh jaringan neuron. Sistem saraf mereka bukan hasil inisialisasi acak dan pelatihan berikutnya, tetapi evolusi. Setelah beberapa generasi, alam telah menciptakan pola sel dan koneksi yang menyediakan perilaku yang kompleks dan sukses.

Untuk membuat jaringan saraf yang menyediakan perilaku tanpa belajar, Anda dapat menggunakan neuroevolution . Algoritma evolusi (seperti yang saya gunakan untuk melakukan evolusi tanaman ) tunduk pada kode genetik evolusi selama periode waktu yang lama. Kode genetik (model untuk DNA) dan organisme yang diwakilinya pada awalnya sangat sederhana, tetapi untuk generasi mutasi kecil meningkatkan kompleksitas yang menguntungkan dan menambahkan fungsi yang merangsang penyebaran lebih lanjut dari sifat-sifat ini.

Cumi-cumi digital


Untuk menunjukkan efek neuroevolusi, saya ingin mengekspos evolusi cumi-cumi digital. Cumi-cumi memiliki sifat-sifat berikut:


Gambar 1: Cumi-cumi mengambang.

  • Mereka dapat memiliki sejumlah tentakel dengan panjang yang berbeda.
  • Setiap tangan dikontrol oleh satu neuron output, memompanya dalam satu arah dengan sinyal output rendah dan yang lainnya dengan sinyal output tinggi.
  • Cumi memiliki kepala ; ukuran kepala menentukan jumlah neuron maksimum yang dimungkinkan.
  • Massa cumi ditentukan oleh ukuran kepala dan jumlah segmen tentakel.
  • Cumi-cumi mengapung dalam cairan simulasi yang diisi dengan titik-titik yang menunjukkan makanan. Menyentuh titik-titik ini, cumi-cumi β€œmemakannya”, dan skor cumi dihitung sebagai jumlah poin yang dimakan, dibagi dengan massanya.

Sifat-sifat ini, berkat evolusi, harus membuat cumi-cumi yang berenang secara efektif di lingkungan, makan sebanyak mungkin makanan. Karena mereka juga memiliki massa, tubuh cumi-cumi harus efektif: tubuh yang berat dan tentakel besar membutuhkan lebih banyak makanan untuk memiliki alasan untuk penciptaan evolusioner mereka.

Karena squid dapat memiliki sifat yang bervariasi (misalnya, ukuran kepala dan konfigurasi tentakel), properti ini juga berevolusi. DNA cumi tidak hanya berisi "gambar" otaknya, tetapi juga rencana tubuh.

Gambar 1 menunjukkan cumi simulasi dengan dua tangan. Gerakan tangan yang berosilasi disediakan oleh penambahan gaya pegas pada segmen lengan jika otot berhenti menggerakkan lengan, segmen akan berangsur-angsur sampai lengan berubah menjadi garis lurus. Untuk menghitung besarnya percepatan, semua gerakan lateral dijumlahkan. Semua gerakan lateral yang ditunjukkan pada gambar ditambahkan ke angka ini. Mengayunkan tentakel di belakang tubuh, cumi-cumi menyediakan gerakan maju.

Spike neural networks


Memilih jaringan saraf yang tepat untuk proyek kami bukanlah tugas yang mudah. Ada banyak jenis jaringan saraf; dalam artikel ini berisi ikhtisar mudah dari beberapa di antaranya. Tugas manajemen squid dalam aspek-aspek tertentu tidak seperti pekerjaan jaringan terkenal:

  • Β«-Β». , . - , .
  • . Β«-Β», .
  • , . , .

Persyaratan ini dipenuhi oleh jaringan saraf lonjakan (pulsa) . Jaringan seperti ini bekerja secara real time, mereka dirancang untuk mensimulasikan satwa liar dengan lebih akurat. Seperti neuron nyata, sel-sel dalam jaringan saraf spike menumpuk potensi, secara bertahap dikumpulkan dari semua sinyal input, dan tanpa adanya sinyal input secara bertahap kembali ke keadaan "netral". Spike neural network tidak diperlukan untuk mematuhi diagram kabel yang ketat. Mereka terdiri dari lapisan neuron input, lapisan neuron output (dalam kasus kami, mengendalikan tentakel) dan beberapa neuron di antara mereka, yang disebut lapisan tersembunyi. Neuron pada lapisan tersembunyi dapat dihubungkan ke neuron input dan output, tetapi neuron juga dapat diputuskan. Dalam tugas kami, neuron lapisan tersembunyi dapat dihubungkan satu sama lain.


Gambar 2: fungsi logistik.

Semua neuron sistem saraf memiliki fungsi aktivasi . Fungsi ini menentukan nilai output neuron berdasarkan jumlah sinyal inputnya. Neuron dihubungkan oleh akson yang menghubungkan sumber dan neuron target. Akson menambah aktivasi target neuron nilai output dari neuron asli dikalikan dengan berat akson (yang bisa menjadi angka positif atau negatif). Kemudian fungsi aktivasi menentukan nilai output neuron berdasarkan aktivasinya. Untuk simulasi ini, kami memilih fungsi logistik sebagai fungsi aktivasi :

11+eβˆ’a


Dalam persamaan ini aApakah aktivasi neuron. Gambar 2 menunjukkan grafik fungsi. Dia=0 nilai output adalah 0.5; dalam simulasi kami, ini berguna karena jaringan harus dapat memberikan perilaku bahkan tanpa adanya nilai input. Jika nilai output default tidak sama dengan nol, maka beberapa sinyal akan terus mengalir melalui sistem. Makna secara teoritisa mungkin sangat kecil atau sangat besar, tetapi asimtot fungsi logistik memastikan bahwa nilai output akan selalu berada dalam kisaran [0,1]. Karena itu, nilai output sistem yang ekstrem tidak diperbanyak.

Simulasi evolusi


Lingkungan simulasi terdiri dari komponen-komponen berikut:

  • Sejumlah cumi-cumi dengan struktur tubuh yang berbeda dan jaringan saraf lonjakan untuk mengontrol anggota tubuh mereka.
  • Makanan tersebar di sekitar lingkungan.

Untuk mulai mensimulasikan evolusi, masa hidup yang tetap dari setiap generasi disimulasikan dalam sistem. Dalam simulasi saya, saya memilih segmen dari 20 hingga 30 detik. Setelah waktu ini, cumi-cumi paling produktif dipilih, yang digandakan beberapa kali untuk membuat cumi-cumi generasi baru. Sebelum melakukan simulasi berikutnya, semua cumi mengalami sedikit mutasi. Properti berikut dapat bermutasi:

  • Jari-jari tubuh, dan dengan itu jumlah neuron yang diijinkan maksimum di otak cumi-cumi.
  • Jumlah dan lokasi tentakel.
  • Panjang tentakelnya.
  • Jumlah neuron di otak.
  • Koneksi akson antar neuron (koneksi bisa muncul atau hilang, bobot ikatan juga bisa berubah).

Saat ini, otak cumi tidak mengandung neuron input. Jumlah neuron output selalu sama dengan jumlah tentakel, dan satu neuron output ditugaskan untuk masing-masing tentakel. Jika tentakel menghilang selama mutasi, maka neuron output yang bersesuaian dengannya juga dihapus. Ketika tentakel baru muncul selama mutasi, ia akan menerima neuron keluaran baru dengan koneksi acak.

Kode sumber untuk simulasi diunggah ke GitHub , dan simulasi dilakukan di browser .

hasil



Gambar 3: Sistem saraf yang menciptakan impuls tanpa akhir.

Saat melakukan simulasi, cumi-cumi bergerak biasanya diperoleh dalam beberapa ratus generasi. Ketika strategi renang yang bekerja muncul secara evolusioner, biasanya strategi ini berkembang dari waktu ke waktu menjadi versi yang paling optimal.

Sistem saraf dapat divisualisasikan. Gambar 3 menunjukkan sistem saraf cumi sederhana dengan dua lengan. Jaringan berisi lima neuron, yang ditunjukkan oleh lingkaran oranye, dan dua neuron output, yang ditunjukkan oleh lingkaran biru. Ketika sinyal output neuron meningkat, neuron menjadi lebih cerah. Ketika sinyal output berkurang, lingkaran menjadi transparan. Akson divisualisasikan oleh garis putus-putus yang menghubungkan neuron yang sesuai. Ketika akson mentransmisikan sinyal (dan memengaruhi neuron target), garis putus-putus menjadi lebih terlihat, dan garis putus-putus bergerak ke arah sinyal.


Gambar 4: Cumi-cumi mengambang yang berevolusi. Perhatikan bahwa tidak semua agen sangat efektif; beberapa berisi mutasi yang tidak berguna.

Gambar 4 menunjukkan beberapa cumi-cumi mengambang di lingkungan simulasi. Cumi-cumi ini menggunakan dua tentakel yang bergoyang secara bersamaan. Di antara agen, variabilitas terlihat:

  • Ada berbagai panjang tentakel, tetapi pola pergerakannya kurang lebih sama.
  • Dua agen di bagian bawah gambar secara evolusioner menerima tentakel tambahan, yang belum terlalu berguna. Mereka meningkatkan massa cumi-cumi, sehingga mengurangi nilainya.

Kesimpulan


Simulasi dalam keadaan saat ini menunjukkan efektivitas neuroevolution dan membentuk dasar untuk pengembangan sistem lebih lanjut:

  • . , .
  • . , .
  • , , .
  • . . , . , .

Penambahan ini tidak membutuhkan perubahan dalam mekanisme dasar neuroevolution, mereka hanya akan memungkinkan strategi yang lebih beragam muncul. Keuniversalan dan kemampuan adaptasi dari kerangka kerja neuroevolusi yang ditunjukkan menjadikannya alat yang menarik bagi banyak bidang lain, khususnya, studi tentang kehidupan buatan .

All Articles