[Home] AI로 돌아가기

ReLU (Rectified Linear Unit) 함수 (렐루 함수)

ReLU(Rectified Linear Unit) 함수는 딥러닝에서 가장 많이 사용되는 활성화 함수 중 하나다. 입력이 0보다 크면 그대로 출력하고, 0 이하이면 0을 출력하는 방식으로 작동한다.

목차

1. 배경

2. ReLU 함수란?

ReLU는 "Rectified"(정류된)와 "Linear Unit"(선형 유닛)의 합성어다. "정류"는 교류(AC)를 직류(DC)로 변환하는 개념에서 따온 것으로, ReLU 함수가 음수를 0으로 변환하는 특징과 유사하기 때문에 붙여진 이름이다.

동작 방식:

3. 수학적 표현

ReLU 함수는 다음과 같이 정의된다.

$$ f(x) = \max(0, x) $$

즉, 입력 \( x \) 가 0보다 크면 그대로 출력하고, 0 이하이면 0을 출력한다.

4. ReLU 함수의 장점

5. ReLU 함수의 한계

6. 신경망에서의 계산 예제 (순전파)

다음과 같이 활성화 함수로 ReLU를 사용하는 간단한 신경망 모델에서, 각 노드의 출력값은 "가중합을 구한 뒤 활성화 함수(ReLU)를 적용"하는 순서로 계산한다. 편향(bias)은 0이라고 가정한다.

ReLU를 사용하는 신경망 모델 예시
입력 0.7, 0.8을 받는 신경망 모델 (편향 = 0, 활성화 함수 = ReLU)

입력값 0.7, 0.8이 각각의 가중치를 거쳐 은닉층 노드 A, B로 전달되고, 다시 A, B의 출력이 가중치를 거쳐 노드 C, D로 전달된다. ReLU 함수는 \( ReLU(x) = \max(0, x) \) 이므로, 음수 입력은 0으로, 양수 입력은 그대로 출력된다.

\[ \begin{align} \text{A의 입력값} &= 0.7 \times 2.0 + 0.8 \times 0.8 = 1.4 + 0.64 = 2.04 \\ \text{A의 출력값} &= ReLU(2.04) = 2.04 \\[8pt] \text{B의 입력값} &= 0.7 \times (-1.0) + 0.8 \times 0.5 = -0.7 + 0.4 = -0.3 \\ \text{B의 출력값} &= ReLU(-0.3) = 0 \\[8pt] \text{C의 입력값} &= (\text{A의 출력값}) \times 0.5 + (\text{B의 출력값}) \times (-3.0) \\ &= 2.04 \times 0.5 + 0 \times (-3.0) = 1.02 \\ \text{C의 출력값} &= ReLU(1.02) = 1.02 \end{align} \]

음수였던 B의 입력값(-0.3)은 ReLU를 거치며 0으로 출력되어, 이후 C의 계산에서 B와 연결된 가중치(-3.0)의 영향이 사라지는 것을 확인할 수 있다. 이처럼 ReLU는 음수 신호를 차단(0으로 변환)하여 다음 층으로 전달되는 신호를 조절하는 역할을 한다.

...
GeLU ~ A smoother ReLU
출처: https://medium.com/better-ml/relu-vs-gelu-d322422f5147