빅데이터분석기사

기울기 소멸 문제(Vanishing Gradient Problem) 및 해결 방법

Jia H 2025. 4. 2. 14:36

🚀 기울기 소멸 문제

- 기울기 소멸 문제: 역전파 알고리즘으로 가중치를 수정할 때, 은닉층으로 오차가  거의 전달되지 않는 문제

- 인공신경망 활성화 함수의 출력값이 곱해지다 보면 가중치에 따른 결과값의 기울기가 0이 되어버림

- 인공지능 2차 암흑기의 주요 원인 (1차: 퍼셉트론의 한계, 계산 자원의 부족)

 

✅️ 기울기 소멸 문제의 주요 발생 원인

구분 발생 원인
시그모이드 함수의 사용 - 시그모이드 함수는 0과 1사이의 값을 출력
- 역전파 알고리즘을 수행하기 위해 결사하강법을 이용하여 은닉층의 출력값을 미분하게 되는데 표현값은 0~0.25 사이의 값으로 전달
- 따라서 미분 계속 반복 시 0에 가까운 값 되어 가중치를 학습하지 못함
- 하이퍼볼릭탄젠트(Tanh) 함수 또한 동일 현상 발생
초기 파라미터(가중치) 정확도 낮음 - 초기 파라미터(가중치) 정확도가 낮아, 적합한 가중치를 위해 많은 학습량 필요
연산량 부족 - 현재의 컴퓨팅 파워는 클라우드 컴퓨팅, GPU 등을 이용하여 고성능을 적용할 수 있으나,
- 1980~1990년대의 컴퓨팅 파워로는 모델 적합을 위해 무한한 시간 필요
- 알고리즘의 활용 한계로 불필요한 인공신경망 노드를 모두 학습하여 연산량 증가시킴

 

 

✅️ 기울기 소멸 문제 해결 방법

구분 방법 설명
활성화 함수의 교체 렐루 활성화 함수 사용
(ReLU Function)
- 0보다 큰 값이 나올 경우, 그대로 반환하기 때문에 미분에 의해 줄어드는 범위가 시그모이드보다 적음
- 파라메트릭 렐루 함수(PReLU) 등도 동일한 효과
초기 파라미터(가중치)
정확도 향상
배치 정규화
(Batch Normalization)
- 각 층 입력값의 평균과 표준편차를 다시 맞추고 입력값이 쏠리는 것을 막아, 가중치 초기화에 훨씬 덜 민감해져 기울기 소멸 문제를 예방
비지도학습 이용 - RBM(Restricted Boltzman Machine), 오토인코더(AutoEncoder) 등의 비지도학습을 이용하여 초기 가중치 정확도 향상
사전 학습
(Pre-training)
- 사전학습된 모델의 파라미터를 이용해 모델을 초기화한 뒤, 실제 해결하려는 문제 데이터에 미세조정(Fine Tuning)하게 되면 처음부터 학습시키는 것보다 더 높은 성능을 얻을 수 있음
연산량 조정 드롭아웃 사용
(Drop Out)
- 드롭아웃: 인공신경망ㅇ 학습 시 임의의 노드를 생략하고 학습하는 알고리즘
- 불필요한 노드의 학습을 제거함으로써 가중치가 동조화되는 현상 회피
규제화 적용
(Regularization)
- 불필요한 노드의 학습을 줄이거나 제거하기 위해 파라미터(가중치)에 규제화
- L1규제(L1 norm): 가중치 값을 0으로 만들어 불필요한 노드 제거하는 규제
- L2규제(L2 norm): 가중치 값을 0에 근접하게 만들어 연상량 줄이는 규제
조기 종료
(Early Stop)
- 모델이 과적합되기 전 훈련을 멈추는 정규화 기법
- 훈련 중 주기적으로 성능 검증을 하다가 성능이 더 좋아지지 않으면 과적합이라 판단하고 훈련을 멈추는 방법(검증 데이터 사용)

 

 

📌 기울기 폭주(Gradient Exploding)

- 기울기가 점차 커져 파라미터(가중치)들이 비정상적으로 큰 값이 되면서 결국 발산되어 파라미터(가중치) 학습이 안 되는 문제점

- 기울기 소멸과 학습 효율의 문제점은 유사함