Backpropagation(역전파)

calico·2025년 6월 13일

Artificial Intelligence

목록 보기
38/143

Backpropagation은 신경망의 학습과정에서 “오차를 뒤로 전달해가며 가중치를 수정하는 기법”입니다.

  • 딥러닝이 엄청난 규칙 복잡성을 쉽게 학습할 수 있는 비결이기도 해요!

Backpropagation(역전파)란?


  • Backpropagation은 인공신경망(딥러닝)의 학습 과정에서 오차(Error)를 네트워크의 입력 방향으로(Backward) 되돌려 보내며(Propagate) 가중치(weight)를 업데이트하는 핵심 알고리즘입니다.

    • 신경망에서 예측 → 오차 발생 → 오차가 어디서 생겼는지 각 레이어별로 계산해서 → 최적의 방향(점점 오차가 줄어드는 방향)으로 가중치를 고쳐나가는 과정



Backpropagation의 원리


  1. 정방향 계산(Forward Pass)

    • 입력값을 넣어 예측값을 구함
  2. 오차 계산

    • 예측값과 실제값의 차이(손실 함수 Loss)를 계산
  3. 역방향 계산(Backward Pass)

    • 미분(∂)을 이용해 오차가 각 가중치, 각 레이어에 얼마나 영향을 줬는지 계산

      연쇄법칙(Chain Rule)을 사용해, 마지막 레이어 오차를 입력층 방향으로 '거꾸로' 전파

  4. 가중치 업데이트

    • 계산된 정보를 바탕으로 가중치, 편향 값을 조금씩(학습률만큼) 조정

      → 오차가 줄어들게 학습!



왜 필요한가?


  • 신경망은 엄청나게 많은 가중치와 레이어로 구성되어 있어, 오차가 어떤 가중치의 영향으로 벌어졌는지 정확하게 '효율적으로' 계산해야 합니다.

  • Backpropagation 알고리즘을 사용하면, 모든 가중치가 오차에 미친 영향도를 '자동'으로, '효율적으로' 계산할 수 있습니다.



딥러닝에서의 backpropagation


  • 딥러닝 프레임워크(PyTorch, TensorFlow 등)는 이 복잡한 계산을 모두 자동으로 처리해줍니다.

    • 자동 미분(Automatic Differentiation) 기능이 Backpropagation을 알아서 수행합니다.

      • Loss.backward() (PyTorch)

      • GradientTape (TensorFlow)



profile
https://velog.io/@corone_hi/posts

0개의 댓글