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