Glossário

Sigmoide

Descobre o poder da função Sigmoid na IA. Aprende como permite a não linearidade, ajuda na classificação binária e impulsiona os avanços do ML!

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A função sigmoide é uma função de ativação muito utilizada na aprendizagem automática (ML) e na aprendizagem profunda (DL). Caracteriza-se pela sua curva em forma de "S", matematicamente conhecida como curva sigmoide. O principal papel da função Sigmoide é pegar qualquer número de valor real como entrada e esmagá-lo em um valor de saída entre 0 e 1. Essa propriedade a torna particularmente útil para converter saídas de modelo em pontuações de probabilidade, representando a probabilidade de um resultado específico ou associação de classe.

Como funciona o Sigmoid

A função Sigmoide mapeia os valores de entrada para o intervalo (0, 1). Grandes valores de entrada positivos resultam numa saída próxima de 1, grandes valores de entrada negativos resultam numa saída próxima de 0 e uma entrada de 0 resulta numa saída de 0,5. Esta transformação é suave e diferenciável, o que significa que podemos calcular o seu gradiente em qualquer ponto. Essa diferenciabilidade é crucial para o treinamento de redes neurais (NNs) usando algoritmos de otimização como a descida gradiente, que dependem dos gradientes calculados durante a retropropagação para atualizar os pesos do modelo.

Aplicações na aprendizagem automática

As funções sigmoidais têm várias aplicações importantes em ML:

  1. Classificação binária: Em problemas de classificação binária (em que a saída é uma de duas classes, por exemplo, sim/não, spam/não-spam), a função Sigmoide é frequentemente utilizada na camada de saída final de um modelo, como a Regressão Logística ou uma rede neural. O valor de saída entre 0 e 1 é interpretado como a probabilidade de a entrada pertencer à classe positiva. Um limiar (geralmente 0,5) é então aplicado para tomar a decisão final de classificação.
  2. Classificação de vários rótulos: Ao contrário da classificação multiclasse, em que cada entrada pertence a apenas uma classe (geralmente tratada pelo Softmax), a classificação multirrótulo permite que uma entrada pertença a várias classes simultaneamente. O Sigmoid pode ser aplicado independentemente a cada neurónio de saída, dando a probabilidade de esse rótulo específico estar presente.
  3. Mecanismos de Gating: As funções sigmóides são componentes fundamentais nos mecanismos de gating de redes neurais recorrentes como LSTMs (Long Short-Term Memory) e GRUs (Gated Recurrent Units). Essas portas controlam o fluxo de informações, decidindo quais informações devem ser mantidas ou descartadas, e a faixa de saída de 0 a 1 da Sigmoide representa naturalmente o grau em que uma porta está "aberta" ou "fechada".
  4. Confiança na deteção de objectos: Em alguns modelos de deteção de objectos, como as versões anteriores do Ultralytics YOLOdo Ultralytics, são utilizadas funções Sigmoid (ou funções logísticas semelhantes) na camada de saída para prever a pontuação de confiança - a probabilidade de um objeto estar presente dentro de uma caixa delimitadora proposta e o grau de precisão da caixa. Podes explorar vários modelos YOLO na secção ModelosUltralytics .

Exemplos do mundo real

  • Probabilidade de diagnóstico médico: Um modelo treinado com dados de pacientes pode utilizar uma camada de saída Sigmoid para prever a probabilidade (entre 0 e 1) de um paciente ter uma determinada doença com base nos seus sintomas e resultados de testes. Isto ajuda os médicos na tomada de decisões. Vê como a IA é utilizada na análise de imagens médicas e soluções de IA mais amplas nos cuidados de saúde.
  • Análise de sentimentos: Para determinar se um texto (como uma avaliação de um produto) expressa um sentimento positivo ou negativo, uma função Sigmoid pode produzir a probabilidade de o sentimento ser positivo. Explora mais sobre a análise de sentimentos.

Comparação com outras funções de ativação

Embora historicamente importante, a Sigmoide é frequentemente substituída por outras funções de ativação em camadas ocultas de redes profundas devido a determinadas limitações.

  • Sigmoide vs. ReLU (Unidade Linear Retificada): A ReLU (e suas variantes, como a Leaky ReLU) é freqüentemente preferida nas camadas ocultas porque não sofre do problema do gradiente de desaparecimento tão severamente quanto a Sigmoide para entradas positivas e é computacionalmente mais barata. No entanto, as saídas da ReLU variam de 0 a infinito, o que a torna inadequada para a saída direta de probabilidades.
  • Sigmoide vs. Tanh (Tangente hiperbólica): Tanh também tem forma de S, mas mapeia as entradas para o intervalo (-1, 1). Sua saída é centrada em zero, o que às vezes pode levar a uma convergência mais rápida durante o treinamento em comparação com a saída não centrada em zero do Sigmoid (0 a 1). No entanto, Tanh também sofre do problema do gradiente de desaparecimento.
  • Sigmoide vs. Softmax: O Softmax é usado para problemas de classificação multiclasse. Pega num vetor de pontuações e converte-o numa distribuição de probabilidades em que todas as probabilidades de saída somam 1. O Sigmoide, por outro lado, trata cada neurónio de saída de forma independente, sendo adequado para tarefas binárias ou com vários rótulos em que as saídas não precisam de somar 1. Frameworks como PyTorch fornecem implementações para todas essas funções de ativação comuns.

Limitações

  1. Desaparecimento de gradientes: Para valores de entrada muito altos ou muito baixos, o gradiente da função Sigmoide torna-se extremamente pequeno (próximo de zero). Durante a retropropagação em redes profundas, esses gradientes pequenos podem ser multiplicados muitas vezes, fazendo com que os gradientes das camadas iniciais se tornem extremamente pequenos. Isso efetivamente impede que os pesos nessas camadas sejam atualizados, dificultando o processo de aprendizagem.
  2. Saída não centrada no zero: A saída do Sigmoid está sempre entre 0 e 1, o que significa que não é centrada em zero. Isso pode retardar a convergência da descida de gradiente, pois as atualizações de peso tendem a se mover consistentemente em direções positivas ou negativas para todos os pesos em uma camada.
  3. Custo computacional: Em comparação com o ReLU, a função exponencial envolvida no cálculo do Sigmoide é computacionalmente mais cara.

Apesar destas limitações, a função Sigmoid continua a ser uma ferramenta valiosa, especialmente para camadas de saída em tarefas de classificação binária e em arquitecturas específicas como LSTMs e GRUs. Podes gerir e treinar modelos utilizando várias funções de ativação em plataformas como o Ultralytics HUB.

Lê tudo