Hello COCOBALL!

[DL] 활성화 함수(Activation Function) 본문

Deep Learning

[DL] 활성화 함수(Activation Function)

coco_ball 2024. 6. 23. 16:14

활성화 함수

퍼셉트론이 입력신호를 처리하여 출력 신호를 결정하는 데 사용되는 비선형 함수이다.

다시 말하자면, 입력값들의 수학적 선형 결합을 다양한 형태의 비선형(혹은 선형) 결합으로 변환하는 역할을 한다.

​인공 신경망이 복잡한 문제를 설명할 때 활성화 함수를 이용한 비선형 변환이 매우 중요한 역할을 하기 때문에 어떤 활성화 함수를 사용하는지에 따라 딥러닝의 예측력에 차이가 크다.

 

활성화 함수의 종류

1. 시그모이드 함수(Sigmoid Function)

 

  • 특징
    • 출력 범위: 0에서 1 사이(0보다 크고 1보다 작은 값이 출력되기 때문에 확률의 표현이 가능).
    • 비선형성: 입력 값이 큰 경우 출력 값은 1에 가까워지고, 입력 값이 작은 경우 출력 값은 0에 가까워지며, 이는 신경망에 비선형성을 도입합니다.
    • 미분 가능: 모든 점에서 미분 가능.
    • 사용 사례: 신경망, 로지스틱 회귀, 이진 분류 문제에서 출력층 활성화 함수로 자주 사용됨.
  • 장점:
    • 기울기가 급변하여 발생하는 기울기 폭주(Gradient Exploding) 문제가 발생하지 않음.
  • 단점:
    • 기울기 소실(Vanishing Gradient) 문제: 입력 값이 매우 크거나 작을 때, 기울기가 매우 작아져서 학습이 느려지거나 멈출 수 있음.
    • 출력 값이 항상 양수: 이는 다음 층의 뉴런이 항상 같은 방향으로 업데이트될 수 있음을 의미하여 학습에 부정적인 영향을 미칠 수 있음.

 

2. Tanh 함수

 

  • 특징
    • 출력 범위: -1에서 1 사이.
    • 비선형성: Sigmoid와 유사하지만 출력 값이 0 중심이므로 신경망이 더 잘 수렴할 수 있음.
    • 미분 가능: 모든 점에서 미분 가능.
    • 사용 사례: 시그모이드 함수와 유사.
  • 장점:
    • 시그모이드 함수보다 범위가 넓어 출력값의 변화 폭이 크고, 기울기 소실 증상이 비교적 적음.
  • 단점:
    • Vanishing Gradient 문제: Sigmoid와 마찬가지로 입력 값이 매우 크거나 작을 때 기울기가 매우 작아지는 문제가 있음.

 

3. ReLU(Rectified Linear Unit) 함수

 

 

  • 특징
    • 출력 범위: 0에서 무한대.
    • 비선형성: 단순하지만 비선형성을 제공하여 신경망이 복잡한 패턴을 학습할 수 있게 함.
    • 미분 가능: 0이 아닌 모든 점에서 미분 가능.
    • 사용 사례: 대부분의 현대 신경망에서 은닉층 활성화 함수로 사용됨, 가장 많이 사용되는 활성화 함수.
  • 장점:
    • Vanishing Gradient 문제 해결: 양수 영역에서는 기울기가 사라지지 않음.
    • 계산 효율성: 다른 활성화 함수보다 계산이 간단하여 학습이 빠름.
  • 단점:
    • Dead Neurons 문제: 입력 값이 음수일 때 뉴런이 '죽을' 수 있음, 즉 뉴런의 출력이 항상 0이 될 수 있음.

 

4. Leaky ReLU 함수

 

 

  • 특징
    • 출력 범위: 음의 무한대에서 무한대.
    • 비선형성: ReLU와 유사하지만, 음수 입력 값에서도 작은 기울기를 갖도록 함.
    • 미분 가능: 0이 아닌 모든 점에서 미분 가능.
    • 사용 사례: Dead Neurons 문제를 해결하기 위해 ReLU 대신 사용됨.
  • 장점:
    • Dead Neurons 문제 완화: 음수 영역에서도 작은 기울기를 가지므로 뉴런이 완전히 죽지 않음.

