# 활성화 함수의 한계에 대한 대책 (Advancements in Activation Functions)

#### 소실되는 기울기 문제의 해결

신경망 학습의 핵심 장애 요소 중 하나는 소실되는 기울기(Vanishing Gradient) 문제이다. 초기의 활성화 함수인 시그모이드(Sigmoid)와 하이퍼볼릭 탄젠트(Tanh) 함수는 비선형성을 제공하지만, 네트워크가 깊어질수록 기울기가 점점 작아져 결국 학습이 거의 이루어지지 않는 상황에 직면하게 된다. 이를 해결하기 위해 새로운 활성화 함수들이 제안되었으며, 그중 렐루(ReLU) 함수는 입력이 양수일 때 기울기를 유지함으로써 소실되는 기울기 문제를 크게 완화시켰다. 그러나 ReLU 함수도 여전히 음수 영역에서의 '죽은 ReLU(Dead ReLU)' 문제를 야기할 수 있어, 이를 개선한 다양한 변형 함수들이 연구되었다.

**리키 ReLU와 그 변형들**

리키 ReLU(Leaky ReLU)는 죽은 ReLU 문제를 해결하기 위해 고안된 함수로, 음수 입력값에 대해 작은 양의 기울기를 허용한다. 이는 네트워크의 일부 뉴런이 영구적으로 비활성화되는 문제를 완화한다. 리키 ReLU의 발전형인 파라메트릭 ReLU(Parametric ReLU, PReLU)는 음수 영역의 기울기를 학습 가능한 파라미터로 설정하여 더욱 유연한 모델링을 가능하게 한다. 이와 유사한 접근으로는 랜덤 리키 ReLU(Randomized Leaky ReLU, RReLU)가 있으며, 이 함수는 훈련 중에 음수 영역의 기울기를 무작위로 설정하여 과적합을 방지하는 데 기여한다.

**ReLU의 확장: ReLU6, 스위시(Swish)**

ReLU 함수는 단순하고 효율적이지만, 특정 상황에서는 너무 강한 비선형성을 제공한다는 단점이 있다. 이를 해결하기 위해 제안된 ReLU6는 ReLU 함수의 출력을 최대 6으로 제한하여 과도한 활성화로 인한 문제를 방지한다. 또 다른 발전으로는 스위시(Swish) 함수가 있는데, 이는 ReLU와 시그모이드 함수를 결합한 형태로 다음과 같이 정의된다:

$$
\text{Swish}(x) = x \cdot \sigma(x)
$$

스위시 함수는 깊은 신경망에서 더 나은 성능을 보이는 것으로 알려져 있으며, 소실되는 기울기 문제를 완화하면서도 ReLU의 장점을 유지한다.

#### 학습 안정성 및 속도 향상

활성화 함수의 또 다른 개선 방향은 학습 안정성의 향상과 학습 속도의 증가이다. 최근 연구에서는 표준 ReLU와 비교하여 더 빠르고 안정적인 학습을 가능하게 하는 함수들이 제안되었다.

**셀프-노멀라이징 네트워크와 SELU**

셀프-노멀라이징 네트워크(Self-Normalizing Networks, SNN)는 네트워크의 출력을 일정한 범위로 유지하여 학습의 안정성을 높이는 것을 목표로 한다. 이를 위해 제안된 활성화 함수가 스케일러블 ELU(Scaled Exponential Linear Unit, SELU)이다. SELU는 다음과 같이 정의된다:

$$
\text{SELU}(x) = \lambda \begin{cases} x & \text{if } x > 0 \ \alpha (e^x - 1) & \text{if } x \leq 0 \end{cases}
$$

여기서 $ \lambda $와 $ \alpha $는 특정 상수 값으로, 이 함수는 네트워크가 깊어지더라도 일정한 출력 분포를 유지하도록 돕는다. 이는 학습 속도와 안정성을 모두 개선하는 효과를 가져온다.

#### 적응형 활성화 함수

활성화 함수의 개선 방향에서 최근에는 데이터나 네트워크의 특성에 맞춰 적응할 수 있는 활성화 함수가 주목받고 있다. 이러한 함수들은 각 뉴런이 자체적으로 활성화 함수를 학습하여 보다 최적화된 출력값을 생성할 수 있게 한다.

**액티베이터(Activator)와 APL (Adaptive Piecewise Linear) 함수**

적응형 활성화 함수의 한 예로 APL(Adaptive Piecewise Linear) 함수가 있다. 이 함수는 입력 공간을 여러 개의 선형 구간으로 나누고, 각 구간에서의 기울기와 절편을 학습하는 방식으로 작동한다. 이를 통해 네트워크는 특정 문제에 맞게 활성화 함수를 미세 조정할 수 있다.

**스파스맥스(Sparsemax)와 소프트맥스의 변형**

다층 신경망의 마지막 층에서는 주로 분류 문제를 해결하기 위해 소프트맥스(Softmax) 함수가 사용된다. 그러나 소프트맥스는 일부 문제에서 비효율적일 수 있다. 이를 개선한 스파스맥스(Sparsemax)는 출력 벡터에서 일부 요소를 0으로 만들며, 더 명확한 클래스 예측을 가능하게 한다. 이러한 접근은 적응형 활성화 함수의 범주에 속하지는 않지만, 활성화 함수의 특성 및 학습 효율성 향상 측면에서 중요한 발전이다.

#### 비선형 활성화 함수의 정규화 및 리셋

마지막으로, 활성화 함수의 개선 방향에서 중요한 주제는 비선형 함수의 정규화(Normalization)와 리셋(Reset) 기술이다. 이러한 기술들은 신경망의 학습 성능을 최적화하고 과적합을 방지하기 위한 다양한 방법을 포함한다.

**배치 정규화와 활성화 함수의 관계**

배치 정규화(Batch Normalization)는 신경망의 각 층에서 활성화 값의 분포를 정규화하여 학습을 안정화하는 기법이다. 활성화 함수와의 조합에 따라 배치 정규화의 효과는 크게 달라질 수 있으며, 이와 관련된 연구는 활성화 함수의 특성과 정규화 방법의 상호작용을 이해하는 데 중요한 역할을 한다.
