빅데이터분석기사

인공신경망 활성화 함수(Active Function) 종류

Jia H 2025. 4. 2. 14:19

🚀 은닉층의 활성화 함수 종류

- 입력된 데이터의 가중합을 출력신호로 변환하여, 은닉층의 출력값을 특정 범위의 실수값으로 정규화

- 은닉층과 출력층 사이에서 각 출력값을 제한, 은닉층에서 사용되는 활성화 함수

구분 수식 도식 설명
항등 함수(=선형 함수)
(Identity Function)

입력값을 그대로 출력하는 선형 함수. 주로 회귀 문제에서 사용됨
계단 함수
(Step function)

임계값을 기준으로 출력을 0 또는 1로 결정. 신경망 초창기 모델에서 사용되었으나, 역전파 불가능 문제로 잘 사용되지 않음
부호 함수
(Sign Function)

입력의 부호에 따라 -1, 0, 1로 출력. 퍼셉트론에서 사용되었으나, 미분 불가능 문제로 잘 사용되지 않음
시그모이드 함수(로지스틱 함수)
(Sigmoid Function)

출력을 (0,1) 사이로 제한. 확률값을 표현할 때 사용되지만, 기울기 소실(Vanishing Gradient) 문제로 깊은 신경망에서는 잘 사용되지 않음
하이퍼볼릭탄젠트 함수(Tanh)
(Hyperbolic Tangent Function)
출력을 (-1,1) 범위로 제한. 시그모이드보다 중심이 0에 가까워 학습이 더 원활하지만, 여전히 기울기 소실 문제가 있음
렐루 함수(ReLU)
(Rectified Linear Unit Function)

음수 입력을 0으로, 양수 입력은 그대로 출력. 기울기 소실 문제를 완화했지만, 죽은 뉴런(Dead Neuron) 문제 발생 가능
파라메이트릭 렐루 함수(PReLU)
(Parametric ReLU)

α: 기울기

(학습 가능한 파라미터)
음수 입력에 작은 기울기(α)를 부여해 죽은 뉴런 문제를 완화한 ReLU 변형

 

 

🚀 출력층의 활성화 함수

- 소프트맥스 함수(Softmax Function): 출력노드(Ouptput Node)의 출력값을 0~1로 제한하는 활성화 함수

- 다중 클래스 분류 문제에서 각 클래스에 대한 확률값을 출력, 총합이 항상 1이 되는 확률값

예제 수식 도식
- 3개의 클래스에 대해 다음과 같은 로짓 값(입력값)
z=[2.0,1.0,0.1]

1. 각 값에 지수 함수 적용

e^2.0 = 7.389, e^1.0 = 2.718, e^0.1 = 1.105

2. 총합 계산: 7.389 + 2.718 + 1.105 = 11.212

3. 확률값 계산
𝜎(2.0) = 11.212 / 7.389 = 0.659
𝜎(1.0) = 2.718 / 11.212 = 0.242
𝜎(0.1) = 1.105 / 11.212 = 0.099

- 최종 확률값: [0.659, 0.242, 0.099]
- 가장 높은 값(2.0)이 가장 높은 확률(0.659)

Softmax Function

 

 

✅️ 특징

1️⃣ 확률 분포를 생성: 소프트맥스의 출력값은 0~1 사이의 값이며, 전체 합이 항상 1, 출력값을 확률처럼 해석

 

2️⃣ 값이 큰 입력값의 영향력 증가: 지수 함수 e^x는 값이 커질수록 급격히 증가하기 때문에, 큰 값에 더 높은 확률을 할당

3️⃣ 다중 클래스 분류에서 사용: 시그모이드 함수는 이진 분류, 소프트맥스는 여러 개의 클래스 중 가장 가능성 높은 클래스를 선택하는 다중 클래스 분류