딥러닝과 인공신경망: 계산 그래프로 오차 역전파 이해하기

Yougurt_Man·2022년 7월 27일
0

Machine Learning Theory

목록 보기
14/18
post-thumbnail

오차역전파

가중치 매개변수의 기울기를 계산하는 방법이다. "역으로 전파한다"라는 의미로 계산그래프를 통해 이해한다.

계산 그래프로 알아보는 역전파

계산과정을, 노드와 화살표로 표시한다.

계산된 L 값을, 역전파로 이전신호에 하나씩 보낼때 국소미분값을 곱해주면 가중치의 기울기를 계산할 수 있다.

아래는, 순방향일때 전달된 입력값 x가 함수를 거쳐 y가 되었을때, 즉 y=f(x)y=f(x)일때 역전파에서 입력값 E와 국수 미분값(σyσx\sigma y \over \sigma x)를 곱하면 그에 대한 기울기를 계산 할 수 있다.

덧셈 노드에서 역전파

zz = x+yx + y일때, xxyy에 대한 미분값은 아래와 같다.

  • σzσx\sigma z \over \sigma x = 1
  • σzσy\sigma z \over \sigma y = 1

즉, σLσz{\sigma L \over \sigma z} x σzσx\sigma z \over \sigma x = σLσz{\sigma L \over \sigma z} x 1와 동일하기 때문에,(L은 전달된 신호)

덧셈 노드에서는, 역전파시 다음노드에 역전파 입력값(이미지에서는 σLσz\sigma L \over \sigma z)을 그대로 다음노드로 패스한다.

곱셈 노드에서 역전파

zz = xyx * y일때, xxyy에 대한 미분값은 아래와 같다.

  • σzσx\sigma z \over \sigma x = yy
  • σzσy\sigma z \over \sigma y = xx

즉, 역전파시 다음 입력 노드 전달되는 신호는, x 와 y가 서로 스위칭 되어 다음 입력노드로 전달된다.

예시

실제 지불해야할 금액에 대해, 각 입력값이 미치는 영향을 알아보자.

덧셈과 곱셈노드가 있는, 다음의 계산 그래프의 계산과정은 이미지에 나타난 계산 방식과 동일하다.

코드 구현

profile
Greek Yogurt

0개의 댓글