РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
240 of 824 menu

Класс ReLU

Класс ReLU применяет к входным данным функцию активации ReLU (Rectified Linear Unit). Функция вычисляет максимум между нулем и элементом входного тензора: max(x, 0). Слой не имеет настраиваемых весов и параметров. Класс наследуется от базового класса Layer и может использоваться как самостоятельный слой в модели Keras.

Синтаксис

tf.keras.layers.ReLU(max_value=None, negative_slope=0.0, threshold=0.0, **kwargs)

Параметры

Слой принимает следующие параметры:

  • max_value - максимальное значение активации, по умолчанию None
  • negative_slope - коэффициент наклона для отрицательных значений, по умолчанию 0.0
  • threshold - пороговое значение, ниже которого активация обнуляется, по умолчанию 0.0

Пример

Давайте применим слой ReLU к тензору, содержащему отрицательные и положительные значения:

import tensorflow as tf t = tf.constant([-3, -1, 0, 1, 3], dtype=tf.float32) layer = tf.keras.layers.ReLU() res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor([0. 0. 0. 1. 3.], shape=(5,), dtype=float32)

Пример

Давайте применим слой ReLU к двумерному тензору:

import tensorflow as tf t = tf.constant([[-2, 4, -6], [8, -10, 12]], dtype=tf.float32) layer = tf.keras.layers.ReLU() res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor( [[ 0. 4. 0.] [ 8. 0. 12.]], shape=(2, 3), dtype=float32)

Пример

Давайте используем параметр max_value, чтобы ограничить максимальное значение активации:

import tensorflow as tf t = tf.constant([-3, -1, 0, 1, 3, 10], dtype=tf.float32) layer = tf.keras.layers.ReLU(max_value=5.0) res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor([0. 0. 0. 1. 3. 5.], shape=(6,), dtype=float32)

Пример

Давайте используем параметр negative_slope, чтобы отрицательные значения не обнулялись полностью:

import tensorflow as tf t = tf.constant([-4, -2, 0, 2, 4], dtype=tf.float32) layer = tf.keras.layers.ReLU(negative_slope=0.5) res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor([-2. -1. 0. 2. 4.], shape=(5,), dtype=float32)

Пример

Давайте используем слой ReLU внутри модели Keras:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Dense(4, input_shape=(3,)), tf.keras.layers.ReLU(), tf.keras.layers.Dense(2) ]) t = tf.constant([[1.0, 2.0, 3.0]]) res = model(t) print(res)

Результат выполнения кода:

tf.Tensor([[-0.8737493 0.6116909]], shape=(1, 2), dtype=float32)

Смотрите также

  • слой LeakyReLU,
    который применяет функцию активации с малым наклоном для отрицательных значений
  • слой PReLU,
    который применяет параметризованную функцию активации ReLU
  • слой ELU,
    который применяет экспоненциальную функцию активации
  • слой Activation,
    который применяет произвольную функцию активации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить