네트워크 학습에서의 degradation problem (성능 저하 문제)는, 주로 딥러닝 모델의 깊이가 깊어질수록 발생하는 성능 저하 현상을 의미합니다. 이 문제는 특히 합성곱 신경망(CNN)이나 Residual Network(ResNet)의 등장 이전의 딥 네트워크에서 두드러졌습니다.
개념 설명
1. Degradation Problem이란?
- 네트워크의 층을 더 깊게 쌓으면 일반적으로 더 좋은 성능을 기대할 수 있을 것처럼 보입니다.
- 그러나 깊은 네트워크가 얕은 네트워크보다 오히려 훈련 및 테스트 성능이 떨어지는 문제가 발생합니다.
- 이는 과적합과는 다른 문제입니다. 오히려 훈련 정확도 자체가 얕은 네트워크보다 낮아지는 현상입니다.
2. 원인
-
기울기 소실/폭발 (Vanishing/Exploding Gradient)
- 깊은 네트워크에서는 역전파 과정 중 기울기가 사라지거나 너무 커져 학습이 제대로 이루어지지 않음.
-
표현력 한계
- 깊어질수록 모델이 더 많은 비선형 표현을 할 수 있지만, 학습이 제대로 안 되면 그 표현력을 사용하지 못함.
-
최적화 어려움
- 깊은 모델일수록 손실 함수의 최적점을 찾기 어려워짐.
3. 예시
- 예를 들어, 20-layer CNN은 잘 학습되지만, 56-layer CNN은 오히려 더 나쁜 성능을 내는 경우.
- 훈련 오차조차 증가하는 것이 degradation problem의 핵심 징후입니다.
4. 해결 방법
-
Residual Network (ResNet)
- skip connection(잔차 연결)을 통해 입력을 출력으로 바로 연결함.
- 이를 통해 정보가 네트워크를 통과하는 길을 보장하고, 기울기 소실 문제도 완화.
-
Batch Normalization
- 각 층의 입력 분포를 정규화해 학습을 안정화함.
-
적절한 초기화
- He initialization 등 깊은 네트워크에 맞는 초기화 방식 적용.
5. 요약
항목 | 설명 |
---|
문제 이름 | Degradation Problem |
발생 시점 | 딥러닝 네트워크가 너무 깊어졌을 때 |
증상 | 학습 정확도 및 테스트 정확도 모두 감소 |
원인 | 기울기 소실, 최적화 난이도 증가 등 |
대표 해결법 | ResNet의 skip connection 도입 |