아무것도 모르는 공대생의 지식 탐험기
모두의 딥러닝 7일차 (ch.9) 본문
오차 역전파에서 딥러닝으로
1. 오차 역전파란?
오차 역전파는 딥러닝에서 가장 핵심적인 개념 중 하나로, 다층 퍼셉트론(MLP)이 효과적으로 학습할 수 있도록 도와주는 알고리즘이다. 신경망 모델이 주어진 입력 데이터를 기반으로 예측한 출력값과 실제 값 사이의 오차를 계산한 뒤, 이 오차를 역방향으로 전파하여 각 층의 가중치와 바이어스를 조정하는 방식이다.
XOR 문제를 해결할 때는 가중치와 바이어스를 미리 알고 직접 설정할 수 있었지만, 실제 딥러닝 프로젝트에서는 이러한 최적 가중치를 사전에 알 수 없다. 따라서 오차 역전파 알고리즘을 활용하여 학습 과정을 통해 최적의 가중치를 찾아야 한다.
2. 오차 역전파의 원리
1) 기본 개념
오차 역전파는 경사 하강법을 기반으로 동작하며, 출력층에서 발생한 오차를 역방향으로 전파하면서 각 층의 가중치를 업데이트하는 방식으로 학습이 진행된다. 간단히 정리하면 다음과 같은 단계를 따른다.
- 초기 가중치(W)와 바이어스(B)를 임의로 설정
- 입력 데이터를 신경망에 통과시켜 예측값(Ŷ)을 계산
- 실제 값(Y)과의 차이를 오차 함수(비용 함수)를 통해 측정
- 경사 하강법을 활용하여 오차를 줄이는 방향으로 가중치와 바이어스를 조정
- 오차가 충분히 줄어들 때까지 반복
2) 경사 하강법과 오차 최소화

경사 하강법은 오차 함수(비용 함수)를 최소화하는 방향으로 가중치를 조정하는 방법이다. 가중치(W)는 다음과 같은 방식으로 업데이트된다.
여기서 a는 학습률(learning rate)이며, aE/aw는 비용 함수의 기울기(미분 값)이다. 학습이 진행됨에 따라 기울기가 점점 작아지고, 결국에는 0에 가까워지면서 최적 가중치에 도달하게 된다.
3. 오차 역전파 과정

1) 순전파 (Forward Propagation)
- 입력층에서 데이터를 받아들인다.
- 은닉층을 거쳐 가중치와 활성화 함수를 적용하여 계산을 수행한다.
- 최종적으로 출력층에서 예측값을 생성한다.
2) 역전파 (Backward Propagation)
- 출력층에서 예측값과 실제값 간의 오차를 계산한다.
- 출력층에서 발생한 오차를 역방향으로 전파하여 은닉층의 가중치를 업데이트한다.
- 경사 하강법을 적용하여 각 층의 가중치를 오차가 줄어드는 방향으로 조정한다.
4. 신경망 학습을 위한 경사 하강법
경사 하강법에는 여러 가지 변형된 방법이 존재하며, 딥러닝에서는 더 효율적인 학습을 위해 고급 경사 하강법이 사용된다.
1) 확률적 경사 하강법 (SGD: Stochastic Gradient Descent)
- 전체 데이터셋이 아니라 랜덤하게 선택된 일부 데이터를 이용해 가중치를 업데이트한다.
- 학습 속도가 빠르고 계산량이 적지만, 최적 해에 도달하는 과정에서 진폭이 클 수 있다.
2) 모멘텀 (Momentum)
- 기울기 변화뿐만 아니라 이전 업데이트 방향도 고려하여 가중치를 조정하는 방식이다.
- 불필요한 진동을 줄이고 더 빠르게 최적 해로 수렴할 수 있도록 돕는다.
3) 네스테로프 모멘텀 (NAG: Nesterov Accelerated Gradient)
- 모멘텀 방식에서 더 나아가, 먼저 이동한 후 기울기를 계산하여 더 정밀한 조정이 가능하다.
4) 아다그라드 (Adagrad)
- 변수마다 학습률을 다르게 적용하여, 자주 업데이트되는 변수의 학습률을 감소시키는 방식이다.
- 장점: 학습률을 자동으로 조정하여 효율적인 학습이 가능
- 단점: 학습이 오래될수록 학습률이 지나치게 작아져서 학습이 멈출 가능성이 있다.
5) RMSProp (Root Mean Square Propagation)
- 아다그라드의 단점을 보완하여 학습률 감소 문제를 해결하는 방식이다.
- 최근 기울기의 변화량을 일부만 반영하여 안정적인 학습을 유도한다.
6) 아담 (Adam: Adaptive Moment Estimation)
- 모멘텀과 RMSProp을 결합하여 만든 알고리즘으로, 현재 가장 널리 사용된다.
- 학습률 자동 조정 + 관성 효과 반영으로 정확도와 속도를 모두 향상시킬 수 있다.
6. 결론
오차 역전파 알고리즘은 신경망 학습의 핵심이며, 경사 하강법을 활용하여 가중치를 조정함으로써 최적의 모델을 찾아가는 과정이다. 오차 역전파와 다양한 경사 하강법이 결합됨으로써, 신경망이 복잡한 패턴을 학습하고 인공지능이 발전하는 데 중요한 역할을 하게 되었다.