딥러닝 기초 (2) - 활성화 함수: 비선형성과 ReLU·GELU
활성화 함수가 없으면 층을 쌓아도 선형 하나로 붕괴한다는 핵심 통찰에서 출발해, sigmoid·tanh·ReLU·LeakyReLU·GELU의 성질과 값, 기울기 소실 관점에서 왜 ReLU 계열이 은닉층의 표준이 됐는지를 정리한 딥러닝 기초 (2)편입니다.
딥러닝 기초 시리즈의 2편입니다. 전체 목차는 0편에 있습니다. 1편에서 뉴런이 가중합 뒤에 활성화를 씌운다고 했는데, 이 편은 그 활성화 함수가 왜 필요하고 무엇을 쓰는지를 다룹니다.
비선형성이 없으면 층은 의미가 없다
왜 굳이 가중합 뒤에 함수 f를 씌울까요. 여기에 딥러닝의 핵심 통찰 하나가 있습니다.
활성화 함수가 없으면(=선형이면), 층을 아무리 쌓아도 하나의 층으로 붕괴합니다. 두 층을 통과시키는 계산은 W2 (W1 x)인데, 행렬 곱은 결합법칙이 성립하므로 이는 (W2 W1) x와 같습니다. 두 행렬의 곱을 하나로 미리 계산해두면, 10층을 쌓든 100층을 쌓든 결국 행렬 하나짜리 선형 변환 한 번과 똑같습니다. 이래서는 직선밖에 못 긋는 선형 모델을 벗어나지 못하고, 1편의 XOR도 여전히 못 풉니다.
층을 쌓는 것이 표현력을 주는 게 아닙니다. 각 층 사이에 비선형 함수를 끼워 넣어야, 층을 쌓는 일이 비로소 의미를 가집니다.
대표 활성화 함수
시그모이드(sigmoid) — 어떤 값이든 0~1로 눌러줍니다. 확률로 해석하기 좋아 출력층에서 쓰지만, 은닉층에는 잘 쓰지 않습니다(뒤에서 설명).
1
2
sigmoid(0) # 0.5
sigmoid(10) # 0.99995 — 큰 값은 1 근처로 포화
tanh — 시그모이드를 -1~1로 옮긴 형태로, 출력이 0을 중심으로 대칭이라 학습이 조금 더 안정적입니다.
ReLU — max(0, z). 음수를 0으로 자르고 양수는 그대로 둡니다. 계산이 가장 싸고, 오늘날 은닉층의 기본 선택입니다.
1
2
relu(-2) # 0
relu(3) # 3
LeakyReLU — ReLU가 음수를 0으로 완전히 죽여 일부 뉴런이 학습을 멈추는 문제(dying ReLU)를 완화하려고, 음수에 작은 기울기를 줍니다.
1
leaky_relu(-2, a=0.01) # -0.02 — 음수도 조금은 통과
GELU — 입력을 확률적으로 통과시키는 매끄러운 활성화로, Transformer 계열에서 표준으로 쓰입니다. ReLU처럼 음수를 딱 자르지 않고 부드럽게 처리합니다.
1
2
gelu(1.0) # 0.841
gelu(-1.0) # -0.159 — 음수도 조금 통과, 매끄러움
왜 ReLU 계열이 은닉층의 표준인가
이유는 기울기 소실에 있습니다. 시그모이드의 미분값은 아무리 커도 0.25를 넘지 못하고, 입력이 조금만 크거나 작아지면 0에 가까워집니다.
1
2
3
# sigmoid 미분: s(1-s)
sigmoid(0)*(1-sigmoid(0)) # 0.25 — 최댓값
sigmoid(10)*(1-sigmoid(10)) # 4.5e-05 — 포화 구간에선 거의 0
역전파는 층을 거슬러 가며 이 미분값들을 곱해서 전달합니다(4편). 0.25 이하인 값을 여러 층 곱하면 어떻게 될까요.
1
0.25 ** 10 # 9.5e-07 — 10층만 지나도 기울기가 거의 0
먼 층의 기울기가 사라져 학습이 안 됩니다. 반면 ReLU는 양수 구간의 미분이 항상 1이라, 곱해도 감쇠하지 않아 이 문제가 훨씬 덜합니다. 계산도 싸고 기울기도 잘 흐르기 때문에, 깊은 망의 은닉층에는 ReLU(또는 GELU·LeakyReLU 같은 변형)를 씁니다.
정리하면 이렇습니다.
| 활성화 | 범위 | 주 사용처 | 메모 |
|---|---|---|---|
| sigmoid | (0, 1) | 이진 분류 출력층 | 은닉층엔 기울기 소실 |
| tanh | (-1, 1) | (제한적) | 0 중심 대칭 |
| ReLU | [0, ∞) | 은닉층 기본 | 싸고 기울기 소실 적음 |
| LeakyReLU | (-∞, ∞) | 은닉층 | dying ReLU 완화 |
| GELU | (-∞, ∞) | Transformer | 매끄러운 ReLU |
출력층의 활성화는 은닉층과 다릅니다. “무엇을 예측하느냐”에 따라 정해지는데, 이건 다음 편의 손실과 함께 봐야 합니다.
정리
| 개념 | 한 줄 요약 |
|---|---|
| 비선형성 | 활성화가 없으면 층을 쌓아도 선형 하나로 붕괴 |
| sigmoid/tanh | 값을 눌러줌. 포화 구간에서 기울기 소실 |
| ReLU | max(0, z). 은닉층 기본. 양수 기울기 1 |
| LeakyReLU/GELU | ReLU의 변형. dying ReLU 완화, 매끄러움 |
| 은닉층 선택 기준 | 기울기가 잘 흐르는가 → ReLU 계열 |
다음 편은 “무엇을 예측하는가”에 맞춰 출력층과 손실을 설계하는 법 — 회귀의 MSE와 분류의 softmax·교차 엔트로피입니다.