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

Класс Softplus

Класс Softplus представляет собой функцию активации, которая является гладкой аппроксимацией функции ReLU. Она вычисляется по формуле: f(x) = 1 / β * ln(1 + exp(β * x)), где β - параметр, управляющий крутизной функции. По умолчанию β = 1. Класс наследуется от nn.Module и может быть использован как слой в нейронной сети. В отличие от ReLU, Softplus имеет ненулевую производную для всех значений, что позволяет избежать проблемы "мертвых нейронов".

Синтаксис

torch.nn.Softplus(beta=1, threshold=20)

Параметры:

  • beta - положительное значение, контролирующее крутизну функции. По умолчанию равно 1.
  • threshold - пороговое значение, выше которого функция переключается на линейный режим для повышения численной стабильности. По умолчанию равно 20.

Пример

Создадим слой Softplus и применим его к тензору:

import torch softplus = torch.nn.Softplus() t = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0]) res = softplus(t) print(res)

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

tensor([0.1269, 0.3133, 0.6931, 1.3133, 2.1269])

Пример

Изменим параметр beta для изменения крутизны функции:

import torch softplus = torch.nn.Softplus(beta=2.0) t = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0]) res = softplus(t) print(res)

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

tensor([0.0181, 0.0789, 0.3466, 0.8466, 1.8466])

Пример

Используем Softplus в составе последовательной модели:

import torch model = torch.nn.Sequential( torch.nn.Linear(4, 8), torch.nn.Softplus(), torch.nn.Linear(8, 2) ) t = torch.randn(3, 4) res = model(t) print(res.shape)

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

torch.Size([3, 2])

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

  • класс ReLU,
    который реализует функцию активации ReLU
  • класс ELU,
    который реализует экспоненциальную линейную функцию активации
  • класс SELU,
    который реализует масштабированную экспоненциальную линейную функцию активации
  • класс GELU,
    который реализует гауссову функцию ошибок линейной активации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить