Класс LeakyReLU
Класс LeakyReLU создает слой нейронной сети,
который применяет функцию активации с утечкой.
В отличие от обычной функции ReLU,
которая обнуляет отрицательные значения,
LeakyReLU пропускает небольшой
отрицательный сигнал, умножая его на коэффициент
alpha. Первым параметром класс принимает
число alpha - коэффициент наклона
для отрицательной части. По умолчанию он равен
0.3. Вторым параметром можно передать
дополнительные аргументы слоя.
Синтаксис
tf.keras.layers.LeakyReLU(alpha=0.3, **kwargs)
Пример
Давайте создадим слой LeakyReLU
и применим его к тензору с отрицательными
и положительными значениями:
import tensorflow as tf
layer = tf.keras.layers.LeakyReLU()
t = tf.constant([-2.0, -1.0, 0.0, 1.0, 2.0])
res = layer(t)
print(res)
Результат выполнения кода:
tf.Tensor([-0.6 -0.3 0. 1. 2. ], shape=(5,), dtype=float32)
Пример
Давайте создадим слой с другим коэффициентом
alpha, равным 0.1:
Результат выполнения кода:
tf.Tensor([-0.2 -0.1 0. 1. 2. ], shape=(5,), dtype=float32)
Пример
Давайте используем слой LeakyReLU
внутри модели Keras:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, input_shape=(3,)),
tf.keras.layers.LeakyReLU(alpha=0.2)
])
t = tf.constant([[1.0, 2.0, 3.0]])
res = model(t)
print(res)
Результат выполнения кода:
tf.Tensor([[-0.06 0.12 0.23 0.31]], shape=(1, 4), dtype=float32)
Смотрите также
-
класс
ReLU,
который применяет функцию активации ReLU -
класс
PReLU,
который применяет параметрическую функцию активации -
класс
ELU,
который применяет экспоненциальную функцию активации -
класс
Activation,
который применяет функцию активации к входу