FeatureAlphaDropout
-
class torch.nn.FeatureAlphaDropout(p=0.5, inplace=False)[source] -
Случайным образом обнуляет целые каналы.
Канал — это карта признаков, например -й канал -го образца во входном пакете — это тензор входного тензора). В отличие от обычного Dropout, который устанавливает активации в ноль, здесь активации устанавливаются в отрицательное значение насыщения функции активации SELU. Подробнее см. в статье Self-Normalizing Neural Networks .
При каждом прямом проходе каждый элемент независимо обнуляется для каждого образца с вероятностью
pна основе выборок из распределения Бернулли. Элементы, подлежащие обнулению, выбираются случайным образом при каждом прямом проходе, а затем масштабируются и смещаются для сохранения нулевого среднего и единичной дисперсии.Обычно входные данные поступают из модулей
nn.AlphaDropout.Как описано в статье Efficient Object Localization Using Convolutional Networks , если соседние пиксели внутри карт признаков сильно коррелируют (как это обычно бывает в ранних свёрточных слоях), то i.i.d.-dropout не будет регуляризовать активации и вместо этого лишь приведёт к фактическому снижению скорости обучения.
В этом случае
nn.AlphaDropout()поможет обеспечить независимость карт признаков, и следует использовать именно его.- Параметры:
- Форма:
-
- Входные данные: или .
- Выходные данные: или (такая же форма, как у входных данных).
Примеры:
>>> m = nn.FeatureAlphaDropout(p=0.2) >>> input = torch.randn(20, 16, 4, 32, 32) >>> output = m(input)
-
forward(input)[source] -
Выполняет прямой проход.
- Тип возвращаемого значения:
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.FeatureAlphaDropout.html