İlk makaleye göre koşmak sorun değil. Amaç buydu. Maksimum ağırlıklarda sadece bir sınırlama vardır:
Şu anda bu mikrodenetleyiciye yerleştirilmiş mimari üzerindeki sınırlama sadece gereken ağırlık sayısı ile sınırlıdır. Sinir ağı şu anda 256 ağırlık ile sınırlıdır. Ancak çoğu gömülü uygulama için bu 256 ağırlık sistemi sınırlamamalıdır.
Eğitime gelince, açıklanan uygulamayı anladığım kadarıyla, PIC kontrolörü harici bir kaynaktan parametreler alır.
Sinir ağı ileri hesaplamaları, her bir nöronun bir dizi iç içe döngüde ayrı ayrı hesaplanacağı şekilde yazılır. Her döngü için hesaplama sayısı ve her düğüm için değerlerin tümü bellekte basit bir dizide saklanır.
[...]
Bu diziler ağın mimarisini ve ağırlıklarını içerir. Şu anda, gösterim amacıyla, bu diziler çip programlandığında önceden yüklenmiştir, ancak son versiyonda bu gerekli olmayacaktır. Mikrodenetleyici, ağırlıklar ve topografya için verileri uzak bir konumdan alacak olan yerleşik RS232 seri portunu kullanan basit bir önyükleme yükleyicisini içerecek şekilde kolayca değiştirilebilir. Bu, yonga tarladayken ağırlıkların ve hatta tüm ağın değiştirilmesine izin verecektir.
Eğitimin dışarıdan da gerçekleştirildiğinden şüpheleniyorum.
Bu makale aynı zamanda muhtemelen PIC'nin belleğine önceden programlanmış değerleri belirlemek için kullanılan Sinir Ağı Eğitimcileri için referanslar vermektedir.
- Wilamowski, BM; Pamuk, N .; Hewlett, J .; Kaynak, O., "İkinci Dereceden Öğrenme Algoritmaları ile Sinir Ağı Eğitimcisi,"
- Wilamowski, BM; Cotton, NJ; Kaynak, O .; Dündar, G.,
"Rasgele bağlı sinir ağlarında gradyan vektörü ve Jacobean matrisini hesaplama yöntemi,"
Şimdi, ağ mimarilerini ve onlarla kullanılacak algoritmaları tanımlayan ilkine baktım. Ancak burada kullanılan Neural Network Trainer yazılımı MATLAB'de uygulanmaktadır.
Şu anda, tamamen bağlı ağları eğitecek çok az sinir ağı eğitim yazılımı bulunmaktadır. Böylece MATLAB'da bu amaçla grafik kullanıcı arayüzlü bir paket geliştirilmiştir. Bu yazılım, kullanıcının başlangıçtaki ağırlıkları, eğitim parametrelerini, veri setlerini ve çeşitli güçlü algoritmaların seçiminin yanı sıra çok karmaşık mimarileri kolayca girmesini sağlar.
Tam olarak bağlı ağların, aynı görev için katman katman katman mimarisinden daha düşük ağırlık sayısına sahip olduğunu belirtmeliyim. Bu mikrodenetleyiciler için daha uygun hale getirir.
Sinir ağı uzmanı değilim ve oldukça karmaşık, bu yüzden yanlış olabilirim, ancak bu belgelere dayanarak Cotton, Wilamowski ve Dündar'ın yaklaşımının eğitimi gerçekleştirmek için harici, daha güçlü bir platform gerektirdiğini söyleyebilirim.
Bir mikrodenetleyici üzerinde bir sinir ağı çalıştırmak hakkında, ST Microelectronics az önce STM32Cube.AI: Sinir Ağları önceden eğitilmiş sinir ağları STM32 MCU'ların çoğuna dönüştürmek için Sinir Ağları STM32 için Optimize Kod dönüştürün duyurdu .