활성화 함수 유형
1. 개요
1. 개요
활성화 함수는 인공신경망의 핵심 구성 요소 중 하나로, 신경망 내의 각 뉴런이 입력 신호를 받아 출력 신호로 변환하는 방식을 결정하는 수학적 함수이다. 이 함수는 뉴런의 입력값에 가중치를 곱하고 편향을 더한 선형 변환 결과에 적용되어, 신경망이 복잡한 비선형 패턴을 학습하고 표현할 수 있도록 한다.
활성화 함수가 없거나 선형 함수만 사용된 신경망은 여러 층을 쌓아도 결국 단일 선형 변환으로 축약될 수 있어, 다층 퍼셉트론의 표현력이 크게 제한된다. 따라서 시그모이드, ReLU, 하이퍼볼릭 탄젠트와 같은 비선형 활성화 함수의 도입은 딥러닝 발전의 중요한 전환점이 되었다.
활성화 함수의 주요 역할은 두 가지로 요약할 수 있다. 첫째, 입력에 대한 비선형 변환을 통해 신경망이 복잡한 함수를 근사하도록 한다. 둘째, 출력값의 범위를 적절히 제한하거나 조정하여 신경망의 학습 안정성을 높인다. 함수의 선택은 기울기 소실 문제, 계산 효율성, 모델의 수렴 속도에 직접적인 영향을 미친다.
활성화 함수는 그 출력 형태와 수학적 특성에 따라 선형 함수, S자형 함수, ReLU 계열 함수, 소프트맥스 함수 등 여러 유형으로 분류된다. 각 유형은 분류 문제, 회귀 문제, 생성 모델 등 특정 문제 영역과 신경망 구조에 더 적합한 특징을 지닌다.
2. 선형 및 항등 활성화 함수
2. 선형 및 항등 활성화 함수
선형 활성화 함수는 입력값에 가중치를 곱한 후 편향을 더한 선형 변환을 그대로 출력하는 함수이다. 가장 기본적인 형태는 항등 함수로, 수학적으로 f(x) = x로 표현된다. 이 함수는 입력과 출력이 동일하므로, 신경망의 특정 층에서 입력 신호를 변경 없이 전달하는 역할을 한다.
이 함수의 주요 사용 사례는 출력층의 회귀 문제이다. 예를 들어, 주택 가격 예측과 같이 연속적인 실수 값을 출력해야 할 때, 출력층에 선형 활성화 함수를 적용한다. 또한, 다층 퍼셉트론의 은닉층이 아닌 단순한 선형 모델이나 선형 회귀 분석에서 내부적으로 사용된다.
그러나 선형 활성화 함수는 심층 신경망의 은닉층에 사용될 때 심각한 한계를 보인다. 여러 선형 층을 쌓아도 전체 네트워크는 결국 하나의 선형 변환으로 표현될 수 있다[1]. 이는 네트워크의 깊이(층의 수)가 모델의 표현력을 높이는 데 전혀 기여하지 못함을 의미하며, 복잡한 비선형 관계를 학습하는 딥러닝의 기본 가정을 무효화한다. 따라서 현대의 심층 신경망에서는 은닉층에 비선형 활성화 함수가 필수적으로 사용된다.
2.1. 특징 및 수학적 표현
2.1. 특징 및 수학적 표현
선형 활성화 함수는 입력값에 가중치를 곱한 후 편향을 더한 선형 변환을 그대로 출력한다. 이는 수학적으로 f(x) = x 또는 f(x) = ax + b와 같은 형태를 가진다. 항등 함수는 선형 함수의 특별한 경우로, a=1, b=0일 때 해당하며, 입력을 어떠한 비선형 변환 없이 그대로 통과시킨다.
이러한 함수의 가장 큰 특징은 미분이 상수라는 점이다. 선형 함수 f(x) = ax + b의 도함수는 f'(x) = a이며, 항등 함수의 도함수는 항상 1이다. 이는 역전파 과정에서 기울기가 변하지 않고 흐른다는 것을 의미한다. 또한, 출력 범위가 입력 범위에 비례하여 무한대로 확장되며, 함수의 그래프는 직선 형태를 이룬다.
선형 활성화 함수는 주로 회귀 문제의 출력층에서, 또는 특수한 경우의 은닉층에서 사용된다. 그러나 다층 신경망의 모든 층에 선형 함수만을 사용할 경우, 여러 층의 선형 변환은 결국 하나의 선형 변환으로 합쳐질 수 있다[2]. 이는 네트워크의 깊이를 의미 없게 만들고, 복잡한 비선형 관계를 학습하는 신경망의 핵심 장점을 상실하게 만드는 치명적인 한계를 지닌다.
2.2. 사용 사례와 한계
2.2. 사용 사례와 한계
선형 활성화 함수는 입력과 출력이 비례 관계를 유지한다. 이는 신경망의 각 층이 선형 변환만 수행하게 만든다. 다층 선형 네트워크는 결국 하나의 큰 선형 변환으로 축소될 수 있다[3]. 따라서 은닉층에서 선형 함수를 사용하는 심층 신경망은 단일층 퍼셉트론과 동등한 표현력을 가지게 되어 심층 구조의 이점을 완전히 상실한다.
주된 사용 사례는 출력층의 회귀 분석 문제이다. 예를 들어, 주택 가격 예측과 같이 제한 없이 어떤 실수 값이든 출력해야 할 때 선형 활성화 함수가 적합하다. 또한, 선형 회귀 모델이나 PCA와 같은 특정 선형 모델을 구현할 때 내부적으로 사용되기도 한다.
가장 큰 한계는 비선형성의 부재이다. XOR 문제와 같이 선형으로 분리할 수 없는 패턴을 학습하는 것이 근본적으로 불가능하다. 또한, 기울기 소실 문제는 발생하지 않지만, 역전파 과정에서 기울기가 입력값과 무관하게 상수로 유지되어 가중치 업데이트가 효율적이지 않을 수 있다. 이러한 이유로 현대의 심층 신경망에서는 은닉층에 ReLU와 같은 비선형 함수가 사실상 표준으로 사용된다.
3. 비선형 활성화 함수 (S자형)
3. 비선형 활성화 함수 (S자형)
시그모이드 함수는 입력값을 0과 1 사이의 부드러운 곡선으로 변환하는 함수이다. 수학적으로는 S(x) = 1 / (1 + e^{-x}) 로 표현된다. 이 함수의 출력은 확률로 해석될 수 있어, 이진 분류 문제의 출력층에서 역사적으로 널리 사용되었다. 그러나 입력값이 매우 크거나 작을 때 기울기가 0에 가까워지는 포화 현상이 발생하여, 기울기 소실 문제를 야기할 수 있다는 단점이 있다.
하이퍼볼릭 탄젠트 함수(tanh)는 시그모이드 함수와 형태가 유사하지만, 출력 범위가 -1에서 1 사이이다. 수식은 tanh(x) = (e^{x} - e^{-x}) / (e^{x} + e^{-x}) 이다. 출력이 0을 중심으로 대칭되어 있기 때문에, 데이터의 평균이 0 주변에 분포하도록 조정하는 효과가 있어 은닉층에서 시그모이드보다 종종 더 나은 성능을 보인다. 그러나 시그모이드와 마찬가지로 큰 절대값을 갖는 입력에 대해서는 기울기가 소실되는 문제를 공유한다.
이러한 S자형 함수들의 주요 특징과 한계는 다음 표로 정리할 수 있다.
함수명 | 수학적 표현 | 출력 범위 | 주요 특징 | 주요 한계 |
|---|---|---|---|---|
시그모이드 | σ(x) = 1 / (1 + e^{-x}) | (0, 1) | 출력을 확률로 해석 가능, 미분 가능 | 기울기 소실 심함, 출력이 0 중심 아님 |
하이퍼볼릭 탄젠트 | tanh(x) = (e^{x} - e^{-x}) / (e^{x} + e^{-x}) | (-1, 1) | 출력이 0 중심 대칭, 시그모이드보다 기울기 강함 | 여전히 기울기 소실 문제 존재 |
현대의 심층 신경망에서는 은닉층에서 이 함수들보다 ReLU 계열의 함수가 더 선호된다. 그러나 시그모이드 함수는 여전히 이진 분류의 출력층이나, 게이트 메커니즘이 필요한 LSTM이나 GRU 같은 순환 신경망의 특정 게이트에서 사용된다. 하이퍼볼릭 탄젠트 함수도 순환 신경망의 은닉 상태 변환 등 제한된 영역에서 활용된다.
3.1. 시그모이드 함수
3.1. 시그모이드 함수
시그모이드 함수는 입력값을 0과 1 사이의 부드러운 S자 곡선 형태로 변환하는 활성화 함수이다. 수학적으로는 로지스틱 함수로 표현되며, 그 식은 σ(x) = 1 / (1 + e^(-x))이다. 이 함수의 출력은 확률로 해석될 수 있어, 특히 이진 분류 문제의 출력층에서 널리 사용된다[4].
그러나 시그모이드 함수는 심층 신경망의 은닉층에서 사용될 때 심각한 기울기 소실 문제를 야기한다. 입력값이 매우 크거나 매우 작을 때 함수의 기울기가 0에 가까워지기 때문에, 역전파 과정에서 그래디언트가 소실되어 네트워크의 깊은 층으로 갈수록 가중치가 효과적으로 업데이트되지 않는다. 또한, 함수의 출력값이 0을 중심으로 대칭되지 않아 출력의 평균이 0이 아니므로, 학습 과정에서 가중치 업데이트가 지그재그 형태를 띨 수 있다는 단점도 있다.
장점 | 단점 |
|---|---|
출력을 확률로 해석 가능 | 기울기 소실 문제 발생 |
미분 가능하며 부드러운 곡선 | 출력이 0 중심이 아님 |
단조 증가 함수 | 지수 함수 계산에 비용이 큼 |
이러한 특성으로 인해, 시그모이드 함수는 현대의 심층 신경망에서는 주로 이진 분류의 출력층에 한정되어 사용되며, 은닉층에는 ReLU 계열의 함수가 더 선호된다.
3.2. 하이퍼볼릭 탄젠트 함수
3.2. 하이퍼볼릭 탄젠트 함수
하이퍼볼릭 탄젠트 함수(Hyperbolic Tangent Function, tanh)는 시그모이드 함수와 유사한 S자형 곡선을 가지는 비선형 활성화 함수이다. 수학적으로는 쌍곡선 함수의 일종으로, 입력값을 -1과 1 사이의 값으로 변환한다. 그 수학적 표현은 tanh(x) = (e^x - e^{-x}) / (e^x + e^{-x}) 또는 tanh(x) = 2σ(2x) - 1[5]이다.
이 함수의 주요 특징은 출력값의 범위가 (-1, 1)이며, 원점(0,0)을 중심으로 대칭이라는 점이다. 이는 평균 출력이 0에 가깝게 되어, 후속 층으로의 입력이 편향되지 않는 효과를 가져온다. 이러한 특성은 모델의 학습 과정에서 기울기 하강법이 더 효율적으로 이루어지도록 돕는다. 또한, 시그모이드 함수와 마찬가지로 미분 가능하며, 그 도함수는 tanh'(x) = 1 - tanh^2(x)로 간단하게 표현된다.
특성 | 설명 |
|---|---|
출력 범위 | (-1, 1) |
대칭성 | 원점 대칭 (Zero-centered) |
미분 가능성 | 모든 실수에서 미분 가능 |
도함수 | 1 - tanh²(x) |
그러나 하이퍼볼릭 탄젠트 함수도 깊은 신경망에서 기울기 소실 문제를 완전히 해결하지는 못한다. 입력값의 절대값이 커질수록 함수의 기울기가 0에 수렴하기 때문이다. 이로 인해 매우 깊은 네트워크나 순환 신경망(RNN)에서는 학습이 느려지거나 중단될 수 있다. 따라서 현대의 심층 신경망에서는 이 문제를 더 효과적으로 해결하는 ReLU 계열의 함수들이 주로 사용되지만, tanh는 여전히 출력층이나 특정 순환 구조에서 유용하게 활용된다.
4. 비선형 활성화 함수 (ReLU 계열)
4. 비선형 활성화 함수 (ReLU 계열)
ReLU는 입력값이 0보다 크면 그 값을 그대로, 0 이하이면 0을 출력하는 함수이다. 수식으로는 f(x) = max(0, x)로 표현된다. 이 간단한 구조는 양의 영역에서 기울기 소실 문제를 완화하고, 계산 효율이 매우 높다는 장점을 가진다. 그러나 입력이 음수일 때 기울기가 0이 되어 뉴런이 '죽는' 죽은 ReLU 현상이 발생할 수 있다.
이 단점을 보완하기 위해 Leaky ReLU가 제안되었다. Leaky ReLU는 입력이 음수일 때 매우 작은 기울기(예: 0.01)를 부여하여 f(x) = max(αx, x) 형태를 가진다. 이를 통해 음수 영역에서도 정보가 소실되지 않도록 한다. Parametric ReLU(PReLU)는 이 음수 영역의 기울기 α를 학습 가능한 매개변수로 만든 변종이다.
보다 복잡한 ReLU 계열 함수로는 ELU(Exponential Linear Unit)이 있다. ELU는 음수 입력을 지수 함수를 이용해 매끄럽게 처리하며, 출력 평균을 0에 가깝게 만들어 경사 하강법의 수렴 속도를 개선한다. 수식은 x > 0일 때 x, x ≤ 0일 때 α(exp(x)-1)이다. SELU(Scaled Exponential Linear Unit)는 ELU에 특정 스케일링 파라미터를 곱한 형태로, 심층 신경망이 자기 정규화 특성을 갖도록 설계되었다.
최근 트랜스포머 모델 등에서 널리 채택된 GELU(Gaussian Error Linear Unit)은 입력값을 확률적으로 변환한다. GELU는 입력 x에 누적 표준 정규 분포 함수 Φ(x)를 곱하는 방식(x * Φ(x))으로 동작하며, ReLU의 결정론적 게이팅을 확률적 게이팅으로 대체한다. 이는 BERT와 GPT를 비롯한 많은 최신 모델의 기본 활성화 함수로 사용된다.
함수명 | 수학적 표현 (x≤0 영역) | 주요 특징 |
|---|---|---|
ReLU | 0 | 계산 효율高, '죽은 뉴런' 문제 발생 가능 |
Leaky ReLU | αx (α는 작은 상수, 예: 0.01) | 음수 영역에서 작은 기울기 유지 |
ELU | α(exp(x)-1) | 출력 평균 ~0, 수렴 속도 개선 |
GELU | x * Φ(x) (Φ는 표준정규분포 CDF) | 확률적 게이팅, 트랜스포머 모델에서 흔함 |
4.1. ReLU 및 Leaky ReLU
4.1. ReLU 및 Leaky ReLU
ReLU(Rectified Linear Unit)는 입력값이 0보다 크면 그 값을 그대로 출력하고, 0 이하이면 0을 출력하는 함수이다. 수학적으로는 f(x) = max(0, x)로 표현된다. 이 간단한 구조는 양의 영역에서 기울기 소실 문제를 완화하며, 계산 효율성이 매우 높다는 장점을 가진다. 이러한 특성으로 인해 ReLU는 심층 합성곱 신경망과 다층 퍼셉트론에서 가장 널리 사용되는 활성화 함수가 되었다.
그러나 ReLU는 음의 입력에 대해 기울기가 0이 되는 "죽은 ReLU" 문제를 가지고 있다. 일부 뉴런이 음의 영역만을 출력하게 되면 가중치가 더 이상 업데이트되지 않아 네트워크의 일부가 비활성화될 수 있다. 이를 해결하기 위해 제안된 변형이 Leaky ReLU이다. Leaky ReLU는 입력값이 0보다 작을 때 매우 작은 기울기(예: 0.01)를 곱하여 출력한다. 수식은 f(x) = max(αx, x)로, 여기서 α는 일반적으로 0.01과 같은 작은 상수이다.
두 함수의 주요 특성은 다음 표로 비교할 수 있다.
특성 | ReLU | Leaky ReLU |
|---|---|---|
수학적 표현 | f(x) = max(0, x) | f(x) = max(αx, x) |
음수 영역 기울기 | 0 | α (작은 상수) |
"죽은 뉴런" 문제 | 있음 | 크게 완화됨 |
계산 복잡도 | 매우 낮음 | 매우 낮음 |
Leaky ReLU는 음수 영역에서도 약간의 기울기를 유지함으로써 죽은 뉴런 문제를 방지하고, 여전히 ReLU의 계산 효율성과 선형성의 이점을 대부분 유지한다. 실무에서는 ReLU가 여전히 가장 기본적인 선택지로 사용되지만, 심층 네트워크에서 그래디언트 흐름이 불안정할 경우 Leaky ReLU나 그 파생형을 시도하는 것이 일반적이다.
4.2. ELU, SELU, GELU
4.2. ELU, SELU, GELU
ReLU의 변형으로, 입력이 음수일 때도 작은 기울기를 가지거나 완만한 곡선 형태를 보이는 함수들이 개발되었다. 이들은 기울기 소실 문제를 완화하면서도 음수 영역에서의 정보 손실을 줄이기 위해 고안되었다.
ELU는 2015년에 제안된 함수로, 입력이 0 이상일 때는 항등 함수처럼 동작하지만 0 미만일 때는 지수 함수 형태를 취한다. 이로 인해 출력의 평균이 0에 가까워져 경사 하강법의 수렴 속도를 개선하는 효과가 있다. 수식은 다음과 같다.
입력 범위 | 함수 f(x) |
|---|---|
x ≥ 0 | x |
x < 0 | α(exp(x) - 1) |
여기서 α는 하이퍼파라미터로, 일반적으로 1.0으로 설정된다. ELU는 ReLU의 모든 장점을 유지하면서도 음수 영역에서 기울기가 0이 아니며, 출력이 -α에 점근한다는 특징이 있다.
SELU는 2017년에 소개된 함수로, ELU의 특수한 형태이다. 이 함수는 내부 공변량 이동을 줄이고 자기 정규화 특성을 유도하도록 설계되었다. SELU를 사용하고 특정 가중치 초기화(LeCun 정규 분포) 및 정규화 조건을 만족할 때, 네트워크의 각 층이 입력의 평균과 분산을 보존하는 경향이 나타난다. 이는 심층 신경망의 훈련 안정성을 높이는 데 기여한다.
GELU는 2016년 논문에서 소개되었으며, 특히 트랜스포머 모델과 BERT와 같은 자연어 처리 모델에서 널리 채택되었다. 이 함수는 입력에 확률적 규제를 적용하는 아이디어를 기반으로 한다. 수식은 GELU(x) = x * Φ(x)로 표현되며, 여기서 Φ(x)는 표준 정규 분포의 누적 분포 함수이다. 이는 입력 값이 클수록 더 많이 통과시키고, 작을수록 더 억제하는 비선형 변환을 제공한다. GELU는 ReLU나 ELU와 달리 매끄러운 곡선 형태를 가지며, 모든 구간에서 미분 가능하다.
5. 비선형 활성화 함수 (소프트맥스 및 기타)
5. 비선형 활성화 함수 (소프트맥스 및 기타)
소프트맥스 함수는 주로 다중 클래스 분류 문제의 출력층에서 사용되는 활성화 함수이다. 이 함수는 모든 출력 노드 값의 합이 1이 되도록 정규화하여, 각 클래스에 대한 예측 확률 분포를 생성한다. 수학적으로, 입력 벡터의 각 요소에 지수 함수를 적용한 후, 그 합으로 나누어 계산된다[6]. 이는 로지스틱 회귀를 다중 클래스로 일반화한 형태로 볼 수 있으며, 출력값을 직접 확률로 해석할 수 있다는 장점이 있다.
스위시 함수는 ReLU 함수의 매끄러운(smooth) 대안으로 제안되었다. 이 함수는 입력값에 시그모이드 함수를 곱하는 형태를 가지며, 입력이 음수일 때 완만한 출력값을 생성한다는 특징이 있다. 수식은 f(x) = x * sigmoid(x)로 표현된다. ReLU와 달리 모든 구간에서 미분 가능하며, '죽은 ReLU' 문제를 완화할 수 있어 깊은 신경망에서 유용하게 사용될 수 있다.
미쉬 함수는 스위시 함수와 유사하게 ReLU의 대체제로 개발된 비선형 함수이다. 이 함수는 f(x) = x * tanh(softplus(x))로 정의되며, 하이퍼볼릭 탄젠트와 소프트플러스 함수의 조합을 통해 입력값을 변환한다. 실험적으로 스위시나 ReLU보다 더 나은 성능을 보이는 경우가 있으며, 특히 객체 감지와 같은 컴퓨터 비전 작업에서 효과적인 것으로 보고되었다.
함수명 | 수학적 표현 | 주요 특징 | 일반적인 사용처 |
|---|---|---|---|
| 출력의 합이 1이 되는 확률 분포 생성 | 다중 클래스 분류의 출력층 | |
| 모든 점에서 미분 가능하며, 음수 영역에서 작은 기울기 유지 | 깊은 신경망의 은닉층 | |
| 스위시보다 복잡한 형태로, 더 나은 정보 흐름을 제공한다고 주장됨 | 컴퓨터 비전 모델의 은닉층 |
5.1. 소프트맥스 함수
5.1. 소프트맥스 함수
소프트맥스 함수는 주로 다중 클래스 분류 문제의 출력층에서 사용되는 활성화 함수이다. 이 함수는 여러 개의 뉴런으로부터 입력받은 실수 값을 확률 분포로 변환한다. 구체적으로, 각 뉴런의 출력값을 0과 1 사이의 값으로 정규화하며, 모든 출력값의 합이 1이 되도록 만든다. 이는 입력 데이터가 각 클래스에 속할 확률로 해석될 수 있게 한다.
수학적으로, K개의 클래스에 대해 i번째 뉴런의 출력은 다음과 같이 계산된다.
σ(z)_i = e^{z_i} / Σ_{j=1}^{K} e^{z_j}
여기서 z_i는 i번째 뉴런의 입력 가중합이며, 분모는 모든 입력 가중합의 지수 함수 값의 합이다. 이 연산은 모든 출력을 양수로 만들고 합을 1로 정규화하는 효과가 있다.
소프트맥스 함수의 주요 특징과 고려사항은 다음과 같다.
특징 | 설명 |
|---|---|
출력 범위 | 모든 출력값은 (0, 1) 사이이며, 총합은 1이다. |
주요 용도 | 다중 클래스 분류 모델의 마지막 층[7]. |
미분 가능성 | 모든 점에서 미분 가능하며, 이는 역전파 알고리즘 적용을 용이하게 한다. |
입력 민감도 | 큰 입력값에 대해 지수 함수의 특성상 출력 확률이 급격히 변할 수 있다. |
소프트맥스 함수는 출력을 확률로 제공하기 때문에, 분류 모델의 예측 결과 해석이 직관적이다. 또한, 교차 엔트로피 손실 함수와 함께 사용될 때 그래디언트 계산이 효율적이라는 장점이 있다. 그러나 지수 연산으로 인해 계산 비용이 상대적으로 높으며, 입력값이 매우 크거나 작을 경우 수치적 불안정성이 발생할 수 있다. 이를 완화하기 위해 입력값에서 최대값을 빼는 등의 수치 안정화 기법이 일반적으로 적용된다.
5.2. 스위시 및 미쉬 함수
5.2. 스위시 및 미쉬 함수
스위시 함수는 ReLU 함수의 매끄러운 근사로, 2017년 프라모드 라마찬드란 등에 의해 제안되었다. 이 함수는 입력값에 시그모이드 함수를 곱한 형태로 정의된다. 수학적으로 f(x) = x * σ(x)로 표현되며, 여기서 σ(x)는 시그모이드 함수이다. 이 정의는 f(x) = x / (1 + e^{-x})로 다시 쓸 수 있다. 스위시 함수는 입력이 음수일 때 완만한 음의 값을 출력하며, ReLU와 달리 모든 점에서 미분 가능하고 매끄럽다는 장점을 가진다. 이는 기울기 소실 문제를 완화하고 더 안정적인 경사 하강법 학습을 가능하게 한다.
미쉬 함수는 2019년 디가타 미쉬라에 의해 소개된 활성화 함수이다. 이 함수는 스위시 함수와 유사하지만 하이퍼볼릭 탄젠트 함수를 사용하여 정의된다. 구체적으로, f(x) = x * tanh(softplus(x))로 표현된다. 여기서 softplus(x)는 ln(1 + e^x)이다. 미쉬 함수는 스위시 함수보다 더 정교한 형태로, 입력값의 작은 변화에 대해 더 민감하게 반응할 수 있다. 실험적으로 심층 신경망에서 ReLU나 스위시 함수보다 우수한 성능을 보이는 경우가 보고되었다[8].
두 함수의 주요 특성은 다음과 같이 비교할 수 있다.
특성 | 스위시 함수 | 미쉬 함수 |
|---|---|---|
수학적 정의 | x * σ(x) | x * tanh(softplus(x)) |
미분 가능성 | 모든 점에서 무한히 미분 가능 | 모든 점에서 무한히 미분 가능 |
출력 범위 | 약 (-0.278, ∞) | 약 (-0.31, ∞) |
단조 증가 여부 | 비단조적 | 비단조적 |
주요 장점 | ReLU의 매끄러운 근사, 기울기 소실 완화 | 스위시보다 더 높은 정확도와 안정성 보고됨 |
이 함수들은 컴퓨터 비전과 자연어 처리를 포함한 다양한 심층 학습 작업에서 기존의 ReLU나 시그모이드를 대체하여 사용된다. 특히, 매우 깊은 네트워크나 정밀도가 요구되는 작업에서 그 유용성이 두드러진다.
6. 활성화 함수 선택 기준
6. 활성화 함수 선택 기준
활성화 함수 선택은 신경망의 구조, 학습 효율성, 최종 성능에 직접적인 영향을 미치는 핵심 설계 결정 사항이다. 선택 기준은 주로 해결하려는 문제의 유형, 네트워크의 깊이, 기울기 기반 최적화의 안정성 요구 사항에 따라 결정된다.
분류 문제의 출력층에서는 소프트맥스 함수가 다중 클래스 분류에, 시그모이드 함수가 이진 분류에 일반적으로 사용된다. 회귀 문제의 출력층에서는 주로 선형 활성화 함수나 항등 함수가 사용된다. 은닉층의 경우, 현대 심층 신경망에서는 ReLU 계열 함수가 사실상 표준으로 자리 잡았다. ReLU는 계산이 간단하고 양수 영역에서 기울기 소실 문제가 발생하지 않아 깊은 네트워크 학습에 유리하다. 그러나 '죽은 ReLU' 현상[9]을 완화하기 위해 음수 영역에서 작은 기울기를 허용하는 Leaky ReLU나 ELU가 대안으로 제시된다.
기울기 소실 및 폭주 문제는 심층 신경망 학습의 주요 장애물이며, 활성화 함수 선택은 이 문제를 완화하는 데 중요한 역할을 한다. 시그모이드나 하이퍼볼릭 탄젠트 같은 포화 함수는 입력값이 크거나 작을 때 기울기가 0에 가까워져 역전파 과정에서 기울기가 소실될 수 있다. 반면, ReLU는 양수 영역에서 기울기가 1로 일정해 기울기 소실 문제를 크게 완화한다. 그러나 가중치 초기화가 잘못되거나 학습률이 너무 높을 경우, ReLU는 기울기 폭주 문제를 유발할 수도 있다. 이러한 문제들을 종합적으로 고려하여 GELU나 SELU와 같이 더 정교한 비선형성을 갖춘 함수들이 특정 아키텍처에서 제안되어 사용된다.
문제 유형 / 네트워크 부분 | 권장 활성화 함수 | 주요 이유 |
|---|---|---|
이진 분류 (출력층) | 출력을 확률(0~1)로 해석 가능 | |
다중 클래스 분류 (출력층) | 출력을 다중 클래스 확률 분포로 해석 가능 | |
회귀 (출력층) | 항등 함수(선형) | 제한되지 않은 실수값 출력 |
일반적인 은닉층 | ReLU 또는 그 변형(Leaky ReLU, GELU) | 계산 효율성 높음, 기울기 소실 완화 |
매우 깊은 네트워크 | 더 부드러운 비선형성, 자기 정규화 특성[10] |
6.1. 문제 유형별 적합성
6.1. 문제 유형별 적합성
이진 분류 문제에서는 출력층에 시그모이드 함수를 사용하는 것이 일반적이다. 시그모이드 함수는 출력값을 0과 1 사이로 압축하여 단일 클래스에 대한 확률로 해석할 수 있게 한다. 다중 클래스 분류 문제에서는 소프트맥스 함수가 표준적으로 사용된다. 소프트맥스 함수는 모든 출력 노드의 값의 합이 1이 되도록 정규화하여 각 클래스에 대한 확률 분포를 제공한다.
회귀 분석 문제, 특히 출력값이 특정 범위에 제한되지 않는 경우에는 출력층에 활성화 함수를 사용하지 않거나 선형 함수(항등 함수)를 사용한다. 출력값이 0 이상인 회귀 문제(예: 주가 예측)에는 ReLU를 출력층에 적용하기도 한다. 값의 범위가 제한된 회귀 문제(예: -1에서 1 사이의 픽셀 값 예측)에는 하이퍼볼릭 탄젠트 함수를 고려할 수 있다.
은닉층의 경우, 대부분의 현대 심층 신경망은 ReLU나 그 변형(Leaky ReLU, ELU 등)을 기본 선택으로 삼는다. 이들은 기울기 소실 문제를 완화하고 계산 효율이 높기 때문이다. 매우 깊거나 복잡한 네트워크에서는 GELU나 SELU와 같은 발전된 함수가 더 나은 성능을 보일 수 있다. 순환 신경망의 은닉층에는 전통적으로 시그모이드나 하이퍼볼릭 탄젠트가 사용되었으나, 최근에는 ReLU 계열 함수도 적용된다.
문제 유형 | 출력층 권장 함수 | 주된 이유 |
|---|---|---|
이진 분류 | 출력을 단일 확률값(0~1)으로 해석 가능 | |
다중 클래스 분류 | 출력을 다중 클래스 확률 분포로 해석 가능 | |
제한 없는 회귀 | 선형 함수(항등) | 출력값의 범위를 제한하지 않음 |
순환 신경망(RNN) 은닉층 | 하이퍼볼릭 탄젠트 / ReLU | 역사적 사용 또는 기울기 소실 완화 |
문제의 복잡성과 데이터의 특성에 따라 최적의 활성화 함수는 달라질 수 있다. 실험을 통해 여러 함수를 평가하는 것이 바람직하다.
6.2. 기울기 소실 및 폭주 문제
6.2. 기울기 소실 및 폭주 문제
기울기 소실 문제는 역전파 알고리즘을 통해 신경망을 학습시킬 때, 오차를 계산하여 네트워크의 앞쪽 레이어로 갈수록 기울기 값이 지나치게 작아져 가중치가 효과적으로 갱신되지 않는 현상을 말한다. 이는 주로 시그모이드 함수나 하이퍼볼릭 탄젠트 함수와 같이 출력값이 포화되는 구간을 가진 활성화 함수의 도함수 값이 매우 작아지기 때문에 발생한다. 예를 들어, 시그모이드 함수의 도함수 최댓값은 0.25이며, 입력값이 크거나 작을수록 0에 가까워진다. 여러 층을 통과하며 이 작은 값들이 반복적으로 곱해지면, 최종 기울기는 거의 0에 수렴하게 되어 학습이 사실상 중단된다.
반대로 기울기 폭주 문제는 기울기 값이 지나치게 커져서 가중치 업데이트가 불안정해지고 발산하는 현상을 의미한다. 이는 주로 깊은 네트워크에서 큰 기울기 값이 여러 층을 거치며 누적되어 발생하며, 특히 순환 신경망에서 자주 관찰된다. 기울기 폭주가 발생하면 가중치 값이 급격히 증가하여 수치적 불안정성을 초래하고, 학습이 수렴하지 못하게 만든다.
이러한 문제들을 완화하기 위해 다양한 활성화 함수가 개발되었다. ReLU 함수는 양의 입력에 대해 도함수가 항상 1이므로, 깊은 네트워크에서도 기울기 소실 문제를 크게 경감시킨다. 그러나 ReLU는 음의 입력에 대해 기울기가 0이 되어 일부 뉴런이 '죽는' 현상을 초래할 수 있다. 이를 보완하기 위해 음의 영역에서 작은 기울기를 허용하는 Leaky ReLU나 ELU 함수가 제안되었다. 또한, GELU나 스위시 함수와 같은 새로운 함수들은 더 부드러운 비선형성을 제공하면서도 기울기 흐름을 개선하는 것을 목표로 한다.
활성화 함수 선택 외에도, 배치 정규화를 적용하거나, 신중한 가중치 초기화 전략(예: He 초기화, Xavier 초기화)을 사용하며, 잔차 연결을 도입하는 것도 기울기 소실 및 폭주 문제를 해결하는 데 기여한다.
7. 활성화 함수의 수학적 특성
7. 활성화 함수의 수학적 특성
활성화 함수의 수학적 특성은 신경망의 학습 안정성, 수렴 속도, 표현 능력에 직접적인 영향을 미친다. 주요 특성으로는 미분 가능성, 연속성, 출력 범위, 대칭성 등이 있다.
대부분의 현대 활성화 함수는 연속 함수이며, 최소한 부분적으로 미분 가능하다. 이는 역전파 알고리즘을 통해 기울기를 계산할 수 있는 전제 조건이다. 예를 들어, ReLU 함수는 입력이 0인 지점에서 미분계수가 정의되지 않지만, 실무에서는 편미분값을 0 또는 1로 정의하여 사용한다. 반면, 시그모이드나 하이퍼볼릭 탄젠트 함수는 모든 실수 구간에서 매끄럽게 미분 가능하다.
출력 범위와 대칭성은 학습 효율성과 관련이 깊다. 함수의 출력 범위가 대칭적이고 평균이 0에 가까울수록, 기울기가 한쪽으로 치우치지 않고 효율적으로 전파된다는 장점이 있다. 다음 표는 주요 함수들의 수학적 특성을 비교한다.
함수 | 미분 가능성 | 출력 범위 | 출력 평균(근사) | 비선형성 |
|---|---|---|---|---|
전 구간 | (-∞, +∞) | 0 | 없음(선형) | |
전 구간 | (0, 1) | 0.5 | 있음 | |
전 구간 | (-1, +1) | 0 | 있음 | |
x>0 구간 | [0, +∞) | >0 | 있음 | |
x≠0 구간 | (-∞, +∞) | ≈0 | 있음 |
이러한 특성은 구체적인 문제에 맞는 함수 선택의 근거가 된다. 예를 들어, 출력층에서 확률을 출력해야 할 경우 (0,1) 범위의 시그모이드나 소프트맥스 함수가 적합하다. 은닉층에서는 기울기 소실 문제를 완화하고 빠른 수렴을 위해 평균이 0에 가까운 tanh나 GELU 같은 함수가 선호되는 경향이 있다.
7.1. 미분 가능성과 연속성
7.1. 미분 가능성과 연속성
대부분의 활성화 함수는 신경망의 역전파 알고리즘을 적용하기 위해 미분 가능해야 한다. 역전파는 손실 함수의 기울기를 계산하여 각 가중치를 업데이트하는 과정으로, 이때 연쇄 법칙을 사용하기 위해 각 활성화 함수의 도함수가 필요하다. 따라서 함수가 연속적이고, 최소한 입력의 대부분 구간에서 미분 가능한 것이 일반적인 요구사항이다.
하지만 모든 점에서 완벽하게 미분 가능할 필요는 없다. 대표적인 예가 ReLU 함수이다. ReLU는 입력이 0인 지점에서 미분 불가능하지만, 실제 구현에서는 편미분값을 0 또는 1과 같이 특정한 값으로 정의하여 사용한다[11]. 이는 함수가 거의 모든 곳에서 미분 가능하고, 연속적이기 때문에 가능한 접근 방식이다. Leaky ReLU나 ELU와 같은 변형 함수들은 0에서도 미분 가능하도록 설계되어 이 문제를 완화한다.
함수 유형 | 대표 예시 | 연속성 | 미분 가능성 (주요 구간) | 비고 |
|---|---|---|---|---|
선형 함수 | 항등 함수 | 전 구간 연속 | 전 구간 미분 가능 | |
S자형 함수 | 전 구간 연속 | 전 구간 미분 가능 | ||
ReLU 계열 | ReLU | 전 구간 연속 | x > 0, x < 0 구간에서 미분 가능 (x=0 제외) | x=0에서 부미분 사용 |
ReLU 계열 변형 | Leaky ReLU, ELU, 스위시 | 전 구간 연속 | 전 구간 미분 가능 또는 개선됨 | |
계단 함수 | 헤비사이드 함수 | x=0에서 불연속 | 미분 불가능 | 현대 심층 학습에서는 거의 사용되지 않음 |
연속성은 미분 가능성의 필요 조건이다. 초기 퍼셉트론에서 사용되던 계단 함수는 출력이 0 또는 1로 불연속적으로 변하기 때문에 미분이 불가능하여 역전파 알고리즘을 적용할 수 없다. 이는 심층 신경망 발전의 주요 장애물 중 하나였다. 이후 연속적이며 미분 가능한 시그모이드 함수 등의 도입은 다층 신경망의 성공적인 학습을 가능하게 하는 핵심 계기가 되었다.
7.2. 출력 범위와 대칭성
7.2. 출력 범위와 대칭성
활성화 함수의 출력 범위는 함수가 생성할 수 있는 값의 집합을 의미한다. 이 범위는 신경망의 학습 안정성과 출력층의 해석에 직접적인 영향을 미친다. 예를 들어, 시그모이드 함수의 출력 범위는 (0, 1)로 제한되어 확률값으로 해석하기에 적합하다. 반면, 하이퍼볼릭 탄젠트 함수의 출력 범위는 (-1, 1)로, 데이터를 평균 0 주위로 중심화하는 데 유리하다. ReLU 계열 함수의 출력 범위는 일반적으로 [0, ∞)와 같이 하한만 존재하는 경우가 많다.
대칭성은 활성화 함수의 출력 분포가 원점을 기준으로 대칭인지를 나타내는 특성이다. 출력이 원점 대칭인 함수(예: tanh)를 사용하면 일반적으로 학습 초기의 수렴 속도가 더 빠르다고 알려져 있다[12]. 이는 입력 데이터의 평균이 0 근처로 조정되었을 때, 역전파 과정에서의 기울기 분포가 더 균형 잡히기 때문이다. 비대칭 함수(예: 시그모이드, ReLU)는 출력이 항상 양수 또는 특정 구간에 편향되어 있어, 층을 거듭할수록 출력의 평균이 이동할 수 있다.
다양한 출력 범위와 대칭성 특성은 다음과 같이 정리할 수 있다.
함수 | 출력 범위 | 대칭성 (원점 기준) | 주요 영향 |
|---|---|---|---|
(-∞, ∞) | 예 | 선형 변환만 수행 | |
(0, 1) | 아니오 | 출력이 양수로 편향됨 | |
(-1, 1) | 예 | 출력이 0 중심으로 분포 | |
[0, ∞) | 아니오 | 출력이 양수로 편향, 희소성 유도 | |
(-∞, ∞) | 아니오 | 음수 영역에서 작은 기울기 허용 |
따라서, 은닉층에서는 학습 효율을 위해 tanh나 출력 범위가 조정된 SELU와 같은 함수를, 이진 분류의 출력층에서는 시그모이드를, 다중 클래스 분류의 출력층에서는 소프트맥스 함수를 선택하는 등, 문제의 요구사항에 따라 출력 범위와 대칭성을 고려하여 함수를 선택한다.
8. 활성화 함수의 역사와 발전
8. 활성화 함수의 역사와 발전
인공신경망과 활성화 함수의 역사는 1940년대로 거슬러 올라간다. 1943년, 워렌 매컬록과 월터 피츠는 생물학적 뉴런을 모방한 수학적 모델인 MP 뉴런을 제안했다. 이 모델은 계단 함수를 활성화 함수로 사용하여 이진 출력을 생성했으며, 이는 최초의 인공 뉴런 모델로 간주된다.
1958년, 프랭크 로젠블랫이 개발한 퍼셉트론은 계단 함수를 사용한 학습 알고리즘으로 주목을 받았다. 그러나 1969년 마빈 민스키와 시모어 페이퍼트가 퍼셉트론의 한계, 특히 XOR 문제를 해결할 수 없음을 지적하면서 연구는 침체기를 맞았다. 이 시기의 활성화 함수는 주로 선형 함수나 계단 함수에 국한되었다.
1980년대 역전파 알고리즘의 재발견과 함께 연구가 부활했다. 이 알고리즘은 네트워크를 효과적으로 학습시키기 위해 미분 가능한 활성화 함수를 필요로 했다. 이에 따라 시그모이드 함수와 하이퍼볼릭 탄젠트 함수 같은 S자형 함수가 널리 채택되었다. 이 함수들은 로지스틱 회귀에서 유래했으며, 부드러운 기울기를 제공했지만, 깊은 네트워크에서 기울기 소실 문제를 야기하는 주요 원인이 되기도 했다.
2000년대 후반과 2010년대에 이르러 혁신적인 변화가 일어났다. 2011년, 제프리 힌튼의 연구팀은 제한된 볼츠만 머신의 사전 학습과 함께 ReLU 함수의 효과를 보여주었다. ReLU는 2010년대 초반 합성곱 신경망의 성공과 함께 빠르게 주류가 되었는데, 그 이유는 계산이 간단하고 기울기 소실 문제를 완화하는 데 효과적이었기 때문이다. 이후 ReLU의 단점을 보완한 변형들, 예를 들어 Leaky ReLU, ELU, SELU 등이 등장했다.
최근 발전은 더욱 정교한 함수로 이어지고 있다. 2016년 제안된 GELU 함수는 ReLU의 결정론적 특성에 확률적 요소를 더해, 특히 트랜스포머 모델 구조에서 널리 사용된다. 또한 스위시 함수(2017년)나 미쉬 함수(2019년)와 같이 ReLU보다 더 복잡하고 부드러운 특성을 가진 새로운 함수들이 계속해서 연구되고 있다. 활성화 함수의 역사는 단순한 계단 함수에서 시작하여, 신경망의 깊이와 복잡성이 증가함에 따라 이를 효과적으로 학습시키기 위한 지속적인 최적화의 과정으로 요약할 수 있다.
