기울기 소실
딥러닝에서 기울기 소실 문제, 신경망에 미치는 영향, ReLU, ResNet 등과 같은 효과적인 해결 방법을 알아보세요.
기울기 소실 문제는 딥 신경망 훈련 중에 흔히 발생하는 문제입니다. 이는 네트워크의 가중치를 역전파를 통해 업데이트하는 데 사용되는 신호인 기울기가 출력 레이어에서 초기 레이어로 전파될 때 매우 작아지는 경우에 발생합니다. 이러한 기울기가 0에 가까워지면 초기 레이어의 가중치는 효과적으로 업데이트되지 않거나 전혀 업데이트되지 않습니다. 이는 기본적으로 해당 레이어의 학습 프로세스를 중단시켜 딥 러닝 모델이 최적의 솔루션으로 수렴하고 데이터로부터 학습하는 것을 방해합니다.
기울기 소실은 왜 발생합니까?
기울기 소실의 주요 원인은 특정 활성화 함수의 특성과 네트워크 자체의 깊이에 있습니다.
- 활성화 함수: 시그모이드 및 쌍곡 탄젠트 (tanh) 함수와 같은 기존 활성화 함수는 입력을 매우 작은 출력 범위로 압축합니다. 이러한 함수의 도함수는 작습니다. 역전파 중에 이러한 작은 도함수는 여러 레이어에 걸쳐 함께 곱해집니다. 네트워크에 레이어가 많을수록 이러한 작은 숫자가 더 많이 곱해져 최종 기울기가 0으로 지수적으로 줄어듭니다.
- 심층 아키텍처(Deep Architectures): 이 문제는 초기 RNN(Recurrent Neural Networks)를 포함하여 매우 깊은 네트워크에서 특히 두드러지며, 여기서 기울기는 여러 시간 단계를 거쳐 역전파됩니다. 각 단계에는 곱셈이 포함되므로 긴 시퀀스에서 기울기 신호가 감소할 수 있습니다.
기울기 소실 vs. 기울기 폭발
기울기 소실은 기울기 폭발의 반대입니다. 두 문제 모두 학습 중 기울기의 흐름과 관련이 있지만 효과는 다릅니다.
- 기울기 소실: 기울기는 네트워크의 초기 레이어에서 의미 있는 학습을 촉진하기에는 너무 작아질 때까지 기하급수적으로 줄어듭니다.
- 기울기 폭발: 기울기가 통제할 수 없을 정도로 커져 모델이 불안정해지고 수렴하지 못하게 하는 막대한 가중치 업데이트가 발생합니다.
딥하고 강력한 AI 모델을 성공적으로 훈련하려면 두 가지 문제를 모두 해결하는 것이 중요합니다.
솔루션 및 완화 전략
vanishing gradient 문제를 해결하기 위해 여러 기술이 개발되었습니다.
실제 영향 및 예시
기울기 소실 문제 극복은 현대 AI의 중요한 돌파구였습니다.
- 자연어 처리(NLP): 초기 RNN은 긴 문장의 시작 부분에서 정보를 기억할 수 없었기 때문에 기계 번역 및 장문형 감정 분석과 같은 작업에 실패했습니다. LSTM 및 GRU의 발명으로 모델은 이러한 장거리 종속성을 캡처할 수 있었습니다. Transformer와 같은 최신 아키텍처는 셀프 어텐션을 사용하여 순차적 기울기 문제를 완전히 우회하여 최첨단 성능을 제공합니다.
- 컴퓨터 비전: 과거에는 합성곱 신경망(CNN)을 단순히 깊게 만드는 것만으로는 기울기 소실과 같은 학습 어려움 때문에 성능이 향상되지 않을 것이라고 생각했습니다. ResNet 아키텍처의 도입으로 이것이 틀렸음이 입증되어 수백 개의 레이어가 있는 네트워크가 가능해졌습니다. 이는 이미지 분류, 이미지 분할 및 객체 탐지에서 큰 발전을 이끌어 Ultralytics YOLO와 같은 모델의 토대를 형성했습니다. 이러한 모델을 학습하는 데는 종종 대규모 컴퓨터 비전 데이터 세트가 필요하며 Ultralytics HUB와 같은 플랫폼에서 관리할 수 있습니다.