안녕하세요 오늘은 오차역전파에대해서 간략히 소개드릴려고합니다.
오차역전파는 딥러닝 시 언제 사용되는지 아시나요?
특정 모델을 학습시키게 되면 손실값(loss)을 출력한다는 사실을 알고 있다는 전제하에 설명하겠습니다.
우리가 원하는 쪽으로 학습을 시키기 위해서는 각 weight 값의 손실 기울기를 알 수 있다면 손실의 기울기를 가지고 optimizer을 통해 weight 값을 갱신 할 수 있습니다. 그럼 여기서 손실 기울기를 구하는 방법이 바로 오차역전파를 통해서 구해집니다.
위에 그림은 z = x + y를 나타내는 계산 그래프입니다.
이거를 좀더 복잡한 계산이 있다고 가정하게되면 다음과 같은 그림이 될 수 있습니다.
여기서 순전파는 앞서 계산한거 처럼 어떤계산을 거친 x 와 어떤계산을 거친 y를 더한 값이 z인데 이 값에 또 어떤 계산을 통해 스칼라값인 L이 나오게 됩니다.
그럼 역전파는 어떤 과정으로 나올까요?
다음과 같은 그림이 나오겠죠
그럼 좀 더 자세하게 알아보도록 하겠습니다.
덧셈 노드일 경우 역전파는 정확히 어떤 값이 흘러가는지 확인 해보겠습니다.
여기부터 중요하니 잘 이해하도록 합시다.
이처럼 곱셈노드 어떤값이 역전파로 나오는지 구할 수 있습니다. 과정은 똑같기에 정답만 올리도록 하겠습니다.
곱셉노드
그 외에에도 분기 노드, repeat노드 , sum노드, Matmul노드가 있습니다.
분기노드, repeat노드, sum노드는 기울기를 더하거나 복제만 하면 되기 때문에 넘어가도록 하겠습니다.
matmul노드는 다음 시간에 알아보도록 하겠습니다
'AI' 카테고리의 다른 글
[논문리뷰] DropBlock: A regularization method forconvolutional networks (0) | 2021.11.02 |
---|---|
Distance-IOU Loss (DIOU) 논문 리뷰 (0) | 2021.07.12 |
CUDA Toolkit 삭제 & 다운(11.2 -> 11.1) (0) | 2021.03.23 |
딥러닝에서 필터의 개수는 왜 증가할까 (0) | 2021.01.27 |
[논문 정리] mobilenetV2: Inverted Residuals and Linear Bottlenecks (1) | 2021.01.26 |