렐루 함수 (ReLU)
쉽게 풀면
수도꼭지에 달린 역류 방지 밸브를 떠올려 보세요. 물이 정방향(양수)으로 흐르면 그대로 흘려보내지만, 역류(음수)하려는 순간 밸브가 막아서 0으로 만들어 버립니다. ReLU(Rectified Linear Unit)가 정확히 이렇게 동작합니다.
수식으로는 f(x) = max(0, x)로, 입력이 양수면 입력값 그대로를 출력하고 음수면 무조건 0을 출력합니다. 계산이 단순히 비교와 선택뿐이라 매우 빠르고, 이전에 많이 쓰던 활성화 함수인 시그모이드보다 딥러닝 모델을 훨씬 안정적으로 학습시킬 수 있어서 현재 신경망 대부분의 은닉층에서 기본값처럼 쓰입니다.
왜 중요한가
딥러닝 모델은 층을 아무리 많이 쌓아도 활성화 함수가 없으면 결국 하나의 선형 변환과 같아져 복잡한 패턴을 배울 수 없는데, ReLU는 이런 비선형성을 매우 적은 계산 비용으로 제공하면서도 이전 활성화 함수들이 겪던 기울기 소실 문제를 크게 완화해 매우 깊은 신경망의 학습을 가능하게 했습니다. 이 때문에 합성곱 신경망, 트랜스포머 등 현대 딥러닝 구조 대부분에서 기본 활성화 함수로 채택되어, 모델 구조를 설명하는 거의 모든 논문에서 언급되는 기초 구성요소입니다.
핵심 정리
- f(x) = max(0, x). 입력이 양수면 그대로, 0 이하면 0입니다.
- 도함수는 x > 0에서 1, x < 0에서 0입니다. x = 0에서는 미분 불가능하며, 구현에서는 관례로 0(또는 1)을 씁니다.
- 양의 구간에서 기울기가 1이어서 층을 깊게 쌓아도 시그모이드처럼 기울기가 계속 작아지는 문제(기울기 소실)가 덜합니다.
- 계산이 비교 한 번이라 빠르고, 출력의 상당수가 0이 되는 희소(sparse)한 표현이 만들어집니다(Glorot 등, 2011).
- 이 함수를 딥러닝 은닉층에 널리 퍼뜨린 연구로 Nair와 Hinton(2010), Krizhevsky 등(2012)이 자주 인용됩니다.
예시로 보기
입력 -2, -0.5, 0, 0.5, 3에 적용한 결과입니다(코드로 계산).
| x | -2 | -0.5 | 0 | 0.5 | 3 |
|---|---|---|---|---|---|
| ReLU(x) | 0 | 0 | 0 | 0.5 | 3 |
| Leaky ReLU(x), α=0.01 | -0.02 | -0.005 | 0 | 0.5 | 3 |
음수 입력은 ReLU에서 모두 0이 되므로, 어떤 뉴런이 모든 입력에 대해 음수 값만 받게 되면 기울기도 0이어서 더는 학습되지 않습니다(‘죽은 ReLU’). Leaky ReLU(Maas 등, 2013)는 음수 구간에 작은 기울기 α를 주어 이 문제를 줄이려는 변형입니다.
자주 하는 오해
| 오해 | 바로잡기 |
|---|---|
| ReLU면 기울기 소실이 완전히 사라진다. | 양의 구간에서 완화될 뿐이며, 가중치 초기화·정규화·구조 설계도 함께 영향을 줍니다. |
| ReLU는 모든 층에 최선이다. | 출력층은 과제에 맞는 함수(시그모이드, 소프트맥스 등)를 쓰고, 모델에 따라 GELU 같은 다른 함수가 쓰이기도 합니다. |
| 음수 정보는 버려도 된다. | 음수 입력 구간의 정보를 잃는 것이 ReLU의 특성이므로, 필요하면 변형을 선택합니다. |
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
이 문장은 모델의 각 층이 단순한 선형 계산에 그치지 않도록, ReLU를 통해 복잡한 패턴을 표현할 수 있는 비선형 변환을 추가했다는 뜻입니다. 딥러닝 논문의 모델 구조(architecture) 설명 부분에서 거의 빠지지 않고 등장합니다.
ReLU가 다른 활성화 함수 대비 학습 속도와 안정성 면에서 갖는 장점을 실험적으로 비교하는 문장으로, 활성화 함수를 새로 제안하거나 비교하는 연구에서 자주 볼 수 있는 서술입니다.
ReLU의 알려진 한계를 보완하려는 변형 기법을 적용했다는 서술로, 학습이 불안정하거나 특정 뉴런이 비활성화되는 문제를 다루는 모델 개선 연구에서 흔히 등장합니다.
조금 더 깊게 보면
ReLU가 널리 쓰이게 된 배경에는 시그모이드나 tanh 같은 함수가 입력값이 클 때 기울기가 거의 0에 가까워져 역전파 과정에서 학습 신호가 사라지는 기울기 소실 문제가 있습니다.
ReLU는 양수 구간에서 기울기가 항상 1로 일정해 이 문제를 상당 부분 해결하지만, 반대로 음수 구간에서는 기울기가 아예 0이 되어 학습이 멈추는 죽은 ReLU 문제가 생길 수 있습니다.
이를 보완하기 위해 음수 구간에도 작은 기울기를 두는 Leaky ReLU, 파라미터로 기울기를 학습하는 PReLU, 곡선 형태로 매끄럽게 근사한 GELU 등 다양한 변형이 제안되어 왔으며, 논문에서 어떤 변형을 사용했는지가 모델 성능 비교의 중요한 변수로 다뤄지기도 합니다.
주의할 점
ReLU는 입력이 계속 음수로만 들어오면 출력이 항상 0이 되어 해당 뉴런이 더 이상 학습에 기여하지 못하는 "죽은 ReLU(dying ReLU)" 현상이 생길 수 있습니다. 이를 보완하기 위해 음수 구간에서도 아주 작은 기울기를 남겨두는 Leaky ReLU 같은 변형이 함께 쓰이기도 합니다. ReLU는 활성화 함수의 한 종류일 뿐, 활성화 함수 전체를 가리키는 말은 아니라는 점도 헷갈리지 않아야 합니다.
헷갈리기 쉬운 용어
활성화 함수의 모양을 비교합니다.
| 함수 | 식 | 특징 |
|---|---|---|
| ReLU | max(0, x) | 음수는 0, 양수는 그대로 |
| 시그모이드 | 1/(1+e<sup>−x</sup>) | 0~1 사이로 눌러 담고 양끝에서 기울기가 작아짐 |
| 활성화 함수 일반 | — | 신경망에 비선형성을 주는 함수의 총칭 |
참고 문헌
- Nair, V., & Hinton, G. E. (2010). Rectified linear units improve restricted Boltzmann machines. Proceedings of the 27th International Conference on Machine Learning, 807–814.
- Glorot, X., Bordes, A., & Bengio, Y. (2011). Deep sparse rectifier neural networks. Proceedings of the 14th International Conference on Artificial Intelligence and Statistics, 315–323.
- Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems, 25.
- Maas, A. L., Hannun, A. Y., & Ng, A. Y. (2013). Rectifier nonlinearities improve neural network acoustic models. ICML Workshop on Deep Learning for Audio, Speech and Language Processing.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.