Como funciona

A função de ativação recebe a soma ponderada das entradas de um neurônio e transforma esse valor em uma saída. Sem essa transformação, a rede neural seria apenas uma combinação linear de pesos e vieses, incapaz de aprender padrões complexos.

As funções mais usadas hoje são a ReLU (Rectified Linear Unit), que zera valores negativos e mantém os positivos, e a GELU, popular em modelos de linguagem como o GPT. A sigmoid comprime a saída entre 0 e 1, útil para probabilidades. A tanh varia entre -1 e 1.

A escolha da função afeta a velocidade de treinamento e a capacidade de aprendizado. ReLU é simples e rápida, mas pode causar "neurônios mortos" quando a entrada é sempre negativa. GELU é mais suave e funciona bem em Transformers.

Exemplo prático

Imagine um neurônio que recebe três entradas: 0,5, -0,3 e 1,2. Com pesos 0,4, 0,2 e 0,6, a soma ponderada é (0,5 x 0,4) + (-0,3 x 0,2) + (1,2 x 0,6) = 0,2 - 0,06 + 0,72 = 0,86. Aplicando ReLU, a saída é 0,86. Se a soma fosse -0,5, a ReLU retornaria 0.

Em código Python com PyTorch:

Python
import torch
import torch.nn as nn

x = torch.tensor([0.86, -0.5, 0.0])
relu = nn.ReLU()
print(relu(x))  # tensor([0.8600, 0.0000, 0.0000])

Para que serve

A função de ativação permite que redes neurais aprendam relações não-lineares, como reconhecer imagens ou traduzir texto. Sem ela, mesmo uma rede com milhares de camadas seria equivalente a uma regressão linear simples.

Na prática, a escolha da função influencia diretamente o desempenho do modelo. Modelos modernos de IA usam GELU ou variantes de ReLU por serem eficientes e estáveis durante o treinamento.