Функция activations.leaky_relu
Функция activations.leaky_relu применяется к данным
и вычисляет активацию по формуле: для положительных
значений возвращает само значение, для отрицательных -
умножает его на коэффициент утечки. Первым параметром
передаётся входной тензор, вторым - коэффициент
отрицательного наклона alpha (по умолчанию 0.2).
Функция полезна в глубоких сетях, где обычный ReLU
может приводить к «мёртвым» нейронам.
Синтаксис
tf.keras.activations.leaky_relu(x, alpha=0.2)
Пример
Давайте применим функцию к тензору, содержащему положительные и отрицательные значения:
import tensorflow as tf
t = tf.constant([-2.0, -1.0, 0.0, 1.0, 2.0])
res = tf.keras.activations.leaky_relu(t)
print(res)
Результат выполнения кода:
tf.Tensor([-0.4 -0.2 0. 1. 2. ], shape=(5,), dtype=float32)
Пример
Давайте изменим коэффициент утечки на 0.1:
import tensorflow as tf
t = tf.constant([-2.0, -1.0, 0.0, 1.0, 2.0])
res = tf.keras.activations.leaky_relu(t, alpha=0.1)
print(res)
Результат выполнения кода:
tf.Tensor([-0.2 -0.1 0. 1. 2. ], shape=(5,), dtype=float32)
Пример
Давайте применим функцию к двумерному тензору:
Результат выполнения кода:
tf.Tensor(
[[-0.2 2. -0.6]
[ 4. -1. 6. ]], shape=(2, 3), dtype=float32)
Пример
Давайте используем функцию внутри слоя Dense:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, activation=tf.keras.activations.leaky_relu)
])
t = tf.constant([[1.0, 2.0, 3.0]])
res = model(t)
print(res)
Результат выполнения кода:
tf.Tensor([[-1.3483012 0.7014159 -0.0300868]], shape=(1, 3), dtype=float32)