역전파 2

Chapter 1. Auto-grad(자동미분) step 6~9: 수동 역전파/ 역전파 자동화/ 재귀, 반복문/ 파이썬 함수 활용

In [1]: import numpy as np 6. 수동 역전파¶ 이전 단계에서 역전파의 구동원리를 설명함 이번 단계에서는 Variable과 Function 클래스를 확장하여 역전파를 이용한 미분을 구현함 6.1 Variable 클래스 추가 구현¶ 역전파에 대응하는 Variable 클래스를 구현함 이를 위해 통상값(data)과 더불어 그에 대응하는 미분값(grad)도 저장하도록 확장함 새로 추가된 코드에는 음영을 덧씌움 In [2]: class Variable: def __init__(self, data): self.data = data self.grad = None 위와 같이 새로 grad라는 인스턴스 변수를 추가함 인스턴스 변수인 data와 grad는 모두 numpy의 다차원배열(ndarray)이라..

1. Auto Gradient(자동미분): 변수/ 함수/ 수치미분/ 역전파

DeZero¶ 해당 내용의 오리지널 프레임워크 해당 내용은 DeZero를 60단계로 나누어, 조금씩 완성하도록 구성함 1.1 Variable?¶ - 상자에 데이터를 넣는 그림에서, 상자의 역할이 변수 - 상자와 데이터는 별개 - 상자에는 데이터가 들어감(대입 or 할당) - 상자 속을 들여다보면 데이터를 알 수 있음(참조) 1.2 Variable class 구현¶ - 파이썬에서는 클래스의 첫 글자 이름을 보통 대문자로 함(PEP8) - Variable 클래스가 상자가 되도록 구현 In [1]: class Variable: def __init__(self, data): self.data = data 초기화 함수 __init__에 주어진 인수를 인스턴스 변수 data에 대입함. 간단한 코드지만, 이를 통해 ..