karpathy/micrograd
A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API
해결하는 문제
micrograd는 동적으로 구축된 유향 비순환 그래프(DAG) 위에서 역전파(역방향 자동 미분)를 구현하는 아주 작은 교육용 autograd 엔진입니다. 사용자가 PyTorch와 유사한 API를 사용하여 작은 신경망을 구축하고 훈련할 수 있도록 하여, 경사도 계산 및 네트워크 훈련의 내부 메커니즘을 근본적으로 이해할 수 있게 합니다.
작동 원리
이 엔진은 스칼라 값에 대해서만 작동하며, 모든 연산(덧셈 및 곱셈 등)을 개별 단계로 분해합니다. 이러한 연산의 DAG를 구축하여 엔진이 역방향 패스를 통해 경사도를 계산할 수 있도록 합니다. 이 엔진을 기반으로 다층 퍼셉트론(MLP) 및 이진 분류기를 구축할 수 있는 작은 신경망 라이브러리가 제공됩니다.
대상
대규모 프로덕션 프레임워크의 복잡성 없이 딥러닝의 핵심 수학적 기초와 자동 미분이 어떻게 작동하는지 이해하고자 하는 개발자와 학생.
주요 특징
- 매우 작은 크기: autograd 엔진은 약 100행의 코드이며, 신경망 라이브러리는 약 50행입니다.
- PyTorch 스타일 API: 현대적인 딥러닝 라이브러리에 익숙한 사람들에게 친숙한 인터페이스를 제공합니다.
- 시각화: 데이터와 경사도를 모두 보여주는 계산 그래프의 Graphviz 시각화를 생성하는 도구가 포함되어 있습니다.
- 교육 중심: 이진 분류 및 신경망의 기본 구성 요소를 보여주기 위해 교육 목적으로 특별히 설계되었습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트