Cette page a été traduite par l'API Cloud Translation.
Switch to English

tf.keras.activations.selu

Tensorflow 1 Version Voir la source sur GitHub

Scaled Exponentielle Unité linéaire (SELU).

La fonction d'activation Scaled Exponential Unité linéaire (SELU) est défini comme suit:

  • if x > 0: return scale * x
  • if x < 0: return scale * alpha * (exp(x) - 1)

alpha et l' scale constantes sont pré-définies ( alpha=1.67326324 et scale=1.05070098 ).

Fondamentalement, la fonction d' activation de SELU multiplie scale (> 1) avec la sortie de la tf.keras.activations.elu fonction d'assurer une pente plus grande que pour une des entrées positives.

Les valeurs de alpha et l' scale sont choisis de telle sorte que la moyenne et la variance des entrées sont conservées entre deux couches consécutives tant que les poids sont initialisés correctement (voir tf.keras.initializers.LecunNormal initialiseur) et le nombre d'unités d'entrée est " assez grand »(voir le document de référence pour plus d'informations).

Exemple d'utilisation:

num_classes = 10  # 10-class problem
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(64, kernel_initializer='lecun_normal',
                                activation='selu'))
model.add(tf.keras.layers.Dense(32, kernel_initializer='lecun_normal',
                                activation='selu'))
model.add(tf.keras.layers.Dense(16, kernel_initializer='lecun_normal',
                                activation='selu'))
model.add(tf.keras.layers.Dense(num_classes, activation='softmax'))

x Un tenseur ou variable pour calculer la fonction d'activation.

L'activation de l' unité à l' échelle exponentielle: scale * elu(x, alpha) .

Remarques:

Références: