C.W.K.
Stream
Lesson 02 of 05 · published

활성 함수: 비선형의 spark

~8 min · activation, relu, sigmoid, non-linearity

Level 0수학 초심자
0 XP0/59 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete

왜 선형만으론 못 이김

사이에 아무것도 없이 100 linear layer stack = ... 하나의 linear layer. 선형 함수의 합성은 여전히 선형. 100-layer 순수 선형 망 = 단일 선형 회귀와 정확히 같은 표현력. 컴퓨트 낭비.

활성 함수 가 비선형 도입. 망이 현실을 유용한 모양으로 구부리게 하는 선의 kink. 없으면 곡선 X, 경계 X, 고양이 vs 강아지 이해 X.

활성 zoo

활성공식언제 사용
ReLU모던 deep net 기본. 싸고 양수 입력에 안 vanish.
Sigmoid이진 분류 출력 layer. (0, 1) 로 압축 — 확률로 해석.
Tanh(-1, 1) 로 압축. 옛 RNN 에 사용.
Softmax다중클래스 분류 출력 layer. 확률 분포로 압축.
GeLU / SiLUsmooth ReLU 변형모던 Transformer, LLM.

왜 ReLU 가 점령

Sigmoid 의 max 도함수 = 0.25. 많이 stack 하면 gradient vanish (Calculus 트랙에서 봄). ReLU 의 도함수 = 양수 입력에 1 — gradient 안 변하고 흐름. 더하기 그저 max(0, x), 하드웨어에 쌈. 2012 딥러닝 부활 = 대체로 "ReLU + GPU + ImageNet."

활성이 선형 stack 을 universal 함수 근사기로 만듦. ReLU = 모던 default; 다른 거 = 특정 이유 있을 때만.

Code

활성 zoo, head to head·python
import torch
import torch.nn.functional as F

x = torch.linspace(-5, 5, 11)

print("입력 :", x)
print("relu  :", F.relu(x))
print("sigmoid:", torch.sigmoid(x))
print("tanh  :", torch.tanh(x))
print("gelu  :", F.gelu(x))

External links

Exercise

ReLU, sigmoid, GeLU 를 같은 axes 에 x ∈ [-5, 5] 로 plot. ReLU 가 0 에서 직선 꺾임, sigmoid 가 smooth 하고 saturate, GeLU 가 smooth 한 ReLU 임을 봐. nn.Linear(...)F.???(x) 쓸 때 맞는 거 골라.
Hint
각 활성에 personality. ReLU = sharp 게이트. Sigmoid = smooth 게이트, saturate. GeLU = ReLU 의 정중한 형, 모던 transformer 에 사용.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.