본문 바로가기
AI/밑딥

딥러닝) 활성화 함수 Activation Functions

by 채채씨 2021. 2. 10.
728x90
반응형

이번 포스팅에서는 신경망에서 활성화 함수로 어떤 함수를 이용하는 지 살펴볼 것이다.

 

신경망에서는 활성화 함수로 비선형 함수를 사용해야 한다. 그렇지 않고 선형 함수를 사용할 경우, 신경망의 층을 깊게하는 의미가 없어진다. 즉, 층을 깊게 해도 은닉층 없는 네트워크로 대체할 수 있게 된다.

  > 선형 함수란? 특정 입력값에 대한 출력값이 입력값의 상수배만큼 변하는 함수, f(x) = ax + b

  > 비선형 함수란? 직선 1개로는 그릴 수 없는 선형이 아닌 함수

 

★예를 들어, h(x) = cx 를 활성화 함수로 사용한 3층 네트워크를 생각해보면 y(x) = h(h(h(x))) 가 된다. 계산해보면 y(x) = c*c*c*x 로 층을 쌓듯 세 번 계산하지만 y(x) = ax 로 치환할 경우, 은닉층이 없는 네트워크가 된다. 

 

결론적으로, 선형 함수로는 여러 층을 구성하는 기능을 살릴 수 없으므로, 층을 쌓고 싶다면 비선형 함수를 활성화 함수로 채택해야 한다.

 

 

 

 

1. 시그모이드 함수(sigmoid function)

시그모이드 함수는  함수값의 범위는 [0, 1]이고 중간값은 1/2이며, input값이 작을수록 0에 가깝고, 클수록 1에 가까운 값을 가진다. 

 

 

시그모이드 함수식

 

 

시그모이드 함수 그래프

 

 

 

 

 

2. ReLU 함수(Rectified Linear Unit)

ReLU 함수는 입력이 0보다 크면 입력값을 그대로 출력하고, 0이하이면 0을 출력하는 함수이다.

 

ReLU 함수식

 

 

ReLU 함수 그래프

 

 

 

 

728x90
반응형

댓글