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.
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.
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 ofrece ventajas sobre las funciones de activación más sencillas, lo que contribuye a su adopción en los modelos más avanzados:
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.