1. 역전파 (Backpropagation) 이란?
ㅇ (개요)
- 인공 신경망의 학습 단계에서,
- 각 파라미터(가중치,편향)의 기울기(편미분)를,
- 손실 함수에 따른 적응(적합)을 위해,
- 효율적으로 재계산하기 위한 핵심 알고리즘
. "오차 역전파 알고리즘"이라고도 함
ㅇ (역전파의 출현 배경 및 착안)
- 층이 깊어질수록 직접 미분 계산이 기하급수적으로 늘어남 → 연쇄법칙으로 해결
- 합성함수로 구성된 신경망 모델에 착안 서, 각 파라미터에 대한 편미분을,
. 계산량 폭증 없이 효율적으로 산출 가능
ㅇ (동작 원리) : (핵심 3가지)
- 연쇄법칙 활용 : 합성함수의 미분을 단계적으로 분해하여 적용
- 역방향 미분 전달 : 출력층 → 은닉층 → 입력층 방향으로 기울기를 역방향으로 전달
- 중복 계산 회피 : 이미 계산된 기울기를 재사용하여,
. 연산량 폭증 없이 효율적으로 모든 파라미터의 기울기를 산출
ㅇ (역전파의 목적)
- 오차 최소화 : 출력 오차를 줄이는 방향으로 가중치 및 편향을 점진적으로 조정
- 모델 피팅 : 훈련 데이터에 신경망을 적합(Fitting)시킴
- 성능 향상 : 예측 정확도 및 일반화 성능 개선
ㅇ (전체 학습 흐름)
- (순방향) 입력 데이터 → 순전파 → 예측값 출력 → 손실 계산
- (역방향) 손실 → 기울기 계산(역전파) → 경사하강법 → 파라미터 갱신
. 반복 학습 (수렴할 때까지)
2. 순전파, 역전파 비교
ㅇ 순전파 : 입력 데이터를 순방향 (입력 → 은닉층 → 출력층) 전달하여 출력을 계산
- 출력에서, 예측값 및 손실(loss)을 산출
ㅇ 역전파 : 출력층에서 계산된 오차를 입력층 방향으로 전달하며 계산
- 각 층,노드,연결이 오차에 미친 영향도를 계산
- 시스템 각 블록의 민감도를 산출
- 이를통해, 파라미터의 기울기(gradient)를 계산
3. 역전파의 주요 단계
ㅇ 순전파 (forward propagation)
- 입력 데이터를 신경망에 순방향으로 전달하며 출력을 계산
- 예측 값과 실제 값의 오차(손실)를 계산
ㅇ 오차 계산
- 손실 함수(평균 제곱 오차, 교차 엔트로피 등)를 통해 출력층의 오차를 계산
ㅇ 오차 역전파
- 출력층에서 입력층으로 (역방향으로), 각 노드의 기여도를 계산
- 미분(gradient)을 통해 가중치와 편향의 변화량을 구함
ㅇ 가중치 및 편향 업데이트
- 경사하강법 등을 사용하여 가중치와 편향을 업데이트
- 이 과정은 학습률에 의해 조정됨