반응형

케라스 Activation 활성 함수

 

<참조: https://deeptak.tistory.com/9 >

 

글. 오상문 sualchi@daum.net

 

케라스에서 지원하는 대표적인 활성 함수 세 가지 relu, sigmoid, tanh를 알아보자.  

 

1) relu

 

Relu(Rectified Linear Unit; 릴루, 렐루)는 가장 많이 사용되는 선형 활성 함수로써 연산이 빠르며, 결과는 0 이상의 값이다. 0 아래 입력은 결과가 0이므로 학습에 적용할 수 없다,  

 

activation = 'relu'

 

 

 

 

 

2) sigmoid

 

Sigmoid(시그모이드)는 신경망 모델에서 많이 사용되는 비선형 활성 함수이며, 출력 범위는 0 < x < 1 값이다. 

 

activation = 'sigmoid'

 

[참고] Sigmoid gradient vanishing(기울기 손실) 문제

 

Sigmoid 결과 값이 0~1사이 값이므로  딥러닝 모델에서 사용하는 역전파 알고리즘을 적용하기 어려울 수 있다(기울기가 너무 작아서 학습 적용이 안되는 문제).

 

 

 

3) tanh

 

Tanh(쌍곡 탄젠트)는 비선형 함수의 종류로써 sigmoid와 비슷하지만, 결과 범위는 -1 < x < 1 값이다. 

 

activation = 'tanh'

 

 

 

 

 

이외에도 다양한 활성 함수가 제공되는데 아래 링크를 방문하기 바랍니다.

https://keras.io/api/layers/activations/

 

Keras documentation: Layer activation functions

Layer activation functions Usage of activations Activations can either be used through an Activation layer, or through the activation argument supported by all forward layers: model.add(layers.Dense(64, activation=activations.relu)) This is equivalent to:

keras.io

 

반응형

+ Recent posts