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

Класс AlphaDropout

Класс AlphaDropout реализует технику регуляризации, известную как альфа-дропаут. В отличие от стандартного дропаута, который случайным образом обнуляет часть нейронов, альфа-дропаут сохраняет среднее значение и дисперсию входных данных, что особенно важно для самонормализующихся нейронных сетей. Слой наследуется от базового класса Layer и принимает первым параметром число от 0 до 1 - долю нейронов, которые будут отключены во время обучения. Вторым параметром можно передать начальное значение для генератора случайных чисел.

Синтаксис

tf.keras.layers.AlphaDropout(rate, [seed])

Пример

Давайте создадим слой альфа-дропаута с долей отключения 0.5 и применим его к тензору:

import tensorflow as tf tf.random.set_seed(0) dropout = tf.keras.layers.AlphaDropout(rate=0.5) t = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0]) res = dropout(t, training=True) print(res)

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

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

Пример

Давайте применим слой альфа-дропаута в режиме предсказания, когда отключение нейронов не происходит:

import tensorflow as tf tf.random.set_seed(0) dropout = tf.keras.layers.AlphaDropout(rate=0.5) t = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0]) res = dropout(t, training=False) print(res)

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

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

Пример

Давайте создадим модель с двумя слоями Dense и слоем AlphaDropout между ними:

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(64, activation='relu'), tf.keras.layers.AlphaDropout(rate=0.3), tf.keras.layers.Dense(10) ]) t = tf.constant([[1.0, 2.0, 3.0, 4.0, 5.0]]) res = model(t, training=True) print(res.shape)

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

(1, 10)

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

  • слой Dropout,
    который выполняет стандартную регуляризацию
  • слой GaussianDropout,
    который добавляет гауссов шум к входным данным
  • слой GaussianNoise,
    который добавляет шум к входным данным
  • слой BatchNormalization,
    который нормализует входные данные
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить