Bisakah Anda menerapkan jaringan saraf sederhana pada mikroprosesor seperti Arduino Uno untuk digunakan dalam pembelajaran mesin?
Bisakah Anda menerapkan jaringan saraf sederhana pada mikroprosesor seperti Arduino Uno untuk digunakan dalam pembelajaran mesin?
Jawaban:
Bisakah Anda melatih jaringan saraf pada mikrokontroler? Mungkin, tapi tolong jangan coba-coba. Bisakah Anda menggunakan NN untuk klasifikasi, dll pada mikrokontroler? Tentu, selama Anda dapat menghitung hasil dari penyebaran nilai node dan edge dan menangani perkalian.
Tentunya mungkin untuk mengimplementasikan ini pada Arduino. Berikut adalah 3 perpustakaan Arduino yang mengimplementasikan jaringan saraf:
Kompleksitas jaringan yang dapat ditangani oleh Arduino adalah pertanyaan yang terpisah, terutama dalam hal pelatihan - puluhan ribu iterasi pada data pelatihan. Pelatihan pada mesin yang cepat dan kemudian menyalin bobot neuron ke Arduino akan menjadi cara yang lebih cerdas untuk mengembangkan implementasi Anda.
Iya nih. Jika Anda hanya menjalankannya dalam mode umpan-maju dan melakukan latihan off-line di tempat lain:
Saya memprogram 3-layer (5-5-2) feedforward JST pada Arduino UNO. Itu berlari pada robot seluler. Setiap kali robot menabrak sesuatu, itu akan melatih kembali jaringan. Bagian umpan ke depan dari jaring berlari dalam waktu nyata; sementara pelatihan back-propagasi mengambil urutan ~ 5 hingga 20 detik. Saya kira Anda bisa memotong ukuran jaringan serta permainan dengan parameter untuk membuatnya berjalan sedikit lebih cepat, tetapi jika Anda berencana melakukan backpropagation pada Arduino, saya pikir itu akan terlalu lambat.
Beberapa pemikiran untuk mempercepat termasuk:
Berikut cepat write-up yang saya lakukan dari jaringan.
Ya memang, mungkin untuk menanamkan jaringan saraf pada mikrokontroler. Ada banyak contoh seperti ini dalam literatur ilmiah tetapi saya dapat mengutip contoh yang mencolok tentang apa yang dapat dilakukan dengan MCU yang sangat sederhana jika Anda cukup pintar. Dalam Bits'n'Spikes Evolutionary , penulis menggambarkan implementasi jaringan saraf spiking waktu nyata DAN algoritma genetika untuk melatihnya, untuk mengendalikan robot roda diferensial. Seluruh kode berjalan dalam PIC16F628 4MHz MCU kecil yang tertanam pada robot Alice 1-kubik-inci.