Arduino/AI

Arduino를 위한 신경망 [원문 링크]

이 기사는 Arduino Uno 마이크로 컨트롤러 보드 용으로 개발된 인공 신경망을 제시합니다. 여기에 설명된 네트워크는 아마도 가장 일반적인 유형인 피드 포워드 역 전파 네트워크입니다. 감독 또는 비지도 학습을위한 좋은 범용 네트워크로 간주됩니다. 프로젝트 코드는 Arduino 스케치로 제공됩니다. 플러그 앤 플레이 방식으로 Uno에 업로드하여 실행할 수 있으며, 맞춤형 네트워크를 신속하게 구축하고 교육하는 데 사용할 수있는 구성 정보 섹션이 있습니다. 여기에 제공된 글은 인공 신경 네트워크의 개요, 스케치의 세부 사항 및 피드 포워드 네트워크 및 역 전파 알고리즘에 사용되는 기본 개념 중 일부에 대한 소개를 제공합니다.

스케치는 ArduinoANN.zip 을 클릭하여 다운로드 할 수 있습니다 . 이 코드는 자습서가 끝날 때 전체적으로 나열됩니다.

역 전파 신경망은 1980 년대 중반부터 사용되고 있습니다. 역 전파의 기본 개념은 매우 간단하며 알고리즘 자체에 고차 수학이 포함되어 있지만 방정식을 적용하기 위해 방정식이 어떻게 도출되었는지 완전히 이해할 필요는 없습니다. 초소형 시스템에서 네트워크를 구현하는 데는 몇 가지 문제가 있으며, 이전 세대의 저렴한 마이크로 컨트롤러 및 취미 보드에서는 이러한 문제가 상당했습니다. 그러나 오늘날 많은 보드와 마찬가지로 Arduinos는 실제로 짧은 작업을 수행합니다. 여기에 사용 된 Arduino Uno는 Atmel의 ATmega328 마이크로 컨트롤러를 기반으로합니다. 2K의 SRAM은 7 개의 입력과 4 개의 출력을 가진 샘플 네트워크와 다차원 배열 및 부동 소수점 연산을위한 Arduino의 GCC 언어 지원에 적합합니다.

그래서 무엇이 좋은가요? 신경망은 예를 통해 배웁니다. 자율 주행 차량 제어, 게임 플레이, 얼굴 인식, 주식 시장 분석에 이르기까지 다양한 응용 분야에서 사용되었습니다. 대부분의 응용 프로그램에는 시스템에 대한 정확한 입력을 알 수없고 정보가 누락되었거나 관련이없는 패턴 일치 유형이 포함됩니다. 필기 문자 인식 문제를 고려하십시오. 알파벳의 일반적인 모양은 미리 알 수 있지만 실제 입력은 항상 다릅니다. 물론, ATmega328에 구축 된이 작은 네트워크는 안면 인식 작업에 국한되지 않지만 로봇 제어 및 머신 러닝에 대한 실험은 꽤 많이 있습니다.

이름에서 알 수 있듯이 ANN으로 축약되는 인공 신경망은 자연에서 영감을 얻은 컴퓨팅 모델입니다. 두뇌가 정보를 저장하고 다양한 입력에 반응하는 방식을 특정 수준에서 모방하려는 시도입니다. 본질적으로 신경계의 기본 구성 요소는 뉴런이라고하는 특수한 유형의 세포입니다.