(* DeepLearning from scratch2 서적을 학습한 후 정리한 내용임 )

 

신경망은 학습과정을 거쳐 손실값을 얻어낼 수 있다.

얻어진 손실값을 이용해 학습과정에 사용된 가중치 행렬의 기울기를 계산해낸다.

그리고 그 기울기를 이용해 가중치 각 원소값들을 조정한 후 학습을 진행한다. 그 결과로 나온 손실값을 이용해 기울기 계산을 하고 가중치 값을 조정한 후 다시 학습과정을 거친다. 이런 과정들을 반복하여 손실값을 줄여나가는 방향으로 가중치 값들을 최적화한다.

 

앞 절까지 과정에서 손실값을 얻어낼 수 있었다.

이제 가중치 행렬의 기울기를 계산해낼 차례다.

 

기울기를 계산하기 위해 오차역전파법(back - propagation)을 사용하게 된다.

오차역전파법의 핵심은 연쇄법칙이다.

 

예를 들어 연쇄법칙을 설명한다.

y = f(x) 와  z = g(y) 라는 두 함수가 있다고 가정한다.

z = g( f(x) ) 가 된다.

이 합성함수의 미분(x에 대한 z의 미분)은 다음의 공식이 된다.

 

즉 y에 대한 z 미분값과 x에 대한 y 미분값을 곱하면 x에 대한 z 미분값이 된다.

 

정리하면, 위의 가정이 조건으로 주어진 경우에 대해, 

x가 z에 미치는 영향도를 계산하기 위해서는 y에 대한 z 미분값과 x에 대한 y 미분값을 곱하면 된다.

 

이 법칙을 이용하게 되면 학습 과정이 합성함수들로 복잡하게 구성되어 있더라도 개별과정의 함수들을 미분한 값을 곱하면 전체 과정의 미분을 구할 수 있다.

 

 

+ Recent posts