페이지

2022년 8월 7일 일요일

6.1 Variable 클래스 추가 구현

 역전파에 대응하는  Variable 클래스를 구현하겠습니다. 그러기 위해 통상값(data)과 더붙어 그에 대응하는 미분값(grad)도 저장하도록 확장합니다. 새로 추가된 코드에 음영을 덧쒸웠습니다.

class Variable:
  def __init__(selfdata):
    self.data = data
    self.grad = None

이와 같이 새로 grad라는 인스턴스 변수를 추가했습니다. 인스턴수 변수인 data와 grad는 모두 넘파이의 다차원 배열(ndarray)이라고 가정합니다. 또한 grad는 None으로 초기화해둔 다음, 나중에 실제로 역전파를 하면 미분값을 계산하여 대입합니다.

벡터나 행렬등 다변수에 대한 미분은 기우기(gradent)라고 합니다. Variable 클래스에 새로 추가한 grad변수의 이름은 gradient를 줄인 것입니다.

댓글 없음: