Функция nn.elu
Функция nn.elu применяет экспоненциальную линейную
активацию (Exponential Linear Unit) к переданному тензору.
Первым параметром функция принимает входной тензор.
Вторым параметром можно передать коэффициент наклона
для отрицательной части, по умолчанию равный 1.0.
Для положительных значений функция работает как линейная,
а для отрицательных - как экспоненциальная,
что помогает бороться с затуханием градиента.
Синтаксис
tf.nn.elu(features, alpha=1.0, name=None)
Пример
Давайте применим функцию nn.elu к тензору
с положительными и отрицательными значениями:
import tensorflow as tf
t = tf.constant([-2.0, -1.0, 0.0, 1.0, 2.0])
res = tf.nn.elu(t)
print(res)
Результат выполнения кода:
tf.Tensor([-0.86466473 -0.63212055 0. 1. 2. ], shape=(5,), dtype=float32)
Пример
Давайте применим функцию nn.elu к двумерному тензору:
Результат выполнения кода:
tf.Tensor(
[[-0.63212055 2. -0.95021296]
[ 4. -0.99326205 6. ]], shape=(2, 3), dtype=float32)
Пример
Давайте применим функцию nn.elu с параметром
alpha, равным 2.0, чтобы изменить наклон
отрицательной части:
Результат выполнения кода:
tf.Tensor([-1.7293295 -1.2642411 0. 1. 2. ], shape=(5,), dtype=float32)
Пример
Давайте применим функцию nn.elu внутри модели
Keras в качестве слоя активации:
Результат выполнения кода:
tf.Tensor([[-0.9654417 -0.99899316 -0.99995255 1.4855442 ]], shape=(1, 4), dtype=float32)
Смотрите также
-
функцию
relu,
которая применяет линейную активацию с обрезкой отрицательных значений -
функцию
leaky_relu,
которая применяет линейную активацию с малым наклоном для отрицательных значений -
функцию
selu,
которая применяет масштабированную экспоненциальную линейную активацию -
функцию
gelu,
которая применяет гауссову линейную активацию