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.
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.
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.
A GELU oferece caraterísticas distintas em comparação com outras funções de ativação comuns:
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.