5. PReLU(Parametric Rectified Linear Unit) 함수

  •  
    • 출력 범위: −∞에서 까지.
    • 비선형성: 입력 값이 음수일 때 비선형성을 제공하며, 파라미터 α에 따라 조절 가능.
    • 미분 가능: 모든 점에서 미분 가능.
    • 사용 사례: 표준 ReLU의 변형으로, 딥러닝 모델에서 은닉층 활성화 함수로 사용됨.
  • 장점:
    • 학습 가능 파라미터: 음수 부분의 기울기 α\alpha가 학습 가능하여 모델이 최적의 값을 학습할 수 있음.
    • Dead Neurons 문제 완화: 음수 영역의 기울기를 조정하여 ReLU의 dead neurons 문제를 줄일 수 있음.
    • 유연성: 특정 데이터셋에 맞춰 음수 영역의 기울기를 조정할 수 있어 더 유연한 모델링 가능.
  • 단점:
    • 계산 복잡성: 표준 ReLU보다 약간 더 복잡하여 계산 비용이 증가할 수 있음.
    • 과적합 위험: 파라미터 α\alpha가 과적합을 초래할 수 있음.

6. ELU(Exponential Linear Unit)함수

  • 출력 범위: −α에서 까지.
  • 비선형성: 음수 구간에서 지수 함수를 사용하여 비선형성을 제공.
  • 미분 가능: 모든 점에서 미분 가능.
  • 사용 사례: 다양한 신경망 모델에서 활성화 함수로 사용.

장점

  • Vanishing Gradient 문제 해결: 음수 영역에서 기울기가 0으로 사라지지 않아 신경망의 학습이 지속될 수 있음.
  • Robust to Noise: 잡음에 대해 더 강건한 특성을 가짐.
  • Negative Saturation: 음수 영역에서 출력 값이 −α로 포화되며, 이는 신경망의 학습을 안정화시킴.
  • Smooth Outputs: ReLU와 달리, 출력이 매끄럽게 변화하여 학습이 더 안정적일 수 있음.

단점

  • 계산 복잡성: 지수 함수 연산으로 인해 계산이 더 복잡하고 느릴 수 있음.
  • Hyperparameter: α 값을 설정해야 하며, 이 값이 모델의 성능에 영향을 미칠 수 있음.

7. Swish 함수

  • 특징:
    • 출력 범위: −∞에까지.
    • 비선형성: 부드럽고 비선형성을 제공하여 신경망이 복잡한 패턴을 학습할 수 있게 함.
    • 미분 가능: 모든 점에서 미분 가능.
    • 사용 사례: 다양한 신경망에서 은닉층 활성화 함수로 사용되며, ReLU 함수보다 성능이 더 좋은 경우가 있음.
  • 장점:
    • Gradient Flow: 입력이 음수일 때도 기울기가 0이 되지 않아, 네트워크가 계속 학습할 수 있음.
    • Smoothness: 부드러운 함수 형태로, ReLU의 경계에서 발생하는 불연속 문제를 피할 수 있음.
    • 성능 향상: 여러 실험에서 Swish 함수가 ReLU 등 다른 활성화 함수보다 더 나은 성능을 보이는 경우가 있음.
  • 단점:
    • 계산 복잡성: ReLU에 비해 계산이 조금 더 복잡하여 학습 속도가 느릴 수 있음.
    • Dead Neurons 문제: ReLU보다는 덜하지만 여전히 일부 상황에서 발생할 수 있음.

8. Softmax 함수

  • 특징
    • 출력 범위: (0, 1) 사이의 값으로 출력되고, 모든 출력 값의 합은 1.
    • 비선형성: 각 클래스에 대한 확률 분포를 생성하여 비선형성을 도입함.
    • 미분 가능: 모든 점에서 미분 가능.
    • 사용 사례: 주로 다중 클래스 분류 문제에서 출력층 활성화 함수로 사용됨.
  • 장점:
    • 확률 해석: 출력 값을 확률로 해석할 수 있어 분류 문제에 적합함.
  • 단점:
    • Exponentiation의 계산 복잡성: 계산 비용이 상대적으로 높음.