밑바닥부터 시작하는 딥러닝 챕터 5 오차역전파법 정리

민트·2025년 1월 23일
0

deepLearningFromScratch

목록 보기
5/5
post-thumbnail

오차역전파법(역전파, backward propagation of errors)을 사용하는 이유

  • 신경망의 가중치 매개변수의 기울기를 수치미분으로 구하는 것보다 훨씬 빠르다. (해석적인 방법)
  • 노드와 엣지로 구정된 계산 그래프를 가지고 시각적으로 이해할 수 있다.
    - 연쇄법칙을 이용하여 계산

역전파 계산 방법
1. 덧셈 노드

  • 상류의 값를 다음 노드로 그대로 출력 (미분이 1)
  1. 곱셈 노드
  • 상류의 값에서 입력 신호들의 값을 서로 바꾸어 곱하여 출력 (미분이 반대 입력 신호)
  1. ReLU 계층
  • 순전파때 입력신호가 0보다 크면 상류의 값을 그대로 보냄
  • 순전파때 입력신호가 0보다 작으면 값을 보내지 않음

  1. Sigmoid 계층
  • 순전파의 출력을 y라고 하면, 상류의 값에 y(1-y)를 곱한 값을 보냄

  1. Affine 계층
  • Affine 변환이란?
    - 순전파때 수행하는 행렬의 곱
  • 4번까지는 노드 사이에 스칼라값이 흘렀지만, 이젠 행렬이 흐름
  • 상류의 값에 입력신호의 전치행렬이 서로 바뀌어 곱해져서 흐름 (순서 주의. 행렬곱을 해야해서 차원이 맞아야함)



6.Softmax-with-Loss 계층

  • 신경망 학습시 출력 결과를 정규화하기 위해 Softmax계층이 필요
  • 역전파의 값은 softmax계층의 출력값 (y)에서 정답 레이블 (t)의 차분
  • 깔끔하게 나오도록 교차 엔트로피 함수가 설계됨


  • 위의 그림을 간소화한 버전
profile
SSAFY 9기, 네이버 부스트캠프 AI Tech 7기

0개의 댓글