# 활성화 함수 종류

#### 시그모이드 함수 (Sigmoid Function)

시그모이드 함수는 가장 오래된 활성화 함수 중 하나로, 입력을 0과 1 사이의 값으로 압축하는 S자 형태의 곡선이다. 수식은 다음과 같다:

$$
\sigma(x) = \frac{1}{1 + e^{-x}}
$$

이 함수는 확률적 해석이 가능하며, 로지스틱 회귀와 같은 이진 분류 문제에서 많이 사용된다. 그러나 시그모이드 함수는 기울기 소실(Gradient Vanishing) 문제를 일으킬 수 있어, 심층 신경망에서 잘 사용되지 않는다.

#### 탄젠트 하이퍼볼릭 함수 (Tanh Function)

탄젠트 하이퍼볼릭 함수는 시그모이드 함수의 변형으로, 출력 범위가 -1에서 1 사이이다. 수식은 다음과 같다:

$$
tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}
$$

이 함수는 시그모이드 함수보다 출력이 중심을 기준으로 대칭적이므로, 중간 값이 0에 가까운 입력에 대해 더 나은 표현을 제공한다. 그러나 여전히 기울기 소실 문제를 완전히 해결하지는 못한다.

#### 렐루 함수 (ReLU Function)

렐루 함수는 Rectified Linear Unit의 약자로, 입력이 0보다 크면 입력값을 그대로 출력하고, 0 이하이면 0을 출력하는 비선형 함수이다. 수식은 다음과 같다:

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

렐루 함수는 계산이 간단하고, 기울기 소실 문제를 줄이는 데 효과적이기 때문에, 깊은 신경망에서 널리 사용된다. 그러나 입력이 음수일 때 기울기가 0이 되어 뉴런이 비활성화될 수 있는 '죽은 렐루' 문제가 발생할 수 있다.

#### 리키 렐루 함수 (Leaky ReLU Function)

리키 렐루 함수는 렐루 함수의 변형으로, 입력이 0 이하일 때 작은 기울기를 부여하여 죽은 렐루 문제를 해결한다. 수식은 다음과 같다:

$$
Leaky ReLU(x) = \begin{cases} x & \text{if } x > 0 \ \alpha x & \text{if } x \leq 0 \end{cases}
$$

여기서 $ \alpha $는 작은 양수로, 일반적으로 0.01로 설정된다. 이 함수는 렐루의 단점을 보완하면서도 렐루의 장점을 유지한다.

#### ELU 함수 (Exponential Linear Unit)

ELU 함수는 렐루와 유사하지만, 음수 입력에 대해 지수적 변환을 적용하여 더 부드러운 비선형성을 제공한다. 수식은 다음과 같다:

$$
ELU(x) = \begin{cases} x & \text{if } x > 0 \ \alpha (e^{x} - 1) & \text{if } x \leq 0 \end{cases}
$$

ELU 함수는 죽은 렐루 문제를 해결하면서도 출력의 평균을 0에 가깝게 만들어 학습 속도를 높일 수 있다.

#### 소프트맥스 함수 (Softmax Function)

소프트맥스 함수는 주로 다중 클래스 분류 문제에서 사용되는 활성화 함수로, 입력 벡터를 각 클래스에 대한 확률 분포로 변환한다. 수식은 다음과 같다:

$$
Softmax(x\_i) = \frac{e^{x\_i}}{\sum\_{j} e^{x\_j}}
$$

소프트맥스 함수는 출력 벡터의 요소들을 0과 1 사이의 값으로 변환하고, 이들의 합이 1이 되도록 만든다. 이를 통해 다중 클래스 분류 문제에서 각 클래스에 대한 확률을 모델링할 수 있다.

#### 스위시 함수 (Swish Function)

스위시 함수는 최근 제안된 활성화 함수로, 시그모이드 함수와 입력값의 곱으로 정의된다. 수식은 다음과 같다:

$$
Swish(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}
$$

스위시 함수는 비선형성을 제공하면서도 렐루와 유사한 특성을 가지며, 여러 실험에서 더 나은 성능을 보이는 경우가 많다.

#### 겔루 함수 (GELU Function)

겔루 함수는 Gaussian Error Linear Unit의 약자로, 입력값을 가우시안 분포를 기반으로 확률적으로 비선형 변환하는 함수이다. 수식은 다음과 같다:

$$
GELU(x) = x \cdot P(X \leq x)
$$

여기서 $ P(X \leq x) $는 표준 가우시안 분포의 누적 분포 함수(CDF)이다. 이 함수는 자연스러운 확률적 비선형성을 제공하여 최근 다양한 모델에서 각광받고 있다.

#### PReLU 함수 (Parametric ReLU)

PReLU는 Parametric ReLU의 약자로, 리키 렐루의 $ \alpha $ 값을 학습 가능한 파라미터로 설정한 함수이다. 수식은 다음과 같다:

$$
PReLU(x) = \begin{cases} x & \text{if } x > 0 \ \alpha x & \text{if } x \leq 0 \end{cases}
$$

$ \alpha $ 값이 학습을 통해 최적화되므로, 데이터 특성에 맞춘 더 유연한 모델링이 가능한다.

#### 맥스아웃 함수 (Maxout Function)

맥스아웃 함수는 활성화 함수가 아닌, 두 개 이상의 선형 함수 중 최대값을 선택하는 방식으로 동작하는 기법이다. 수식은 다음과 같다:

$$
Maxout(x) = \max(w\_1 \cdot x + b\_1, w\_2 \cdot x + b\_2)
$$

이 함수는 활성화 함수의 선택에 구애받지 않으며, 렐루보다 더 복잡한 결정 경계를 학습할 수 있다.

***

관련 자료:

* Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
* Glorot, X., Bordes, A., & Bengio, Y. (2011). Deep sparse rectifier neural networks. In Proceedings of the fourteenth international conference on artificial intelligence and statistics.
