활성화 함수 고르는 법: 기울기 소실부터 Dying ReLU까지
시그모이드부터 Softmax까지 활성화 함수별 공식과 출력 범위, 기울기 소실·폭발·Dying ReLU 문제와 해법, CNN·RNN에서의 실제 조합을 정리한다.
2026-08-13 · 최초 발행 2025-05-23
선형 함수를 아무리 층층이 쌓아도 결과는 여전히 하나의 선형 함수다. 층 사이에 비선형 활성화 함수를 끼워 넣어야 심층 신경망(Deep Neural Network)의 층을 쌓는 의미가 생긴다.
왜 비선형이어야 하는가
활성화 함수는 뉴런의 가중합(weighted sum)에 적용되어 출력값을 결정하는 수학적 함수로, 신경망에 비선형성(non-linearity)을 도입하는 것이 주된 목적이다. 선형 함수의 중첩은 여전히 선형 함수이기 때문에, 비선형 활성화 함수 없이는 복잡한 문제를 풀 수 없다.
비선형 활성화 함수는 복잡한 데이터 패턴을 학습할 수 있는 표현력을 신경망에 부여하고, 입력 데이터의 중요 특성을 추출하는 능력을 준다. 복잡한 형태의 결정 경계(Decision Boundary)를 만들 수 있게 하며, 충분한 뉴런과 적절한 활성화 함수를 갖춘 신경망은 어떤 함수든 근사할 수 있는 범용 근사기(Universal Approximator)가 된다.
시그모이드에서 소프트맥스까지
시그모이드(Sigmoid) 함수는 σ(x) = 1/(1 + e^(-x))로, 출력 범위는 0~1이다. 출력값을 확률로 해석할 수 있지만 기울기 소실 문제(Vanishing Gradient Problem)가 발생하고, 출력 중심이 0이 아니며(Zero-centered가 아님), 계산 비용도 상대적으로 높다. 주로 이진 분류 문제의 출력층에 쓴다.
하이퍼볼릭 탄젠트(tanh) 함수는 tanh(x) = (e^x - e^(-x))/(e^x + e^(-x))로, 출력 범위는 -1~1이다. 시그모이드보다 경사가 더 가파르고 Zero-centered 출력(평균이 0에 가까움)을 내지만, 여전히 기울기 소실 문제가 있다. 시그모이드 대체나 은닉층(Hidden Layer)에 쓴다.
ReLU(Rectified Linear Unit)는 f(x) = max(0, x)로, 출력 범위는 0~∞다. 계산 효율성이 높고 기울기 소실 문제를 완화하지만, 음수 입력에 대해 뉴런이 영원히 활성화되지 않을 수 있는 Dying ReLU 문제가 있고, 0 이상에서 선형적 특성 때문에 발산할 가능성도 있다. CNN과 은닉층의 기본 활성화 함수로 쓴다.
Leaky ReLU는 f(x) = max(αx, x)이며 α는 보통 0.01인 작은 상수다. 출력 범위는 -∞~∞이고, ReLU의 Dying ReLU 문제를 해결하며 음수 입력에도 작은 기울기를 준다. ReLU를 대체하거나 Dying ReLU가 우려되는 경우에 쓴다.
Parametric ReLU(PReLU)도 f(x) = max(αx, x) 형태지만 α가 학습 가능한 파라미터라는 점에서 Leaky ReLU의 확장판이다. α가 데이터로부터 학습되며, 성능 최적화가 필요한 복잡한 모델에 쓴다.
ELU(Exponential Linear Unit)는 x > 0이면 f(x) = x, x ≤ 0이면 f(x) = α(e^x - 1)이다. 음수 입력에 대해 부드러운 곡선을 제공하고 Zero-centered에 가까운 출력을 내지만, 계산 비용이 ReLU보다 높다. ReLU 계열의 대안으로 쓴다.
Softmax는 σ(z)_i = e^(z_i) / Σ(e^(z_j))로, 다중 클래스 분류 문제에 적합하다. 출력값 합이 1이 되도록 정규화해(확률 분포) 상대적 확률을 계산하며, 다중 분류 문제의 출력층에 쓴다.
은닉층엔 ReLU, 출력층은 문제가 정한다
문제 유형에 따라 이진 분류는 시그모이드(출력층), 다중 분류는 Softmax(출력층), 회귀 문제는 선형 함수(출력층)를 쓴다. 은닉층(Hidden Layer)에서는 주로 ReLU 계열 함수(ReLU, Leaky ReLU, ELU)를 쓴다. 모델이 복잡할수록 기울기 소실 문제에 강한 활성화 함수를 고르고, 대규모 모델에서는 ReLU처럼 계산 효율적인 함수를 선호하며, 데이터 분포에 따라 적합한 활성화 함수가 달라질 수 있다는 점도 함께 고려한다.
기울기가 사라지거나 터지거나 죽거나
기울기 소실 문제(Vanishing Gradient Problem)는 역전파(Backpropagation) 과정에서 기울기가 0에 가까워지는 현상으로, 시그모이드·tanh에서 특히 영향을 받는다. ReLU 계열 활성화 함수 사용, 배치 정규화(Batch Normalization) 적용, 잔차 연결(Residual Connection) 활용으로 대응한다.
기울기 폭발 문제(Exploding Gradient Problem)는 역전파 과정에서 기울기가 매우 커지는 현상이다. 기울기 클리핑(Gradient Clipping), 가중치 정규화(Weight Regularization), 학습률(Learning Rate) 조정으로 대응한다.
Dying ReLU 문제는 ReLU 뉴런이 지속적으로 음수 입력을 받아 활성화되지 않는 현상이다. Leaky ReLU·PReLU·ELU 등의 변형 사용, 학습률 낮추기, 적절한 가중치 초기화 방법 선택으로 대응한다.
CNN은 ReLU, RNN은 tanh와 sigmoid를 함께 쓴다
CNN 은닉층은 주로 ReLU를 쓴다. 이미지 처리의 특성상 음수 활성화가 덜 중요하고, 계산 효율성이 높아 대규모 이미지 처리에 적합하며, 비음수 출력이 특징 맵(Feature Map)에 적합하기 때문이다. 출력층은 분류 문제의 경우 Softmax를 쓴다.
RNN 내부 셀은 tanh와 sigmoid를 함께 쓴다. LSTM과 GRU에서는 게이트 메커니즘에 sigmoid를 쓰고 셀 상태 업데이트에는 tanh를 쓰며, Zero-centered 출력이 시퀀스 데이터 처리에 중요하기 때문이다. 출력층은 문제 유형에 따라 언어 모델링은 Softmax, 시계열 예측은 선형 함수를 쓴다.
벤치마크가 말해주는 것과 다음 연구
대부분의 표준 태스크에서는 ReLU 계열이 시그모이드·tanh보다 우수한 성능을 내고, 복잡한 문제에서는 ELU·SELU 같은 고급 활성화 함수가 더 나은 결과를 내는 경향이 있다. 최적화 전략으로는 여러 활성화 함수를 실험적으로 비교하고, 층별로 다른 활성화 함수를 적용하며, 하이퍼파라미터 튜닝과 함께 활성화 함수 선택을 최적화하는 방식을 쓴다.
최신 연구는 데이터에 따라 자동으로 특성을 조절하는 자기 조절 활성화 함수(Self-gated Activation Functions), 신경망이 학습 과정에서 활성화 함수의 형태 자체를 최적화하는 학습 가능한 활성화 함수(Learnable Activation Functions), 입력이나 문맥에 따라 다른 활성화 특성을 적용하는 조건부 활성화 함수(Conditional Activation Functions) 방향으로 이어지고 있다.