Middle — Senior
O que é GELU e por que é melhor que ReLU em transformadores?
sobes.tech IA
Resposta da IA
GELU (Unidade Linear de Erro Gaussiana) é uma função de ativação frequentemente usada em transformadores e outras redes neurais modernas. Ela difere do ReLU clássico por ser suave e considerar a natureza probabilística da ativação.
A fórmula do GELU aproxima-se assim:
[ \text{GELU}(x) = x \cdot \Phi(x) ]
onde ( \Phi(x) ) é a função de distribuição da distribuição normal padrão.
Vantagens do GELU sobre o ReLU:
- Suavidade: GELU é contínuo e diferenciável, o que melhora o treinamento.
- Estocasticidade: GELU leva em conta a probabilidade de ativação do neurônio, ajudando o modelo a lidar melhor com ruído e incerteza.
- Melhor representação de dados: em tarefas de NLP e transformadores, o GELU promove um treinamento mais eficiente e melhora a qualidade do modelo.
Exemplo de uso em PyTorch:
import torch
import torch.nn.functional as F
def gelu(x):
return 0.5 * x * (1 + torch.tanh(torch.sqrt(torch.tensor(2 / 3.1415)) * (x + 0.044715 * x ** 3)))
x = torch.tensor([-1.0, 0.0, 1.0])
print(gelu(x))
Assim, o GELU fornece uma ativação mais suave e informativa em comparação com ReLU, o que é importante para modelos complexos como transformadores.