Glosario

GELU (Unidad lineal de error gaussiano)

Descubre cómo la función de activación GELU mejora los modelos de transformador como el GPT-4, aumentando el flujo de gradiente, la estabilidad y la eficacia.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La Unidad Lineal de Error Gaussiano, o GELU, es una función de activación de alto rendimiento muy utilizada en las redes neuronales (RN) modernas, sobre todo en los modelos de transformadores. Propuesta en el artículo"Gaussian Error Linear Units (GELUs)" por Dan Hendrycks y Kevin Gimpel, la GELU introduce un enfoque probabilístico de la activación neuronal, apartándose de la naturaleza determinista de funciones como la ReLU. Pondera las entradas en función de su magnitud, en lugar de limitarlas por el signo, combinando eficazmente las propiedades de dropout, zoneout y ReLU.

Cómo funciona GELU

La GELU determina la salida de una neurona multiplicando el valor de entrada por el valor de la función de distribución acumulativa (FDA) gaussiana estándar aplicada a esa entrada. Esto significa que la activación es estocástica, dependiendo del propio valor de entrada. A diferencia de ReLU, que corta bruscamente los valores negativos, GELU proporciona una curva más suave. Las entradas con magnitudes mayores tienen más probabilidades de conservarse, mientras que las entradas más cercanas a cero tienen más probabilidades de reducirse a cero. Esta ponderación suave y probabilística permite representaciones más ricas y un flujo de gradiente potencialmente mejor durante la retropropagación, lo que es crucial para entrenar redes profundas.

Comparación con otras funciones de activación

GELU ofrece características distintas en comparación con otras funciones de activación comunes:

  • ReLU (Unidad Lineal Rectificada): ReLU es computacionalmente simple (la salida es la entrada si es positiva, cero en caso contrario). GELU es más suave y no monótona (puede disminuir a medida que aumenta la entrada para valores negativos), lo que a veces puede ayudar a capturar patrones más complejos. Sin embargo, GELU es más intensivo computacionalmente que ReLU.
  • Sigmoide y Tanh: Estas funciones aplastan las entradas en un rango fijo (0 a 1 para Sigmoide, -1 a 1 para Tanh). Aunque son útiles en determinados contextos (como las capas de salida para las probabilidades), pueden sufrir el problema del gradiente evanescente en las redes profundas. GELU, como ReLU, no tiene un límite superior, lo que mitiga este problema para los valores positivos.
  • SiLU (Unidad lineal sigmoidea) / Swish: SiLU es otra función de activación suave y no monótona que multiplica la entrada por su sigmoide. Comparte similitudes con GELU en cuanto a forma y rendimiento, y a menudo se considera una alternativa cercana. Ambas han mostrado sólidos resultados empíricos.

Ventajas de GELU

  • Suavidad: Su curva suave permite una mejor dinámica de descenso de gradiente en comparación con el punto agudo de ReLU.
  • No monotonicidad: Permite una aproximación más compleja de las funciones.
  • Interpretación probabilística: Incorpora la magnitud de entrada a la decisión de activación de forma estocástica.
  • Rendimiento de vanguardia: Utilizado frecuentemente en modelos de alto rendimiento, especialmente transformadores.

Desventajas y consideraciones

  • Coste computacional: Calcular la FCD gaussiana es más caro que las operaciones sencillas de ReLU. En la práctica se suelen utilizar aproximaciones eficientes.
  • Complejidad: Ligeramente más compleja de entender e implementar desde cero, en comparación con funciones más sencillas como ReLU.

Aplicaciones y significado

GELU se ha convertido en una opción popular en muchos modelos avanzados de aprendizaje profundo debido a su gran rendimiento empírico:

La capacidad de la función para proporcionar una no linealidad suave e incorporar la magnitud de entrada en las decisiones de activación la hace eficaz para entrenar redes profundas. Aunque es ligeramente más intensiva desde el punto de vista computacional que ReLU, sus ventajas de rendimiento justifican a menudo su uso en modelos a gran escala disponibles a través de marcos como PyTorch y TensorFlow. Puedes explorar varios modelos y entrenarlos utilizando herramientas como Ultralytics HUB.

Leer todo