지노랩 /JinoLab
19. 활성화 함수(Activation Function) 본문
1. 활성화 함수가 왜 필요할까?
- 선형 함수의 한계
- 입력값 xx와 가중치 ww를 곱하고 더하면 언제나 “직선” 모양의 결과만 나와요.
- 예를 들어, y=2x, y=x+3 이런 식만 표현할 수 있죠.
- 비선형 패턴 학습
- 현실 세계의 데이터(이미지, 음성, 글자 등)는 아주 복잡해요.
- “직선”만으로는 사람 얼굴의 곡선, 음성의 억양 같은 복잡한 패턴을 배우기 어려워요.
- 그래서 **활성화 함수(Activation Function)**로 입력을 곡선 형태로 변환해야, 여러 층(layer)을 쌓았을 때 다양한 곡선 모양을 만들 수 있어요.
- 역전파(Backpropagation)를 위한 미분 가능성
- 학습 과정에서 “실제값과 예측값의 차이”를 줄이려고 가중치 ww를 업데이트할 때, 미분(derivative)이 필요해요.
- 활성화 함수는 미분하기 쉬운(non‑linear but differentiable) 함수여야 합니다.
2. 대표적인 활성화 함수 3가지
2.1 시그모이드(Sigmoid)
- 공식

- 특징
- 출력값이 항상 0과 1 사이
- S자 곡선
- 장단점
- 장점: 결과를 “확률”처럼 해석할 수 있어요.
- 단점: 입력값이 크면 기울기가 0에 가까워져(평평해져) 학습 속도가 느려지는 소실 기울기 문제가 생겨요.
2.2 하이퍼볼릭 탄젠트(Tanh)
- 공식

- 특징
- 출력값이 −1과 1 사이
- 시그모이드보다 중앙(0 근처)에서 더 가파른 기울기
- 장단점
- 장점: -1~1 범위라 평균이 0에 가까워 학습이 조금 더 안정적일 수 있어요.
- 단점: 여전히 큰 입력에서 평평해지는 기울기 소실이 남아요.
2.3 ReLU(Rectified Linear Unit)
- 공식

- 특징
- 음수 구간은 0, 양수 구간은 직선 상승
- 계산이 매우 간단해 대규모 신경망에서 효율적
- 장단점
- 장점: 기울기 소실 문제 거의 없고 학습이 빠름
- 단점: 음수 구간에서 기울기가 0이 되어 죽은 뉴런이 생길 수 있어요 (한번 0이 되면 계속 0)
3. 수식으로 보는 도함수(미분)

- 학습(역전파) 때, 이 도함수를 사용해 “오차가 어떻게 변하는지” 를 계산합니다.
4. 언제 어떤 함수를 쓸까?
- 은닉층(Hidden Layer): 대부분 ReLU를 씁니다. 빠르고 계산도 간단해요.
- 출력층(Output Layer):
- 이진 분류 → Sigmoid
- 다중 분류 → Softmax (여기선 다루지 않음)
- 회귀(regression) → 항등 함수(Identity): f(z)=z
마무리
- 선형만으로는 복잡한 패턴을 못 배우니, 비선형 활성화 함수가 필요해요.
- Sigmoid, Tanh, ReLU의 모양과 장단점을 이해하세요.
- 미분 가능해야 역전파 학습이 가능해요.
이제 활성화 함수의 개념을 잡았으니, 다음 시간에는 직접 코드로 구현해 보고, 신경망이 학습할 수 있도록 만들어 봅시다!
'프로그래밍 > C언어를 이용한 Deep Learning' 카테고리의 다른 글
| 21. Deep Learning을 위한 미분(calculus) (6) | 2025.08.16 |
|---|---|
| 20. “근육량 예측 신경망”의 순전파(Forward Propagation) 과정을 C 언어로 (2) | 2025.08.15 |
| 18. 은닉층·출력층 가중치 행렬 (2) | 2025.08.13 |
| 17. 데이터 정규화(Normalization) 과정 (0) | 2025.08.12 |
| 16. 헬스장 데이터(운동 시간·휴식 시간 → 근육량 증가) Forward Propagation (2) | 2025.08.11 |