Menurut makalah pertama , berlari bukanlah masalah. Itulah tujuannya. Hanya ada batasan berat maksimum:
Saat ini keterbatasan arsitektur yang tertanam dalam mikrokontroler ini hanya dibatasi oleh jumlah bobot yang dibutuhkan. Jaringan saraf saat ini terbatas pada 256 bobot. Namun untuk sebagian besar aplikasi embedded, bobot 256 ini seharusnya tidak membatasi sistem.
Adapun pelatihan, sejauh yang saya mengerti implementasi yang dijelaskan, pengontrol PIC menerima parameter dari sumber eksternal.
Perhitungan forward jaringan saraf ditulis sehingga setiap neuron dihitung secara individual dalam serangkaian loop bersarang. Jumlah perhitungan untuk setiap loop dan nilai untuk setiap node semua disimpan dalam larik sederhana dalam memori.
[...]
Array ini berisi arsitektur dan bobot jaringan. Saat ini, untuk tujuan demonstrasi, array ini sudah dimuat pada saat chip diprogram, tetapi dalam versi final ini tidak perlu. Mikrokontroler dapat dengan mudah dimodifikasi untuk memuat boot loader sederhana yang memanfaatkan port serial RS232 onboard yang akan menerima data untuk bobot dan topografi dari lokasi yang jauh. Ini akan memungkinkan bobot atau bahkan seluruh jaringan untuk dimodifikasi saat chip berada di lapangan.
Saya menduga bahwa pelatihan dilakukan secara eksternal juga.
Makalah ini juga memberikan referensi untuk Pelatih Jaringan Saraf yang mungkin digunakan untuk menentukan nilai-nilai yang diprogram ke dalam memori PIC.
- Wilamowski, BM; Cotton, N .; Hewlett, J .; Kaynak, O., "Pelatih Jaringan Saraf Tiruan dengan Algoritma Pembelajaran Tingkat Kedua,"
- Wilamowski, BM; Cotton, NJ; Kaynak, O .; Dundar, G.,
"Metode komputasi vektor gradien dan matriks Jacobean dalam jaringan saraf yang terhubung secara sewenang-wenang,"
Sekarang, saya telah melihat yang pertama yang menggambarkan arsitektur dan algoritma jaringan untuk digunakan dengannya. Tetapi perangkat lunak Neural Network Trainer yang digunakan di sini diimplementasikan dalam MATLAB.
Saat ini, ada sangat sedikit perangkat lunak pelatihan jaringan saraf yang tersedia yang akan melatih jaringan yang sepenuhnya terhubung. Jadi paket dengan antarmuka pengguna grafis telah dikembangkan di MATLAB untuk tujuan itu. Perangkat lunak ini memungkinkan pengguna untuk dengan mudah memasuki arsitektur yang sangat kompleks serta bobot awal, parameter pelatihan, set data, dan pilihan beberapa algoritma yang kuat.
Saya harus menyebutkan bahwa jaringan yang sepenuhnya terhubung memiliki angka bobot yang lebih rendah untuk tugas yang sama daripada arsitektur lapis demi lapis. Itu membuatnya lebih cocok untuk mikrokontroler.
Saya bukan ahli jaringan saraf dan ini cukup kompleks sehingga saya bisa salah, tetapi berdasarkan makalah ini saya akan mengatakan bahwa pendekatan Cotton, Wilamowski, dan Durndar membutuhkan platform eksternal yang lebih kuat untuk melakukan pelatihan.
Tentang menjalankan jaringan saraf pada mikrokontroler, ST Mikroelektronika baru saja mengumumkan toolkit STM32Cube.AI: Mengubah Jaringan Saraf menjadi Kode Dioptimalkan untuk STM32 untuk mengubah jaringan saraf pra-pelatihan dari perpustakaan populer ke sebagian besar MCU STM32 mereka.