Bạn có thể triển khai một mạng nơ ron đơn giản trên bộ vi xử lý như Arduino Uno để sử dụng trong học máy không?
Bạn có thể triển khai một mạng nơ ron đơn giản trên bộ vi xử lý như Arduino Uno để sử dụng trong học máy không?
Câu trả lời:
Bạn có thể đào tạo một mạng lưới thần kinh trên một vi điều khiển? Có thể, nhưng xin đừng thử. Bạn có thể sử dụng NN để phân loại, vv trên vi điều khiển không? Chắc chắn, miễn là bạn có thể tính toán kết quả của việc truyền các giá trị nút và cạnh và xử lý các phép nhân.
Chắc chắn có thể thực hiện điều này trên Arduino. Dưới đây là 3 thư viện Arduino như vậy thực hiện các mạng thần kinh:
Sự phức tạp của mạng mà Arduino có thể xử lý là một câu hỏi riêng biệt, đặc biệt là khi nói đến đào tạo - hàng chục ngàn lần lặp lại trên dữ liệu đào tạo. Đào tạo trên một máy nhanh và sau đó sao chép trọng lượng nơ-ron vào Arduino sẽ là cách thông minh hơn để phát triển việc thực hiện của bạn.
Vâng. Nếu bạn chỉ chạy nó trong chế độ chuyển tiếp và thực hiện đào tạo ngoại tuyến ở một nơi khác:
Tôi đã lập trình ANN 3 lớp (5-5-2) cho ANN trên Arduino UNO. Nó chạy trên một robot di động. Bất cứ khi nào robot sẽ đánh một cái gì đó, nó sẽ đào tạo lại mạng. Phần tiếp theo của mạng chạy trong thời gian thực; trong khi đào tạo tuyên truyền ngược đã diễn ra theo thứ tự ~ 5 đến 20 giây. Tôi cho rằng bạn có thể cắt giảm kích thước của mạng cũng như chơi với các tham số để làm cho nó chạy nhanh hơn một chút, nhưng nếu bạn có kế hoạch thực hiện backpropagation trên Arduino, tôi nghĩ nó sẽ quá chậm.
Một số suy nghĩ để tăng tốc mọi thứ bao gồm:
Đây là một bài viết nhanh tôi đã làm về mạng.
Đúng vậy, có thể nhúng mạng nơ ron vào vi điều khiển. Có nhiều ví dụ như vậy trong tài liệu khoa học nhưng tôi có thể trích dẫn một ví dụ nổi bật về những gì có thể được thực hiện với MCU rất đơn giản nếu bạn đủ thông minh. Trong Evolutionary Bits'n'Spike , các tác giả mô tả việc thực hiện một mạng lưới thần kinh tăng tốc thời gian thực VÀ một thuật toán di truyền để huấn luyện nó, để điều khiển một robot bánh xe vi sai. Toàn bộ mã chạy trong một MCU nhỏ gọn PIC16F628 4 MHz được nhúng trên robot Alice 1 phân khối.