Glossário

GELU (Unidade Linear de Erro Gaussiano)

Descobre como a função de ativação GELU melhora os modelos de transformadores como o GPT-4, aumentando o fluxo de gradiente, a estabilidade e a eficiência.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A Unidade Linear de Erro Gaussiano, ou GELU, é uma função de ativação de alto desempenho amplamente utilizada em redes neurais modernas (NN), particularmente em modelos de transformadores. Proposta no artigo"Gaussian Error Linear Units (GELUs)" por Dan Hendrycks e Kevin Gimpel, a GELU introduz uma abordagem probabilística à ativação dos neurónios, afastando-se da natureza determinística de funções como a ReLU. Pondera as entradas com base na sua magnitude, em vez de apenas as limitar pelo sinal, combinando eficazmente as propriedades de dropout, zoneout e ReLU.

Como funciona a GELU

O GELU determina a saída de um neurónio multiplicando o valor de entrada pelo valor da função de distribuição cumulativa gaussiana padrão (CDF) aplicada a essa entrada. Isto significa que a ativação é estocástica, dependendo do próprio valor de entrada. Ao contrário da ReLU, que corta acentuadamente os valores negativos, a GELU fornece uma curva mais suave. As entradas com magnitudes maiores têm maior probabilidade de serem preservadas, enquanto as entradas mais próximas de zero têm maior probabilidade de serem eliminadas. Essa ponderação suave e probabilística permite representações mais ricas e um fluxo de gradiente potencialmente melhor durante a retropropagação, o que é crucial para o treinamento de redes profundas.

Comparação com outras funções de ativação

A GELU oferece caraterísticas distintas em comparação com outras funções de ativação comuns:

  • ReLU (Unidade Linear Rectificada): A ReLU é computacionalmente simples (a saída é a entrada se for positiva, zero caso contrário). A GELU é mais suave e não monotónica (pode diminuir à medida que a entrada aumenta para valores negativos), o que por vezes pode ajudar a captar padrões mais complexos. No entanto, a GELU é mais intensiva em termos de computação do que a ReLU.
  • Sigmoide e Tanh: Essas funções comprimem as entradas em um intervalo fixo (0 a 1 para Sigmoide, -1 a 1 para Tanh). Embora sejam úteis em determinados contextos (como camadas de saída para probabilidades), elas podem sofrer com o problema do gradiente de desaparecimento em redes profundas. A GELU, como a ReLU, não tem um limite superior, atenuando esse problema para valores positivos.
  • SiLU (Sigmoid Linear Unit) / Swish: A SiLU é outra função de ativação suave e não monotónica que multiplica a entrada pela sua sigmoide. Partilha semelhanças com a GELU em termos de forma e desempenho, sendo frequentemente considerada uma alternativa próxima. Ambas têm mostrado resultados empíricos fortes.

Vantagens da GELU

  • Suavidade: A sua curva suave permite uma melhor dinâmica de descida do gradiente em comparação com o ponto agudo do ReLU.
  • Não monotonicidade: Permite uma aproximação de funções mais complexa.
  • Interpretação probabilística: Incorpora a magnitude da entrada na decisão de ativação de uma forma estocástica.
  • Desempenho de última geração: Utilizado frequentemente em modelos de alto desempenho, especialmente transformadores.

Desvantagens e considerações

  • Custo computacional: O cálculo da CDF gaussiana é mais dispendioso do que as operações simples do ReLU. Na prática, são frequentemente utilizadas aproximações eficientes.
  • Complexidade: Um pouco mais complexo de entender e implementar a partir do zero em comparação com funções mais simples como ReLU.

Aplicações e significado

A GELU tornou-se uma escolha popular em muitos modelos avançados de aprendizagem profunda devido ao seu forte desempenho empírico:

A capacidade da função de fornecer uma não-linearidade suave e incorporar a magnitude da entrada nas decisões de ativação torna-a eficaz para o treino de redes profundas. Embora um pouco mais intensiva em termos de computação do que a ReLU, seus benefícios de desempenho muitas vezes justificam seu uso em modelos de grande escala disponíveis por meio de estruturas como PyTorch e TensorFlow. Podes explorar vários modelos e treiná-los utilizando ferramentas como o Ultralytics HUB.

Lê tudo