Leaky ReLU 활성화 함수란?
Leaky ReLU(Leaky Rectified Linear Unit)는 심층 신경망에서 널리 쓰이는 활성화 함수입니다. 일반 ReLU처럼 양수 입력은 그대로 통과시키지만, 음수 입력을 0으로 눌러 버리는 대신 작은 기울기 alpha를 부여한다는 점이 다릅니다. 덕분에 음수 영역에서도 작은 기울기(그래디언트)가 계속 흐르게 되어, 뉴런이 0만 출력한 채 학습을 멈춰 버리는 이른바 'dying ReLU(죽은 ReLU)' 문제를 완화하는 데 도움이 됩니다.
수식
입력 \(x\)와 누설 기울기 \(\alpha\)에 대해 출력은 다음과 같습니다.
$$f(x) = \begin{cases} x & \text{if } x > 0 \\[0.5em] \alpha \cdot x & \text{if } x \le 0 \end{cases}$$기본 누설 값은 \(\alpha = 0.01\) 입니다. 두 가지 특수한 경우를 알아 두면 좋습니다. \(\alpha = 0\)이면 일반 ReLU(\(\max(0, x)\))와 같아지고, \(\alpha = 1\)이면 함수가 항등 직선 \(f(x) = x\)로 바뀝니다.
계산기 사용법
시작 \(x\) 값, 점 사이의 간격(step), 생성할 점의 개수, 그리고 누설 기울기 \(\alpha\)를 입력하세요. 계산기는 \(i = 0\)부터 \(\text{count}-1\)까지 다음 수열을 만들고,
$$x_i = \text{startX} + i \cdot \text{stepX}$$각 점에서 \(f\)를 계산해 \((x, f(x))\) 쌍의 목록과 곡선 그래프를 함께 보여 줍니다. \(x\) 값 하나만 입력해 \(f(x)\)를 바로 한 번 계산해 볼 수도 있습니다.
계산 예시
\(\alpha = 0.01\)인 경우: \(x = -4\)는 0 이하이므로 \(f = 0.01 \times (-4) = -0.04\) 입니다. \(x = 0\)에서는 \(f = 0\)이고, \(x = 3\)은 양수이므로 \(f = 3\) 입니다. 기본값(\(\text{startX} = -4\), \(\text{stepX} = 0.05\), \(\text{count} = 101\))을 사용하면 구간은 \(x = -4\)(\(f = -0.04\))에서 시작해 \(x = +1.0\)(\(f = 1.0\))까지 진행되며, 81번째 점(\(i = 80\))에서 0을 지나게 됩니다.
자주 묻는 질문
Leaky ReLU는 ReLU와 어떻게 다른가요? ReLU는 모든 음수 입력에 대해 정확히 0을 출력하지만, Leaky ReLU는 \(\alpha \cdot x\)라는 작은 음수 값을 출력해 기울기를 보존합니다.
alpha 값은 얼마가 적절한가요? 0.01이 흔히 쓰이는 기본값입니다. Parametric ReLU 같은 변형에서는 학습 과정에서 \(\alpha\)를 직접 학습하기도 합니다.
alpha가 음수일 수도 있나요? 수학적으로는 가능하지만 흔치 않으며, 일반적인 신경망에서는 권장하지 않습니다.