Implementando Redes Neurais e Inteligência Computacional do zero em Python (Perceptron, Adaline, MLP, Kohonen, Fuzzy e Algoritmos Genéticos)
Antes de orquestrar LLMs modernos ou usar frameworks prontos como PyTorch e scikit-learn, implementar os algoritmos clássicos de Redes Neurais e Inteligência Computacional do zero em Python é a melhor forma de entender o
Antes de orquestrar LLMs modernos ou usar frameworks prontos como PyTorch e scikit-learn, implementar os algoritmos clássicos de Redes Neurais e Inteligência Computacional do zero em Python é a melhor forma de entender o que realmente acontece dentro de um modelo: propagação direta (forward pass), cálculo do gradiente, regra Delta, retropropagação do erro (backpropagation), mapas auto-organizáveis competitivos e otimização evolutiva.
Ao longo da graduação em Engenharia da Computação na UEFS, construí uma série de implementações fundamentais sem depender de camadas prontas de alto nível. Neste artigo, resumo a intuição matemática, a arquitetura e os casos práticos de 6 repositórios abertos no meu GitHub.
1. Perceptron de Rosenblatt e Adaline (perceptron-oil-problem & adaline_valvulas)
O Perceptron e o Adaline (Adaptive Linear Neuron) são a base histórica das redes neurais artificiais, mas diferem em um ponto crucial no treinamento:
-
Perceptron (
perceptron-oil-problem): atualiza os pesoswapenas quando a função degrau (sinal) erra a classe discreta de uma amostra de óleo (y ∈ {-1, +1}). -
Adaline (
adaline_valvulas): aplica a Regra Delta (LMS — Least Mean Squares) sobre a saída linear contínuau = w·x + bantes da função de ativação, minimizando o Erro Quadrático Médio (MSE) via descida do gradiente para diagnóstico de acionamento de válvulas:
Δw = η × (d - u) × x
Essa diferença sutil — derivar uma superfície quadrática contínua em vez de uma função degrau descontínua — é o que abriu caminho para o treinamento de redes multicamadas.
2. Multilayer Perceptron (MLP) e Backpropagation (multilayer-perceptron)
Perceptrons de camada única só separam problemas linearmente separáveis. No repositório multilayer-perceptron, implementei uma rede de múltiplas camadas com retropropagação do erro (backpropagation) aplicada tanto ao clássico dataset Iris (3 classes) quanto a problemas geométricos não lineares (circulo.txt):
- Forward pass: camadas ocultas com funções de ativação diferenciáveis não lineares (sigmoide / tangente hiperbólica), permitindo compor fronteiras de decisão curvas.
- Backward pass: aplicação da regra da cadeia camada a camada, propagando o gradiente local da saída até a primeira camada oculta para atualizar matrizes de pesos e vetores de bias.
3. Aprendizado Não Supervisionado Competitivo: Mapas de Kohonen (kohonen-iris-plants)
Nem todo problema possui rótulos supervisionados. No repositório kohonen-iris-plants, implementei uma Rede de Kohonen (Self-Organizing Map — SOM) para agrupamento topológico das plantas Iris:
- Para cada vetor de entrada
xde 4 dimensões, os neurônios da grade competem pela menor distância euclidiana para eleger a BMU (Best Matching Unit):
c = argmin_i ||x - w_i||
- A BMU e seus vizinhos topológicos na grade atualizam seus pesos aproximando-se de
x, com taxa de aprendizado e raio de vizinhança decaindo ao longo das épocas. - O resultado preserva a topologia: amostras similares no espaço de 4 dimensões ficam próximas no mapa bidimensional, sem nunca ter visto o rótulo da espécie durante o treino.
4. Lógica Fuzzy (controlador_fuzzy) e Algoritmos Genéticos (Algoritmo-Genetico)
Para completar a caixa de ferramentas de Inteligência Computacional:
-
Sistemas de Inferência Fuzzy (
controlador_fuzzy): modelam incerteza contínua por funções de pertinência (fuzzificação), base de regras linguísticas (SE ... ENTÃO ...) e defuzzificação (centroide) para controle suave onde regras booleanas rígidas falham. -
Algoritmos Genéticos (
Algoritmo-Genetico): busca meta-heurística populacional com seleção por aptidão (fitness), cruzamento (crossover) e mutação estocástica para escapar de ótimos locais em espaços de busca discretos ou não diferenciáveis.
Por que isso importa na era de LLMs e Sistemas Multi-Agente?
Quando hoje projeto um sistema multi-agente como o Comanda (com BM25 + stemmer Snowball em português do zero) ou um motor de recomendação em produção com LSH Forest e MinHash, os fundamentos são os mesmos: espaço vetorial, métricas de distância/similaridade, custo computacional por consulta e avaliação quantitativa rigorosa.
Repositórios no GitHub
- MLP: github.com/TheAndr3/multilayer-perceptron
- Mapa de Kohonen (SOM): github.com/TheAndr3/kohonen-iris-plants
- Adaline: github.com/TheAndr3/adaline_valvulas
- Perceptron: github.com/TheAndr3/perceptron-oil-problem
- Controlador Fuzzy: github.com/TheAndr3/controlador_fuzzy
- Algoritmo Genético: github.com/TheAndr3/Algoritmo-Genetico
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.