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

Activation Function

Uma função de ativação é a função não linear que um neurónio aplica à sua entrada ponderada, permitindo que as redes aprendam padrões curvos. Compara opções comuns.

Uma função de ativação é a função que um neurônio em uma rede neural (NN) aplica à soma ponderada das entradas para produzir sua saída. Sua função essencial é adicionar não linearidade: sem ela, qualquer sequência de camadas se reduz a uma única transformação linear, e a profundidade não acrescenta nada. Com ela, uma rede pode representar limites de decisão curvos, desde os traços de dígitos escritos à mão até o contorno de um pedestre em um quadro de câmera. As funções de ativação têm duas funções. Nas camadas ocultas, funções como ReLU, SiLU e GELU permitem que a rede crie características. Na camada de saída, funções como sigmoid e softmax transformam pontuações brutas em probabilidades.

Por que as redes precisam de não linearidade#

Uma camada sem ativação calcula Wx + b. Duas dessas camadas produzem W₂(W₁x + b₁) + b₂, que equivale a (W₂W₁)x + (W₂b₁ + b₂), outra camada linear única. Uma ativação entre as camadas impede essa redução, e o teorema da aproximação universal mostra que uma camada oculta com unidades não lineares suficientes pode aproximar qualquer função contínua em um domínio limitado.

A derivada da ativação é tão importante quanto seu formato, pois a retropropagação multiplica essas derivadas camada por camada. A derivada da sigmoid nunca passa de 0.25, e a da tanh tende a zero para entradas grandes, então os gradientes diminuem ao passar por muitas camadas saturadas — o problema dos gradientes que desaparecem. A derivada da ReLU é exatamente 1 para toda entrada positiva, o que é um dos principais motivos pelos quais se tornou viável treinar redes muito profundas.

Funções de ativação comuns#

  • ReLU: max(0, x). Computacionalmente barata, com gradiente 1 para entradas positivas e zeros exatos para entradas negativas. É a ativação oculta padrão das CNNs desde o AlexNet, em 2012, mas as unidades que só recebem entradas negativas param de aprender.
  • Leaky ReLU: Multiplica as entradas negativas por uma pequena inclinação, como 0.01 ou 0.1, para que todas as unidades mantenham um gradiente.
  • SiLU (Swish): x · σ(x), uma curva suave que fica ligeiramente abaixo de zero para entradas negativas. É comum em CNNs eficientes e detectores de tempo real.
  • GELU: x · Φ(x), em que Φ é a função de distribuição cumulativa normal padrão. É a ativação padrão no BERT, GPT-2 e nos transformadores de visão.
  • Tanh: Comprime as entradas para o intervalo de −1 a 1, centrado em zero. Define o estado oculto de redes recorrentes, como a GRU.
  • Sigmoid: Comprime as entradas para o intervalo de 0 a 1, adequado para saídas binárias e multirrótulo e para as portas de células recorrentes.
  • Softmax: Transforma um vetor inteiro de pontuações em uma distribuição de probabilidade cuja soma é 1, para classificação de rótulo único e pesos de atenção.
  • SwiGLU: Uma camada com portas que multiplica uma projeção ativada por SiLU por uma segunda projeção aprendida. Substituiu a ativação simples nas camadas de avanço dos modelos de linguagem grandes (LLMs) mais recentes.

O PyTorch disponibiliza cada função elemento a elemento como um módulo em torch.nn, facilitando a comparação com as mesmas entradas:

import torch
from torch import nn

x = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0])

# Common activations, each applied element-wise to the same inputs
activations = {
    "ReLU": nn.ReLU(),
    "Leaky ReLU": nn.LeakyReLU(0.1),
    "SiLU": nn.SiLU(),
    "GELU": nn.GELU(),
    "Tanh": nn.Tanh(),
    "Sigmoid": nn.Sigmoid(),
}
for name, act in activations.items():
    print(f"{name:>10}: {[round(v, 3) for v in act(x).tolist()]}")

Para as entradas −3, −1, 0, 1 e 3, a ReLU imprime [0.0, 0.0, 0.0, 1.0, 3.0] e a Leaky ReLU, [-0.3, -0.1, 0.0, 1.0, 3.0]. A SiLU produz [-0.142, -0.269, 0.0, 0.731, 2.858] e a GELU, [-0.004, -0.159, 0.0, 0.841, 2.996]: ambas deixam passar valores negativos pequenos e se aproximam da ReLU para entradas grandes. A Tanh produz [-0.995, -0.762, 0.0, 0.762, 0.995] e a sigmoid, [0.047, 0.269, 0.5, 0.731, 0.953]; ambas se achatam em ±3, onde seus gradientes já são pequenos.

Como escolher uma função de ativação#

As camadas ocultas geralmente seguem a convenção da família da arquitetura, e a camada de saída segue a tarefa. A softmax é adequada para tarefas em que cada entrada pertence exatamente a uma classe, a sigmoid serve para rótulos que podem coexistir e as saídas de regressão não usam nenhuma ativação, para poderem assumir qualquer valor. O hardware também pode limitar a escolha: alguns aceleradores de borda executam nativamente apenas funções simples, como ReLU, Leaky ReLU e Hard-Swish. O YOLO26 aplica SiLU após a convolução e a normalização em lote em cada bloco Conv, pontua cada classe de detecção com uma sigmoid independente, para que as pontuações de classe de uma caixa não precisem somar 1, e aplica softmax às 1.000 classes do ImageNet em seus modelos de classificação.

  • Função de perda: A ativação molda a saída de cada neurônio durante a passagem direta, e a perda avalia a previsão final da rede em relação ao rótulo. As bibliotecas costumam combinar a última ativação com a perda, como CrossEntropyLoss faz com a softmax, para garantir estabilidade numérica.
  • Normalização em lote: A normalização em lote ou por camada redimensiona as ativações para um intervalo estável usando estatísticas e parâmetros aprendidos. Ela fica junto à função de ativação, geralmente logo antes dela, e não adiciona nenhuma não linearidade própria.
  • Ativações: Como substantivo plural, ativações são os valores de saída produzidos por uma camada. "Não linearidade" e o termo mais antigo "função de transferência" são sinônimos de função de ativação. Durante o treinamento, as bibliotecas mantêm na memória as ativações de cada camada para a passagem de retropropagação; por isso, o checkpointing de gradientes economiza memória descartando algumas ativações e recalculando-as durante a retropropagação.

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