활성화 함수는 인공 신경망에서 뉴런의 출력값을 특정 범위로 변환하여 다음 층으로 전달하는 핵심 요소로, 신경망의 학습 성능과 안정성에 중요한 역할을 한다.
뉴런의 출력을 결정하며, 모델의 학습 성능과 표현력을 크게 좌우하기 때문에 잘 설정해 주어야 한다.
각 활성화 함수의 역할과 특징을 자세히 살펴보자.
ReLU는 비선형 활성화 함수로, 뉴런의 입력 값이 양수일 경우 그대로 출력하고, 음수일 경우 0으로 변환한다.
수식으로 표현하면 다음과 같다:
[
f(x) = \begin{cases}
x & \text{if } x > 0 \
0 & \text{if } x \leq 0
\end{cases}
]
기울기 소실 문제의 완화:
기존의 활성화 함수(예: Sigmoid, Tanh)는 역전파 중 기울기가 0에 가까워지는 기울기 소실(Gradient Vanishing) 문제를 초래할 수 있다.
ReLU는 양수 입력에 대해 1의 기울기를 유지하여 이 문제를 효과적으로 완화한다.
계산 효율성:
ReLU는 단순히 입력 값이 0보다 큰지 여부만 계산하므로, 다른 활성화 함수에 비해 계산 비용이 낮아 대규모 네트워크에서 효율적이다.
ReLU는 CNN(Convolutional Neural Network)와 같은 현대적 딥러닝 모델에서 표준 활성화 함수로 널리 사용된다.
Leaky ReLU는 ReLU의 변형으로, 음수 영역에서 작은 기울기를 유지하여 죽은 뉴런 문제를 해결한다.
수식은 다음과 같다:
[
f(x) = \begin{cases}
x & \text{if } x > 0 \
\alpha x & \text{if } x \leq 0
\end{cases}
]
여기서 (\alpha)는 음수 기울기를 조절하는 작은 상수(일반적으로 0.01)이다.
죽은 뉴런 문제 해결:
음수 입력에 대해 일정한 기울기((\alpha))를 허용하므로, 역전파가 음수 영역에서도 진행될 수 있다.
이를 통해 ReLU의 주요 단점 중 하나를 보완한다.
유연한 파라미터:
(\alpha) 값은 모델 설계자가 조정할 수 있어, 모델에 최적화된 음수 기울기를 설정 가능하다.
Leaky ReLU는 GAN(Generative Adversarial Networks) 등 뉴런의 활성화 손실이 치명적인 상황에서 주로 사용된다.
소프트맥스(Softmax)는 주로 다중 클래스 분류 문제의 출력층에서 사용되는 활성화 함수로, 입력값을 확률 분포로 변환한다.
수식은 다음과 같다:
[
\sigma(z)i = \frac{e^{z_i}}{\sum{j=1}^{n} e^{z_j}}
]
여기서 (z_i)는 (i)번째 클래스의 로짓 값, (n)은 클래스의 총 개수를 나타낸다.
확률 분포 생성:
Softmax는 각 클래스의 출력값을 0과 1 사이로 정규화하며, 모든 출력의 합이 1이 되도록 한다.
이를 통해 모델의 예측을 확률로 해석 가능하다.
로그-우도 손실 함수와 결합:
소프트맥스는 크로스 엔트로피 손실 함수와 자연스럽게 결합하여 모델 학습에 효율적이다.
과도한 확률 집중:
입력값이 매우 큰 경우, 특정 클래스에 높은 확률이 집중될 수 있다.
이는 학습 중 Overconfidence 문제를 유발할 가능성이 있다.
연산 비용:
지수 함수와 합 연산으로 인해 대규모 출력 공간에서는 계산 비용이 증가할 수 있다.
Softmax는 자연어 처리(NLP), 이미지 분류, 다중 레이블 분류 문제 등에서 출력층의 활성화 함수로 표준적으로 사용된다.
최신에 사용되는 활성함수들은 더 발전된 형태이다.
LLM(Large Language Model) 또는 LWM(Lightweight Model)에 사용되는 활성화 함수는 모델의 특성과 최적화를 반영하여 더욱 발전된 버전으로 등장하고 있다.
특히 트랜스포머(Transformer) 기반 모델에서는 기존 활성화 함수와 함께 새로운 대안이 제시되어 성능과 안정성을 극대화한다.
상세하게 알아보자.
GELU는 입력 값을 스무스하게 0과 1 사이로 스케일링하며, ReLU보다 부드러운 비선형성을 제공한다.
수식은 다음과 같습니다:
[
f(x) = x \cdot \frac{1}{2} \left( 1 + \text{erf}\left(\frac{x}{\sqrt{2}}\right)\right)
]
여기서 (\text{erf})는 가우시안 오차 함수(Error Function)이다.
또는, 근사적으로
[
f(x) \approx 0.5 \cdot x \cdot \left(1 + \tanh\left(\sqrt{\frac{2}{\pi}} \cdot (x + 0.044715x^3)\right)\right)
]
SiLU는 입력 값과 Sigmoid를 결합한 형태로 정의된다
즉, Sigmoid 함수와 선형 활성화를 결합한 형태이다:
[
f(x) = x \cdot \sigma(x)
]
여기서 (\sigma(x))는 Sigmoid 함수, 즉 (\sigma(x) = \frac{1}{1 + e^{-x}})이다.
Mish는 부드러운 곡선과 높은 정보 전달력을 제공하는 활성화 함수로, 다음과 같이 정의된다:
[
f(x) = x \cdot \tanh\left(\ln\left(1 + e^x\right)\right)
]
Sparsemax는 Softmax와 비슷하지만, 결과적으로 더 희소(sparse)한 확률 분포를 제공한다.
수식은 다음과 같다:
[
\text{sparsemax}(z) = \text{argmin}_p | p - z |_2^2 \quad \text{subject to} \quad p \geq 0, \sum p = 1
]
APLU는 여러 선형 구간으로 구성된 활성화 함수로, 각 구간의 기울기와 절편을 학습한다.
함수명 | 정의 | 주요 장점 | 활용 분야 |
---|---|---|---|
ReLU | (\max(0, x)) | 간단, 계산 효율성 | CNN, 일반적인 딥러닝 모델 |
GELU | (x \cdot \text{erf}(x/\sqrt{2})) | 스무스 비선형성, 트랜스포머에서 표준 | 트랜스포머 기반 모델 (BERT) |
SiLU | (x \cdot \sigma(x)) | 적응적 활성화, 일반화 성능 우수 | EfficientNet, 이미지 작업 |
Mish | (x \cdot \tanh(\ln(1 + e^x))) | 부드러운 출력, 대칭성 | YOLOv4, 비전 및 NLP 작업 |
Sparsemax | Softmax의 희소 대안 | 희소성 증가, 해석 가능성 | 어텐션 기법 및 분류 모델 |
2024년에도 LLM(대규모 언어 모델)에서 사용되는 활성화 함수들이 효율성과 정확도를 목표로 다양하게 연구되었다.
특히, 모델 최적화와 경량화, 그리고 스파시티(sparsity)를 활용하여 모델의 연산 비용을 줄이는 데 초점이 맞춰지고 있다.
ReLU 및 Variants:
ReLU는 여전히 널리 사용되지만, 효율성을 높이기 위해 변형된 활성화 함수도 주목받고 있다.
예를 들어, SiLU와 GELU는 더 부드러운 출력 특성을 제공하며 LLM의 성능 향상에 기여할 수 있다.
그러나 최근 연구에 따르면, ReLU의 단순성과 높은 스파시티 수준 덕분에 특정 상황에서는 GELU와 같은 활성화 함수의 성능 이점을 따라잡을 수 있다고 한다.
특히, “Relufication”이라는 기법으로 기존 모델에서 GELU나 SiLU를 ReLU로 변경해도 성능 손실이 거의 없고, 연산 효율성이 크게 개선된다.
Swish Variants:
SiLU(Swish)는 신경망의 부드러운 활성화를 가능하게 하며, 일부 최신 모델에서 사용된다.
이는 입력 값에 따라 활성화 강도를 조정하는 비선형적 특성을 가지고 있어 고급 LLM에서 자주 사용된다.
Adaptive Activation Functions:
최근 들어 LLM에 맞춤형 활성화 함수가 도입되고 있다.
이러한 함수는 데이터의 분포나 모델 구조에 따라 동적으로 활성화 형태를 조정하여 효율성을 극대화한다.
예를 들어, 특정 패턴을 학습할 때 적응형으로 동작하는 함수가 실험적으로 활용되고 있다.
Sparse Activation Techniques:
스파시티를 활용하여 비활성 노드 수를 늘리고 연산을 간소화하는 기법이 연구되었다.
ReLU는 본질적으로 스파시티를 강화할 수 있어 이러한 접근법에서 선호된다.
이 기법은 특히 모델 추론(inference) 단계에서 속도 향상과 메모리 사용량 감소를 가져온다.
압축 및 경량화용 활성화 함수:
최근 LLM 경량화를 위해 양자화(quantization) 및 혼합 정밀도(mixed-precision)를 지원하는 활성화 함수가 사용된다.
이를 통해 모델이 낮은 비트 연산으로도 높은 성능을 유지하도록 설계되고 있다.
결론적으로, 2024년 LLM에서는 정확성과 효율성을 동시에 고려한 활성화 함수들이 다각적으로 연구되고 있으며, 특히 기존 ReLU와 GELU를 기반으로 스파시티와 경량화를 강화하는 방향으로 발전하고 있다. 아래는 최신에 쓰이는 함수들이다.