Activations의 이용

Activations는 Activation 층이나 앞선 층에서 지원하는 모든 activation argument로 이용 가능합니다:

from keras.layers import Activation, Dense

model.add(Dense(64))
model.add(Activation('tanh'))

이것은 다음과 같습니다:

model.add(Dense(64, activation='tanh'))

여러분은 Tensorflow/Theano/CNTK 의 element-wise 함수도 활성함수로 이용할 수 있습니다:

from keras import backend as K

model.add(Dense(64, activation=K.tanh))

사용 가능한 activations

softmax

keras.activations.softmax(x, axis=-1)

Softmax 활성화 함수.

Arguments

  • x: 입력 텐서.
  • axis: 정수, softmax 정규화가 적용되는 축

Returns

텐서, softmax 변환의 출력.

Raises

  • ValueError: dim(x) == 1일 때.

elu

keras.activations.elu(x, alpha=1.0)

Exponential linear unit.

Arguments

  • x: 입력 텐서.
  • alpha: 스칼라, 음수 부분의 기울기

Returns

The exponential linear activation: x > 0 라면 x, x < 0라면 alpha * (exp(x)-1).

References


selu

keras.activations.selu(x)

Scaled Exponential Linear Unit (SELU).

SELU는 다음과 같습니다: scale * elu(x, alpha), 여기서 alphascale은 미리 정해지는 상수입니다. alphascale의 값은 입력의 평균값과 분산값이 두 개의 연속되는 층 사이에서 보존되도록 결정됩니다. 조건은 가중치의 초기치 설정이 올바르게 되고(lecun_normal 초기치 설정 참조) 입력의 수가 "충분히 클 때"입니다(references에서 더 많은 정보를 확인해주십시오).

Arguments

  • x: 활성 함수를 적용하는 텐서, 또는 변수.

Returns

scaled exponential unit activation의 값: scale * elu(x, alpha).

Note

  • "lecun_normal"과 함께 사용되어야 합니다.
  • "AlphaDropout"드롭아웃 변수와 함께 이용되어야 합니다.

References


softplus

keras.activations.softplus(x)

Softplus 활성화 함수.

Arguments

  • x: 입력 텐서.

Returns

softplus 활성 함수: log(exp(x) + 1).


softsign

keras.activations.softsign(x)

Softsign 활성화 함수.

Arguments

  • x: 입력 텐서.

Returns

softsign 활성화 함수: x / (abs(x) + 1).


relu

keras.activations.relu(x, alpha=0.0, max_value=None, threshold=0.0)

Rectified Linear Unit.

디폴트 값들로는, element-wise max(x, 0)를 반환합니다.

값을 준다면, 다음을 따릅니다: x >= max_value 일 때 f(x) = max_value, threshold <= x < max_value 일 때 f(x) = x, 그 외는 f(x) = alpha * (x - threshold).

Arguments

  • x: 입력 텐서.
  • alpha: 부동소수점. 음수 부분의 기울기. 디폴트는 0
  • max_value: 부동소수점. 포화 임계값
  • threshold: 부동소수점. 임계값 활성화를 위한 임계치

Returns

텐서.


tanh

keras.activations.tanh(x)

Hyperbolic tangent activation function.


sigmoid

keras.activations.sigmoid(x)

Sigmoid activation function.


hard_sigmoid

keras.activations.hard_sigmoid(x)

Hard sigmoid activation function.

sigmoid 활성화 함수보다 컴퓨팅 속도가 빠릅니다.

Arguments

  • x: 입력 텐서.

Returns

Hard sigmoid activation:

  • x < -2.5 라면 0
  • x > 2.5 라면 1
  • -2.5 <= x <= 2.5 라면 0.2 * x + 0.5.

exponential

keras.activations.exponential(x)

지수(밑은 e) 활성화 함수.


linear

keras.activations.linear(x)

선형(i.e. identity) 활성화 함수.

"고급 Activations"에 대하여

간단한 TensorFlow/Theano/CNTK 활성화 함수보다 더 복잡한 함수들(eg. 상태를 유지하는 학습 가능한 활성화 함수) 는 Advanced Activation layers 에서 확인할 수 있으며, keras.layers.advanced_activations 모듈에서 찾을 수 있습니다. 이는 PReLULeakyReLU를 포함합니다.