Theo bài báo đầu tiên , chạy không phải là một vấn đề. Đó là mục đích. Chỉ có một giới hạn về trọng lượng tối đa:
Hiện tại, giới hạn về kiến trúc được nhúng trong vi điều khiển này chỉ bị giới hạn bởi số lượng trọng lượng cần thiết. Mạng lưới thần kinh hiện bị giới hạn ở 256 trọng lượng. Tuy nhiên, đối với hầu hết các ứng dụng nhúng, trọng lượng 256 này không nên giới hạn hệ thống.
Đối với đào tạo, theo như tôi hiểu về việc triển khai được mô tả, bộ điều khiển PIC nhận các tham số từ nguồn bên ngoài.
Các tính toán chuyển tiếp mạng nơ-ron được viết sao cho mỗi nơ-ron được tính riêng trong một chuỗi các vòng lặp lồng nhau. Số lượng tính toán cho mỗi vòng lặp và giá trị cho mỗi nút đều được lưu trữ trong một mảng đơn giản trong bộ nhớ.
[...]
Các mảng này chứa kiến trúc và trọng lượng của mạng. Hiện tại, với mục đích trình diễn, các mảng này được tải sẵn tại thời điểm chip được lập trình, nhưng trong phiên bản cuối cùng, điều này là không cần thiết. Bộ vi điều khiển có thể dễ dàng được sửa đổi để chứa bộ tải khởi động đơn giản sử dụng cổng nối tiếp RS232 trên bo mạch để nhận dữ liệu cho trọng lượng và địa hình từ một vị trí từ xa. Điều này sẽ cho phép các trọng số hoặc thậm chí toàn bộ mạng được sửa đổi trong khi chip đang ở trong trường.
Tôi nghi ngờ rằng việc đào tạo cũng được thực hiện bên ngoài.
Bài viết cũng cung cấp các tài liệu tham khảo cho các giảng viên mạng thần kinh có thể được sử dụng để xác định các giá trị được lập trình sẵn trong bộ nhớ của PIC.
- Wilamowski, BM; Bông, N.; Hewlett, J.; Kaynak, O., "Huấn luyện viên mạng nơ-ron với thuật toán học tập bậc hai"
- Wilamowski, BM; Bông, NJ; Kaynak, O.; Dundar, G.,
"Phương pháp tính toán vectơ độ dốc và ma trận Jacobean trong các mạng thần kinh được kết nối tùy ý,"
Bây giờ, tôi đã xem xét cái đầu tiên mô tả các kiến trúc và thuật toán mạng để sử dụng với chúng. Nhưng phần mềm Neural Network Trainer được sử dụng ở đây được triển khai trong MATLAB.
Hiện tại, có rất ít phần mềm đào tạo mạng thần kinh có sẵn sẽ đào tạo các mạng được kết nối đầy đủ. Do đó, một gói với giao diện người dùng đồ họa đã được phát triển trong MATLAB cho mục đích đó. Phần mềm này cho phép người dùng dễ dàng nhập các kiến trúc rất phức tạp cũng như trọng lượng ban đầu, các tham số đào tạo, bộ dữ liệu và lựa chọn một số thuật toán mạnh mẽ.
Tôi phải đề cập rằng các mạng được kết nối đầy đủ có số lượng trọng lượng thấp hơn cho cùng một nhiệm vụ so với kiến trúc từng lớp. Điều đó làm cho nó phù hợp hơn cho vi điều khiển.
Tôi không phải là một chuyên gia về mạng lưới thần kinh và nó khá phức tạp nên tôi có thể sai, nhưng dựa trên những bài báo này, tôi sẽ nói rằng cách tiếp cận của Cotton, Wilamowski và Dündar đòi hỏi một nền tảng mạnh mẽ hơn bên ngoài để thực hiện đào tạo.
Về việc vận hành mạng thần kinh trên vi điều khiển, ST Microelectronics vừa công bố bộ công cụ STM32Cube.AI: Chuyển đổi Mạng thần kinh thành Mã tối ưu hóa cho STM32 để chuyển đổi mạng thần kinh được đào tạo trước từ các thư viện phổ biến sang hầu hết các MCU STM32 của họ.