활성화 함수(Relu)
📚 참고형
💡
학습 전략: 수집 & 간격 반복 (Spaced Repetition)
필요한 정보를 수집하여 간격을 둔 반복 학습
ReLU (Rectified Linear Unit)
ReLU는 수학적으로 다음과 같이 표현됩니다:
\[f(x) = \max(0, x)\]특징
- 입력이 0보다 클 경우: 입력을 그대로 출력
- 입력이 0 이하일 경우: 0을 출력
장점
ReLU를 사용하면 기존의 Sigmoid나 tanh에서 발생하던 기울기 소실 문제(Vanishing Gradient Problem)를 해결할 수 있습니다.
Python 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import numpy as np
import matplotlib.pyplot as plt
def relu(x):
return np.maximum(0, x)
# 시각화
x = np.linspace(-10, 10, 100)
y = relu(x)
plt.plot(x, y)
plt.grid(True)
plt.title('ReLU Activation Function')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.show()
다른 활성화 함수와 비교
| 함수 | 수식 | 범위 | 특징 |
|---|---|---|---|
| ReLU | max(0, x) | [0, ∞) | 계산 빠름, 기울기 소실 해결 |
| Sigmoid | 1/(1+e^-x) | (0, 1) | 이진 분류에 적합 |
| Tanh | (e^x-e^-x)/(e^x+e^-x) | (-1, 1) | 평균이 0 |