Neural Network (NN)
Uma rede neural (NN) é formada por camadas de neurônios artificiais conectados, cujos pesos são aprendidos a partir de dados. Abrange como os neurônios fazem cálculos, o treinamento e os principais tipos.
Uma rede neural (NN), também chamada rede neural artificial (ANN), é um modelo de aprendizagem automática (ML) composto por camadas de unidades simples conectadas, chamadas neurónios. Cada neurónio multiplica as entradas por pesos, acrescenta um enviesamento e passa a soma por uma função de ativação não linear. A rede aprende ajustando esses pesos e enviesamentos até as saídas corresponderem aos exemplos nos dados de treino, pelo que o seu comportamento é aprendido a partir dos dados. O desenho foi vagamente inspirado nos neurónios biológicos, mas as redes modernas são melhor entendidas como funções matemáticas de grandes dimensões que podem ser treinadas. As redes com muitas camadas são objeto da aprendizagem profunda (DL) e impulsionam a visão computacional, o reconhecimento de voz e os modelos de linguagem de grande dimensão (LLMs).
Como calcula uma rede neural#
Os neurónios organizam-se em camadas. A camada de entrada recebe os dados, como valores de píxeis ou leituras de sensores; uma ou mais camadas ocultas transformam-nos e a camada de saída produz a previsão, como pontuações de classes ou um valor previsto. Numa camada totalmente conectada, cada neurónio recebe todas as saídas da camada anterior; assim, a camada inteira corresponde a uma multiplicação matricial seguida de uma ativação elemento a elemento. A passagem dos dados por todas as camadas, por ordem, é a passagem direta. A ativação é o que torna útil a profundidade: sem ela, as camadas empilhadas reduzem-se a uma única função linear. Com ela, uma rede com uma única camada oculta suficientemente ampla pode aproximar qualquer função contínua com precisão arbitrária, um resultado conhecido como teorema da aproximação universal.
O trecho de código PyTorch abaixo calcula manualmente um neurónio e, depois, calcula em simultâneo uma camada completa com quatro neurónios:
import torch
from torch import nn
torch.manual_seed(1)
x = torch.tensor([0.5, -1.0, 2.0]) # one example with three input features
# A layer of four neurons: each has three weights and one bias
layer = nn.Linear(in_features=3, out_features=4)
# Neuron 0 by hand: weighted sum of inputs plus bias, then a ReLU activation
z = (layer.weight[0] * x).sum() + layer.bias[0]
print(f"Neuron 0 by hand: {torch.relu(z).item():.4f}")
# The layer computes all four neurons at once as one matrix multiplication
outputs = torch.relu(layer(x))
print(f"All four neurons: {[round(v, 4) for v in outputs.tolist()]}")O código imprime Neuron 0 by hand: 0.3906 e All four neurons: [0.3906, 1.1465, 0.0, 0.0]. O cálculo manual corresponde ao primeiro neurónio da camada, e a ativação ReLU coloca a zero os dois neurónios com somas ponderadas negativas. A camada armazena 16 números ajustáveis: 12 pesos e 4 enviesamentos. As redes reais empilham camadas deste tipo até atingirem milhões ou milhares de milhões de parâmetros.
Como as redes neurais aprendem#
O treino começa com pesos aleatórios e repete um ciclo simples. Um lote de exemplos etiquetados percorre a rede, uma função de perda mede a distância entre as previsões e as etiquetas, a retropropagação aplica a regra da cadeia para calcular a contribuição de cada peso para esse erro, e um otimizador, como a descida do gradiente estocástico (SGD) ou Adam, ajusta ligeiramente todos os pesos na direção que reduz a perda. Uma passagem completa pelo conjunto de treino é uma época, e o treino costuma parar quando a perda nos dados de validação reservados deixa de melhorar, porque uma rede que continua a ajustar-se ao conjunto de treino depois desse ponto começa a apresentar sobreajuste.
O treino desde o início costuma exigir grandes conjuntos de dados rotulados, e a aprendizagem por transferência reduz essa necessidade ao partir de pesos pré-treinados num grande conjunto de dados. Os milhões de pesos aprendidos também são difíceis de interpretar, o que impulsiona a investigação em IA explicável (XAI).
Principais tipos de redes neurais#
A forma como os neurónios se conectam, chamada arquitetura, determina quais os dados que uma rede consegue processar bem:
- Redes feedforward: Camadas totalmente conectadas que transmitem dados em uma direção, também chamadas de perceptrons multicamadas (MLPs). São adequadas para dados tabulares e aparecem como blocos de construção em modelos maiores.
- Redes neurais convolucionais (CNNs): Deslizam pequenos filtros compartilhados sobre uma imagem usando a convolução, o padrão para visão computacional. As conexões residuais permitem que elas cresçam até centenas de camadas.
- Redes neurais recorrentes (RNNs): Processam sequências passo a passo, mantendo um estado oculto, com versões controladas por portas, como LSTM e GRU, para memória mais longa.
- Transformers: Usam atenção própria para relacionar cada elemento de uma sequência a todos os outros em paralelo. São a base dos LLMs e dos transformers de visão.
- Redes neurais pulsadas (SNNs): Comunicam-se por meio de pulsos discretos ao longo do tempo, de forma mais próxima aos neurônios biológicos, e funcionam com eficiência em chips neuromórficos.
A maioria dos modelos atuais combina esses projetos. YOLO26 é uma rede convolucional com blocos de atenção própria em seus mapas de características de menor resolução, e seu modelo de detecção nano usa cerca de 2,4 milhões de parâmetros para localizar e classificar objetos em uma imagem de 640×640 em uma única passagem direta.
Redes neurais versus termos relacionados#
- Aprendizado profundo: Uma rede neural com uma ou duas camadas ocultas é rasa; aprendizado profundo é a prática de treinar redes com muitas camadas, que aprendem sua própria hierarquia de características a partir de dados brutos. Todo modelo de aprendizado profundo é uma rede neural.
- Aprendizado de máquina: As redes neurais são uma família de modelos de aprendizado de máquina, ao lado de árvores de decisão, máquinas de vetores de suporte e árvores impulsionadas por gradiente, que ainda são altamente competitivas com dados tabulares.
- Redes neurais biológicas: Neurônios reais comunicam-se por pulsos elétricos temporizados e se adaptam por meio de processos químicos que os neurônios artificiais não modelam. As redes neurais pulsadas reproduzem mais desse comportamento do que as redes convencionais.
Breve história#
Warren McCulloch e Walter Pitts descreveram um modelo matemático do neurônio em 1943: uma unidade que dispara quando a soma de suas entradas binárias ultrapassa um limiar. O perceptron de Frank Rosenblatt, de 1958, aprendeu os pesos dessas unidades a partir de exemplos, mas, em 1969, Marvin Minsky e Seymour Papert mostraram que um perceptron de camada única não consegue calcular nem mesmo a função XOR, e o interesse diminuiu. As redes multicamadas resolvem XOR e, em 1986, David Rumelhart, Geoffrey Hinton e Ronald Williams mostraram que a retropropagação treina suas camadas ocultas para aprender representações internas úteis. As redes profundas dominaram a visão computacional em 2012, quando AlexNet, treinada em duas GPUs, venceu o desafio ImageNet com uma taxa de erro top-5 de 15,3%, contra 26,2% do segundo colocado.










