[Activation Function] 활성함수

Meosun·2024년 8월 20일

What is the Activation Function?(활성함수란?)

  • 활성함수는 Non-Linear한 함수를 어떻게 활성화 시킬지에 대한 함수이다.

활성함수의 종류에는 여러가지가 있는데
1. sigmoid(x)
2. Tanh(x)
3. Relu
4. Leacky Relu
5. ELU(Exponential Linear Unit)
순으로 설명하려고 한다.

1. Sigmoid

시그모이드 함수란 S자형 곡선 또는 시그모이드 곡선을 갖는 수학 함수이다
시그모이드 함수의 형태는 아래와 같다.

sigmoid(x)=σ(x)=11+exsigmoid(x) = \sigma(x)=\frac 1 {1+e^{-x}}

로 나타내어 진다.

특징과 단점은 아래와 같다.
특징

  • 출력 값 범위(0,1)
  • 가장 많이 사용되었던 함수

단점

  • Vanishing Gradient(기울기 소실) : Input이작거나 클때 기울기가 0에 수렴하는 문제
  • 출력값이 Zero-Centered하지 않음
  • Exp 연산의 비용(Cost)가 Expensive

위와 같은 특징으로 한때 많이 사용되었으나, 현재는 문제가 많아 잘 사용되지 않는 함수이다.

2. Tanh(x)

Tanh 함수란 Sigmoid의 대체제로 사용될 수 있는 활성화 함수이다.
Sigmoid 형태와 매우 유사하며, 실제로 Sigmoid의 확장 버전이라고 생각하면 된다.

함수의 형태는 아래와 같다.

Tanh(x)=1ex1+ex=21+e2x1=2sigmoid(2x)1=2σ(2x)1Tanh(x)=\frac {1-e^{-x}} {1+e^{-x}}=\frac {2}{1+e^{-2x}}-1 = 2sigmoid(2x)-1=2\sigma(2x)-1

sigmoid 함수로도 변형되어 나타낼 수 있다.

Tanh 함수의 특징과 단점은 아래와 같다.
특징

  • 출력값 범위 [-1,1]
  • zero-centered(0이 중심이다.) - Sigmoid 문제 해결

단점

  • Vanishing Gradient - Sigmoid와 동일

위와 같이 Sigmoid의 단점인 기울기 소실 문제를 동일하게 겪고있어, 잘 사용되지 않는다.

3. ReLu

Relu 함수는 양수는 유지하고, 음수는 0으로 만드는 함수이다.
함수의 형태는 아래와 같다.

Relu(x)=max(0,x)Relu(x) = max(0,x)

Relu 의 특징과 단점은 아래와 같다.
특징

  • Vanishing Gradient가 없음 - Sigmoid&Tanh 문제 해결
  • +(양수) 영역에서 Not Saturate(발산)
  • Sigmoid&Tanh 보다 빠르게 수렴함 - Exp 계산이 없으므로

단점

  • Not zero-centered
  • Dead Relu Problem : 출력이 음수면 Saturate됨 (0으로 수렴)
  • x=0 일때, 미분이 불가능함

Relu는 0에서 미분이 안되는데, 이것은 Back Propagation시 문제가 된다.
0에서 미분이 안된다는 문제점이 있는 Relu를 해결하기위해 4.Leaky Relu가 나오게 되었다.

4. Leaky Relu

Leaky ReluReLuDead ReLu Problem을 해결하기 위해 만들어진 활성 함수이다.

Leaky Relu의 함수는 아래와 같다.

a = 0.01 일때의 그래프

LeakyRelu(x)=max(ax,x)LeakyRelu(x) = max(ax,x)

위와 같이 표현되며 음수일때 0으로 수렴하던 문제를 작은 값을 곱하여 해결한다.
Leaky ReLu의 특징과 단점은 아래와 같다.

특징

  • 모든 영역에서 Saturate 되지 않음 - Relu 문제 해결
  • 연산에 효율적
  • Sigmoid & Tanh 보다 빠름
  • No Dead Relu Problem : 기울기 소실되는 문제 해결

단점

  • 추가적인 하이퍼 파라미터a(alpha)가 필요하다.

5. ELU(Exponential Linear Unit)

ReLu와 거의 비슷한 형태를 가지며, 지수 함수를 이용해 음수일 경우 부드럽게 만들어 주는 함수이다.
함수의 형태는 아래와 같다.

x,x0x, x\geq0
a(exp(x)1),x<0a(\exp{(x)-1}), x<0

양수일때는 x가 그대로 출력되지만, 음수일 때는 alpha * (exp(x)-1)의 형태로 출력이 된다.
그래프에서 보다 시피, Leaky Relu에 비해 음수에서 출력이 부드럽게 이루어진다.

ELU의 특징과 단점은 아래와 같다.
특징

  • Relu의 모든 것 - Relu가 가지고 있는 장점은 모두 갖고있다.

단점

  • Exp 계산 비용(cost)가 비싸다.

결론

오늘 5가지 활성화 함수에 대해 정리 하였다.
그중 Sigmoid와 Tanh 함수는 잘 사용하지 않는 다는 것을 기억하며,
해당 함수를 사용할 경우 Only Last Layer에만 적용한다.

profile
데이터와 AI를 잘 활용하는 Backend Developer가 되자

0개의 댓글