인공 신경망에서 노드의 활성화 함수는 개별 입력과 가중치를 기반으로 노드의 출력을 계산하는 함수이다. 활성화 함수가 비선형이면 몇 개의 노드만으로도 비자명한 문제를 해결할 수 있다. 활성화 함수는 신경망의 핵심 구성 요소로, 신호가 계층을 통해 전파되는 방식을 결정하고 네트워크가 데이터의 복잡한 패턴을 학습할 수 있게 한다. 이는 대규모 언어 모델 및 트랜스포머와 같은 딥러닝 시스템을 포함한 사실상 모든 현대 머신러닝 모델에서 사용된다.
활성화 함수는 비선형성, 범위, 미분 가능성과 같은 수학적 속성에 따라 분류할 수 있으며, 이러한 속성은 훈련 안정성과 효율성에 영향을 미친다. 수년에 걸쳐 연구자들은 각각 특정 장점과 절충점을 가진 다양한 활성화 함수를 개발해 왔다. 활성화 함수의 선택은 모델의 성능, 수렴 속도, 기울기 소실과 같은 문제를 피하는 능력에 크게 영향을 미칠 수 있다.
역사적 발전
활성화 함수의 개념은 1958년 Frank Rosenblatt이 도입한 퍼셉트론과 같은 초기 인공 뉴런 모델로 거슬러 올라가며, 이는 이진 계단 활성화를 사용했다. 그러나 계단 함수는 미분 가능하지 않아 경사 기반 최적화에 사용이 제한적이었다. 1980년대에는 로지스틱 시그모이드 함수가 매끄럽고 미분 가능하여 역전파를 가능하게 하면서 널리 사용되었다. 1986년 David Rumelhart, Geoffrey Hinton, Ronald Williams는 미분 가능한 활성화 함수에 의존하는 역전파를 대중화했다.
2010년대에는 기울기 소실 문제를 완화하는 데 도움이 된 정류 선형 유닛(ReLU)으로의 전환이 있었다. ReLU는 2012년 ImageNet 대회에서 우승한 AlexNet 컴퓨터 비전 모델과 2015년 매우 깊은 네트워크 훈련을 가능하게 한 ResNet 모델에서 사용되었다. 2018년에는 가우스 오차 선형 유닛(GELU)이 도입되어 자연어 처리를 위한 기초 트랜스포머 아키텍처인 BERT 모델에서 사용되었다. 더 최근에는 2017년 Google 연구자들이 매끄럽고 비단조적인 대안을 제공하는 Swish(또는 SiLU)를 제안했다.
비선형성과 보편 근사
활성화 함수의 핵심 속성은 비선형성이다. 활성화 함수가 비선형일 때, 2계층 신경망은 보편 함수 근사자임이 증명될 수 있으며, 이는 컴팩트 영역에서 임의의 연속 함수를 임의의 정확도로 근사할 수 있음을 의미한다. 이를 보편 근사 정리라고 한다. 항등 활성화 함수는 이 속성을 만족하지 않으며, 여러 계층이 항등 활성화 함수를 사용하면 전체 네트워크는 단일 계층 모델과 동일해져 복잡한 함수를 표현하는 능력을 잃는다. 비선형 활성화 함수는 신경망이 데이터의 비선형 관계를 학습할 수 있게 하며, 이는 이미지 인식, 음성 처리, 언어 이해와 같은 작업에 필수적이다.
범위와 훈련 안정성
활성화 함수는 서로 다른 범위를 가지며, 이는 경사 기반 훈련에 영향을 미친다. 활성화 함수의 범위가 유한하면 경사 기반 훈련 방법이 더 안정적인 경향이 있는데, 이는 패턴 제시가 제한된 가중치에만 크게 영향을 미치기 때문이다. 예를 들어, 시그모이드 함수는 0과 1 사이의 값을 출력하고, tanh 함수는 -1과 1 사이의 값을 출력한다. 범위가 무한하면 훈련이 일반적으로 더 효율적인데, 이는 패턴 제시가 대부분의 가중치에 크게 영향을 미치지만 불안정성을 피하기 위해 더 작은 학습률이 일반적으로 필요하다. ReLU는 무한한 양수 범위를 가지며, 이는 더 빠른 학습을 가능하게 하지만 죽은 뉴런과 같은 잠재적 문제를 초래할 수 있다.
미분 가능성과 경사 기반 최적화
연속적으로 미분 가능한 활성화 함수는 경사 기반 최적화 방법을 가능하게 하므로 바람직하며, 이는 역전파를 위한 기울기 계산을 허용한다. ReLU는 0에서 연속적으로 미분 가능하지 않지만, 하위 기울기를 사용하거나 0에서의 도함수를 0 또는 1로 정의하는 것이 가능하다. 이진 계단 활성화 함수는 0에서 미분 가능하지 않고 다른 모든 값에서 0으로 미분되므로, 경사 기반 방법으로는 진행할 수 없다. ReLU와 같은 비포화 활성화 함수는 깊은 네트워크에서 기울기가 극도로 작아지는 기울기 소실 문제를 겪을 가능성이 적기 때문에 포화 활성화 함수보다 더 나을 수 있다.
일반적인 활성화 함수
시그모이드(로지스틱)
시그모이드 함수는 로지스틱 함수라고도 하며, \( \sigma(x) = \frac{1}{1 + e^{-x}} \)로 정의된다. 0과 1 사이의 값을 출력하여 이진 분류와 확률 출력 계층에 유용하다. 그러나 극단적인 값에서 포화되어 기울기 소실로 이어질 수 있다. 시그모이드는 2012년 Hinton 등이 개발한 음성 인식 모델에서 사용되었다.
Tanh(쌍곡 탄젠트)
tanh 함수는 \( \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \)로 정의되며, -1과 1 사이의 값을 출력한다. 0을 중심으로 하여 시그모이드보다 최적화가 더 쉬운 경우가 많다. Tanh는 순환 신경망과 은닉 계층 활성화로 일반적으로 사용된다.
ReLU(정류 선형 유닛)
ReLU는 \( \text{ReLU}(x) = \max(0, x) \)로 정의된다. 계산 효율적이며 양수 입력에 대해 도함수가 1이므로 기울기 소실을 완화하는 데 도움이 된다. 그러나 유닛이 영구적으로 비활성화되는 죽은 뉴런 문제가 발생할 수 있다. ReLU는 AlexNet과 ResNet에서 사용되었다.
Leaky ReLU 및 Parametric ReLU
Leaky ReLU는 음수 입력에 대해 작은 양수 기울기를 허용하며, 예를 들어 \( \text{LeakyReLU}(x) = \max(0.01x, x) \)로 정의되어 죽은 뉴런을 피한다. Parametric ReLU(PReLU)는 훈련 중 기울기 매개변수를 학습하여 더 큰 유연성을 제공한다.
GELU(가우스 오차 선형 유닛)
GELU는 ReLU의 매끄러운 근사로, \( \text{GELU}(x) = x \cdot \Phi(x) \)로 정의되며, 여기서 \( \Phi \)는 표준 정규 분포의 누적 분포 함수이다. BERT와 많은 현대 트랜스포머에서 사용되어 더 매끄러운 기울기와 종종 더 나은 성능을 제공한다.
Swish / SiLU
Swish는 SiLU(시그모이드 선형 유닛)라고도 하며, \( \text{Swish}(x) = x \cdot \sigma(x) \)로 정의된다. 매끄럽고 비단조적이며, 일부 깊은 네트워크에서 성능을 향상시키는 것으로 나타났다. Swish는 2017년 Google 연구자들이 제안했다.
Softplus
Softplus는 ReLU의 매끄러운 근사로, \( \text{softplus}(x) = \ln(1 + e^x) \)로 정의된다. 엄격히 양수 범위를 가지므로 변분 오토인코더에서 분산 예측에 적합하다.
수학적 세부 사항
가장 일반적인 활성화 함수는 능선 함수, 방사 함수, 접힘 함수의 세 가지 범주로 나눌 수 있다. 활성화 함수 \( f \)는 \( \lim_{|v| \to \infty} |\nabla f(v)| = 0 \)이면 포화 함수이고, 극한이 0이 아니면 비포화 함수이다. ReLU와 같은 비포화 함수는 기울기 소실에 덜 취약하다.
능선 활성화 함수
능선 함수는 입력 변수의 선형 결합에 작용하는 다변수 함수이다. 예는 다음과 같다:
- 선형 활성화: \( \phi(\mathbf{v}) = a + \mathbf{v}'\mathbf{b} \)
- ReLU 활성화: \( \phi(\mathbf{v}) = \max(0, a + \mathbf{v}'\mathbf{b}) \)
- 헤비사이드 활성화: \( \phi(\mathbf{v}) = 1_{a + \mathbf{v}'\mathbf{b} > 0} \)
- 로지스틱 활성화: \( \phi(\mathbf{v}) = (1 + \exp(-a - \mathbf{v}'\mathbf{b}))^{-1} \)
생물학적으로 영감을 받은 신경망에서 활성화 함수는 일반적으로 세포의 활동 전위 발화율을 나타내는 추상화이다. 가장 단순한 형태에서 이 함수는 이진적이며, 즉 뉴런이 발화하거나 발화하지 않는다. 뉴런은 특정 속도보다 빠르게 발화할 수 없으므로 출력 범위가 유한한 간격으로 제한되는 시그모이드 활성화 함수가 동기 부여된다.
방사 활성화 함수
방사 기저 함수(RBF)로 알려진 특수한 종류의 활성화 함수는 RBF 네트워크에서 사용된다. 이러한 활성화 함수는 다양한 형태를 취할 수 있지만, 일반적으로 가우스 함수로 나타난다: \( \phi(\mathbf{v}) = \exp(-\|\mathbf{v} - \mathbf{c}\|^2 / (2\sigma^2)) \), 여기서 \( \mathbf{c} \)는 중심이고 \( \sigma \)는 폭을 제어한다. RBF 네트워크는 함수 근사를 위해 이러한 국소 수용 필드를 사용한다.
실용적 고려 사항
활성화 함수를 선택할 때 실무자는 계산 비용, 기울기 동작, 특정 작업과 같은 요소를 고려한다. 깊은 네트워크의 경우 ReLU 및 그 변형이 효율성과 기울기 소실을 피하는 능력으로 인해 종종 선호된다. 출력 계층의 경우 이진 분류에는 시그모이드, 다중 클래스 분류에는 소프트맥스, 회귀에는 선형 활성화가 사용된다. 트랜스포머에서 GELU는 BERT 및 GPT와 같은 모델에서 볼 수 있듯이 피드포워드 계층에서 일반적으로 사용된다. 활성화 함수의 선택은 배치 정규화 및 드롭아웃과 같은 다른 기술과도 상호 작용할 수 있다.
결론
활성화 함수는 신경망의 작동에 기본적이며, 복잡한 패턴 학습을 가능하게 하는 비선형성을 제공한다. 초기 계단 함수에서 GELU 및 Swish와 같은 현대의 매끄러운 변형에 이르기까지, 이들은 깊은 모델 훈련의 과제를 해결하기 위해 진화해 왔다. 수학적 속성을 이해하면 연구자와 엔지니어가 특정 응용 분야에 적합한 함수를 선택하는 데 도움이 되며, 다양한 영역에서 인공지능 시스템의 성공에 기여한다.