본문 바로가기
AI/Deep Learning

Activation function, 활성함수의 특징

by 알푼 2024. 11. 30.
300x250

인공신경망에서 비선형으로 변환하기 위한 activation function, 활성 함수는 크게 6가지가 잘 알려져 있다.

 

1. Sigmoid

가장 많이 사용되었던 활성함수 형태로 Sigmoid 함수의 출력 값은 항상 (0, 1) 구간에 있다. 𝑥 = 0 을 기준으로 대칭적이며, 𝑓(0) = 0.5 이다. 단조 증가하는 형태를 보이며, 복잡한 패턴 학습이 가능하고 전체 구간에서 미분이 가능하다.

위 그림과 같이 saturated 구간이 발생한다. 이 구간에서 입력 신호의 총 합이 크거나 작을 때, 기울기가 0 에 가까워 보이는데 이 현상을 saturated 라고 한다. 이는 gradient vanishing 문제를 발생시킨다.

또한 Not zero-centered, 즉 출력값의 평균이 0 이 아닌 0.5 를 중심으로 분포하는데 이는 함수의 출력이 항상 양수라는 것을 의미한다. 예를 들어, 가중치 파라미터를 업데이트 하려면 loss 값에서 w 로 편미분을 수행한다. 이것을 chain rule 로 표시하면 $\frac{\partial L}{\partial W} = \frac{\partial L}{\partial f} \frac{\partial f}{\partial W}$ 로 쓸 수 있다. 여기서 𝑓 는 sigmoid(wx + b)이기 때문에 $\frac{\partial f}{\partial W}$ 부분이 항상 양수가 된다. 따라서 $\frac{\partial L}{\partial W}$ 의 값은 $\frac{\partial L}{\partial f}$에 따라서 정해진다. 이 말은 gradient w 는 항상 같은 방향으로 움직인다는 것이다. W 가 2 차원이라고 생각해보면, w 의 업데이트는 w1 이 증가했을 때, w2 도 증가하는 경우와 w1 이 감소했을 때, w2 도 감소하는 두 가지 경우에 따라서 업데이트 된다. 그런데 아래 그림처럼 최적 해가 w1 이 증가했을 때, w2 는 감소하는 방향이라면, 파란색 선과 같이 이상적인 경로로 최적해를 탐색하지 못하고 붉은색 선과 같이 지그재그 형태로 최적해를 탐색한다. 따라서 비효율적인 업데이트 방식이 된다.

 

 

2. tanh

Sigmoid 의 출력 값이 (0, 1)이라면, tanh 의 경우 (-1, 1)로 음수 값도 포함한다. 따라서 𝑓(0) = 0으로 zero-centered 이기 때문에 sigmoid 에서 언급한 비효율적인 최적해 탐색의 문제가 해결된다. 하지만 sigmoid 와 같이 양쪽 끝 부분에 saturated 형태의 그래프가 관찰되는데, 이 말은 결국 tanh 도 gradient vanishing 문제가 발생할 수 있다는 것을 보여준다.

Sigmoid 와 tanh 의 미분 값을 그려보면 위 그림과 같은데, sigmoid 가 0.25 이하의 값이 계속 곱해진다면 tanh 는 1 이하의 값이 계속 곱해진다고 할 수 있다. 따라서 sigmoid 보다는 덜하겠지만 tanh 역시 레이어가 깊어진다면 gradient vanishing 문제가 발생할 수 있다.Zero-centered 특징이 있기 때문에 양수와 음수를 모두 표현할 수 있어 데이터의 특징을 더 잘 포착하며, 중립적인 값(0 근처)과 강한 활성화(±1 근처)를 명확히 구분할 수 있다. 또한 가중치 업데이트가 더 직접적인 경로로 이루어져 은닉층에서의 활성화 함수로 적합하다. 하지만 출력 범위의 제한으로 출력층의 활성함수로는 적합하지 않다.

 

3. ReLU (Rectified Linear Unit)

