포트폴리오 서브프로젝트 신경망 숫자 인식기
포스트
취소

신경망 숫자 인식기

redniche/Neural-Number-Recognition 프로젝트

깃허브 링크

소개

정사각형 데이터패턴으로 이루어진 숫자를 인식하는 다층 퍼셉트론 기반 신경망입니다. 숫자가 아니어도 패턴을 유추해낼 수 있습니다. 학습과 질의를 위해 MNIST 데이터셋을 사용하는 것을 추천합니다.

대학생 때 알파고가 이세돌을 이기는 것을 보고 AI 기술이 벌써 이만큼 발전했나 느끼곤 어떻게 저런 것을 만들 수 있을지 연구하는겸 군대에서부터 전역하고 제작하게 되었습니다.

MNIST 데이터셋 60000개를 학습하고
MNIST 데이터셋 10000개의 테스트 데이터에 대해 대략 97%의 정확도를 보입니다.

프로젝트 진행기간 2016년 10월~12월, 2018년 11월

기술스택

Build Environment

  • Framework: .Net Framework 4.7.1
  • IDE: Visual Studio 2019
  • Language: C#

데이터셋

  • MNIST in CSV 링크의 train set, test set 같은 형식의 csv 파일
  • 파일명이 정답인 이미지 파일(.png, .jpg, .jpeg 형식)
    • 예시) 1.png, 2.jpg

주요 사용법

주요 사용법1

Help

도움말을 보여줍니다.

Create

신경망을 생성합니다.
본 예제에서는 은닉층이 200노드고 출력이 10개(숫자 수)인 이미지(가로세로 28px)를 인식할 수 있는 신경망 객체를 생성합니다.

ShowStatus

신경망의 상태를 확인합니다. 대략적인 신경망 객체의 정보를 볼 수 있습니다.

CsvTrain

주요 사용법1

csv파일로 신경망을 학습시킬 수 있습니다.
예시 학습용 csv파일: 링크

CsvQuery

주요 사용법1

학습된 신경망 객체를 csv파일로 테스팅할 수 있습니다.
csv파일로 신경망에 질의하는 명령입니다.
대용량 테스팅을 할 때 활용할 수 있으며 쿼리의 세부 결과는 로그로 남습니다.
예시 테스팅용 csv파일: 링크

ImageQuery

주요 사용법1

학습된 신경망 객체를 이미지 파일로 테스팅할 수 있습니다.
png, jpg, jpeg 파일을 지원합니다. 여러 파일을 한 번에 테스팅 할 수 있습니다. 쿼리의 결과가 콘솔창에 그대로 나타납니다.

Save

주요 사용법1

신경망 객체를 저장할 수 있습니다.

Open

주요 사용법1

저장된 신경망 객체를 로드합니다. 예제 테스트 데이터에 대해 대략 97%의 정확도를 보여주는 신경망 객체 파일을 제공합니다.
신경망 객체 파일.neu

과거 코드

제 블로그입니다. 블로그 링크

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

고교 창원대학교 연계 악보인식 R&E 프로젝트

수상기록 모음