활성화 함수

2021. 5. 10. 07:01기본 딥러닝

딥러닝 네트워크에서는 노드에 들어오는 값들에 대해 곧바로 다음 레이어로 전달하지 않고 주로 비선형 함수를 통과 

    시킨 후 전달한다. 이때 사용하는 함수를 활성화 함수(Activation Function) 이라 부른다.

 

1. 소프트 맥스 함수

  - 소프트맥스 함수는 범주 수만큼의 차원을 갖는 입력벡터를 받아서 확률(요소의 합이 1)로 변환해줌

  - 소프트맥스 함수는 모든 출력 값의 상대적인 크기를 고려한 값을 출력하기 때문에, 다 범주 분류 신경망에 적합

  - 소프트맥스는 가중치의 합이 1이 되도록 정규화하여 확률분포를 만들어 줌

  - 예측이 잘 이루어지지 않으면 여러 레이블이 비슷한 확률을 가지게 될 수 있다

 

 

2. 시그모이드 함수 

  - 0 또는 1 로 결과가 나오므로 이진분류에 좋음

  - 값이 0 또는 1에 수렴하므로 역전파 시 기울기 소실문제 발생

  - 함수값의 중심이 0이 아니라서 학습이 느림

3.  하이퍼볼릭탄젠트 함수

  - 함수의 중심값을 0으로 옮겨 시그모이드의 학습 시간이 느려지는 단점을 해결

  - 그러나 일정 값 이상 커질시 미분값이 소실되는 기울기 소실문제는 여전히 남아있음

 

4. ReLU 함수 (Rectified Linear Unit)

  - x>0 이면 기울기가 1인 직선이고, x<0이면 함수값이 0이된다.

  - 시그모이드나 탄젠트 함수에 비해 학습이 빠름, 연산 비용이 크지 않고 구현이 간단

  - x<0인 값들에 대해서는 기울기가 0이기 때문에 뉴런이 죽을 수 있다는 단점 존재

5. Leaky ReLU 함수

 - x<0인 값들에 대해서는 기울기가 0이기 때문에 뉴런이 죽을 수 있다는 단점을 해결

 

6. GELU 함수

   - 0 주변에서 부드럽게 변화해 학습 성능을 높임

'기본 딥러닝' 카테고리의 다른 글

Batch Normalization (배치 정규화)  (0) 2021.05.29
Regularization과 Normalization  (0) 2021.05.29
오버피팅 해결 방법  (0) 2021.05.26
옵티마이저 (최적화 함수)  (0) 2021.05.10
손실함수  (0) 2021.05.08