ReLU 활성화 함수란?
ReLU는 'Rectified Linear Unit(정류 선형 유닛)'의 약자로, 오늘날 딥러닝과 신경망에서 가장 널리 쓰이는 활성화 함수 중 하나입니다. 수식으로는 \(f(x) = \max(0,\ x)\)로 정의되며, 양수 입력은 그대로 통과시키고 음수(그리고 0)는 0으로 잘라냅니다. 이렇게 단순한 규칙만으로 네트워크에 비선형성을 더하면서도 계산 비용이 거의 들지 않기 때문에, 합성곱 계층과 완전 연결 계층 대부분이 ReLU를 사용합니다.
계산기 사용 방법
x 칸에 원하는 실수를 입력하면 계산기가 \(f(x) = \text{ReLU}(x)\) 값을 돌려줍니다. 음수, 0, 양수 모두 입력할 수 있습니다. x가 0보다 크면 결과는 x와 같고, x가 0 이하이면 결과는 0이 됩니다. 또한 관례적인 도함수 값도 함께 표시합니다. 양수 입력이면 1, 그 외에는 0입니다.
공식 자세히 보기
ReLU 함수는 구간별로 정의됩니다. \(x > 0\)일 때 \(f(x) = x\)이고, \(x \le 0\)일 때 \(f(x) = 0\)입니다. 정의역은 모든 실수 \((-\infty,\ +\infty)\)이며, 치역은 \([0,\ +\infty)\)입니다. ReLU는 어디에서나 연속이지만, 도함수는 엄밀히 말하면 \(x = 0\)인 지점에서 정의되지 않습니다. 관례상 이 지점의 값을 0으로 두어 \(x \le 0\)이면 \(f'(x) = 0\), \(x > 0\)이면 \(f'(x) = 1\)로 정합니다. 나눗셈이 포함되지 않으므로 따로 주의해야 할 예외 상황은 없습니다.
예제로 풀어보기
\(x = -3.2\)라고 합시다. \(-3.2\)는 음수이므로 $$f(x) = \max(0,\ -3.2) = 0$$이 됩니다. 반대로 \(x = 7\)이라면 $$f(x) = \max(0,\ 7) = 7$$입니다. 기본 입력값인 \(x = 0.5\)의 경우에는 $$f(x) = \max(0,\ 0.5) = 0.5$$가 됩니다.
자주 묻는 질문
ReLU가 왜 이렇게 인기가 많나요? 시그모이드(sigmoid)나 tanh가 큰 입력에서 겪는 기울기 소실(vanishing gradient) 문제를 피할 수 있고, 0과 비교하기만 하면 되니 계산이 매우 간단하기 때문입니다.
x = 0일 때는 어떻게 되나요? 함수값은 0이고, 도함수도 관례상 0으로 봅니다.
ReLU, 시그모이드, 소프트맥스의 차이는 무엇인가요? 시그모이드는 값을 \((0,\ 1)\) 범위로 압축하고, 소프트맥스는 벡터 전체에 대한 확률 분포를 만들어 냅니다. 반면 ReLU는 단일 값을 0 이상이 되도록 정류할 뿐입니다.