1. 활성화 함수란?
활성화 함수는 신경망에서 사용되는 함수로 출력으로 내보내는 신호의 크기를 제한하거나 조정하는 역할을 합니다. 가중치와 편향을 갱신하기 위해 사용되는 주요한 함수입니다.
활성화 함수는 binary step function(step function), 선형 함수(linear function), 비선형 함수(non-linear function)이 있습니다. 일반적으로 활성화 함수로 사용되는 함수는 모두 비선형 함수입니다.
2. 활성화 함수를 쓰는 이유(활성화 함수의 역할)
- 비선형성 추가
신경망은 입력값들에 대한 가중치 합을 계산하는 모델입니다. 비선형 활성화 함수를 기준으로 설명하면, 활성화 함수를 통해 비선형성을 추가함으로써 신경망이 복잡한 비선형 함수를 학습할 수 있게 해줍니다. - 출력 데이터 범위 조정
활성화 함수는 네트워크 출력 값을 제한된 범위로 조정합니다. 이는 네트워크가 예측하는 값이 특정 범위 내에 있어야 하는 문제에 유용합니다.
3. 활성화 함수의 종류
3-1. Binary Step Function
- 수식
f(x) = 0 if x < 0
f(x) = 1 if x ≥ 0
- 특징
- 초기 신경망 모델인 퍼셉트론(Perceptron)에서 활성화 함수로 사용했습니다. - 장점👍
- 출력이 0 또는 1이므로 이진 분류 문제에 사용됩니다. 결과 해석이 쉽습니다.
- 계산이 단순하여 구현이 쉽고 속도가 빠릅니다. - 단점 👎
- 함수가 불연속적이므로 미분이 불가능합니다.
- 또한, 미분 가능한 지점은 모두 기울기가 0이므로 역전파 과정에서 문제가 생겨 경사하강법과 같은 최정화 방법을 사용할 수 없습니다.
- 출력이 2개이기 때문에 복잡한 분류 문제에서는 사용하기 힘듭니다.
3-1. Linear Activation Function
- 수식
f(x) = wx + b( w는 weight, b는 bias)
- 장점👍
- 모든 값에서 미분이 가능합니다.
- 계산이 매우 단순합니다. - 단점 👎
- 비선형성이 없어 복잡한 함수 모델링이 불가능합니다.
- 기울기 소실/폭발의 문제가 발생할 수 있습니다.
3-2. Non-Linear Activation Function
앞의 이유 때문에 대부분 활성화 함수로는 비선형 활성화 함수를 사용합니다.
비선형 활성화 함수를 사용함으로써 신경망은 선형 모델로는 해결할 수 없는 복잡한 문제를 해결할 수 있습니다.
대부분의 비선형 활성화 함수는 미분이 가능하므로 역전파를 통해 가중치를 업데이트 할 수 있습니다.
Sigmoid
- 식
1/{1 + e^{-x}}
- 특징
- 모든 입력에 대해 0과 1 사이의 값을 출력합니다.
- 함수가 연속적이고 미분 가능하기 때문에 역전파로 파라미터 업데이트가 가능합니다.
- 입력값의 절대값이 클 때 함수의 기울기가 매우 작아집니다. 이는 역전파 과정에서 가중치의 업데이트가 잘 안됩니다.
Hyperbolic Tangent
- 식
tanh(x) = 2 / (1 + exp(-2x)) - 1
- 특징
- -1과 1 사이 값으로 출력합니다.
- 모든 점에서 미분 가능하기 때문에 역전파를 통해 파라미터 업데이트가 가능합니다.
ReLU(Rectified Linear Unit)
- 식
f(x) = max(0, x)
- 특징
- 학습 속도가 빠릅니다.
- 출력값의 범위가 넓고 입력값이 양수인 경우, 자기 자신을 그대로 반환하기 때문에 시그모이드에서 발생한 기울기 소실 문제가 발생하지 않습니다.
- 0에서는 미분이 불가하다.
- 순전파 과정에서 어떤 뉴런에서든 음수값이 한 번 들어오면 역전파 시에는 0이라는 실수값이 가중치에 곱해지면서 해당 노드가 통째로 죽어버리는 Dying ReLU 문제가 발생할 수 있습니다.
Leaky ReLU
- 식
f(x) = max(0.01x, x)
- 특징
- ReLU 함수의 함계점(Dying ReLU)을 해결하기 위해 등장했습니다.
- 항상 ReLU보다 성능이 향상된 것은 아닙니다.
PReLU(Parameter ReLU)
- 식
f(x) = max(αx, x)
- 특징
- Leaky ReLU와 비슷하지만 α 파라미터를 추가해서 입력값이 음수일 때의 기울기를 학습할 수 있습니다.
ELU(Exponential Linear Unit)
- 식
f(α,x)=α(ex−1),x≤0
x,x>0
- 특징
- ReLU의 장점을 모두 포함하면서 Dying ReLU 문제를 해결했습니다.
- 양수 영역에서는 선형이지만, 음수 영역에서는 지수적으로 감소합니다.
- 항상 미분이 가능합니다.
- exp()에 대한 미분값을 계산해야 하는 비용이 발생합니다.
GELU(Gaussian Error Linear Unit)
- 식
GELU(x) = x * Φ(x)
- 특징
- Φ(x)는 표준 정규 분포의 누적 분포 함수입니다.
- ReLU와 유사하지만 입력값이 음수일 때 음수를 출력할 수 있습니다.
- 입력값에 따라 출력을 부분적으로 '억제'하거나 '통과'시킵니다.
- 기울시 소실 문제를 해결합니다.
Swish
- 식
Swish(x) = x * sigmoid(β * x)(β는 학습 가능한 매개변수이며, 일반적으로 β = 1로 설정) - 특징
- Google Brain팀에서 개발한 자체 게이트 활성화 함수입니다.
- ReLU와 비슷하지만 음수 출력값도 가질 수 있습니다.
- 모든 점에서 연속적이고 미분 가능하기 때문에 역전파가 가능합니다.
- ReLU보다 우수한 결과를 보인다고 하지만 계산 복잡도는 ReLU보다 높습니다.
'Artificial Intelligence' 카테고리의 다른 글
지도학습 vs 비지도학습 (0) | 2024.05.31 |
---|---|
[인공지능 기초 지식] 평가지표 (0) | 2024.05.20 |
[인공지능 기초 지식] Loss Function 손실 함수 (0) | 2024.05.06 |
[인공지능 기초 지식] 경사하강법 (0) | 2024.04.29 |
[Text-to-speech(TTS)] 데이터셋 (1) | 2024.04.18 |