최대 1 분 소요

이 포스팅은 밑바닥부터 시작하는 딥러닝(사이토 고키)을 읽고 정리한 내용입니다. .

계산그래프

계산 과정을 노드와 화살표를 이용해 그리는 그래프이다.

문제 : 슈퍼에서 1개에 100원인 사과를 2개 샀습니다. 이때 지불 금액을 구하세요. 단 소비세가 10% 부과됩니다.

역전파

예시 문제를 계산그래프를 이용해 그리면 위의 그림과 같다.

같은 문제를 사과의 개수, 소비세를 변수로 취급해서 그래프를 그리면 다음과 같다.

역전파1

여기서 사과 가격이 올랐을 때, 최종 금액에 어떤 영향을 미치는지를 알고싶다고 한다면, 이는 사과 가격에 대한 지불 금액의 미분을 구하는 문제이다.

계산그래프를 사용하는 가장 큰 이유는 역잔파를 통해 미분을 효율적으로 구할 수 있기 때문이다.

사과 가격에 대한 지불금액의 미분을 계산그래프로 나타내면 다음과 같다.

역전파2

역전파

덧셈노드

\[z = x + y \\ \frac{dz}{dx} = 1\\ \frac{dz}{dy} = 1\]

$\frac{dz}{dx}, \frac{dz}{dy}$ 모두 1이 된다. 그래서 입력값이 그대로 나오게 된다.

곱셈노드

$z = xy$를 생각해보면 \(\frac{dz}{dx} = y\\ \frac{dz}{dy} = x\) 이므로 곱셈노드 역전파는 상류의 값에 순전파때의 입력신호를 서로 바꿔서 곱한 뒤 하류로 보낸다.

댓글남기기