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()поможет повысить независимость между картами признаков и должен использоваться вместо него.- Параметры:
- Форма:
-
- Вход: или .
- Выход: или (такая же форма, как и вход).
Примеры:
>>> 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/1.13/generated/torch.nn.FeatureAlphaDropout.html