tf.keras.activations.gelu
Применяет функцию активации Gaussian error linear unit (GELU).
tf.keras.activations.gelu(
x, approximate=False
)
Gaussian error linear unit (GELU) вычисляет x * P(X <= x), где P(X) ~ N(0, 1). Нелинейность (GELU) взвешивает входные данные по их значению, а не переключает входные данные по их знаку, как в ReLU.
Например:
x = tf.constant([-3.0, -1.0, 0.0, 1.0, 3.0], dtype=tf.float32)
y = tf.keras.activations.gelu(x)
y.numpy()
array([-0.00404951, -0.15865529, 0. , 0.8413447 , 2.9959507 ],
dtype=float32)
y = tf.keras.activations.gelu(x, approximate=True)
y.numpy()
array([-0.00363752, -0.15880796, 0. , 0.841192 , 2.9963627 ],
dtype=float32)
| Аргументы | |
|---|---|
x | Входной тензор. |
approximate | Логическое значение, определяющее, включить ли приближение. |
| Возвращает | |
|---|---|
Активация gaussian error linear: 0.5 * x * (1 + tanh(sqrt(2 / pi) * (x + 0.044715 * x^3))) если approximate является True или x * P(X <= x) = 0.5 * x * (1 + erf(x / sqrt(2))), где P(X) ~ N(0, 1), если approximate равно False. |
Ссылка:
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/activations/gelu