본문 바로가기
Book Review/[밑바닥부터 시작하는 딥러닝 1] 리뷰

5장. 오차역전파법

by 3n952 2023. 11. 9.

지난 챕터에서는 수치 미분을 통해 기울기를 계산하였다. 하지만 이는 계산 시간이 길다는 단점이 있다.
이를 해결하기 위해 이번 챕터에서는 '오차역전파'(backpropagation) 에 대해 알아보고,
이를 이해하기 위한 계산 그래프, 연쇄법칙(chain rule)을 이해하여 오차역전파에 적용되는 부분을 파악하자.

 

수치 미분은 구현하기 쉽고 단순하지만 계산 시간이 오래 걸린다는 단점이 있다.

가중치 매개변수를 해결하기 위해서는 손실 함수의 가중치 매개변수에 대한 기울기를 구해야 모델의 학습이 이뤄진다.

 

따라서 결국 기울기를 사용해야하는데 수치 미분은 사용성이 좋지 않으니

이를 효율적으로 계산하는 '오차역전파'가 등장하게 되었다.

 

밑시딥책에서는 오차역전파를 쉽게 이해시키기 위해 수식이 아닌 계산 그래프로 시각적인 요소로 설명을 한다.

 

1. 계산 그래프

계산 그래프는 계산 과정을 노드와 화살표로 표현하는 것을 의미한다.

노드는 원(O)으로 표현하고 그 안에 연산 내용을 적어 그 결과를 화살표 위에 적는 형식이다.

그림으로 표현하면 다음과 같다.

 

그림1. 사과 가격 계산 그래프

그림1의 의미는 무엇일까?

100원짜리 사과를 2개 사고(200원), 이에 대한 소비세 1.1을 곱해서 220이 최종 출력으로 도출된다는 것이다.

 

이것을 딥러닝에 적용시켜보면,

[사과 = input data]이고 [사과의 개수, 소비세 = 가중치 파라미터] 라고 할 수 있겠다!

이렇게 최종노드로 진행하는 계산 단계를 순전파(forward propagation)이라고 한다.

순전파에서 중요한 것은 국소적 계산의 연속적인 연결이라고 할 수 있겠다.

 

국소적 계산이란 '자신과 직접 관계된 작은 범위'라는 것으로 전체에서 어떠한 일이 벌어지는 것과는 별개로

자신과 관계된 정보만으로 결과를 출력할 수 있다는 것을 의미한다.

즉, 최종결과에 대한 계산이 복잡하더라도 각 노드의 계산에 집중하면 문제를 단순화 시킬 수 있는 것을 의미한다. 

 

역전파는 순전파의 반대 방향으로 계산 단계가 이뤄지는 것을 의미하는 것으로 유추할 수 있다.

그렇다면 그 계산은 어떻게 하는 것일까?

국소저 미분을 전달하는 방식을 계산이 이뤄진다.

계산 그래프로 파악해보자.

그림2. 사과 가격 역전파 계산 그래프

 

그림2를 보면, 미분 값 1, 1.1, 2.2, 110이 흘러들어가는 것을 볼 수 있다.

역전파에 의한 미분 값의 전달로 각 변수의 미분을 효율적으로 구할 수 있게 되는 것이다.

국소적 미분을 전달하는 원리에는 '연쇄법칙'이라는 것이 숨어있다.

 

2. 연쇄법칙 chain rule

연쇄법칙을 이해하기 위해서 먼저 합성 함수로부터 시작해야 한다.

합성 함수란 여러 함수로 구성된 함수를 의미한다.

가령, z=(x+y)**2의 식은 z= t**2 / t = x + y 의 두 개의 식으로 구성되므로 합성 함수라고 볼 수 있다.

 

연쇄법칙은 합성 함수의 미분에 대한 성질이며, 합성 함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있다.

 

그림3. 연쇄법칙

 


출처
1. 연쇄법칙 그림
: https://koocci.gitbooks.io/aiclub-d/content/8c8fc-cc28-c870-baa8-c784/bc1c-d45c-b0b4-c6a9.html

'Book Review > [밑바닥부터 시작하는 딥러닝 1] 리뷰' 카테고리의 다른 글

4장. 신경망 학습  (0) 2023.10.04
3장. 신경망  (1) 2023.10.04
2장. 퍼셉트론  (1) 2023.09.17