Sigmoide
Descubra o poder da função Sigmoid em IA. Aprenda como ela habilita a não linearidade, auxilia na classificação binária e impulsiona os avanços do ML!
A função Sigmoid é uma função de ativação fundamental
de ativação fundamental amplamente utilizada nos domínios
da aprendizagem automática (ML) e da
aprendizagem profunda (DL). Representada matematicamente como
uma função logística, é caracterizada pela sua
curva distinta em forma de "S", conhecida como curva sigmoide. A principal função do Sigmoid é transformar qualquer
qualquer número de entrada de valor real num valor dentro do intervalo de 0 e 1. Esta propriedade de esmagamento torna-a excecionalmente
útil para modelos que precisam de prever probabilidades
probabilidades, uma vez que o resultado pode ser diretamente
diretamente interpretada como a probabilidade de ocorrência de um evento específico. Ao introduzir a não-linearidade numa
rede neural (NN), a função Sigmoid permite que os modelos
modelos aprendam padrões de dados complexos que vão além da simples
regressão linear simples.
Aplicações principais em Inteligência Artificial
A função sigmoide desempenha um papel fundamental em arquitecturas e tarefas de rede específicas, nomeadamente quando os resultados
precisam de ser interpretados como probabilidades independentes. Embora funções mais recentes a tenham substituído em camadas ocultas para redes profundas, ela continua sendo um padrão em camadas de saída para várias aplicações importantes.
profundas, ela continua sendo um padrão nas camadas de saída para várias aplicações importantes.
-
Classificação binária: Em tarefas em que o objetivo é categorizar as entradas numa de duas classes mutuamente exclusivas - como
determinar se um e-mail é "spam" ou "não é spam" - a função Sigmoid é a escolha ideal para a
camada final. Ela produz um único valor escalar entre 0 e 1, representando a probabilidade da classe positiva.
Por exemplo, na análise de imagens médicas, um modelo
pode produzir 0,95, indicando uma confiança de 95% de que uma anomalia detectada é maligna.
-
Classificação de vários rótulos: Ao contrário das tarefas multi-classe, em que uma entrada pertence apenas a uma categoria, as tarefas multi-rótulo permitem que uma entrada tenha
múltiplas etiquetas em simultâneo. Por exemplo, um modelo de
modelo de deteção de objectos como
Ultralytics YOLO11 pode precisar de detect uma
"pessoa", "bicicleta" e "capacete" numa única imagem. Aqui, o Sigmoid é aplicado
Sigmoid é aplicado independentemente a cada nó de saída, permitindo que o modelo preveja a presença ou ausência de cada classe sem
sem forçar a soma das probabilidades a um.
-
Rede Neuronal Recorrente (RNN)
Gating: O Sigmoid é um componente crucial nos mecanismos de gating de modelos de sequência avançados como
memória de curto prazo longa (LSTM)
(LSTM). Nestas arquitecturas, as "portas de esquecimento" e as "portas de entrada" utilizam o Sigmoide para produzir
valores entre 0 (esquecer completamente/bloquear) e 1 (lembrar completamente/passar), regulando efetivamente o fluxo de
informação ao longo do tempo. Este mecanismo é explicado em pormenor na investigação clássica
clássicos sobre LSTMs.
Comparação com funções de ativação relacionadas
Para conceber eficazmente arquitecturas neurais, é importante distinguir a Sigmoide de outras funções de ativação, uma vez que
cada uma tem um objetivo distinto.
-
Softmax: Embora ambas as funções estejam relacionadas com a probabilidade, a Softmax é utilizada para a classificação multi-classe em que as classes são
mutuamente exclusivas. O Softmax garante que os resultados de todas as classes somam exatamente 1, criando uma distribuição de probabilidade
distribuição de probabilidade. Em contraste, a Sigmoid trata cada saída de forma independente, tornando-a adequada para tarefas binárias ou de várias etiquetas.
binárias ou com várias etiquetas.
-
ReLU (Unidade Linear Rectificada): A ReLU é a função de ativação preferida para as camadas ocultas nas redes profundas modernas. Ao contrário do Sigmoid, que
satura em 0 e 1 causando o problema do
problema do gradiente de fuga durante a
durante a retropropagação, a ReLU permite que os gradientes fluam
mais livremente para entradas positivas. Isso acelera o treinamento e a convergência, como observado em
Notas do curso CS231n de Stanford.
-
Tanh (Tangente hiperbólica): A função Tanh é semelhante à Sigmoid, mas mapeia as entradas para um intervalo de -1 a 1. Como sua saída é
centrada em zero, a função Tanh é frequentemente preferida em relação à Sigmoide nas camadas ocultas de arquitecturas mais antigas e de certas RNNs, uma vez que
ajuda na centralização de dados para as camadas subsequentes.
Exemplo de implementação
O seguinte excerto de Python demonstra como aplicar a função Sigmoid utilizando
PyTorch. Esta é uma operação comum
utilizada para converter os resultados brutos do modelo (logits) em probabilidades interpretáveis.
import torch
import torch.nn as nn
# Raw outputs (logits) from a model for a binary or multi-label task
logits = torch.tensor([0.1, -2.5, 4.0])
# Apply the Sigmoid activation function
sigmoid = nn.Sigmoid()
probabilities = sigmoid(logits)
# Output values are squashed between 0 and 1
print(probabilities)
# Output: tensor([0.5250, 0.0759, 0.9820])
Compreender quando utilizar o Sigmoid é fundamental para criar sistemas de IA eficazes. Embora tenha limitações em camadas ocultas profundas
profundas devido à saturação do gradiente, a sua capacidade de modelar probabilidades independentes mantém-no relevante nos
cálculos de função de perda e camadas de saída final
para uma grande variedade de tarefas.