이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.12 06:28
인공 신경망과 딥러닝 모델에서, 활성화 함수는 한 뉴런의 총 입력 신호를 출력 신호로 변환하는 비선형 함수이다. 이 함수는 각 계층의 출력에 비선형성을 부여하여, 네트워크가 선형 변환만으로는 학습할 수 없는 복잡한 패턴과 함수를 근사할 수 있게 만드는 핵심 구성 요소이다.
활성화 함수가 없으면, 다층 신경망은 아무리 많은 계층을 쌓아도 결국 단일 선형 변환의 효과밖에 내지 못한다. 따라서 심층 신경망의 표현력을 결정하는 가장 중요한 요소 중 하나로 간주된다. 역사적으로 계단 함수에서 시작해 시그모이드 함수, 하이퍼볼릭 탄젠트, ReLU를 거쳐 다양한 변형들이 개발되었다.
활성화 함수의 선택은 모델의 학습 속도, 수렴 안정성, 그리고 최종 성능에 직접적인 영향을 미친다. 예를 들어, 기울기 소실 문제를 완화하기 위해 ReLU 계열 함수가 널리 사용되며, 출력층의 경우 예측하려는 값의 범위(예: 이진 분류, 다중 클래스 분류, 회귀)에 따라 다른 함수가 사용된다.
인공 신경망에서 활성화 함수는 각 뉴런의 총 입력을 받아 최종 출력을 결정하는 비선형 변환 함수이다. 이 함수가 없다면, 다층 신경망은 아무리 많은 층을 쌓아도 단일 선형 변환의 반복에 불과해 복잡한 패턴을 학습할 수 없다[1].
활성화 함수의 핵심 역할은 비선형성을 도입하는 것이다. 이 비선형성 덕분에 신경망은 선형 분리 불가능한 복잡한 데이터의 관계를 모델링하고, 보편 근사 정리가 보장하는 것처럼 이론상 임의의 연속 함수를 근사할 수 있는 능력을 갖게 된다. 또한, 함수의 출력 범위를 제한하거나 특정 형태로 조정함으로써 신경망의 학습 안정성과 수렴 속도에 직접적인 영향을 미친다.
활성화 함수의 선택은 신경망의 학습 성능에 매우 중요하다. 부적절한 함수는 기울기 소실 문제나 기울기 폭발 문제를 일으켜 학습을 방해하거나, 뉴런의 출력이 포화되어 가중치 업데이트가 멈추는 죽은 뉴런 현상을 초래할 수 있다. 따라서 네트워크의 깊이, 문제의 유형(예: 회귀 또는 분류), 계산 효율성 등을 고려하여 적절한 활성화 함수를 선택하는 것이 필수적이다.
활성화 함수는 그 특성에 따라 여러 계열로 분류된다. 각 계열은 고유한 수학적 형태, 장단점, 그리고 적합한 응용 분야를 가진다.
이 계열의 함수는 출력값을 0과 1 사이 또는 -1과 1 사이의 범위로 압축하는 S자 곡선 형태를 가진다. 대표적인 함수로는 로지스틱 시그모이드와 하이퍼볼릭 탄젠트(tanh)가 있다. 로지스틱 시그모이드는 입력을 (0, 1) 범위로 매핑하는 반면, 하이퍼볼릭 탄젠트는 (-1, 1) 범위로 매핑한다. 이들은 역사적으로 신경망의 출력층에서 확률을 표현하거나 은닉층에서 비선형 변환을 제공하는 데 널리 사용되었다. 그러나 입력값의 절대값이 클수록 기울기가 0에 가까워지는 기울기 소실 문제가 발생하기 쉽고, 지수 함수 연산으로 인해 계산 비용이 상대적으로 높다는 단점이 있다.
ReLU(Rectified Linear Unit) 계열은 현재 가장 보편적으로 사용되는 활성화 함수군이다. 기본 ReLU는 입력이 0보다 크면 입력값을 그대로, 0 이하이면 0을 출력하는 간단한 함수이다. 이는 양수 영역에서 기울기 소실이 발생하지 않고, 계산이 매우 효율적이라는 장점이 있다. 그러나 음수 입력에 대해 항상 0을 출력하여 일부 뉴런이 '죽는' Dying ReLU 문제를 야기할 수 있다. 이를 보완하기 위해 음수 영역에 작은 기울기를 부여하는 Leaky ReLU, 파라미터화된 기울기를 학습하는 Parametric ReLU(PReLU), 입력값의 평균을 빼주는 ELU 등 다양한 변형이 개발되었다.
하이퍼볼릭 탄젠트(tanh)는 시그모이드 계열에 속하지만, 그 출력 범위가 0을 중심으로 대칭이어서 은닉층에서 시그모이드보다 종종 더 나은 성능을 보인다. Softmax 함수는 다중 클래스 분류 문제의 출력층에서 주로 사용되며, 모든 출력값의 합이 1이 되도록 하여 각 클래스에 대한 확률 분포를 생성한다. Swish 함수나 GELU(Gaussian Error Linear Unit)와 같은 최신 함수들은 ReLU의 단순함과 시그모이드의 매끄러운 특성을 결합하려는 시도에서 등장했다. 예를 들어, GELU는 입력값에 누적 정규분포 함수를 곱하는 방식으로 트랜스포머 모델에서 널리 채택되었다.
다양한 활성화 함수의 특성을 비교하면 다음과 같다.
함수 이름 | 수식 (개략) | 출력 범위 | 주요 특징 |
|---|---|---|---|
로지스틱 시그모이드 | f(x) = 1 / (1 + e^{-x}) | (0, 1) | 기울기 소실 문제가 두드러짐 |
하이퍼볼릭 탄젠트 (tanh) | f(x) = (e^x - e^{-x}) / (e^x + e^{-x}) | (-1, 1) | 출력이 0 중심으로 대칭 |
ReLU | f(x) = max(0, x) | [0, ∞) | 계산 효율적, Dying ReLU 문제 가능성 |
Leaky ReLU | f(x) = max(αx, x) (α는 작은 상수) | (-∞, ∞) | 음수 영역에 작은 기울기를 부여 |
Softmax | f(x_i) = e^{x_i} / Σ_j e^{x_j} | (0, 1), 합=1 | 다중 클래스 출력층 전용 |
GELU | x * Φ(x) (Φ는 표준정규분포 CDF) | (-∞, ∞) | 트랜스포머 모델에서 흔히 사용 |
시그모이드 계열 함수는 출력값을 0과 1 사이로 압축하는 S자 형태의 곡선을 특징으로 한다. 이 계열의 가장 대표적인 함수는 로지스틱 함수이며, 수식은 σ(x) = 1 / (1 + e^{-x})로 표현된다. 이 함수는 입력값이 매우 크거나 작아도 출력이 포화되어 기울기가 0에 가까워지는 특성을 보인다. 역사적으로 신경망의 은닉층과 출력층에서 널리 사용되었으나, 특히 깊은 네트워크에서 기울기 소실 문제를 야기하는 주요 원인으로 지적되었다[2].
주요 변형으로는 하이퍼볼릭 탄젠트(tanh) 함수가 있으며, 이는 출력 범위를 -1에서 1 사이로 조정한다. tanh 함수는 입력을 0 중심으로 조정하기 때문에 로지스틱 함수보다 학습 수렴 속도가 빠른 경우가 많다. 그러나 여전히 포화 영역에서의 기울기 소실 문제는 남아 있다. 소프트맥스 함수도 시그모이드 함수의 다변량 일반화로 간주되며, 주로 다중 클래스 분류 문제의 출력층에서 사용되어 각 클래스에 대한 확률 분포를 생성한다.
함수 이름 | 수식 | 출력 범위 | 주요 특징 |
|---|---|---|---|
로지스틱 시그모이드 | σ(x) = 1 / (1 + e^{-x}) | (0, 1) | 이진 분류 출력층에 적합, 기울기 소실 문제 있음 |
하이퍼볼릭 탄젠트 | tanh(x) = (e^{x} - e^{-x}) / (e^{x} + e^{-x}) | (-1, 1) | 출력이 0 중심, 로지스틱보다 학습 안정성 우수 |
소프트맥스 | σ(z)_i = e^{z_i} / Σ_{j} e^{z_j} | (0, 1), 합이 1 | 다중 클래스 분류 출력층 전용, 확률 해석 가능 |
현대의 심층 신경망에서는 은닉층에서 ReLU 계열 함수에 주로 자리를 내주었지만, 시그모이드 함수는 이진 분류 모델의 출력층이나 게이트 메커니즘을 갖는 순환 신경망(RNN), LSTM의 게이트 제어 등 특정 영역에서 여전히 중요한 역할을 한다.
ReLU는 입력값이 0보다 크면 그 값을 그대로 출력하고, 0 이하이면 0을 출력하는 함수이다. 수식으로는 f(x) = max(0, x)로 표현된다. 이 간단한 형태는 양의 영역에서 기울기 소실 문제를 완화하고, 계산이 매우 효율적이라는 장점을 가진다. 이러한 특성으로 인해 ReLU는 현대 심층 신경망의 은닉층에서 가장 널리 사용되는 활성화 함수가 되었다.
그러나 ReLU는 음수 입력에 대해 항상 0의 기울기를 가지는 '죽은 ReLU' 문제를 야기할 수 있다. 한 번 0의 기울기를 가지는 뉴런은 다시 활성화되기 어려워 학습이 멈출 수 있다. 이를 보완하기 위해 여러 변형 함수가 개발되었다. Leaky ReLU는 음수 영역에 작은 기울기(예: 0.01)를 부여하여 뉴런이 완전히 죽는 것을 방지한다. Parametric ReLU는 이 음수 영역의 기울기를 학습 가능한 매개변수로 만들어 모델이 데이터에 맞춰 최적의 기울기를 찾도록 한다.
더 복잡한 형태로는 입력값의 평균과 분산을 정규화하는 효과를 추가한 ELU 함수가 있다. ELU는 음수 영역에서도 -1에 수렴하는 부드러운 곡선을 가지며, 이는 학습 안정성을 높이는 데 기여한다. SELU는 ELU의 특수한 형태로, 특정 조건 하에서 네트워크의 각 층이 입력의 평균과 분산을 보존하도록 설계되어 심층 네트워크에서 자기 정규화 특성을 나타낸다.
함수명 | 수식 (x >= 0) | 수식 (x < 0) | 주요 특징 |
|---|---|---|---|
ReLU | x | 0 | 계산 효율적, 기울기 소실 완화 |
Leaky ReLU | x | αx (α는 작은 상수, 예: 0.01) | '죽은 뉴런' 문제 완화 |
PReLU | x | αx (α는 학습 가능한 매개변수) | 음수 영역 기울기를 데이터로부터 학습 |
ELU | x | α(exp(x)-1) | 음수 영역에서 평균 출력을 0에 가깝게 함 |
SELU | λx (λ≈1.05) | λα(exp(x)-1) | 자기 정규화 특성[3], 심층 네트워크에 유리 |
이러한 ReLU 계열 함수들은 기본 ReLU의 한계를 극복하면서도 비선형성과 계산 효율성이라는 핵심 장점을 유지한다. 문제의 복잡성, 네트워크의 깊이, 계산 자원 등을 고려하여 적절한 변형 함수를 선택하는 것이 일반적이다.
탄젠트 계열 함수는 시그모이드 함수와 유사한 S자 형태의 곡선을 가지지만, 출력값의 범위가 (-1, 1)로 중심이 0에 위치한다는 특징이 있다. 이 계열의 대표주자는 하이퍼볼릭 탄젠트(tanh) 함수이다. tanh 함수는 입력값을 받아 -1과 1 사이의 값으로 비선형 변환을 수행하며, 그 수식은 (e^x - e^{-x}) / (e^x + e^{-x})이다. 출력이 0을 중심으로 대칭이기 때문에, 데이터의 평균이 0 근처에 분포하도록 만들어 기울기 소실 문제를 시그모이드보다 완화하는 효과가 있다[4].
그러나 tanh 함수도 입력의 절댓값이 커지면 기울기가 0에 수렴하는 포화 영역을 가지기 때문에, 깊은 신경망에서는 여전히 기울기 소실 문제가 발생할 수 있다. 이 문제를 보완하기 위해 변형된 함수들이 제안되었다. 예를 들어, 스케일드 엑스포넨셜 선형 유닛(SELU)은 tanh와 유사한 형태를 가지면서도 내부 정규화 특성을 통해 매우 깊은 네트워크에서도 안정적인 학습을 가능하게 설계되었다. 또한, 하드 탄젠트(Hard Tanh) 함수는 선형 구간을 도입하여 계산을 단순화한 버전이다.
다음은 주요 탄젠트 계열 함수의 특성을 비교한 표이다.
함수 이름 | 수식 (간략) | 출력 범위 | 주요 특징 |
|---|---|---|---|
tanh | (e^x - e^{-x}) / (e^x + e^{-x}) | (-1, 1) | 0 중심 출력, 시그모이드보다 나은 기울기 흐름 |
Hard Tanh | max(-1, min(1, x)) | [-1, 1] | 선형 구간 도입, 계산 효율적 |
SELU | λ * { x (if x>0), α(e^x -1) (if x≤0) } | (-λα, ∞) | 자기 정규화 특성, 깊은 네트워크에 적합 |
이 계열의 함수들은 주로 순환 신경망(RNN)이나 장단기 메모리(LSTM)와 같은 구조의 은닉층에서 역사적으로 많이 사용되었으나, 현재는 ReLU 계열 함수에 비해 상대적으로 덜 사용되는 경향이 있다.
ReLU 계열 함수의 성공 이후에도 다양한 문제를 해결하고 성능을 개선하기 위한 여러 새로운 활성화 함수가 제안되었다. 이들은 주로 ReLU의 단점을 보완하거나 특정 아키텍처에 최적화된 형태를 가진다.
대표적인 함수로는 Leaky ReLU와 그 변형인 Parametric ReLU(PReLU)가 있다. Leaky ReLU는 입력값이 음수일 때 완만한 기울기(예: 0.01)를 부여하여 '죽은 ReLU' 문제를 완화한다. PReLU는 이 음수 영역의 기울기를 학습 가능한 매개변수로 만들어 모델이 데이터에 맞춰 최적의 기울기를 찾도록 한다. Exponential Linear Unit(ELU)는 음수 입력을 지수 함수를 이용해 매끄럽게 처리하여 평균 출력을 0에 가깝게 만드는 장점이 있다. Scaled Exponential Linear Unit(SELU)는 특정 조건 하에서 네트워크가 자기 정규화(self-normalizing) 특성을 가지도록 설계되어 심층 신경망의 안정적인 학습을 돕는다.
최근 연구 동향은 계산 효율성을 유지하면서 표현력을 극대화하는 방향으로 나아간다. Swish 함수는 구글 브레인 팀이 제안한 함수로, 입력값에 시그모이드를 곱한 형태를 가진다. 이 함수는 ReLU보다 부드러운 곡선을 가지며, 실험적으로 다양한 작업에서 우수한 성능을 보인다. GELU(Gaussian Error Linear Unit)는 변환기(Transformer) 모델에서 널리 채택된 함수이다. 입력값을 정규 분포의 누적 분포 함수로 스케일링하는 방식을 사용하며, BERT와 GPT와 같은 대규모 언어 모델의 기본 활성화 함수로 자리 잡았다. 이 외에도 Mish와 같은 함수는 Swish와 유사하지만 더 부드러운 특성을 가지는 등, 실험적 검증을 통해 새로운 함수들이 계속 등장하고 있다.
활성화 함수의 핵심적인 수학적 특성은 비선형성, 미분 가능성, 그리고 출력 범위로 요약된다. 이러한 특성은 신경망이 복잡한 함수를 근사하고 효과적으로 학습할 수 있게 하는 기반을 제공한다.
첫째, 비선형성은 가장 중요한 특성이다. 선형 변환만으로 구성된 다층 신경망은 결국 하나의 큰 선형 변환으로 축소될 수 있어, 단일층 퍼셉트론과 동등한 표현력을 가진다. 활성화 함수가 비선형성을 도입함으로써, 층을 깊게 쌓을수록 네트워크는 훨씬 더 복잡한 결정 경계와 함수 관계를 모델링할 수 있게 된다. 이는 보편 근사 정리가 이론적으로 뒷받침하는 바이다.
둘째, 미분 가능성과 기울기 특성은 학습 과정인 역전파 알고리즘과 직접적으로 연관된다. 역전파는 손실 함수의 기울기를 계산하기 위해 각 층의 활성화 함수의 도함수(미분)를 필요로 한다. 따라서 함수가 (적어도 거의 모든 곳에서) 미분 가능해야 한다. 또한, 도함수의 값이 너무 작으면(예: 시그모이드 함수의 양 끝단) 기울기가 사라지는 기울기 소실 문제를 야기할 수 있으며, 반대로 너무 크면 기울기 폭발 문제를 일으킬 수 있다. ReLU 함수가 널리 사용되는 이유 중 하나는 양의 영역에서 도함수가 항상 1이라는 간단하고 안정적인 기울기 특성을 가지기 때문이다.
출력 범위는 네트워크의 활성화 값의 스케일을 결정하며, 이는 다음 층으로의 입력 분포에 영향을 미친다. 예를 들어, 시그모이드 함수의 출력 범위는 (0, 1)이며, 하이퍼볼릭 탄젠트(tanh) 함수는 (-1, 1)이다. 제한된 출력 범위는 때로 기울기 소실을 악화시킬 수 있지만, 특정 문제(예: 확률을 출력해야 하는 경우)에는 유리하게 작용한다. 반면, ReLU 계열 함수의 출력 상한은 제한되지 않아, 적절한 가중치 초기화와 배치 정규화 기법과 함께 사용되지 않으면 활성화 값이 폭주할 수 있다.
활성화 함수의 핵심 역할은 인공신경망에 비선형성을 부여하는 것이다. 선형 함수만으로 구성된 신경망은 아무리 많은 층을 쌓아도 결국 하나의 선형 변환으로 표현될 수 있다. 이는 단일층 퍼셉트론과 동등한 표현력을 가지게 되어 복잡한 패턴을 학습하는 딥러닝의 장점을 완전히 상실하게 만든다.
활성화 함수가 도입된 비선형 변환은 신경망이 계층을 거치면서 데이터를 점점 더 복잡하고 추상적인 형태로 변형할 수 있게 한다. 이를 통해 신경망은 선형적으로 분리할 수 없는 복잡한 결정 경계를 모델링하고, 이미지, 음성, 텍스트와 같은 고차원 데이터의 숨겨진 패턴과 관계를 학습할 수 있다. 보편적 근사 정리는 하나의 은닉층과 비선형 활성화 함수를 가진 신경망이 충분한 뉴런 수로 거의 모든 연속 함수를 근사할 수 있음을 보장하는데, 이 정리의 성립 조건에 비선형성이 필수적이다.
비선형성의 정도와 형태는 함수마다 다르다. 예를 들어, ReLU 함수는 입력이 0보다 클 때는 선형성을 유지하지만, 0 이하에서는 출력을 0으로 만들어 비선형성을 생성한다. 시그모이드나 하이퍼볼릭 탄젠트 함수는 S자 형태의 곡선으로, 입력의 작은 변화에 대해 출력이 비선형적으로 반응한다. 이러한 다양한 비선형 변환은 네트워크가 계층별로 다른 수준의 특징을 추출하는 계층적 표현 학습을 가능하게 하는 기반이 된다.
활성화 함수의 미분 가능성은 역전파 알고리즘을 통해 신경망을 학습시키는 데 필수적인 조건이다. 역전파는 출력층에서 계산된 오차를 기울기(그래디언트) 형태로 네트워크를 거슬러 올라가며 가중치를 업데이트하는 과정으로, 이 과정에서 각 노드의 활성화 함수에 대한 도함수(미분값)가 필요하다. 따라서 활성화 함수는 학습이 일어나는 구간에서 미분 가능해야 한다.
활성화 함수의 도함수 형태는 기울기 소실 또는 기울기 폭발 문제와 직접적으로 연관된다. 예를 들어, 시그모이드 함수의 도함수 최댓값은 0.25에 불과하다. 여러 층을 거치며 이 작은 값이 반복적으로 곱해지면, 네트워크의 앞쪽 층으로 전파되는 기울기가 급격히 줄어들어 가중치가 효과적으로 업데이트되지 않는 기울기 소실 문제가 발생한다. 반대로 도함수 값이 지나치게 크면 기울기 폭발 문제가 발생할 수 있다.
이러한 문제를 완화하기 위해 도입된 ReLU 함수는 입력이 양수일 때 도함수가 1이라는 간단한 상수값을 가진다. 이는 곱셈 연산을 통한 기울기 감쇠를 막아 깊은 네트워크에서도 비교적 안정적인 기울기 흐름을 가능하게 한다. 그러나 ReLU는 입력이 0 미만일 때 미분값이 0이 되어 해당 뉴런이 다시 활성화되지 않는 죽은 ReLU 문제를 야기할 수 있다. 이를 보완한 Leaky ReLU나 ELU 등의 변형 함수들은 음수 영역에서도 매우 작은 기울기를 유지하여 이 문제를 완화한다.
일부 함수는 모든 점에서 완벽하게 미분 가능하지는 않지만, 실용적으로는 충분히 학습이 가능한 준미분 가능한 성질을 가진다. ReLU 함수의 x=0 지점이 대표적인 예로, 이 점에서는 좌미분값과 우미분값이 달라 수학적으로 미분 불가능하지만, 구현 상에서는 일반적으로 도함수를 0 또는 1로 정의하여 사용한다.
활성화 함수의 출력 범위는 함수가 생성할 수 있는 값의 집합을 의미합니다. 이 범위는 신경망의 학습 안정성, 수렴 속도, 그리고 출력층의 최종 결과 해석에 직접적인 영향을 미칩니다.
출력 범위는 크게 제한된 범위와 비제한적 범위로 구분됩니다. 시그모이드 함수의 출력 범위는 (0, 1)이며, 하이퍼볼릭 탄젠트(tanh) 함수의 범위는 (-1, 1)입니다. 이러한 제한된 범위는 특히 출력층에서 확률이나 정규화된 값을 표현해야 할 때 유리합니다. 예를 들어, 이진 분류 문제의 출력층에 시그모이드를 사용하면 출력 값을 0과 1 사이의 확률로 해석할 수 있습니다. 반면, ReLU 함수나 Leaky ReLU와 같은 함수의 출력 범위는 [0, ∞) 또는 (-∞, ∞)로 비제한적입니다. 이는 은닉층에서 표현력이 풍부해지고 기울기 소실 문제를 완화하는 데 기여하지만, 활성화 값이 과도하게 커지는 기울기 폭발 문제를 유발할 수도 있습니다.
함수의 출력 범위는 가중치 초기화 방법 및 학습률과 밀접한 관계가 있습니다. 출력이 제한된 함수를 사용할 경우, 신경망의 각 층을 통과할 때마다 신호의 크기가 일정 범위 내로 조절되어 학습이 안정적으로 진행될 가능성이 높습니다. 그러나 이로 인해 입력 신호의 평균이 0에서 멀어지면 기울기 소실 문제가 발생하기 쉬워집니다. 출력 범위가 비대칭적인 함수(예: 시그모이드, ReLU)를 사용할 때는, 다음 층으로 전달되는 데이터의 분포가 치우치는 현상을 방지하기 위해 배치 정규화 레이어를 함께 사용하는 것이 일반적입니다.
활성화 함수 선택은 신경망의 성능, 학습 속도, 안정성에 직접적인 영향을 미치는 핵심 설계 결정 사항이다. 선택 기준은 주로 해결하려는 문제의 유형, 네트워크의 깊이, 그리고 발생할 수 있는 학습 문제들에 기반한다.
문제 유형에 따라 출력층의 활성화 함수는 특정한 형태를 선택하는 것이 일반적이다. 이진 분류 문제에서는 출력값을 0과 1 사이의 확률로 해석할 수 있는 시그모이드 함수가 출력층에 자주 사용된다. 다중 클래스 분류 문제에서는 모든 출력 노드의 합이 1이 되도록 하는 소프트맥스 함수가 표준적으로 적용된다. 회귀 문제의 경우, 출력값에 제한이 없다면 선형 함수나 ReLU 계열 함수를 출력층에 사용하기도 한다.
은닉층에서는 기울기 소실 문제와 계산 효율성이 주요 고려 사항이다. 시그모이드 함수나 하이퍼볼릭 탄젠트 함수는 입력의 양극단에서 기울기가 0에 가까워져 깊은 네트워크에서 기울기 소실 문제를 유발할 수 있다. 이 문제를 완화하기 위해 현재 가장 널리 사용되는 것은 ReLU 계열 함수이다. ReLU는 양의 입력에 대해 선형성을 유지하여 기울기 소실을 줄이고, 계산이 매우 간단하여 학습 속도를 높인다. 그러나 음의 입력에 대해 0을 출력하는 '죽은 ReLU' 문제가 발생할 수 있어, 이를 보완한 Leaky ReLU, Parametric ReLU, ELU 등의 변형 함수들이 제안되었다.
선택 기준 | 고려 사항 | 주로 사용되는 함수 예시 |
|---|---|---|
문제 유형 (출력층) | 이진 분류, 다중 분류, 회귀 | |
기울기 문제 (은닉층) | 기울기 소실/폭발 방지 | |
계산 효율성 | 연산 속도와 구현 복잡도 | |
출력 범위 | 데이터의 특성 (예: 음수 허용) |
최근에는 Swish나 GELU와 같이 ReLU보다 더 부드러운 비선형성을 제공하며 성능이 우수한 함수들에 대한 연구가 진행되고 있다. 최적의 활성화 함수는 문제와 네트워크 구조에 따라 실험적으로 결정하는 것이 일반적이다.
분류 문제와 회귀 분석 문제는 출력층에서 서로 다른 활성화 함수를 필요로 한다. 이진 분류의 경우, 출력층의 뉴런은 0과 1 사이의 확률 값을 출력해야 하므로 시그모이드 함수가 일반적으로 사용된다. 다중 클래스 분류에서는 각 클래스에 대한 확률 분포를 출력하기 위해 소프트맥스 함수가 표준적으로 적용된다.
은닉층에서의 선택은 문제의 복잡성과 기울기 소실 문제에 대한 고려가 중요하다. 순전파 과정에서 비선형성을 도입하는 것이 주된 목적이다. ReLU 계열의 함수(Leaky ReLU, Parametric ReLU)는 기울기 소실 문제를 완화하고 계산이 효율적이어서 대부분의 심층 신경망의 은닉층에서 기본 선택으로 자리 잡았다.
문제 유형 | 권장 활성화 함수 (출력층) | 주요 이유 |
|---|---|---|
출력을 (0,1) 범위의 확률로 압축 | ||
출력을 다중 클래스 확률 분포로 정규화 | ||
항등 함수 (또는 출력 범위 조정) | 실수 값의 무제한 출력 가능 |
문제의 특수한 요구사항도 고려 대상이다. 출력 값이 특정 범위 내에 있어야 하는 경우, 예를 들어 이미지 픽셀 값 예측(0~255)에서는 시그모이드 함수를 스케일링하여 사용하거나, 하이퍼볼릭 탄젠트 함수를 사용할 수 있다. 강화 학습의 특정 알고리즘에서는 행동의 확률 분포를 다루기 위해 출력층에 소프트맥스를 사용하기도 한다[5].
기울기 소실 문제는 역전파 알고리즘을 통해 신경망을 학습할 때, 오차 그래디언트가 네트워크의 뒷층에서 앞층으로 전파되면서 점점 작아져 0에 가까워지는 현상을 말한다. 이로 인해 네트워크 앞부분의 가중치가 거의 갱신되지 않아 학습이 정체되거나 매우 느려진다. 반대로 기울기 폭발 문제는 그래디언트가 뒷층에서 앞층으로 전파되면서 기하급수적으로 커지는 현상으로, 가중치 갱신이 불안정해지고 발산하여 학습이 실패할 수 있다.
이러한 문제는 주로 활성화 함수의 도함수 특성과 깊은 네트워크 구조에서 연쇄적으로 곱해지는 그래디언트의 크기 때문에 발생한다. 예를 들어, 시그모이드 함수나 하이퍼볼릭 탄젠트 함수는 입력값이 크거나 작을 때 도함수의 값이 0에 매우 가까워진다. 이러한 작은 값들이 여러 층을 거쳐 반복적으로 곱해지면 전체 그래디언트가 급격히 줄어들어 기울기 소실이 일어난다. 반면, 가중치 초기값이 크거나 불안정할 경우 그래디언트가 층을 거칠수록 폭발적으로 증가할 수 있다.
기울기 소실 문제를 완화하기 위해 ReLU 계열의 함수가 널리 사용된다. ReLU는 양의 입력에 대해 도함수가 항상 1이므로, 그래디언트가 여러 층을 통과할 때 소실되지 않고 안정적으로 전파될 수 있다. 또한, 배치 정규화는 각 층의 입력 분포를 안정화시켜 그래디언트의 흐름을 개선하는 데 도움을 준다. 잔차 연결을 사용하는 ResNet과 같은 네트워크 구조는 그래디언트가 직접 앞쪽 층으로 우회할 수 있는 경로를 제공하여 깊은 네트워크에서의 학습을 가능하게 한다.
기울기 폭발 문제를 방지하기 위해서는 그래디언트 클리핑 기법이 자주 사용된다. 이는 그래디언트의 노름이 특정 임계값을 넘을 경우 크기를 조정하여 제한하는 방법이다. 적절한 가중치 초기화 전략(예: He 초기화, Xavier 초기화) 또한 각 층의 출력 분산을 유지하도록 설계되어 기울기 소실과 폭발을 모두 완화하는 데 기여한다.
활성화 함수의 계산 효율성은, 특히 대규모 딥러닝 모델을 학습시키거나 추론할 때 매우 중요한 고려 사항이다. 계산 효율성은 주로 함수의 수학적 형태가 얼마나 간단한지, 그리고 순전파와 역전파 과정에서 필요한 연산량이 얼마나 적은지에 따라 결정된다. 이는 학습 시간, 에너지 소비, 하드웨어 비용에 직접적인 영향을 미친다.
계산 비용이 가장 낮은 함수는 ReLU 계열이다. ReLU는 max(0, x)로 정의되며, 이는 단순한 비교와 곱셈 연산만으로 구현할 수 있다. 또한, 기울기 소실 문제를 완화하면서도 미분값이 0 또는 1로 매우 간단하여 역전파 계산이 빠르다. 이에 비해 시그모이드 함수나 하이퍼볼릭 탄젠트 함수는 지수 함수 계산을 포함하므로 ReLU에 비해 상대적으로 많은 계산 자원을 소모한다. 아래 표는 주요 활성화 함수의 계산 복잡성을 간략히 비교한 것이다.
함수명 | 주요 연산 | 계산 복잡도 (상대적) |
|---|---|---|
비교( | 매우 낮음 | |
비교, 곱셈, 스칼라 곱 | 낮음 | |
지수 함수, 나눗셈 | 높음 | |
지수 함수, 나눗셈 | 높음 | |
시그모이드, 곱셈 | 높음 |
딥러닝 프레임워크와 하드웨어 가속기(GPU, TPU)는 이러한 계산 효율성 차이를 최적화한다. 예를 들어, ReLU와 같은 단순한 함수는 하드웨어에서 매우 효율적으로 병렬 처리된다. 반면, GELU나 Swish와 같이 시그모이드를 포함하는 함수는 근사치를 사용하여 계산 속도를 높이기도 한다[6]. 따라서 실무에서는 모델 정확도 향상과 계산 비용 증가 사이의 절충을 고려하여 활성화 함수를 선택한다.
활성화 함수는 신경망 내에서 층별로 다른 역할을 수행하며, 그 응용은 크게 은닉층과 출력층으로 구분된다.
은닉층에서는 주로 비선형성을 도입하는 것이 핵심 목적이다. 선형 함수만을 사용할 경우, 다층 신경망은 결국 하나의 선형 변환으로 축소되어 표현력이 제한된다. 따라서 ReLU나 그 변형들(Leaky ReLU, ELU)과 같은 비선형 활성화 함수를 적용함으로써 네트워크가 복잡한 패턴과 고차원의 특징을 학습할 수 있게 한다. 은닉층 함수 선택은 기울기 소실 문제와 계산 효율성을 고려해야 하며, 이 때문에 시그모이드나 하이퍼볼릭 탄젠트보다는 ReLU 계열이 더 널리 사용된다.
반면 출력층에서의 활성화 함수는 주로 모델의 최종 출력 값을 해석 가능한 형태(예: 확률, 특정 범위의 실수)로 변환하는 데 사용된다. 문제의 유형에 따라 함수가 결정된다. 이진 분류에서는 로지스틱 시그모이드 함수를 사용해 출력을 0과 1 사이의 확률로 해석한다. 다중 클래스 분류에서는 소프트맥스 함수를 적용하여 모든 출력 노드 값의 합이 1이 되도록 하여 각 클래스에 대한 확률 분포를 생성한다. 회귀 문제의 경우, 일반적으로 활성화 함수를 사용하지 않거나(선형 활성화), 출력 범위를 제한해야 할 때(예: 0 이상의 값 예측) ReLU를 사용하기도 한다.
문제 유형 | 출력층 활성화 함수 | 출력 범위 및 해석 |
|---|---|---|
이진 분류 | 0과 1 사이 (확률) | |
다중 클래스 분류 | 합이 1인 확률 벡터 | |
회귀 (범위 무제한) | 선형 함수 (항등 함수) | 실수 전체 범위 |
회귀 (양수 값) | 0 이상의 실수 |
이러한 층별 응용 차이는 신경망 설계의 기본 원칙을 이루며, 모델의 성능과 학습 안정성에 직접적인 영향을 미친다.
은닉층은 입력 데이터와 최종 출력 사이의 복잡한 관계를 학습하는 핵심 계층이다. 은닉층에서 활성화 함수의 주된 역할은 신경망에 비선형성을 부여하는 것이다. 선형 변환만으로 구성된 신경망은 아무리 많은 층을 쌓아도 결국 하나의 선형 변환으로 표현될 수 있어, 복잡한 패턴을 학습하는 능력이 제한된다. 따라서 은닋층에서는 ReLU, Leaky ReLU, 시그모이드 함수, 하이퍼볼릭 탄젠트와 같은 비선형 활성화 함수가 필수적으로 적용된다.
은닉층 활성화 함수의 선택은 학습의 안정성과 속도에 직접적인 영향을 미친다. 역사적으로 시그모이드 함수와 하이퍼볼릭 탄젠트가 널리 사용되었으나, 이 함수들의 포화 영역에서 발생하는 기울기 소실 문제로 인해 심층 신경망 학습이 어려웠다. 이를 해결하기 위해 제안된 ReLU 함수는 양의 입력에 대해 선형성을 유지하여 기울기 소실을 완화하고, 계산이 매우 간단하여 현재 가장 보편적인 은닉층 활성화 함수로 자리 잡았다.
그러나 ReLU도 입력이 0보다 작을 때 기울기가 0이 되는 "죽은 ReLU" 문제를 가지고 있다. 이 문제를 보완하기 위해 다양한 변형 함수들이 개발되었다. 대표적인 예는 다음과 같다.
함수 이름 | 수식 (x가 입력) | 주요 특징 |
|---|---|---|
Leaky ReLU | f(x) = max(αx, x) (보통 α=0.01) | 음수 영역에서 작은 기울기를 유지하여 뉴런이 '죽는' 현상을 완화한다. |
Parametric ReLU (PReLU) | f(x) = max(αx, x) (α는 학습 가능한 매개변수) | 음수 영역의 기울기 α를 데이터로부터 학습한다. |
Exponential Linear Unit (ELU) | x if x>0, α(exp(x)-1) if x≤0 | 출력 평균을 0에 가깝게 만들어 학습 속도를 높인다. |
Swish | x * sigmoid(βx) | ReLU보다 부드러운 곡선을 가지며, Google Brain에서 제안했다. |
최근 연구 동향은 ReLU의 단순함과 효율성을 유지하면서 성능을 개선하거나, 자동으로 최적의 함수를 찾는 방향으로 진행되고 있다. 은닉층의 활성화 함수 선택은 네트워크 구조, 데이터 특성, 학습 목표에 따라 실험을 통해 결정되는 경우가 많다.
출력층의 활성화 함수는 신경망의 최종 출력값을 특정 문제 유형에 맞는 형태(예: 확률, 실수값, 클래스 레이블)로 변환하는 결정적인 역할을 한다. 이 선택은 해결하려는 문제의 유형(회귀, 분류, 다중 분류 등)에 직접적으로 의존하며, 손실 함수와의 호환성이 반드시 고려되어야 한다.
문제 유형 | 일반적인 활성화 함수 | 출력 범위/형태 | 주로 함께 사용되는 손실 함수 |
|---|---|---|---|
이진 분류 | (0, 1) - 단일 클래스 확률 | ||
다중 클래스 분류 | (0, 1) - 모든 클래스에 대한 확률 합이 1 | ||
회귀 (양수 출력) | (선형 함수) 또는 ReLU 변형 | [0, ∞) - 연속적인 양수 값 | |
회귀 (범위 무제한) | 선형 함수(항등 함수) | (-∞, ∞) - 연속적인 실수 값 |
이진 분류 문제에서는 시그모이드 함수가 단일 뉴런의 출력을 0과 1 사이의 확률 값으로 압축하여, 특정 클래스에 속할 확률로 해석할 수 있게 한다. 다중 클래스 분류에서는 소프트맥스 함수가 모든 출력 뉴런의 값을 지수 함수를 통해 변환한 후 정규화하여, 각 클래스에 대한 상호 배타적인 확률 분포를 생성한다. 이는 출력 벡터의 모든 요소 합이 1이 되도록 보장한다.
회귀 문제에서는 출력값이 연속적인 실수여야 하므로, 일반적으로 활성화 함수를 적용하지 않는 선형 함수(항등 함수)를 사용한다. 출력이 반드시 양수여야 하는 경우(예: 집값 예측)에는 계산 효율성을 위해 ReLU나 그 변형을 사용하기도 하지만, 이는 0 이하의 값을 완전히 제거할 수 있다는 점을 고려해야 한다. 출력층 활성화 함수의 선택은 신경망이 예측을 통해 최소화하려는 목표(손실 함수)와 수학적으로 일관되어야 올바른 기울기 흐름과 학습이 가능해진다[7].
심층 신경망의 발전과 함께 활성화 함수 연구는 단순한 비선형 변환 도구를 넘어 네트워크의 학습 안정성, 수렴 속도, 표현력을 결정하는 핵심 요소로 진화했다. 초기 연구는 시그모이드 함수와 하이퍼볼릭 탄젠트 같은 전통적인 S자형 함수에 집중되었으나, 이 함수들의 포화 영역에서 발생하는 기울기 소실 문제가 심층 네트워크 학습의 주요 장애물로 지목되면서 연구의 흐름이 바뀌었다.
2010년대 초 ReLU의 도입은 연구 동향의 분기점이 되었다. ReLU는 양의 영역에서 기울기가 1로 일정해 기울기 소실 문제를 크게 완화하고 계산이 매우 간단하다는 장점으로 빠르게 표준이 되었다. 이후 ReLU의 변형인 Leaky ReLU, Parametric ReLU, Exponential Linear Unit 등이 '죽은 ReLU' 현상을 완화하고 음수 영역의 정보 손실을 줄이기 위해 제안되었다. 한편, Swish 함수나 GELU와 같이 ReLU를 근사하거나 부드럽게 만든 함수들도 제안되어 특정 컨볼루션 신경망이나 트랜스포머 모델에서 우수한 성능을 보이기도 했다.
최근 연구 동향은 단일 고정 함수를 찾는 것을 넘어, 데이터나 작업에 맞춰 동적으로 변화하는 적응형 활성화 함수를 설계하거나, 신경망 구조 탐색 기술을 활용해 최적의 함수 형태를 자동으로 발견하는 방향으로 나아가고 있다. 또한, 매우 깊은 네트워크에서의 안정적인 학습을 보장하기 위한 정규화 기법과 활성화 함수의 상호작용, 그리고 설명 가능한 인공지능 관점에서 활성화 함수가 예측에 미치는 영향을 해석하는 연구도 활발히 진행되고 있다.