본문 바로가기

SWE/AI

Non-linear activation function

728x90
반응형

ReLU, Sigmoid, Softmax, tanh
모두 신경망에서 자주 사용하는 활성화 함수다.
각 함수마다 독특한 특성과 장단점이 있는데.. 일단 공통점은 비선형 활성 함수(non-linear activation function)라는 것!

🤷🏻‍♀️왜 하필 비.선.형. 활성화 함수야? Linear는 안돼?
Linear Activation Function도 존재한다. 회귀 문제 등에서 특정 상황에 유용하지만, 아래 3가지 이유로 비선형 관계를 학습할 수 없어 신경망의 hidden layer에서는 거의 사용되지 않는다.

1. 선형성

입력을 그대로 출력으로 반환함. 비선형성을 도입하지 않기 때문에, 비선형 패턴을 학습하지 못하는 한계가 있다.

2. 출력 범위 제한 없음

다른 활성화 함수와 달리 출력이 제한되지 않아, 값이 무한대로 커질 수 있다.

3. 가중치의 선형 결합

여러 층이 쌓여도 최종 출력은 단일 선형 변환으로 환원되어, 여러 개의 선형 활성화 층을 쌓아도 그 의미가 없고, 복잡한 패턴을 학습하는 데 한계가 있다.

 

비선형 활성화 함수는 각각 다른 상황에서 유용하며, 모델의 학습 성능과 속도에 큰 영향을 줄 수 있다.
ReLU는 주로 hidden layer에, Softmax는 output layer에, Sigmoid와 Tanh는 다양한 hidden layer와 output layer에 상황에 따라 사용된다.


 

1. ReLU (Rectified Linear Unit)

정의: \( \text{ReLU}(x) = \max(0, x) \)
출력 범위: \([0, \infty)\)
양수 입력은 그대로 통과시키고, 음수 입력은 0으로 변환


⭕️장

계산이 단순하고 효율적임
비선형성을 제공하면서도 계산이 매우 간단하여 학습 속도가 빠름
기울기 소멸 문제(Vanishing Gradient Problem)가 적어 깊은 신경망에서 효과적임


❌단

음수 입력이 모두 0으로 변하기 때문에, 음수 입력에서 뉴런이 죽어버리는 죽은 ReLU 문제가 발생할 수 있음


 

2. Sigmoid

정의: \( \text{Sigmoid}(x) = \frac{1}{1 + e^{-x}} \)
출력 범위: \([0, 1]\)
입력 값을 0과 1 사이로 변환
출력값을 확률처럼 해석할 수 있어, 이진 분류에서 자주 사용

 

⭕️장

출력값이 제한되어 있어 확률적 해석 가능

❌단

기울기 소멸 문제가 발생할 수 있음
특히 큰 양수나 음수에 대해 기울기가 0에 가까워져 학습이 어려움
출력이 0 또는 1에 가까워질 때 변화가 거의 없기 때문에, 역전파 시 기울기 전파가 약해지는 문제가 발생할 수 있음


 

3. Softmax

정의: \( \text{Softmax}(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} \)
출력 범위: \([0, 1]\) (출력값의 합은 항상 1)
입력 벡터를 확률 분포로 변환
각 요소의 값이 0과 1 사이에 있으며 모든 요소의 합은 1
주로 다중 클래스 분류의 출력층에서 사용

 

⭕️장

확률 분포를 제공하므로 다중 클래스 문제에 적합

 

❌단

기울기 소멸 문제가 발생할 수 있음
출력값이 확률처럼 분포되므로 다른 레이어에서 직접적으로 사용하기에는 적합하지 않음


 

4. tanh (Hyperbolic Tangent)

정의: \( \text{Tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \)
출력 범위: \([-1, 1]\)
Sigmoid와 비슷한 S자 형태의 곡선을 가지지만, 출력 범위가 \([-1, 1]\)
양수와 음수로 확장된 출력 범위를 가지고 있어, 신경망의 각 뉴런이 더 풍부한 표현력을 가질 수 있음

 

⭕️장

출력 범위가 -1에서 이므로 평균이 0에 가까워져 학습이 좀 더 효율적으로 됨

 

❌단

기울기 소멸 문제가 발생할 수 있음

활성 함수 정의 출력 범위 주요 사용 사례 장점 단점
ReLU max(0,x) [0,∞) 은닉층에서 주로 사용 계산이 단순, 기울기 소멸 문제 적음
죽은 ReLU 문제
Sigmoid 1+e−x1​ [0,1] 이진 분류 확률적 해석 가능
기울기 소멸 문제, 학습 느림
Softmax ∑exj​exi​​ [0,1], 합=1 다중 클래스 분류의 출력층 확률 분포 제공
기울기 소멸 문제
Tanh ex+e−xex−e−x​ [−1,1] 은닉층에서 사용 출력 평균이 0에 가까움
기울기 소멸 문제

 

728x90
반응형

'SWE > AI' 카테고리의 다른 글

RNN을 쪼개보자  (0) 2024.11.11
RNN을 향한 꼬꼬무  (0) 2024.11.10
내가 가장 좋아하는 Layer는  (0) 2024.11.08
FCL FCNN FCN FPN 누가 진또배기냐  (1) 2024.11.04
Network Model 로드맵  (0) 2024.10.23