머신 러닝에 사용될 Arduino Uno와 같은 마이크로 프로세서에서 간단한 신경망을 구현할 수 있습니까?
머신 러닝에 사용될 Arduino Uno와 같은 마이크로 프로세서에서 간단한 신경망을 구현할 수 있습니까?
답변:
예. 피드 포워드 모드에서만 실행하고 다른 곳에서 교육을 오프라인으로 수행하는 경우 :
Arduino UNO에서 3 계층 (5-5-2) 피드 포워드 ANN을 프로그래밍했습니다. 모바일 로봇에서 작동했습니다. 로봇이 무언가를 칠 때마다 네트워크를 다시 훈련시킵니다. 네트의 피드 포워드 부분은 실시간으로 실행되었습니다. 역 전파 훈련은 5 ~ 20 초 정도 걸렸습니다. 조금 더 빠르게 실행하기 위해 매개 변수를 사용한 재생뿐만 아니라 네트워크 크기를 트리밍 할 수 있다고 생각하지만 Arduino에서 역 전파를 계획하는 경우 너무 느릴 것이라고 생각합니다.
작업 속도를 높이기위한 몇 가지 생각은 다음과 같습니다.
다음 은 네트워크에 대한 빠른 기록 입니다.
그렇습니다. 신경망을 마이크로 컨트롤러에 내장 할 수 있습니다. 과학 문헌에는 이와 같은 많은 예가 있지만 충분히 똑똑하다면 아주 간단한 MCU로 할 수있는 일에 대한 놀라운 예를들 수 있습니다. 에서 진화 Bits'n'Spikes , 저자는 신경 네트워크 및 차동 바퀴 로봇을 제어하기 위해, 훈련을위한 유전자 알고리즘을 급상승 실시간의 구현을 설명합니다. 전체 코드는 1 입방 인치 Alice 로봇에 내장 된 소형 PIC16F628 4MHz MCU에서 실행됩니다.