Sigmoid 와 tanh 에서 보이는 saturated 부분이 양의 값에서는 보이지 않는다. 따라서 gradient vanishing 문제를 크게 완화하며, 깊은 신경망에서도 효과적인 학습이 가능하다. Sigmoid/tanh 보다 6 배 정도 빠른 계산 효율을 가지고 있으며, 생물학적 타당성도 가장 높은 activation function 이다.
𝑥 > 0 영역에서는 기울기가 항상 1 로 일정하고 𝑥 < 0 영역은 0 으로 만들어 주기 때문에, 단순한 연산으로 구현이 가능하며 기울기 계산이 매우 간단하다. GPU 가속에 최적화된 구조를 가지고 있다. 또한 음수 영역을 0 으로 만든다는 것은 희소성을 증가시키는 작용을 하여 효율적인 표현 학습이 가능케 한다. 하지만 종종 Dying ReLU 문제가 발생한다.
    1) Learning rate 가 너무 큰 경우: 가중치가 너무 크게 음수 방향으로 업데이트 된다면, 출력값이 계속 0 이 된다. 따라서

        기울기가 0 이 되어 더 이상 학습이 진행되지 않는다.
    2) 큰 음수 편향: 1)과 마찬가지로 bias 가 너무 크게 음수 방향으로 작용하면 출력 값이 계속 0 이 되어 더 이상 학습을 진

        행할 수 없다.
    3) 부적절한 가중치 초기화: 초기 파라미터의 표준편차가 작으면 아래 그림과 같이 선형 결합 이후에도 분포가 매우 작아

        진다. 그러면 활성 함수가 적용된 이후의 분산도 작아지며, 다음 층의 입력이 작아지고, 이것이 연쇄적으로 일어나면

        서 기울기 소실이 발생한다. 이를 해결하기 위해 He 초기화를 사용한다.

 

4. LeakyReLU

앞서 언급한 Dying ReLU 현상을 방지할 수 있는 방법이다. ReLU 와 거의 같지만 음의 영역에서 더 이상 0 이 아니며, saturated 되지 않는다. ReLU 와 마찬가지로 계산이 매우 단순하고 빠르며, 음수 영역의 작은 기울기로 인해 가중치 업데이트가 더 안정적으로 이루어진다. 또한 이러한 특징 때문에 데이터의 표현력이 향상되고, 특히 음수 값이 중요한 의미를 가질 수 있는 문제에서 유용하다. 하지만 아래 그림과 같이 음수 방향에 곱해지는 계수 α 가 하이퍼파라미터(일반적으로
0.01)라는 단점과, 양수와 음수 영역에서 서로 다른 기울기를 가진 다는 점에서 특정 상황에서는 학습이 불안정해 질 수 있다.

 

5. ELU (Exponential Linear Unit)

ELU 역시 α 라는 하이퍼파라미터를 가진다. 따라서 음수 입력에 대해서 부드러운 음수 값을 출력할 수 있도록 도와주나, 큰 음수 값 부근에서는 -1 에 saturation 된다. 양수 값 부분에서는 기울기가 1 로 ReLU 와 동일하게 선형적 특성을 보존한다. 특히 이 부드러운 변형을 통해 ReLU 에서는 불가능한, 0 부근에서의 미분이 가능하게 해준다.
ELU 는 ReLU 의 장점을 모두 포함하고 있으며, Dying ReLU 의 문제도 해결한다. 출력 값이 거의 zero-centered 하여 효율적으로 최적해를 탐색할 수 있다. 다만 ReLU, Leaky ReLU 와 달리 exp()에 대한 미분값을 계산해야 하는 비용이 발생한다.

 

6. Maxout

Maxout 은 ReLU 를 더욱 일반화 시킨 것이다. 수식에서 볼 수 있듯, 여러 개의 선형 함수 중 최댓값을 취하는 방식이다.

Maxout 활성 함수를 학습 시키기 위해 뉴런을 확장한 구조를 maxout unit 이라고 한다. 위 그림에서는 2 개의 unit 으로 구성되어 있고, 각 unit 에는 가중 합의 결과물이 계산된다. 그러면 그 가중 합 중 더 큰 값을 선택한다. 따라서 maxout 은 선형 노드의 개수에 따라 다른 형태의 볼록 함수를 근사 한다.

위 그림과 같이 선형 노드가 2 개라면 ReLU 와 절대값 함수를 근사할 수 있고, 선형 노드가 5 개면 2 차 함수를 근사할 수 있다. 선형 노드가 많아질수록 조금 더 부드러운 곡선 형태의 활성 함수를 학습 할 수 있지만, 파라미터가 너무 많이 증가하기 때문에 적절하게 늘려줘야 한다.

 

 

출처:

[1] 각 함수의 그래프 : https://medium.com/@shrutijadon/survey-on-activation-functions-for-deep-learning-9689331ba092

 

Introduction to Different Activation Functions for Deep Learning

The Idea of Neural Networks was first introduced way back in the 1950s, but it wasn’t until 2012 that they come to action. Even…

medium.com

[2] Maxout :  https://velog.io/@cha-suyeon/DL-%ED%99%9C%EC%84%B1-%ED%95%A8%EC%88%98activation-function

댓글