KSW's BLOG
← Portfolio
Completed

미니 자동미분 엔진 구현

스칼라용/텐서용 두 가지 자동미분(autograd) 엔진을 직접 만들어 MNIST를 분류한 프로젝트.

PythonNumPy

Problem

  • ·인공지능의 수학적 원리(미분·연쇄법칙)를 프로그래밍과 직접 연결해 이해하고 싶었음
  • ·PyTorch autograd처럼 계산 그래프 생성 및 미분 전파 방식을 직접 구현해보기로 함

Approach

  • ·스칼라 단위로 동작하는 Value 엔진 구현
  • ·NumPy 배열 기반 Tensor 엔진 구현

Result

  • ·27개 테스트 전부 통과
  • ·moons 데이터셋 99%
  • ·MNIST 95.75% (numpy-backprop과 동일 수치로 검증)
View on GitHub →