Glossário

Algoritmos evolutivos

Descobre como os algoritmos evolutivos optimizam as soluções de IA e ML, desde a afinação de hiperparâmetros à robótica, utilizando estratégias inspiradas na natureza.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Os algoritmos evolutivos (EAs) são uma classe de técnicas de otimização e pesquisa inspiradas nos princípios da evolução biológica, como a seleção natural, a mutação e a reprodução. São particularmente eficazes para resolver problemas complexos em que os algoritmos de otimização tradicionais podem ter dificuldades, como os que têm espaços de pesquisa não lineares, não diferenciáveis ou de elevada dimensão. Os EAs mantêm uma população de soluções potenciais e refinam-nas iterativamente ao longo das gerações, com o objetivo de encontrar soluções óptimas ou quase óptimas com base num critério de aptidão definido. Esta abordagem torna-os ferramentas valiosas em vários domínios, incluindo a inteligência artificial (IA) e a aprendizagem automática (ML).

Como funcionam os algoritmos evolutivos

O processo central de um Algoritmo Evolutivo envolve tipicamente os seguintes passos, imitando a evolução biológica:

  1. Inicialização: É gerada uma população de soluções candidatas (frequentemente designadas por indivíduos ou cromossomas), normalmente de forma aleatória, no espaço de pesquisa.
  2. Avaliação da aptidão: Cada solução da população é avaliada através de uma função de aptidão (semelhante a uma função de perda) que mede a sua qualidade ou a forma como resolve o problema em causa.
  3. Seleção: As soluções são selecionadas com base nas suas pontuações de aptidão. As soluções mais aptas têm uma maior probabilidade de serem escolhidas para passar as suas caraterísticas para a geração seguinte, simulando o princípio da "sobrevivência do mais apto". Existem várias estratégias de seleção, como a seleção por torneio ou a seleção por roleta.
  4. Reprodução (operadores genéticos):
    • Crossover (Recombinação): As soluções parentais selecionadas trocam informações (partes da sua estrutura) para criar novas soluções descendentes, combinando caraterísticas potencialmente benéficas.
    • Mutação: Pequenas alterações aleatórias são introduzidas nas soluções dos descendentes para manter a diversidade dentro da população e explorar novas áreas do espaço de pesquisa, evitando a convergência prematura para soluções subótimas.
  5. Substituição: Os novos descendentes substituem parte ou a totalidade da população mais velha, formando a geração seguinte.
  6. Terminação: O processo repete-se a partir da etapa de avaliação da aptidão até que seja cumprida uma condição de terminação, como atingir um número máximo de gerações, encontrar uma solução satisfatória ou não observar qualquer melhoria significativa na aptidão.

Relevância na IA e na aprendizagem automática

Os EAs são ferramentas poderosas em IA e ML, especialmente para tarefas que envolvem otimização em espaços complexos onde a informação sobre o gradiente não está disponível ou não é fiável. As principais aplicações incluem:

Algoritmos evolutivos vs. outros métodos de otimização

Embora os EAs sejam um tipo de algoritmo de otimização, diferem significativamente dos métodos baseados em gradientes, como o Gradient Des cent ou o Stochastic Gradient Descent (SGD):

  • Informação de gradiente: Os EAs não requerem informação sobre o gradiente, o que os torna adequados para problemas não diferenciáveis ou descontínuos em que a descida do gradiente falha.
  • Estratégia de pesquisa: Os EAs efectuam uma pesquisa global utilizando uma população de soluções, o que os torna menos susceptíveis de ficarem presos em óptimos locais em comparação com a pesquisa local da descida gradiente baseada no declive da função de perda. No entanto, esta exploração global tem frequentemente um custo computacional mais elevado.
  • Tipo de problema: A descida de gradiente é normalmente preferida para otimizar parâmetros em modelos de aprendizagem profunda com funções de perda suaves e diferenciáveis, enquanto os EAs se destacam na otimização combinatória, otimização de parâmetros em cenários de aptidão complexos e otimização multi-objetivo.

Aplicações no mundo real

Para além da otimização teórica, os EAs são utilizados na prática:

  1. Otimização de modelos ML: Como já foi referido, encontrar os melhores hiperparâmetros para modelos como Ultralytics YOLO é uma aplicação fundamental. O Ultralytics Tuner classe fornece uma implementação utilizando EAs para otimizar Modelo YOLO formação [Ref: Glossário de Afinação de Hiperparâmetros]. Integrações com ferramentas como Ray Tune melhora ainda mais as capacidades de afinação distribuída.
  2. Robótica e sistemas de controlo: Os EAs são utilizados para desenvolver os movimentos dos robôs, os parâmetros do controlador para sistemas autónomos e as estratégias de planeamento de trajectórias, em particular na robótica.
  3. Programação e logística: Resolve problemas complexos de programação, como a programação de oficinas, a criação de horários ou a otimização de rotas de entrega(recursos do Problema de Rotação de Veículos).
  4. Otimização do design: Utilizado nos campos da engenharia e do design para otimizar estruturas, materiais ou formas aerodinâmicas (por exemplo, investigação da NASA sobre o design de antenas).
  5. Descoberta de medicamentos: Os EAs podem explorar vastos espaços químicos para identificar potenciais candidatos a medicamentos com as propriedades desejadas, ajudando na investigação farmacêutica.

Vantagens e desvantagens

Vantagens:

  • Eficaz na otimização global, menos propenso a óptimos locais.
  • Aplica-se a uma vasta gama de problemas, incluindo problemas não diferenciáveis e complexos.
  • Inerentemente paralelizável, uma vez que as avaliações de aptidão podem ser efectuadas de forma independente.
  • Resiste a ambientes ruidosos ou incertos.

Desvantagens:

  • Pode ser computacionalmente dispendioso devido à pesquisa baseada na população e às avaliações de aptidão.
  • O desempenho pode ser sensível à escolha dos parâmetros do EA (tamanho da população, taxas de mutação, etc.).
  • A convergência para o ótimo global nem sempre é garantida.
  • Pode exigir um ajustamento significativo para problemas específicos.

Os algoritmos evolutivos representam um conjunto de ferramentas poderoso e versátil no panorama da IA e do ML, oferecendo vantagens únicas para enfrentar desafios de otimização complexos encontrados na investigação e na indústria, incluindo a otimização de modelos de visão computacional de última geração utilizando plataformas como o Ultralytics HUB.

Lê tudo