앞 장에서는 신경망 학습에 대해서 설명했다. 그때 신경망의 가중치 매개변수의 기울기는 수치 미분을 사용해 구할 수 있다는 것을 알았다. 수치 미분은 단순하고 구현하기 쉽지만, 계산 시간이 오래 걸린다는 단점이 있다. 이번 장에서는 가중치 매개변수의 기울기를 효율적으로 계산하는 **‘오차역전법(backpropagation)’**을 알아보도록 하자.

오차 역전법을 제대로 이해하는 방법으로는 2가지 방법이 있다. 하나는 수식을 통한 것이고, 다른 하나는 그래프를 통한 것이다.

5.1 계산 그래프

계산 그래프(Computational graph)는 계산 과정을 그래프로 나타낸 것이다. 그래프는 복수의 노드(Node)와 에지(edge)로 표현된다. 에지는 노드 사이의 직선을 나타낸다.

5.1.1 계산 그래프로 나타내기

계산 그래프는 계산 과정을 노드와 화살표(에지)로 표현된다. 노드는 원으로 표기하고 원 안에 연산 내용을 적는다. 계산 결과는 화살표 위에 적어 왼쪽에서 오른쪽으로 전해지게 된다.

그럼 간단한 문제를 계산 그래프를 사용하여 풀어보자.

문제 1 : 현빈 군은 슈퍼에서 1개에 100원인 사과를 2개 샀다. 이때 지불 금액을 구하라. 단, 소비세가 10% 부과된다.

그림 5-1 계산 그래프로 풀어본 문제 1의 답

그림 5-1 계산 그래프로 풀어본 문제 1의 답

그림 5-2 ‘사과의 개수’와 ‘소비세’를 변수로 취급해 원 밖에 표기

그림 5-2 ‘사과의 개수’와 ‘소비세’를 변수로 취급해 원 밖에 표기

문제 2 : 현빈 군은 슈퍼에서 사과를 2개, 귤을 3개 샀다. 사과는 1개에 100원, 귤은 1개 150원이다. 소비세가 10%일 때 지불 금액을 구하라.

그림 5-3 계산 그래프로 풀어본 문제 2의 답

그림 5-3 계산 그래프로 풀어본 문제 2의 답