Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

GELU (Gaussian Error Linear Unit)

GELU (unidad lineal de error gaussiano) escala cada entrada mediante la función de distribución acumulada normal; es una función de activación suave que se usa en BERT, GPT-2 y los Transformers de visión. Incluye código.

La unidad lineal de error gaussiana (GELU) es una función de activación definida como GELU(x) = x · Φ(x), donde Φ es la función de distribución acumulada de la distribución normal estándar. Pondera cada entrada según la probabilidad de que una variable normal estándar sea menor que ella, de modo que las entradas positivas grandes pasan casi sin cambios, las negativas grandes se aproximan a cero y las entradas cercanas a cero se reducen aproximadamente a la mitad. Dan Hendrycks y Kevin Gimpel la presentaron en el artículo de 2016 Unidades lineales de error gaussianas (GELU). GELU se convirtió en la activación estándar de modelos Transformer como BERT, GPT-2, GPT-3 y el Transformer de visión (ViT), donde se sitúa entre las dos capas lineales de cada bloque feed-forward.

Cómo funciona GELU#

Hendrycks y Gimpel derivaron GELU a partir de la regularización estocástica. Imagina multiplicar cada entrada x por una máscara aleatoria que la conserva con probabilidad Φ(x) y la convierte en cero en caso contrario, como dropout con una probabilidad de conservación que aumenta con la entrada. GELU es el valor esperado de esa operación, Φ(x) · x, por lo que regula suavemente las entradas según su valor, mientras que ReLU las regula bruscamente según su signo.

La curva resultante tiene tres propiedades importantes para el entrenamiento:

  • Suavidad en todo el dominio: GELU y su derivada son continuas, sin ningún ángulo en cero, así que pequeños cambios en los pesos producen pequeños cambios en la salida durante la retropropagación.
  • No monótona: Para las entradas negativas, la salida primero disminuye y después vuelve a subir hacia cero, hasta alcanzar un mínimo de aproximadamente −0,17 en x ≈ −0,75.
  • Gradiente para entradas negativas: Las unidades con entradas moderadamente negativas siguen recibiendo un gradiente, por lo que continúan aprendiendo, a diferencia de las unidades ReLU, que dejarían de hacerlo.

Como Φ incluye la función de error, se utilizan dos aproximaciones habituales. La forma tanh, 0.5x(1 + tanh(√(2/π)(x + 0.044715x³))), se mantiene a menos de 0.0005 de la GELU exacta y se utilizó en GPT-2. La forma sigmoide, x · σ(1.702x), se mantiene a menos de 0.02 y es QuickGELU, la versión utilizada en el CLIP de OpenAI. La función nn.GELU de PyTorch calcula de forma predeterminada la forma exacta y, con approximate="tanh", la forma 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()}")

La GELU exacta imprime [-0.004, -0.1587, -0.17, 0.0, 0.8413, 2.996], la forma tanh imprime [-0.0036, -0.1588, -0.17, 0.0, 0.8412, 2.9964] y ReLU imprime [0.0, 0.0, 0.0, 0.0, 1.0, 3.0]. GELU devuelve −0,17 en su mínimo, cerca de −0,75, transforma 1 en 0,8413 porque Φ(1) = 0,8413 y casi coincide con ReLU en ±3. Las dos formas de GELU solo difieren en la cuarta cifra decimal.

Dónde se utiliza GELU#

  • Modelos GPT: El primer GPT de OpenAI utilizó GELU en 2018, y GPT-2 y GPT-3 la mantuvieron.
  • BERT: BERT, de Google, eligió GELU en lugar de ReLU después de GPT, y la mayoría de los codificadores de estilo BERT todavía la utilizan.
  • Transformers de visión: ViT aplica GELU en el MLP de cada bloque codificador, y muchos backbones de visión siguieron su ejemplo, entre ellos ConvNeXt, que sustituyó ReLU por GELU al modernizar ResNet.
  • Transformers de detección: En el paquete Ultralytics, el codificador Transformer AIFI de RT-DETR, el Transformer de detección en tiempo real de Baidu, aplica GELU entre sus dos capas feed-forward.

Muchos modelos de lenguaje grandes (LLM) recientes han pasado de GELU simple a capas feed-forward con compuertas. Gemma, de Google, utiliza GEGLU, que multiplica una proyección activada con GELU por una segunda proyección lineal, y Llama, PaLM y Qwen utilizan SwiGLU, basada en SiLU.

  • ReLU: max(0, x) es más barata, genera ceros exactos y tiene un ángulo en cero. El artículo sobre GELU informó de mejoras respecto a ReLU y ELU en todas las tareas de visión artificial, procesamiento del lenguaje natural y habla que evaluó.
  • SiLU (Swish): x · σ(x) tiene una forma general similar, con un mínimo más profundo de aproximadamente −0,28. GELU es la opción habitual en los Transformers, mientras que SiLU es más común en detectores convolucionales.
  • ReLU con fuga: Mantiene una pendiente rectilínea fija para las entradas negativas, mientras que la parte negativa de GELU es una curva que vuelve a cero.
  • GEGLU: Esta variante con compuerta añade una segunda proyección aprendida. En la comparación de Noam Shazeer de 2020 sobre T5, las capas feed-forward GEGLU alcanzaron una perplejidad logarítmica de 1,633 en el conjunto de validación, frente a 1,679 para GELU y 1,677 para ReLU con el mismo número de parámetros.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático