AI

오차역전파-1 (딥러닝) 곱셉노드, 덧셈노드

전자둥이 2021. 6. 20. 14:04
반응형

안녕하세요 오늘은 오차역전파에대해서 간략히 소개드릴려고합니다.

 

오차역전파는 딥러닝 시 언제 사용되는지 아시나요?

 

특정 모델을 학습시키게 되면 손실값(loss)을 출력한다는 사실을 알고 있다는 전제하에 설명하겠습니다.

 

우리가 원하는 쪽으로 학습을 시키기 위해서는 각 weight 값의 손실 기울기를 알 수 있다면 손실의 기울기를 가지고 optimizer을 통해 weight 값을 갱신 할 수 있습니다. 그럼 여기서 손실 기울기를 구하는 방법이 바로 오차역전파를 통해서 구해집니다.

 

위에 그림은 z = x + y를 나타내는 계산 그래프입니다.

이거를 좀더 복잡한 계산이 있다고 가정하게되면 다음과 같은 그림이 될 수 있습니다.

여기서 순전파는 앞서 계산한거 처럼 어떤계산을 거친 x 와 어떤계산을 거친 y를 더한 값이 z인데 이 값에 또 어떤 계산을 통해 스칼라값인 L이 나오게 됩니다.

그럼 역전파는 어떤 과정으로 나올까요?

다음과 같은 그림이 나오겠죠

 

그럼 좀 더 자세하게 알아보도록 하겠습니다.

덧셈 노드일 경우 역전파는 정확히 어떤 값이 흘러가는지 확인 해보겠습니다.

여기부터 중요하니 잘 이해하도록 합시다.

이처럼 곱셈노드 어떤값이 역전파로 나오는지 구할 수 있습니다. 과정은 똑같기에 정답만 올리도록 하겠습니다. 

곱셉노드

그 외에에도 분기 노드, repeat노드 , sum노드, Matmul노드가 있습니다.

분기노드, repeat노드, sum노드는 기울기를 더하거나 복제만 하면 되기 때문에 넘어가도록 하겠습니다.

 

matmul노드는 다음 시간에 알아보도록 하겠습니다

 

 

 

반응형