본문 바로가기
Study/AI

[AI] ReLU vs Leaky ReLU

by ngool 2025. 2. 7.

프로젝트 도중 GAN 모델을 써야할 일이 생겼는데, TensorFlow의 공식 문서를 보니 discriminator의 hidden layer에서 ReLU가 아닌 Leaky ReLU를 사용하고 있었습니다.

 

Leaky ReLU는 무엇이고, 왜 GAN에서 ReLU 대신 쓰는건지 궁금해서 공부한 내용을 포스팅해보려 합니다.


ReLU (Rectified Linear Unit)

✅ 정의

ReLU는 입력 값이 0보다 크면 그대로 출력하고, 0 이하면 0으로 변환하는 활성화 함수입니다.

✅ 특징

  • 입력이 0보다 크면 그대로 출력합니다.
  • 0 이하의 입력에 대해서는 0을 출력합니다.
  • 매우 간단한 연산이므로 계산이 빠르고, 학습 속도가 향상됩니다.

✅ 장점

✔️ Gradient Vanishing 문제 완화:

  • Sigmoid나 Tanh 같은 활성화 함수는 역전파 과정에서 기울기(gradient)가 너무 작아져 학습이 느려지는 Gradient Vanishing 문제가 발생할 수 있습니다.
  • ReLU는 0 이상의 입력에 대해 기울기가 1이므로 이 문제를 완화할 수 있습니다.

✔️ 계산이 단순:

  • max⁡(0,x) 연산만 수행하므로, Sigmoid, Tanh보다 연산량이 적어 빠르게 학습할 수 있습니다.

✅ 단점

Dying ReLU 문제(죽은 ReLU):

  • 입력이 0 이하이면 기울기가 0이 되기 때문에, 일부 뉴런이 학습을 하지 못하고 영구적으로 죽어버리는 문제가 발생할 수 있습니다.
  • 즉, 특정 뉴런의 가중치가 갱신되지 않아 비활성화 상태로 남을 가능성이 있습니다.

Leaky ReLU (Leaky Rectified Linear Unit)

✅ 정의

Leaky ReLU는 ReLU와 거의 유사하지만, 0 이하의 입력 값에 대해 작은 기울기(α)를 부여하여 죽은 뉴런 문제를 완화한 활성화 함수입니다.

→ 여기서 α는 보통 0.01과 같은 작은 양수입니다.

✅ 특징

  • 음수 입력에서도 α만큼 작은 기울기를 남겨두어 기울기가 0이 되는 것을 방지합니다.
  • 죽은 뉴런이 생기는 문제를 해결하여 학습이 원활하게 진행됩니다.

✅ 장점

✔️ Dying ReLU 문제 해결:

  • 음수 입력에서도 아주 작은 기울기를 유지하기 때문에 뉴런이 죽는 현상을 방지할 수 있습니다.

✅ 단점

최적의 α 값 선택 필요:

  • α 값이 너무 크면 모델이 과소적합(underfitting)될 가능성이 있고, 너무 작으면 Dying ReLU 문제를 충분히 해결하지 못할 수 있습니다.

ReLU vs Leaky ReLU 비교 요약

  ReLU Leaky ReLU
Dying ReLU 문제 존재함 (음수 입력에서 기울기 0) 해결됨 (α로 음수 입력에서도 학습 가능)
계산 비용 낮음 (단순한 연산) 약간 높음 (α 곱셈 연산 추가)
모델 성능 기본적으로 좋음 일부 경우 성능 향상 가능
하이퍼파라미터 조정 필요 없음 α 값 조정 필요

언제 ReLU를 사용하고, 언제 Leaky ReLU를 사용해야 할까?

  • 대부분의 경우 ReLU가 기본적으로 좋은 선택입니다. 연산이 간단하고 학습 속도가 빠르며, 많은 신경망에서 기본 활성화 함수로 사용됩니다.
  • 그러나 만약 ReLU를 사용했을 때 뉴런이 비활성화되어 학습이 잘 안 된다면(Dying ReLU 문제 발생), Leaky ReLU를 고려해볼 수 있습니다.
  • 실제로 GAN의 판별자(Discriminator)에서 ReLU 대신 Leaky ReLU를 사용하는 것이 효과적이라는 보고가 있습니다.
    • Radford, A. (2015). Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434.