logo

역전파

미분의 연쇄 규칙 chain rule

fg가 미분 가능한 함수이고, y=f(u), u=g(x)이면 다음이 성립.

dxdy=dudydxdu

미분값은 한 값이 조금 변할 때 다음 값이 얼마나 변하는지를 나타냄. 연쇄 규칙은 여러 함수가 이어져 있을 때 각 단계의 변화율을 곱하여 처음의 변화가 마지막 결과에 미치는 영향을 계산하는 방법.

다층 신경망의 계산도 여러 함수가 이어진 구조.

xh1h2y^L
  • x: 입력
  • h1,h2: 은닉층의 출력
  • y^: 예측값
  • L: 손실

h1이 손실 L에 미치는 영향은 h1 뒤에 이어진 변화율을 차례로 곱해 계산.

h1L=y^Lh2y^h1h2

즉, 연쇄 규칙은 신경망 뒤쪽에서 계산한 변화율을 앞쪽으로 전달할 수 있게 함.

역전파

역전파(backpropagation)는 연쇄 규칙을 이용하여 손실에 대한 각 파라미터의 경사를 효율적으로 계산하는 방법. 각 파라미터의 경사를 처음부터 따로 계산하지 않고, 뒤쪽 레이어에서 계산한 결과를 앞쪽 레이어의 계산에 재사용.

신경망의 한 번 학습은 다음 순서로 진행.

  1. 순방향 전파(forward pass): 입력에서 예측값과 손실을 계산하고, 역전파에 필요한 중간값을 저장
  2. 역방향 전파(backward pass): 손실에서 시작해 출력층에서 입력층 방향으로 경사를 계산
  3. 경사하강법: 계산한 경사를 이용해 가중치와 편향을 수정
순방향: 입력 → 은닉층 1 → 은닉층 2 → 예측값 → 손실
역방향: 입력 ← 은닉층 1 ← 은닉층 2 ← 예측값 ← 손실

각 레이어는 뒤쪽에서 전달받은 경사에 자신의 변화율을 곱함. 이렇게 계산한 경사를 바로 앞 레이어로 다시 전달. 하나의 값이 여러 경로를 통해 손실에 영향을 주면 각 경로의 영향을 더함.

사라지는 경사 vanishing gradient

역전파에서는 여러 레이어의 변화율을 연속해서 곱함. 작은 값이 여러 번 곱해지면 입력층과 가까운 초반 레이어에 도달하는 경사가 0에 가까워질 수 있음. 이를 사라지는 경사(vanishing gradient)라고 함.

  • 초반 레이어의 가중치와 편향이 매우 조금만 바뀜
  • 초반 레이어의 학습이 느려지거나 충분히 이루어지지 않음
  • 레이어가 깊을수록 문제가 커질 수 있음
  • 시그모이드나 쌍곡탄젠트가 기울기가 작은 구간에서 반복해 사용될 때 발생하기 쉬움

사라지는 경사 문제

퀴즈

문제 1 / 5맞음: 0힌트: 0틀림: 0채점중: 0남음: 5

여러 함수가 이어져 있을 때 연쇄 규칙으로 전체 변화율을 구하는 방법은 무엇입니까?

  • 각 단계의 변화율을 곱한다
  • 각 단계의 변화율을 더한다
  • 가장 큰 변화율 하나만 선택한다
  • 각 단계의 변화율을 평균한다

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
다층 신경망