728x90

딥러닝 네트워크에서는 노드에 들어오는 값들에 대해 곧바로 다음 레이어로 전달하지 않고 주로 비선형 함수를 통과시킨 후 전달하는데 그때 사용되는 것이 활성화 함수이다.

 

대중적으로 가장 많이 사용되는 활성화 함수는 sigmoid, tanh, relu가 있다.

 

1. sigmoid

 

시그모이드 함수는 Logistic 함수라 불리기도 하며, 선형인 멀티퍼셉트론에서 비선형 값을 얻기 위해 사용하기 시작했다.

현재의 경우는 딥러닝에서는 많이 사용되지는 않는다.

함수는 아래와 같이 구성된다.

sigmoid 함수
sigmoid 함수(미분)

 

시그모이드의 특징으로는 크게 3가지가 있다

 

1. 함수값이 (0, 1) 제한된다.

2. 함수의 중간값은 1/2

3. 매우 큰 값을 가지게되면 함수값은 거의 1로 수렴하며, 반대로 매우 작은 값을 가지게 되면 거의 0으로 수렴하게된다.

 

 

위와 같은 특징도 있지만 현재는 단점이 존재하여 많이 쓰이지는 않는다.

단점

 

1. input값이 일정이상 올라가게 되면 미분값이 거의 0에 수렴하게 된다. 즉, 미분값이 소멸하게 된다는 것이다.

2. 함수값의 중심이  0이아니라서 학습을 진행하였을때 학습이 느려질 수 있다.

 

2. tanh(하이퍼블릭 탄젠트)

 

tanh의 경우 sigmoid를 수학적으로 변형하여 얻을 수 있습니다.

[tanh 함수]
[tanh 함수 (미분)]

tanh의 특징 및 단점을 소개하자면

특징의 경우는 함수의 중심값을 (0,0)으로 옮겨 sigmoid의 최적화 과정이 느려지는 문제를 해결했다는게 가장 큰 특징이며,

 

단점은 sigmoid함수의 문제점처럼 미분함수에 대해 일정값 이상 커질시 미분값이 소실되는 문제의 경우는 여전히 남아있습니다.

 

 

3. relu

 

relu함수의 경우 현재 딥러닝 레이어를 제작할 때 뭐를 써야할지 모르겠으면 사용하라는 말이 많을 정도로 가장많이 사용되고 있는 함수입니다.

 

relu 함수의 특징

 

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

2. sigmoid, tanh 함수와 비교시 학습속도가 빠르다.

3. 연산 비용이 크지않고, 구현이 매우 간단하다.

 

relu 함수의 단점으로는 x < 0 인 값들에 대해서는 기울기가 0이기 때문에 뉴런이 죽을수도 있다는 단점이 존재하게 됩니다.

 

 

여기까지 딥러닝에서 가장많이 사용되는 활성화 함수의 종류였습니다.

 

참고 블로그 : reniew.github.io/12/

728x90

+ Recent posts