活性化関数(activation function)の使い方

活性化関数はActivation層,または全てのフォワード層で使える引数activationで利用できます.

from keras.layers.core import Activation, Dense

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

上のコードは以下と等価です:

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

element-wiseなTheano/TensorFlow関数を活性化関数として渡すこともできます:

from keras import backend as K

def tanh(x):
    return K.tanh(x)

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

利用可能な活性化関数

  • softmax: Softmaxは入力の最後の次元に適用されます.想定入力形式は(nb_samples, nb_timesteps, nb_dims)または(nb_samples, nb_dims)です.
  • softplus
  • softsign
  • relu
  • tanh
  • sigmoid
  • hard_sigmoid
  • linear

より高度な活性化関数

単純なTheano/TensorFlow関数よりも高度な活性化関数(例:learnable activations, configurable activations, etc.)は,Advanced Activation layersとして利用可能です. これらは,keras.layers.advanced_activationsモジュールに含まれています. PReLUやLeakyReLUはここに含まれます.