
인공신경망(ANN, Artificial Neural Network)은 깊어질수록 강력한 특징을 학습할 수 있지만 동시에 기울기 소실(Vanishing Gradient) 문제와 같은 학습 장애를 겪게 되는데. 이를 해결하기 위한 방법 중 하나가 바로 잔차 학습(Residual Learning)이다. 이번 글에서는 잔차 학습이 무엇인지 그리고 일반적인 신경망 학습과 어떤 차이가 있는지 비교해보려한다.
💡 잔차(Residual)란 무엇인가?
잔차(Residual)란 우리가 원하는 결과와 현재 모델의 예측값 사이의 차이를 의미한다. 모델이 "원본 입력을 그대로 전달하면 안 되는 추가적인 변화(잔차, residual)만 학습하면 된다"고 가정하는 것이다.
🐶 EX) 강아지 vs 머핀 분류에서 잔차 학습 적용
- 일반 신경망 > 강아지와 머핀을 완전히 새로운 특징으로 구별
- 잔차 학습 > 모델이 "강아지와 머핀은 비슷하다. 하지만 특정 부분에서 차이가 난다"라는 식으로 학습
즉, 모델이 "처음부터 모든 것을 새로 학습"하는 것이 아니라 입력값을 그대로 유지하면서 차이점(잔차)만 학습한다.
🔍 일반적인 신경망 학습(Vanilla Neural Network)
일반적인 신경망은 입력 데이터를 은닉층을 통해 변환하여 출력을 생성하는 방식으로 동작한다. 하지만 네트워크의 층이 깊어질수록 기울기 소실 문제가 발생할 수 있다는 문제점이 있다.
🪜 일반적인 신경망 학습 과정
- 입력층(Input Layer) > 입력 데이터(예: 이미지 픽셀값, 특징 벡터 등)가 뉴런으로 전달.
- 은닉층(Hidden Layer) > 가중치(weight)와 바이어스(bias)를 사용해 데이터를 변환하며 활성화 함수(Activation Function)가 적용.
- 출력층(Output Layer) > 최종적으로 결과를 예측하는 값이 출력.
- 오차 역전파(Backpropagation) > 예측값과 실제값의 차이를 계산하고 가중치를 조정하여 학습이 진행.
❗기울기 소실(Vanishing Gradient) 문제점
신경망이 깊어질수록 역전파 과정에서 기울기가 점점 작아져 가중치 업데이트가 원활하지 않게 되며 학습 속도를 저하시킬 뿐만 아니라 모델의 성능을 제한함.
🚀 해결책은? 잔차 학습(Residual Learning)
잔차 학습(Residual Learning)은 이러한 기울기 소실 문제를 해결하기 위해 등장한 개념으로 대표적인 모델이 ResNet(Residual Network, 2015년 발표)이다.
⁉️ 잔차 학습의 개념
잔차 학습에서는 단순히 입력 데이터를 변형하여 출력을 만드는 것이 아니라 입력과 출력의 차이(Residual)를 학습한다.
📐 수식
- 일반적인 신경망 : y=F(x) ( 입력 x를 통해 F(x)를 학습 )
- 잔차 학습(Residual Learning) : y=F(x)+x ( 입력값을 그대로 유지하고 추가적인 변화량(잔차) F(x)만 학습 )
> 결과적으로 네트워크가 깊어져도 학습이 잘됨
🌟 잔차 학습 과정
- 🔗 스킵 연결(Skip Connection)을 추가하여 입력 데이터를 다음 층으로 직접 전달.
- 모델은 입력값과 출력값의 차이(잔차)를 학습하여 추가적인 특징을 학습.
- 입력값이 네트워크를 통해 그대로 전달되므로 기울기 소실 문제가 완화됨.
🎯 잔차학습이 중요한 이유
- 신경망이 깊어질수록 기울기 소실 문제가 발생하여 학습이 어려워짐
- 잔차 학습은 입력값을 그대로 유지하면서 학습할 차이점(잔차)만 학습하는 방법
- 이를 통해 훨씬 깊은 네트워크에서도 학습이 가능
💡 잔차 학습은 깊은 신경망의 학습 문제를 해결하는 중요한 방법임
'📚 [Archive] CS & AI 스터디 > [PR] 논문 리뷰 📝' 카테고리의 다른 글
| AI 최신 이슈 : DeepSeek & 논문 요약 (0) | 2025.01.28 |
|---|---|
| 🎨 Generative Adversarial Nets 논문 구현 (2) | 2025.01.06 |
| 생성형 AI의 시작 : Generative Adversarial Nets 논문 리뷰 (1) | 2025.01.06 |