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

GELU (Gaussian Error Linear Unit)

A unidade linear de erro gaussiano (GELU) multiplica cada entrada pela função de distribuição acumulada normal; é uma ativação suave usada em BERT, GPT-2 e Transformers de visão. Inclui código.

A unidade linear de erro gaussiana (GELU) é uma função de ativação definida como GELU(x) = x · Φ(x), em que Φ é a função de distribuição acumulada da distribuição normal padrão. Ela pondera cada entrada conforme a probabilidade de uma variável normal padrão assumir um valor abaixo dela: entradas positivas grandes passam quase sem alteração, entradas negativas grandes se aproximam de zero e entradas próximas de zero são reduzidas a cerca da metade. Dan Hendrycks e Kevin Gimpel a apresentaram no artigo de 2016 Unidades lineares de erro gaussianas (GELUs). A GELU se tornou a ativação padrão em modelos Transformer, como BERT, GPT-2, GPT-3 e o Transformer de visão (ViT), nos quais fica entre as duas camadas lineares de cada bloco feed-forward.

Como a GELU funciona#

Hendrycks e Gimpel derivaram a GELU da regularização estocástica. Imagine multiplicar cada entrada x por uma máscara aleatória que a mantém com probabilidade Φ(x) e a zera caso contrário, como o dropout, mas com uma probabilidade de manter que aumenta com a entrada. A GELU é o valor esperado dessa operação, Φ(x) · x, então ela controla suavemente as entradas conforme seus valores, enquanto a ReLU as controla bruscamente conforme seus sinais.

A curva resultante tem três propriedades importantes para o treinamento:

  • Suave em todos os pontos: A GELU e sua derivada são contínuas, sem ângulo agudo em zero; assim, pequenas mudanças nos pesos produzem pequenas mudanças na saída durante a retropropagação.
  • Não monotônica: Para entradas negativas, a saída primeiro diminui e depois volta a subir em direção a zero, atingindo um mínimo de cerca de −0,17 em x ≈ −0,75.
  • Gradiente para entradas negativas: Unidades com entradas moderadamente negativas ainda recebem um gradiente e, por isso, continuam aprendendo, ao contrário das unidades ReLU, que parariam.

Como Φ envolve a função erro, são comuns duas aproximações. A forma tanh, 0.5x(1 + tanh(√(2/π)(x + 0.044715x³))), fica a cerca de 0,0005 da GELU exata e foi usada no GPT-2. A forma sigmoide, x · σ(1.702x), fica a cerca de 0,02 e corresponde à QuickGELU usada no CLIP da OpenAI. A nn.GELU do PyTorch calcula a forma exata por padrão e a forma tanh com approximate="tanh":

import torch
from torch import nn

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

# Exact GELU: x * Phi(x), where Phi is the standard normal CDF
exact = nn.GELU()(x)

# Tanh approximation, as used in GPT-2
approx = nn.GELU(approximate="tanh")(x)

print(f"GELU exact: {[round(v, 4) for v in exact.tolist()]}")
print(f"GELU tanh:  {[round(v, 4) for v in approx.tolist()]}")
print(f"ReLU:       {nn.ReLU()(x).tolist()}")

A GELU exata exibe [-0.004, -0.1587, -0.17, 0.0, 0.8413, 2.996], a forma tanh exibe [-0.0036, -0.1588, -0.17, 0.0, 0.8412, 2.9964] e a ReLU exibe [0.0, 0.0, 0.0, 0.0, 1.0, 3.0]. A GELU produz −0,17 em seu mínimo próximo de −0,75, mapeia 1 para 0,8413 porque Φ(1) = 0,8413 e quase coincide com a ReLU em ±3. As duas formas da GELU diferem apenas na quarta casa decimal.

Onde a GELU é usada#

  • Modelos GPT: O primeiro GPT da OpenAI usou GELU em 2018, e o GPT-2 e o GPT-3 também a mantiveram.
  • BERT: O BERT do Google escolheu GELU em vez de ReLU seguindo o GPT, e a maioria dos codificadores no estilo BERT ainda a usa.
  • Transformers de visão: O ViT aplica GELU no MLP de cada bloco codificador, e muitos backbones de visão seguiram o exemplo, incluindo o ConvNeXt, que substituiu ReLU por GELU ao modernizar o ResNet.
  • Transformers de detecção: No pacote Ultralytics, o codificador Transformer AIFI do RT-DETR, o Transformer de detecção em tempo real da Baidu, aplica GELU entre suas duas camadas feed-forward.

Muitos grandes modelos de linguagem (LLMs) recentes passaram da GELU simples para camadas feed-forward com gates. O Gemma do Google usa GEGLU, que multiplica uma projeção ativada por GELU por uma segunda projeção linear, e Llama, PaLM e Qwen usam a SwiGLU, baseada em SiLU.

  • ReLU: max(0, x) tem menor custo, produz zeros exatos e apresenta um ângulo agudo em zero. O artigo da GELU relatou ganhos sobre ReLU e ELU em todas as tarefas de visão computacional, processamento de linguagem natural e fala que avaliou.
  • SiLU (Swish): x · σ(x) tem um formato geral semelhante, com um mínimo mais profundo de cerca de −0,28. A GELU é a escolha habitual em Transformers, enquanto a SiLU é mais comum em detectores convolucionais.
  • ReLU com fuga: Mantém uma inclinação linear fixa para entradas negativas, enquanto o lado negativo da GELU é uma curva que retorna a zero.
  • GEGLU: A variante com gate adiciona uma segunda projeção aprendida. Na comparação de Noam Shazeer em 2020 com o T5, as camadas feed-forward GEGLU alcançaram uma log-perplexidade de 1,633 em dados reservados, contra 1,679 para GELU e 1,677 para ReLU com a mesma quantidade de parâmetros.

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