[딥러닝기초] 인공신경망에 비선형성을 부여하는 활성화 함수(activation function)

활성화 함수 (Activation Functions)

활성화 함수 (Activation Function)

인공신경망에 비선형성을 부여하는 핵심 수학적 함수

1. 활성화 함수의 정의

활성화 함수는 이전 층(Layer)으로부터 받은 입력값($x$)과 가중치($w$)의 합을 다음 뉴런으로 어떻게 전달할지 결정하는 함수입니다. 생물학적 뉴런이 특정 임계치를 넘어야 신호를 발산하는 원리를 모방했습니다.

뉴런의 신호 전달 및 활성화 함수 모식도

2. 왜 필요한가? (비선형성 부여)

활성화 함수의 가장 핵심적인 역할은 신경망에 '비선형성(Non-linearity)'을 부여하는 것입니다.

  • 선형 함수의 한계: 만약 활성화 함수가 없거나 단순 선형 함수($f(x)=cx$)만 사용한다면, 아무리 은닉층을 깊게 쌓아도 결국 하나의 선형 수식으로 압축됩니다.
  • 복잡한 문제 해결: 현실 데이터(이미지, 자연어 등)는 비선형적입니다. 활성화 함수를 통과해야만 모델이 구불구불하고 복잡한 패턴을 학습(Universal Approximation)할 수 있습니다.

3. 대표적인 활성화 함수의 종류

💡 그래프 스타일: 실선(파란색)은 원본 함수 $f(x)$, 점선(빨간색)은 미분값(도함수) $f'(x)$를 나타냅니다.

① Sigmoid (시그모이드)

$$f(x) = \frac{1}{1 + e^{-x}}$$

출력값이 0~1 사이인 S자 형태의 곡선입니다. 확률을 표현하기 좋아 이진 분류의 출력층에 주로 쓰입니다. 하지만 양 끝단에서 기울기가 0에 수렴하여 기울기 소실(Vanishing Gradient) 문제가 발생합니다.

② Tanh (하이퍼볼릭 탄젠트)

$$f(x) = \tanh(x)$$

Sigmoid를 위아래로 늘려 출력 범위를 -1~1로 만든 함수입니다. 데이터의 중심이 0(Zero-centered)이 되어 학습 최적화가 Sigmoid보다 빠르지만, 여전히 양 끝단에서 기울기 소실이 발생합니다.

③ ReLU (Rectified Linear Unit)

$$f(x) = \max(0, x)$$

현재 가장 널리 쓰이는 표준 활성화 함수입니다. 양수 구간에서 기울기가 항상 1이라 깊은 망에서도 학습이 잘 됩니다. 단, 음수 입력 시 기울기가 0이 되어 뉴런이 죽는 Dying ReLU 현상이 있을 수 있습니다.

④ Leaky ReLU

$$f(x) = \max(0.05x, x)$$

ReLU의 Dying ReLU 문제를 해결하기 위해 고안되었습니다. 음수 구간에서 완전히 0이 되지 않고 아주 작은 기울기(예: 0.05)를 허용하여 뉴런이 죽는 것을 방지합니다.

⑤ Softmax (소프트맥스)

입력받은 여러 개의 값들을 0~1 사이의 확률 값으로 정규화하며, 출력값들의 총합이 항상 1이 되도록 만듭니다. 주로 다중 클래스 분류(Multi-class Classification) 모델의 최종 출력층에 사용됩니다. (스칼라가 아닌 벡터를 입력으로 받으므로 2D 그래프 생략)