아무것도 모르는 공대생의 지식 탐험기

모두의 딥러닝 7일차 (ch.9) 본문

카테고리 없음

모두의 딥러닝 7일차 (ch.9)

luvm._. 2025. 3. 4. 18:46

오차 역전파에서 딥러닝으로 

1. 오차 역전파란?

오차 역전파는 딥러닝에서 가장 핵심적인 개념 중 하나로, 다층 퍼셉트론(MLP)이 효과적으로 학습할 수 있도록 도와주는 알고리즘이다. 신경망 모델이 주어진 입력 데이터를 기반으로 예측한 출력값과 실제 값 사이의 오차를 계산한 뒤, 이 오차를 역방향으로 전파하여 각 층의 가중치와 바이어스를 조정하는 방식이다.

XOR 문제를 해결할 때는 가중치와 바이어스를 미리 알고 직접 설정할 수 있었지만, 실제 딥러닝 프로젝트에서는 이러한 최적 가중치를 사전에 알 수 없다. 따라서 오차 역전파 알고리즘을 활용하여 학습 과정을 통해 최적의 가중치를 찾아야 한다.

2. 오차 역전파의 원리

1) 기본 개념

오차 역전파는 경사 하강법을 기반으로 동작하며, 출력층에서 발생한 오차를 역방향으로 전파하면서 각 층의 가중치를 업데이트하는 방식으로 학습이 진행된다. 간단히 정리하면 다음과 같은 단계를 따른다.

  1. 초기 가중치(W)와 바이어스(B)를 임의로 설정
  2. 입력 데이터를 신경망에 통과시켜 예측값(Ŷ)을 계산
  3. 실제 값(Y)과의 차이를 오차 함수(비용 함수)를 통해 측정
  4. 경사 하강법을 활용하여 오차를 줄이는 방향으로 가중치와 바이어스를 조정
  5. 오차가 충분히 줄어들 때까지 반복

2) 경사 하강법과 오차 최소화

경사 하강법은 오차 함수(비용 함수)를 최소화하는 방향으로 가중치를 조정하는 방법이다. 가중치(W)는 다음과 같은 방식으로 업데이트된다.

 

여기서 a는 학습률(learning rate)이며, aE/aw는 비용 함수의 기울기(미분 값)이다. 학습이 진행됨에 따라 기울기가 점점 작아지고, 결국에는 0에 가까워지면서 최적 가중치에 도달하게 된다.

3. 오차 역전파 과정

1) 순전파 (Forward Propagation)

  1. 입력층에서 데이터를 받아들인다.
  2. 은닉층을 거쳐 가중치와 활성화 함수를 적용하여 계산을 수행한다.
  3. 최종적으로 출력층에서 예측값을 생성한다.

2) 역전파 (Backward Propagation)

  1. 출력층에서 예측값과 실제값 간의 오차를 계산한다.
  2. 출력층에서 발생한 오차를 역방향으로 전파하여 은닉층의 가중치를 업데이트한다.
  3. 경사 하강법을 적용하여 각 층의 가중치를 오차가 줄어드는 방향으로 조정한다.

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. 결론

오차 역전파 알고리즘은 신경망 학습의 핵심이며, 경사 하강법을 활용하여 가중치를 조정함으로써 최적의 모델을 찾아가는 과정이다. 오차 역전파와 다양한 경사 하강법이 결합됨으로써, 신경망이 복잡한 패턴을 학습하고 인공지능이 발전하는 데 중요한 역할을 하게 되었다.