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 GELU (Unidad Lineal de Error Gaussiano) es un tipo de función de activación muy utilizada en las redes neuronales modernas, sobre todo en las arquitecturas de Transformador. Propuesta por Dan Hendrycks y Kevin Gimpel en el artículo"Gaussian Error Linear Units (GELUs)", pretende combinar propiedades de dropout, zoneout y ReLU (Unidad Lineal Rectificada ) para mejorar el rendimiento del modelo. A diferencia de ReLU, que corta bruscamente los valores negativos, GELU proporciona una curva más suave, ponderando las entradas en función de su magnitud y no sólo de su signo.

Cómo funciona GELU

La función GELU modula la entrada en función de su valor, decidiendo efectivamente si "activar" una neurona. Multiplica la entrada por el valor de la función de distribución acumulativa (FDA) gaussiana estándar aplicada a esa entrada. Intuitivamente, esto significa que las entradas más alejadas de cero (tanto positivas como negativas) tienen más probabilidades de ser preservadas, mientras que las entradas más cercanas a cero tienen más probabilidades de ser eliminadas. Este enfoque probabilístico introduce una forma de regularización estocástica similar al abandono, pero determinada por el propio valor de entrada, lo que da lugar a una función no lineal que puede captar patrones más complejos en los datos.

GELU frente a otras funciones de activación

GELU ofrece ventajas sobre las funciones de activación más sencillas, lo que contribuye a su adopción en los modelos más avanzados:

  • ReLU: El ReLU es computacionalmente sencillo, pero puede sufrir el problema del "ReLU moribundo", en el que las neuronas se vuelven inactivas para las entradas negativas, lo que puede dificultar el aprendizaje. La curva suave de GELU permite que los gradientes fluyan con más facilidad, especialmente para los valores negativos, lo que podría mitigar este problema.
  • Leaky ReLU: Aunque Leaky ReLU aborda el problema de ReLU moribundo permitiendo un gradiente pequeño y distinto de cero para las entradas negativas, mantiene una relación lineal simple en el dominio negativo. GELU ofrece una transformación no lineal más compleja.
  • SiLU (Swish): SiLU (Sigmoid Linear Unit) es otra función de activación suave que suele tener un rendimiento similar a GELU. La elección entre GELU y SiLU puede depender de la arquitectura y el conjunto de datos concretos, a menudo determinada mediante pruebas empíricas o ajuste de hiperparámetros.

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:

  1. Procesamiento del Lenguaje Natural (PLN): Se utiliza ampliamente en modelos basados en Transformadores, como los modelos BERT y GPT, contribuyendo a su éxito en tareas como la generación de textos y la comprensión del lenguaje natural.
  2. Visión por ordenador: GELU también se encuentra en los Transformadores de Visión (ViT) y en los modelos de visión posteriores. Por ejemplo, componentes como la Red de Agregación de Capas Eficiente Generalizada (GELAN) utilizada en Ultralytics YOLOv9 emplean GELU para potenciar la extracción de características y mejorar la precisión en tareas de detección de objetos, como se detalla en el documento YOLOv9.

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.

Leer todo