AlphaDropout
-
class torch.nn.AlphaDropout(p=0.5, inplace=False)[source] -
Применяет Alpha Dropout к входным данным.
Alpha Dropout — это тип Dropout, который сохраняет свойство самонормализации. Для входных данных со средним значением ноль и единичным стандартным отклонением выход Alpha Dropout сохраняет исходное среднее значение и стандартное отклонение входных данных. Alpha Dropout работает в паре с функцией активации SELU, которая гарантирует, что выходные данные имеют среднее значение ноль и единичное стандартное отклонение.
Во время обучения он случайным образом маскирует некоторые из элементов входного тензора с вероятностью p, используя выборки из распределения Бернулли. Маскируемые элементы рандомизируются при каждом вызове прямой передачи и масштабируются и сдвигаются для поддержания среднего значения ноль и единичного стандартного отклонения.
Во время оценки модуль просто вычисляет тождественную функцию.
Более подробная информация может быть найдена в статье Самонормализующиеся нейронные сети .
- Параметры:
- Форма:
-
- Вход: . Вход может быть любой формы
- Выход: . Выход имеет ту же форму, что и вход
Примеры:
>>> m = nn.AlphaDropout(p=0.2) >>> input = torch.randn(20, 16) >>> 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.AlphaDropout.html