1. 역전파 (Backpropagation) 이란?
ㅇ 인공 신경망에서, 손실 함수에 대한 각 파라미터(가중치치[AI],편향치[AI])의 기울기(편미분)를,
- 효율적으로 계산하기 위한 핵심 알고리즘
. 연쇄법칙(chain rule)을 사용하고,
. 출력 → 입력 방향으로 미분을 전달해서,
. 중복 계산을 피하며, 모든 파라미터의 기울기를 구함
ㅇ "오차 역전파 알고리즘" 이라고도 함
- 신경망 학습 과정에서, 오차를 역전파하여, 파라미터를 조정하는 알고리즘
- 즉, 신경망 출력층에서 계산된 오차를, 입력층 방향으로, 역전달하면서,
. 가중치와 편향을 조정하는 과정으로,
. 신경망의 예측 값과 실제 값 간의 오차를 최소화(최적화)하기 위해 사용
ㅇ (순전파, 역전파 비교)
- 순전파 : 입력 데이터를 순방향 (입력 → 은닉층 → 출력층) 전달하여 출력을 계산
. 출력에서, 예측값 및 손실(loss)을 산출
- 역전파 : 출력층에서 계산된 오차를 입력층 방향으로 전달
. 각 층,노드,연결이 오차에 미친 영향도를 계산
. 시스템 각 블록의 민감도를 산출
. 이를통해, 파라미터의 기울기(gradient)를 계산
ㅇ (학습 과정)
- 입력 → 순전파 → 출력 → 손실 계산 → 기울기 계산 (역전파) → 파라미터 갱신 → 반복 학습
ㅇ (역전파의 목적)
- 출력 오차를 최소화하는 방향으로,
. 신경망의 가중치 및 편향을 점진적으로 조정
- 즉, 훈련 데이터에 신경망을 적합(Fitting)시키는 것
- 결국, 예측 정확도 및 일반화 성능 향상
ㅇ (역전파의 실제 활용성)
- 합성함수로 이루어진 모델에서,
- 각 파라미터에 대한 편미분(gradient)을
- 계산량 폭증 없이 효율적으로 계산
2. 역전파의 주요 단계
ㅇ 순전파 (forward propagation)
- 입력 데이터를 신경망에 전달하여 출력을 계산
- 예측 값과 실제 값의 오차(손실)를 계산
ㅇ 오차 계산
- 손실 함수(평균 제곱 오차, 교차 엔트로피 등)를 통해 출력층의 오차를 계산
ㅇ 오차 역전파
- 출력층에서 입력층 방향으로 각 노드의 기여도를 계산
- 미분(gradient)을 통해 가중치와 편향의 변화량을 구함
ㅇ 가중치 및 편향 업데이트
- 경사하강법(gradient descent) 등을 사용하여 가중치와 편향을 업데이트
- 이 과정은 학습률(learning rate)에 의해 조정됨