Evolutionary Algorithms
Explore como algoritmos evolutivos usam a seleção natural para resolver problemas de IA. Aprenda a otimizar hiperparâmetros do Ultralytics YOLO26 e melhorar o desempenho do modelo.
Algoritmos Evolutivos (EAs) são uma família poderosa de algoritmos de otimização que emulam os princípios biológicos da seleção natural e da genética para resolver problemas computacionais complexos. Ao contrário das técnicas matemáticas tradicionais que dependem de derivadas baseadas em cálculo, como o gradiente descendente estocástico (SGD), os EAs são projetados para navegar em espaços de busca vastos, irregulares ou pouco compreendidos. Eles operam mantendo uma população de soluções potenciais que competem, se reproduzem e sofrem mutações ao longo do tempo. Essa abordagem os torna particularmente eficazes para tarefas em inteligência artificial (AI) onde a "melhor" solução é difícil de determinar analiticamente, permitindo que os sistemas evoluam iterativamente em direção a um resultado ideal.
Link to this sectionInspiração Biológica e Mecanismos Centrais#
A funcionalidade de um Algoritmo Evolutivo baseia-se no conceito de sobrevivência do mais apto. O processo percorre um ciclo de operadores projetados para imitar a evolução genética natural, refinando gradualmente as soluções candidatas:
-
Inicialização: O sistema gera uma população inicial de candidatos aleatórios. No contexto de aprendizado de máquina (ML), esses candidatos podem representar diferentes conjuntos de parâmetros de modelo.
-
Avaliação de Aptidão: Cada candidato é testado em relação a um objetivo específico, conhecido como função de aptidão. Para um modelo de visão computacional (CV), essa função geralmente avalia métricas como precisão ou Precisão Média Média (mAP).
-
Seleção: Candidatos com pontuações de aptidão mais altas são selecionados probabilisticamente para atuar como pais, garantindo que características bem-sucedidas sejam preservadas para a próxima geração.
-
Reprodução e Variação: Novas soluções são criadas através de crossover (recombinação de características de dois pais) e mutação (introdução de alterações aleatórias). Essa introdução de diversidade genética é crítica, pois evita que o algoritmo estagne em um ótimo local, ajudando-o a explorar o espaço de busca para o máximo global.
Link to this sectionAplicações no Mundo Real em IA#
Os Algoritmos Evolutivos são versáteis e foram aplicados com sucesso a vários domínios dentro de aprendizado profundo (DL) e engenharia.
Link to this sectionAjuste Automatizado de Hiperparâmetros#
Uma das aplicações mais práticas dos EAs é o ajuste de hiperparâmetros. Redes neurais modernas exigem a configuração de dezenas de parâmetros—como taxa de aprendizado, decaimento de peso e momento—que impactam significativamente o desempenho. Os EAs podem automatizar esse tedioso processo de tentativa e erro evoluindo as configurações. Por exemplo, o método tune() na biblioteca Ultralytics usa um algoritmo genético para descobrir os melhores hiperparâmetros de treinamento para modelos YOLO26 em datasets personalizados.
Link to this sectionBusca de Arquitetura Neural (NAS)#
Os EAs são a pedra angular da Busca de Arquitetura Neural (NAS). Em vez de engenheiros humanos projetarem manualmente a estrutura de uma rede neural (NN), um algoritmo evolutivo pode "cultivar" a arquitetura. Ele testa diferentes combinações de camadas, neurônios e conexões, evoluindo estruturas eficientes que equilibram velocidade e precisão. Essa técnica levou à criação de backbones altamente eficientes, como o EfficientNet, que são otimizados para restrições de hardware específicas.
Link to this sectionAlgoritmos Evolutivos vs. Inteligência de Enxame#
Embora ambas sejam estratégias de otimização inspiradas na natureza, é útil distinguir os EAs da Inteligência de Enxame (SI).
- Algoritmos Evolutivos: Baseiam-se em mudança geracional. Indivíduos (soluções) vivem, reproduzem-se com base na aptidão e morrem, sendo substituídos por seus descendentes. Os principais motores são operadores genéticos como mutação e crossover.
- Inteligência de Enxame: Imita a interação social dentro de um grupo, como um bando de pássaros ou um cardume de peixes. Algoritmos como Otimização por Enxame de Partículas (PSO) envolvem uma população de agentes que se movem pelo espaço de busca e ajustam suas posições com base em sua própria experiência e no sucesso de seus vizinhos, sem substituição geracional.
Link to this sectionImplementando a Otimização com Ultralytics#
Praticantes podem aproveitar algoritmos genéticos diretamente para otimizar seus modelos de detecção de objetos. O método tune da Ultralytics executa um processo evolutivo para mutar hiperparâmetros ao longo de várias gerações, identificando automaticamente as configurações que produzem o maior desempenho nos seus dados de validação.
from ultralytics import YOLO
# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")
# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)Esse refinamento automatizado permite que os desenvolvedores vão além de suposições manuais. Para equipes que escalam suas operações, o gerenciamento desses experimentos e o acompanhamento da evolução do desempenho do modelo podem ser simplificados usando a Plataforma Ultralytics, que visualiza métricas de treinamento e facilita a implantação de modelo.






