공부하는 안씨의 기록
[딥러닝] 순전파와 역전파(Backpropagation) 본문
이번 게시글은 딥러닝의 다층신경망(Deep Neural Network)에서 순전파, 손실 계산, 역전파 과정과 함께 역전파의 필요성과 역방향 계산의 이유를 설명하고자 한다. 해당 게시글은 패스트 캠퍼스 강의, 학교 수업 등을 직접 수강하고 숙지한 내용을 바탕으로 작성되었다.
딥러닝에서 다층신경망(Deep Neural Network)은 입력 데이터를 여러 층(layer)을 통해 전달하며, 예측 값을 계산하고 학습하는 구조를 가진다. 이 학습 과정은 크게 순전파(Forward Propagation), 손실 계산(Loss Calculation), 역전파(Backpropagation)의 세 단계로 이루어진다. 이 글에서는 각 과정이 어떻게 이루어지는지와, 왜 역전파(Backpropagation)가 필수적인지 설명한다.
1. 순전파(Forward Propagation)
순전파는 입력 데이터가 신경망을 통과해 예측 값(출력 값)을 생성하는 과정이다.
이 과정에서 가중치(Weight)와 활성화 함수(Activation Function)를 사용해 입력을 점차 변형하며 최종 출력 값을 계산한다.
예를 들어, 입력 xx가 은닉층을 통과해 h가 되고, h가 출력층에서 최종 출력 y^\hat{y}로 변환된다. 수학적으로는 다음과 같다.
순전파의 최종 결과는 예측 값 y^이며, 이를 실제 값 y와 비교해 손실 함수(Loss Function)를 계산한다.
2. 손실 계산(Loss Calculation)
손실 함수는 모델의 예측 값과 실제 값의 차이를 측정하는 함수이다.
딥러닝에서 자주 사용되는 손실 함수로는 **평균 제곱 오차(MSE)**나 **교차 엔트로피(Cross Entropy)**가 있다.
예를 들어, 평균 제곱 오차(MSE)는 다음과 같다.
이 손실 값을 최소화하는 것이 모델 학습의 최종 목표이다.
3. 역전파(Backpropagation)란?
역전파는 손실 값이 각 가중치에 얼마나 영향을 미치는지를 계산하고, 이를 바탕으로 가중치를 업데이트하는 과정이다.
간단히 말해, 손실을 최소화하기 위해 가중치를 조정하는 핵심 과정이다.
역전파는 **연쇄 법칙(Chain Rule)**을 사용해 출력층에서 입력층 방향으로 손실 함수의 기울기(Gradient)를 효율적으로 계산한다.
이를 통해 가중치의 변화가 손실 값에 미치는 영향을 구할 수 있다.
4. 왜 역방향(역전파)이 필요한가?
역전파가 역방향(backward)으로 기울기를 계산하는 이유는 연쇄 법칙(Chain Rule)을 효율적으로 적용하기 위해서이다.
신경망이 여러 층으로 구성되어 있기 때문에 출력층에서 입력층으로 순차적으로 미분을 계산하는 것이 가장 합리적이다.
연쇄 법칙(Chain Rule)의 예시
이 함수의 미분은 연쇄 법칙에 따라 각 부분의 미분을 곱해서 전체 미분을 구한다.
이때 출력층부터 입력층 방향으로 계산하면 이전에 계산된 기울기를 재사용할 수 있어 계산량을 줄이고 효율성을 높일 수 있다.
무조건 역방향으로 계산해야 하는가?
다층 신경망에서는 일반적으로 수많은 층(layer)으로 이루어져있기 때문에, 역방향으로 계산하지 않는 것은 현실적으로 어렵다. 순방향으로 미분을 계산하면 각 가중치마다 중복 계산이 발생해 계산량이 기하급수적으로 증가하기 때문이다. 따라서 다층 신경망에서는 역전파가 사용된다.
5. 요약 및 정리
딥러닝에서 순전파는 예측 값(출력 값)을 계산하고, 손실 함수는 예측 값과 실제 값의 차이를 측정한다.
역전파는 이 손실 값을 최소화하기 위해 가중치를 조정하는 과정이다.역전파는 출력층에서 입력층 방향으로 기울기를 전달하며, 연쇄 법칙을 사용해 효율적으로 기울기를 계산한다. 이 과정 덕분에 다층신경망(Deep Neural Network)이 효과적으로 학습할 수 있으며, 딥러닝 모델의 성능이 점차 향상된다.
'인공지능 > 딥러닝' 카테고리의 다른 글
[개념] 딥러닝 기초 개념 정리 (4) 모델 성능 검증 (k겹 교차검증, 과적합) (0) | 2024.07.24 |
---|---|
[개념] 딥러닝 기초 개념 정리 (3) 이진분류와 다중분류 (2) | 2024.07.23 |
[개념] 딥러닝 기초 개념 정리 (2) 딥러닝과 다층 퍼셉트론 (+활성화 함수를 사용하는 이유) (2) | 2024.07.23 |
[개념] 딥러닝 기초 개념 정리 (1) 머신러닝과 딥러닝의 개념 및 차이점 (2) | 2024.07.13 |