AI/ML 기본 개념

[ML 개념] 활성화 함수(Activation Function)란?

zamezzz 2018. 6. 6. 00:29

 [용어정리] 활성화 함수(Activation Function)란?




인공지능분야에서 중요한 개념인 활성화 함수란 무엇인지에 대해 정리하고자 합니다.


활성화 함수는 인공지능의 많은 알고리즘에서 다양한 형태로 사용되고 있는데요.


어떠한 활성화 함수를 사용하느냐에 따르 그 출력 값이 달라지기 때문에, 적절한 활성화


함수를 사용하는 것이 매우 중요합니다.


쉽게 말해 활성화 함수란 어떠한 신호를 입력받아 이를 적절한 처리를 하여 출력해주는


함수입니다. 이를 통해 출력된 신호가 다음 단계에서 활성화 되는지를 결정합니다.


그림을 보면 이해가 좀 더 쉬우실 것 같습니다.

(출처:http://cs231n.github.io/neural-networks-1/)





위에서 설명한 활성화 함수의 개념을 표현한 식입니다.


input data -> {activation function} -> output data


이렇게 보시면 될 것 같습니다. 


이 활성화 함수의 종류는 여러가지가 있는데요. 널리 알려지고, 자주 쓰이는 활성화 함수


몇 가지 종류에 대해서 조금 더 정리해보겠습니다.


해당 함수의 식과 그래프를 중심으로 정리하면 좋을 것 같아 그렇게 진행해볼게요~


 step function


먼저 가장 기본이 되는 활성화 함수는 step function이라고 할 수 있습니다.


그래프 모양이 계단과 같이 생겼습니다. 


이 함수는 임계값을 기준으로 활성화 되거나 혹은 비활성화 되는 형태를 보입니다.


이를 식으로 표현하면 아래와 같습니다.


0을 기준으로 출력이 0이거나 혹은 1로 표현됨이 보이시죠?


쉽게 식만 보셔도 그래프 모양은 계단 형태일 것으로 알 수 있습니다.





 sigmoid function


다음 활성화 함수는 sigmoid function입니다.


이 함수는 항상 0과 1사이의 값만 가질 수 있도록하는 비선형 함수입니다.


step function은 0, 1이라는 출력 값만 가졌지만, 시그모이드는 이 사이에도 연속적인


출력값이 있다는 것으로 봅니다. 미분이 가능하도록 1과 0 사이를 부드럽게 이어주죠.


이를 식으로 표현하면 다음과 같습니다.


그래프를 보시면 그 형태에 대해 더욱 이해가 쉬우실 것 같네요.




 ReLU function


세번째 활성화함수는 ReLU라고 불리는 함수입니다.


Rectified Linear Unit의 약자이기도 한 이 함수는 선형함수입니다.


sigmoid function의 Gradient Vanishing 문제를 해결하기 위해 최근에 많이 사용되고


있는 활성화 함수 중 하나입니다.


Gradient Vanishing 문제란 0과 1사이의 값을 가지는 sigmoid function에서 아주 작은


값을 가질 경우 0에 매우 가까운 값을 가지게 됩니다. ex)0.00001


Gradient Descent를 사용해 Back-propagation 시 각 layer를 지나며 이를 지속적으로


곱해주게 되는데요. 이때 layer가 많을 경우에는 결국 0으로 수렴하는 문제가 발생해요.


그렇기 때문에 layer가 많을 경우 sigmoid가 잘 작동하지 않습니다.


이를 해결하기 위해 생겨난 ReLU의 식은 다음과 같습니다.

이 ReLU의 가장 큰 장점은 위에서 말한 Gradient Vanishing문제를 해결할 수 있으며,


미분이 아주 간단하게 된다는 것입니다. 이 그래프 모양은 다음과 같습니다.





이렇게 활성화 함수의 개념 및 대표적인 3가지의 활성화 함수에 대해 정리해보았습니다.


새로운 개념을 알아가는 것은 흥미롭지만, 어렵고 복잡하기도 하네요.


혹시 잘못된 부분이 있다면 언제든지 알려주시면 감사하겠습니다.


그럼 글 읽어주셔서 감사드리며, 포스팅을 마치겠습니다.

반응형

'AI > ML 기본 개념' 카테고리의 다른 글

[ML 개념] 머신러닝의 핫한 용어 정리 (1)  (0) 2017.07.11