관리 메뉴

Douglas' Space

활성화함수(activation function)에 대하여 본문

Computing Tech. Diary/Artificial Intelligence

활성화함수(activation function)에 대하여

똘키아빠 2022. 4. 28. 15:59
인공뉴런(이제부터는 이를 AN이라고 부르겠습니다.) 하나를 보면 함수와 같다고 하였습니다. 정확하게는 AN 하나는 2개의 합성함수로 되어 있습니다. 다음과 같이 생겼습니다. 
y = z(f(x1,x2,...,xn)) = z(x1*w1+x2*w2+....+xn*xn+b)
ANN은 이런 AN들이 층을 구성하여 연결된 것이므로 합성함수들의 집합과 같다고 할 수  있습니다. 여기서 xi는 입력값입니다. 입력계층에 존재하는 AN의 xi는  최초의 학습데이타가 될 것입니다. 그러나 은닉계층과 출력계층의 AN의 xi는 그 전 AN들의 출력값인 y들이 됩니다. 
 wi는 가중치로서 AN의 학습의 목적인 학습 파라미터라고 할 수 있습니다.  b는 bias로서 각 AN마다의 특성이 반영되는 조정 값입니다. wi와 b 모두 입력 데이타를 사용하여 학습되는 파라미터입니다. (ANN을 학습시킬 때 사용자가 설정하는 파라미터를 구분하여 hyper파라미터하는데 이에 대해서는 추후 소개하겠습니다.) 
AN의  최종 출력은 위의 마지막 함수(z)에 의해 결정이 됩니다. 이를 활성화함수라고 합니다. 활성화함수는 뉴런이 신호를 전달할 때 막전위가 활동전위로 변할 때 전달되는 것을 모델링한 것입니다. 활성화함수는 각 AN의 출력을 결정하고 이 출력이 연결된 AN들에 입력되기 때문에 ANN에서 매우 중요한 함수입니다. 이 활성화함수는 AN이 존재하는 계층과 특성에 따라 다양한 함수를 사용하는데 그 대표적인 함수들을 이해하는 것이 필요하다고 생각합니다. 그 중 대표적인 것이 sigmoid, ReLU, tanh, softmax함수 입니다. 
sigmoid는 입력값을 0~1 사이의 값으로, ReLU는 0 이상의 값으로, Tanh는 -1~+1 사이의 값으로 매핑하는 함수 입니다. softmax는 다수의 입력값을 확률로 매핑하는 함수입니다. 수학 공식이 엄청나 보이지만 사실 그 결과는 매우 단순합니다. softmax의 경우는 ANN의 최종 출력계층에서 주로 사용되며 분류 문제에서 각 분류 클래스들의 확률을 계산합니다.
Comments