Glossário

Tanh (Tangente hiperbólica)

Descobre o poder da função de ativação Tanh nas redes neuronais. Aprende como ela permite que a IA modele dados complexos com eficiência centrada em zero!

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Tanh, ou tangente hiperbólica, é uma função de ativação amplamente reconhecida, utilizada em inteligência artificial (IA) e aprendizagem automática (ML), particularmente em redes neuronais (NN). Semelhante à função Sigmoide, a Tanh tem forma de S (sigmoidal), mas mapeia os valores de entrada para um intervalo entre -1 e 1. Essa caraterística a torna centrada em zero, o que significa que suas saídas são distribuídas em torno de zero. Como outras funções de ativação, o Tanh introduz a não linearidade na rede, permitindo que os modelos de aprendizagem profunda (DL) aprendam padrões e relacionamentos complexos nos dados que os modelos lineares não conseguem capturar. Ela é derivada da função matemática tangente hiperbólica.

Como funciona o Tanh

A função Tanh pega em qualquer entrada de valor real e esmaga-a no intervalo (-1, 1). Entradas próximas de zero produzem saídas próximas de zero. Entradas positivas grandes resultam em saídas que se aproximam de 1, enquanto entradas negativas grandes produzem saídas que se aproximam de -1. A sua natureza centrada em zero é muitas vezes considerada uma vantagem em relação à função Sigmoide (que produz resultados entre 0 e 1) porque pode ajudar o algoritmo de otimização, como a descida do gradiente, a convergir mais rapidamente durante o treino do modelo. Isso ocorre porque os gradientes passados de volta durante a retropropagação têm maior probabilidade de ter valores positivos e negativos equilibrados, potencialmente levando a atualizações mais estáveis dos pesos do modelo.

Vantagens e desvantagens

Vantagens:

  • Saída centrada em zero: As saídas que variam de -1 a 1 ajudam a centrar os dados passados para as camadas subsequentes, o que pode melhorar a dinâmica do treinamento em comparação com funções não centradas em zero, como a Sigmoide.
  • Gradientes mais fortes: Em comparação com o Sigmoide, o Tanh tem gradientes mais acentuados em torno de zero, o que pode atenuar o problema do gradiente de desaparecimento até certo ponto durante o treino, permitindo uma aprendizagem potencialmente mais rápida.

Desvantagens:

  • Gradientes que desaparecem: Assim como a Sigmoide, a Tanh ainda sofre com o problema do gradiente de fuga. Para entradas positivas ou negativas muito grandes, a função satura (a sua saída torna-se muito próxima de 1 ou -1), e o gradiente torna-se extremamente pequeno, dificultando as actualizações de pesos nas camadas mais profundas.
  • Custo computacional: Tanh envolve cálculos hiperbólicos, o que a torna ligeiramente mais cara do ponto de vista computacional do que funções mais simples como ReLU (Unidade Linear Rectificada).

Tanh Vs. Outras funções de ativação

  • Tanh vs. Sigmoide: Ambos são sigmoidais, mas o intervalo de saída de Tanh é (-1, 1), enquanto o de Sigmoid é (0, 1). A propriedade centrada em zero de Tanh é frequentemente preferida para camadas ocultas, enquanto Sigmoid é normalmente usada em camadas de saída para tarefas de classificação binária em que é necessária uma probabilidade.
  • Tanh vs. ReLU: As saídas ReLU variam de 0 a infinito e são computacionalmente muito eficientes. O ReLU evita a saturação para entradas positivas, mas pode sofrer do problema do "ReLU moribundo" (os neurónios tornam-se inactivos). Enquanto Tanh satura em ambos os extremos, a sua natureza centrada no zero pode ser vantajosa. No entanto, a ReLU e as suas variantes(Leaky ReLU, GELU, SiLU) substituíram largamente a Tanh em muitas arquitecturas modernas de aprendizagem profunda, especialmente na visão computacional (CV), devido a um melhor fluxo de gradiente e eficiência. Podes explorar várias funções de ativação na aprendizagem profunda.

Aplicações em IA e aprendizagem automática

O Tanh tem sido historicamente uma escolha popular, particularmente em:

  • Redes Neuronais Recorrentes (RNNs): O Tanh era normalmente utilizado nos estados ocultos das RNNs e variantes como as redes de Memória de Curto Prazo Longo (LSTM), especialmente para tarefas de Processamento de Linguagem Natural (PNL). A sua gama limitada ajuda a regular o fluxo de informação nas ligações recorrentes. Para obter mais detalhes, consulte Entendendo LSTMs.
  • Camadas ocultas: Pode ser usado nas camadas ocultas de redes feedforward, embora as variantes ReLU sejam agora mais comuns. Pode ser escolhido quando a propriedade centrada em zero é particularmente benéfica para um problema ou arquitetura específicos.
  • Análise de sentimentos: Em modelos de NLP mais antigos, Tanh ajudou a mapear caraterísticas extraídas do texto (por exemplo, incorporação de palavras processadas por um RNN) para um intervalo contínuo, representando a polaridade do sentimento de negativo (-1) a positivo (+1). Os recursos de organizações como o Stanford NLP Group fornecem informações sobre essas técnicas.
  • Sistemas de controlo e robótica: Na Aprendizagem por Reforço (RL), Tanh é por vezes utilizada como função de ativação final para políticas que produzem acções contínuas limitadas a um intervalo específico (por exemplo, controlar o binário do motor entre -1 e +1). Quadros como o OpenAI Gym são frequentemente utilizados na investigação em RL.

Enquanto as arquitecturas modernas, como a Ultralytics YOLO utilizem frequentemente funções como a SiLU para tarefas como a deteção de objectos, a compreensão da Tanh continua a ser valiosa. Fornece contexto para a evolução das funções de ativação e pode ainda aparecer em designs de rede específicos ou sistemas antigos. Estruturas como PyTorch e TensorFlow fornecem implementações de Tanh. Podes treinar e experimentar diferentes funções de ativação utilizando plataformas como o Ultralytics HUB.

Lê tudo