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

Функция tanh

Функция tanh применяет гиперболический тангенс к каждому элементу входного тензора. Она возвращает тензор той же размерности, где каждый элемент был преобразован по формуле: (exp(x) - exp(-x)) / (exp(x) + exp(-x)). Результат лежит в интервале от -1 до 1. Функция часто используется как функция активации в скрытых слоях нейронных сетей, особенно в рекуррентных.

Синтаксис

torch.tanh(input) -> Tensor

Параметры

  • input (Tensor) - входной тензор, к элементам которого применяется гиперболический тангенс.

Пример

Применим гиперболический тангенс к одномерному тензору:

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

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

tensor([-0.9640, -0.7616, 0.0000, 0.7616, 0.9640])

Пример

Применим функцию к двумерному тензору:

import torch t = torch.tensor([ [-1.0, 0.0, 1.0], [-2.0, 2.0, 0.5] ]) res = torch.tanh(t) print(res)

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

tensor([ [-0.7616, 0.0000, 0.7616], [-0.9640, 0.9640, 0.4621] ])

Пример

Использование гиперболического тангенса в качестве функции активации для слоя нейронной сети:

import torch import torch.nn as nn torch.manual_seed(0) layer = nn.Linear(4, 3) x = torch.randn(2, 4) output = layer(x) activated = torch.tanh(output) print(activated)

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

tensor([ [-0.8107, 0.2266, 0.1316], [-0.9493, 0.8325, 0.9149] ])

Пример

Сравнение с функцией sigmoid. В отличие от сигмоиды, гиперболический тангенс возвращает значения в диапазоне от -1 до 1, что делает его центрированным около нуля:

import torch t = torch.tensor([-2.0, 0.0, 2.0]) tanh_res = torch.tanh(t) sigmoid_res = torch.sigmoid(t) print("tanh:", tanh_res) print("sigmoid:", sigmoid_res)

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

tanh: tensor([-0.9640, 0.0000, 0.9640]) sigmoid: tensor([0.1192, 0.5000, 0.8808])

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

  • функцию sigmoid,
    которая возвращает значения в диапазоне от 0 до 1
  • функцию softplus,
    которая является гладкой аппроксимацией ReLU
  • функцию softsign,
    которая также возвращает значения в диапазоне от -1 до 1
  • функцию hardtanh,
    которая является кусочно-линейной аппроксимацией гиперболического тангенса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить