티스토리 뷰

반응형

딥러닝 기초학습 4: 활성화 함수의 진짜 의미 — 왜 ReLU가 딥러닝을 지배하게 되었는가?


“딥러닝 성능은 깊이(depth)보다 활성화 함수(activation) 선택에서 갈린다.”

모델은 선형 변환(Wx + b)만 반복하면 아무리 층을 쌓아도
결국 하나의 큰 ‘선형 함수’일 뿐입니다.

딥러닝이 딥러닝이 될 수 있는 이유,
비선형 패턴을 배우는 이유,
CNN · RNN · Transformer가 모두 성립하는 이유는
활성화 함수가 비선형성을 제공하기 때문입니다.

오늘은 딥러닝 전체를 관통하는 핵심 파트
“활성화 함수(Activation Function)”를 완전히 정복하는 글입니다.


1. 활성화 함수란?

“뉴런이 입력을 보고 어느 정도 ‘활성화’될지를 결정하는 함수.”

뉴런 하나의 계산 구조는 다음과 같습니다.

[
y = f(Wx + b)
]

여기서 f가 바로 활성화 함수입니다.

  • f가 없으면 → 전체 신경망은 선형 모델
  • f가 있으면 → 비선형 함수들의 조합, 즉 딥러닝

활성화 함수는 딥러닝의 표현력을 결정합니다.


2. 왜 활성화 함수가 없으면 안 될까?

선형 변환은 서로 합쳐져도 선형이다.

[
f(x) = W_2 ( W_1 x + b_1 ) + b_2 = (W_2 W_1)x + (W_2 b_1 + b_2)
]

즉, 두 층을 쌓아도 효과는 한 층과 동일합니다.

활성화 함수가 없다면, 딥러닝은 더 깊어져도 전혀 “딥”해지지 않습니다.


3. 활성화 함수의 조건

좋은 활성화 함수는 다음 조건을 만족해야 합니다:

  • 비선형성 제공
  • 연속적이며 미분 가능 → 역전파 가능
  • 기울기 소실/폭발 문제 완화
  • 계산이 빠를 것
  • 표현력이 충분할 것

4. Sigmoid — 고전의 왕, 지금은 거의 사용되지 않는 이유

반응형

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

장점

  • 값이 0~1 사이 → 확률로 해석 가능
  • 초기 딥러닝에서 널리 사용됨

문제점(매우 중요)

  1. 기울기 소실(Vanishing Gradient)
  2. 출력값이 한쪽 끝(0 또는 1)으로 포화되면 gradient ≈ 0
  3. 중심이 0이 아니라서 학습이 느림
  4. 역전파가 거의 전달되지 않음

그래서 Sigmoid는 출력층(이진 분류) 을 제외하면 거의 사라진 함수입니다.


5. Tanh — 개선된 Sigmoid지만, 여전히 한계 있음

[
\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}
]

장점

  • 출력이 -1 ~ 1
  • Sigmoid보다 gradient 흐름 좋음

단점

  • 여전히 포화(saturation) → Vanishing Gradient 발생
  • 깊은 신경망에서는 비효율적

그래서 현대 딥러닝의 주류는 아닙니다.


6. ReLU — 딥러닝의 게임 체인저

[
ReLU(x) = \max(0, x)
]

ReLU는 딥러닝의 폭발적 성장을 이끈 핵심 요소 중 하나입니다.

장점

  1. 빠르다 — 연산이 단순 비교
  2. 기울기 소실이 거의 없다 (x>0 구간)
  3. 희소성(sparsity) 제공 → 학습 안정
  4. 대규모 네트워크에서 잘 작동
  5. CNN류에서 압도적 성능

단점

  • x < 0에서는 gradient = 0
  • 음수 입력이 계속되면 뉴런이 죽는 현상 → Dead ReLU

그럼에도 ReLU는 딥러닝의 표준입니다.


7. Leaky ReLU — Dead ReLU 해결

[
f(x) =
\begin{cases}
x & x>0 \
0.01x & x \le 0
\end{cases}
]

장점

  • 음수 영역에도 작은 gradient 존재
  • ReLU의 문제 해결 → 더 안정적

8. Parametric ReLU (PReLU)

[
f(x) =
\begin{cases}
x & x>0 \
ax & x \le 0
\end{cases}
]

Leaky ReLU의 기울기 0.01을
학습 가능한 파라미터 a로 만든 버전.


9. ELU, GELU — 최신 모델의 선택

ELU (Exponential Linear Unit)

[
f(x)=
\begin{cases}
x & x > 0 \
\alpha (e^x - 1) & x \le 0
\end{cases}
]

  • 음수 영역도 완만
  • gradient 안정
  • CNN에서 종종 사용

GELU (Gaussian Error Linear Unit)

Transformer와 GPT 계열에서 쓰는 함수.

[
GELU(x) = x \cdot \Phi(x)
]

GELU는 입력에 따라 “확률적으로” 활성화 정도를 조절하는 함수입니다.
현대 LLM의 거의 모든 모델이 GELU를 사용합니다.


10. Softmax — 다중 분류의 왕

[
softmax(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}}
]

  • 다중 클래스 분류의 출력층에서 사용
  • 확률 분포로 변환
  • Cross Entropy와 함께 사용하면 최적

11. 활성화 함수 비교 요약

함수 장점 단점 현재 사용

Sigmoid 확률 해석 좋음 gradient 소실 출력층만
Tanh Sigmoid보다 나음 여전히 소실 RNN(고전)
ReLU 빠르고 강력 Dead ReLU CNN 기본
Leaky ReLU Dead ReLU 해결 추가 파라미터 CNN 일부
PReLU 학습형 기울기 비용 증가 고급 모델
ELU 안정적 느림 특정 CNN
GELU Transformer 표준 복잡 LLM 기본
Softmax 확률분포 - 출력층

12. PyTorch로 활성화 함수 실습

아래 코드는 실전에서 바로 사용하는 구조.

import torch
import torch.nn as nn

model = nn.Sequential(
    nn.Linear(10, 64),
    nn.ReLU(),       # ReLU!
    nn.Linear(64, 3),
    nn.Softmax(dim=1)
)

X = torch.randn(5, 10)
out = model(X)
print(out)

문제 없이 동작하는 실제 코드입니다.


13. 왜 ReLU가 딥러닝을 구원했는가? (핵심 요약)

  • 단순하지만 강력
  • 기울기 소실 없음
  • 연산 속도 빠름
  • 깊은 신경망에서도 안정
  • 대규모 CNN에 최적
  • 대량 데이터/대규모 파라미터에서 잘 작동

결국 딥러닝 붐을 일으킨 건 BatchNorm이나 GPU가 아니라
ReLU의 도입이라는 말도 있을 정도.


14. 요약

핵심 포인트 의미

비선형성 딥러닝이 복잡한 패턴을 배우는 이유
ReLU 딥러닝의 기본 활성화 함수
GELU Transformer와 LLM의 핵심
Softmax 다중 분류의 필수 출력층

📘 다음 글 예고

👉 딥러닝 기초학습 5: CNN의 탄생 — 이미지가 왜 2D 구조인지 이해하면 CNN이 보인다

다음 글에서는

  • CNN이 왜 등장했는지
  • 이미지의 공간적 구조를 어떻게 학습하는지
  • Convolution 필터가 실제로 무엇인지
  • 패딩, 스트라이드, 필터 개념을 직관적으로
    완전히 이해할 수 있는 글을 작성합니다.


딥러닝,활성화함수,ReLU,GELU,Sigmoid,Tanh,CNN,GPT,NeuralNetwork,DeepLearning

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함
반응형