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

Класс Mish

Класс Mish реализует функцию активации mish, которая определяется как x * tanh(softplus(x)). Эта функция является гладкой, не монотонной и самовыравнивающейся. В отличие от функции ReLU, Mish позволяет небольшому количеству отрицательных значений проходить через сеть, что может улучшить процесс обучения. Класс не принимает никаких параметров и может быть использован в любом месте, где требуется функция активации.

Синтаксис

torch.nn.Mish()

Пример

Давайте создадим функцию активации Mish и применим ее к тензору:

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

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

tensor([-0.3034, 0.0000, 0.8651, 1.9636])

Пример

Рассмотрим использование Mish внутри полносвязного слоя в составе последовательной модели:

import torch model = torch.nn.Sequential( torch.nn.Linear(10, 20), torch.nn.Mish(), torch.nn.Linear(20, 1) ) t = torch.randn(5, 10) res = model(t) print(res.shape)

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

torch.Size([5, 1])

Пример

Покажем, как Mish обрабатывает отрицательные значения. В отличие от ReLU, она не обнуляет их полностью, а пропускает небольшие отрицательные числа:

import torch mish = torch.nn.Mish() t = torch.tensor([[-0.5, 0.5], [-0.1, 0.1]]) res = mish(t) print(res)

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

tensor([[-0.2053, 0.4753], [-0.0476, 0.0979]])

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

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