Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Tanh (Hyperbolic Tangent)

Tanh mapeia entradas para valores entre −1 e 1 em uma curva S centrada em zero. Aborda a fórmula, o gradiente, o uso em RNNs, GANs e controle, além do código PyTorch.

A tangente hiperbólica, tanh(x) = (eˣ − e^(−x)) / (eˣ + e^(−x)), é uma função de ativação que mapeia qualquer número real para um valor entre −1 e 1 ao longo de uma curva em forma de S centrada em zero. É uma sigmoide reescalada, tanh(x) = 2σ(2x) − 1, portanto tem o mesmo formato da sigmoide, mas retorna valores negativos para entradas negativas e tem inclinação igual a 1 na origem. A tanh foi a função de ativação padrão das camadas ocultas de redes neurais durante as décadas de 1990 e 2000. Hoje, ela molda o estado oculto das redes neurais recorrentes (RNNs), limita as saídas de geradores de imagens e políticas de controle e mantém os valores dentro de uma faixa em modelos maiores.

Fórmula e propriedades#

A tanh é uma função ímpar, tanh(−x) = −tanh(x), com tanh(0) = 0. Perto de zero, é quase linear, tanh(x) ≈ x, e, além de aproximadamente ±3, se achata em direção a ±1. Sua derivada, 1 − tanh²(x), é igual a 1 na origem, quatro vezes o máximo de 0,25 da sigmoide, e se aproxima de zero conforme a curva satura. O trecho de código PyTorch abaixo calcula a tanh e seu gradiente e, em seguida, compara as saídas médias da tanh e da sigmoide para entradas com média zero:

import torch

x = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0], requires_grad=True)
y = torch.tanh(x)

# The derivative of tanh is 1 - tanh(x)^2, which peaks at 1 when x = 0
y.sum().backward()
print(f"Tanh:     {[round(v, 3) for v in y.tolist()]}")
print(f"Gradient: {[round(v, 3) for v in x.grad.tolist()]}")

# For zero-mean inputs, tanh outputs average near 0 and sigmoid outputs near 0.5
torch.manual_seed(0)
z = torch.randn(100_000)
print(f"Mean output, tanh: {torch.tanh(z).mean():.3f}, sigmoid: {torch.sigmoid(z).mean():.3f}")

Ele exibe valores de tanh de [-0.995, -0.762, 0.0, 0.762, 0.995] e gradientes de [0.01, 0.42, 1.0, 0.42, 0.01], portanto o gradiente em ±3 é um centésimo do seu valor em zero. Para 100.000 entradas com distribuição normal padrão, as saídas da tanh têm média de aproximadamente 0,0, e as saídas da sigmoide, de aproximadamente 0,5.

Por que saídas centradas em zero ajudam#

Os gradientes dos pesos de um neurônio são proporcionais às suas entradas. Quando todas as entradas são positivas, como sempre ocorre com as saídas da sigmoide, todos os gradientes dos pesos de um neurônio têm o mesmo sinal em cada atualização, então os pesos só podem subir ou descer juntos e chegam ao valor ideal em zigue-zague. As saídas da tanh são positivas e negativas em proporções aproximadamente iguais, o que permite que cada peso se mova por conta própria e mantém as entradas da camada seguinte próximas de uma média zero, condição em que o gradiente descendente converge mais rapidamente. Por isso, o guia "Efficient BackProp", de Yann LeCun e colegas, publicado em 1998, recomendava funções simétricas em vez da sigmoide logística para camadas ocultas, especificamente a forma escalada 1.7159 · tanh(2x/3). A tanh ainda satura, e o empilhamento de muitas camadas tanh reduz os gradientes durante a retropropagação, causando o problema do gradiente evanescente.

Onde a tanh é usada#

  • Redes recorrentes: Uma RNN simples atualiza seu estado como hₜ = tanh(Wxₜ + Uhₜ₋₁ + b), e a tanh é a não linearidade padrão de nn.RNN do PyTorch. Nas células LSTM e GRU, a tanh produz o conteúdo candidato e, na LSTM, comprime o estado da célula antes da saída, enquanto as portas sigmoides decidem quanto desse conteúdo usar. O intervalo limitado impede que um estado realimentado passo após passo cresça sem limite.
  • Geradores de GAN: A DCGAN termina seu gerador com tanh para que os pixels gerados fiquem entre −1 e 1, intervalo para o qual as imagens de treinamento são redimensionadas — uma escolha seguida por muitas redes adversariais generativas (GANs) posteriores.
  • Ações limitadas: As políticas de controle contínuo em aprendizado por reforço passam suas saídas pela tanh para manter cada comando dentro dos limites dos atuadores. O Soft Actor-Critic comprime amostras de uma política gaussiana dessa maneira.
  • Limitação suave de logits: Os modelos de linguagem Gemma 2 do Google calculam cap · tanh(logits / cap), com um limite de 50 para os logits de atenção e de 30 para os logits finais. Logits pequenos passam quase sem alteração, e os grandes nunca podem ultrapassar o limite.
  • Aproximação de GELU: 0.5x(1 + tanh(√(2/π)(x + 0.044715x³))) aproxima GELU com precisão, e o código original de GPT-2 e BERT calcula GELU dessa maneira.
  • Fluxos normalizantes: Fluxos no estilo RealNVP geralmente terminam cada rede de escala com tanh, de modo que cada camada de acoplamento escala suas entradas por um fator entre e⁻¹ e e, o que mantém o treinamento numericamente estável. Os modelos de estimativa de pose YOLO26 treinam com uma perda de estimativa de log-verossimilhança residual, cujo fluxo RealNVP de seis camadas, com tanh no fim de cada rede de escala, modela o quanto os pontos-chave previstos se afastam da verdade fundamental.
  • Sigmoide: A tanh é uma sigmoide ampliada para o intervalo de −1 a 1 e comprimida horizontalmente por um fator de dois, o que aumenta a inclinação máxima de 0,25 para 1. O intervalo de 0 a 1 da sigmoide faz dela a função preferida para probabilidades e portas.
  • Hardtanh: Uma versão linear por partes que limita as entradas a [−1, 1]. É mais barata de calcular, e seu gradiente é exatamente 0 fora desse intervalo.
  • ReLU: max(0, x) nunca satura para entradas positivas e exige apenas uma comparação, por isso a ReLU e suas sucessoras suaves, como a SiLU, substituíram a tanh nas camadas ocultas de redes neurais convolucionais profundas (CNNs) e transformers. No artigo sobre AlexNet, uma CNN de quatro camadas com ReLUs atingiu erro de treinamento de 25% no CIFAR-10 seis vezes mais rápido do que a mesma rede com unidades tanh.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina