활성화 함수란 어떠한 신호를 입력받아 이를 적절한 처리를 하여 출력해주는 함수입니다. 이를 통해 출력된 신호가 다음 단계에서 활성화 되는지를 결정합니다.
위에서 설명한 활성화 함수의 개념을 표현한 식입니다.
input data => {activation function} => output data
이러한 활성화 함수의 종류는 여러가지가 있습니다. 그 중 유명한 3가지를 알려드도록 하겠습니다.
1. step function
가장 기본이 되는 활성화 함수입니다. 임계값을 기준으로 활성화 되거나 혹은 비활성화 되는 형태를 보입니다.
식만 보셔도 그래프 모양이 계단 형태인 것을 알 수 있습니다.
2. sigmoid function
이 함수는 항상 0과 1사이의 값만 가질 수 있도록하는 비선형 함수입니다. step function은 0, 1이라는 출력 값만 가졌지만, 시그모이드는 이 사이에도 연속적인 출력값이 있다는 것으로 봅니다. 미분이 가능하도록 1과 0 사이를 부드럽게 이어주는 것이 특징입니다.
3. relu function
Rectified Linear Unit의 약자인 선형함수입니다. sigmoid function의 문제점인 아주 작은 값을 가질 경우 0에 매우 가까운 값을 가지게 되는 Gradient Vanishing 문제를 해결하기 위해 많이 사용되는 활성화 함수입니다.
Gradient Descent를 사용해 Back-propagation 시 각 layer를 지나며 이를 지속적으로 곱해주게 됩니다. 이 때 layer가 많을 경우에는 결국 0으로 수렴하는 문제가 발생합니다. 그렇기 때문에 layer가 많을 경우 sigmoid가 잘 작동하지 않습니다.
또다른 relu의 장점으로는 미분이 간단합니다.
이상 활성화 함수(Activation function)이었습니다. ^_^
'Machine, Deep Learning > Machine, Deep Learning 용어 설명' 카테고리의 다른 글
opencv - grayscale mode vs gray color conversion / 왜 BGR ? (5) | 2021.10.29 |
---|---|
순환신경망(Recurrent Neural Networks) (0) | 2019.06.21 |
컨볼루션 신경망 (CNN, Convolutional Neural Network) (0) | 2019.06.15 |
원-핫 인코딩 (One-Hot encoding) (0) | 2019.06.15 |
랜덤 포레스트(Random Forest)란? (0) | 2019.06.15 |