Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
Guias

O que é um algoritmo evolutivo? Um guia rápido

Aprenda como algoritmos evolutivos funcionam e como são usados em aprendizado de máquina para otimizar modelos, resolver problemas complexos e impulsionar avanços em IA.

ABAbirami Vina
4 min read
Algoritmos evolutivos explicados

Para uma visão geral visual dos conceitos abordados neste artigo, assista ao vídeo abaixo.

A vida na Terra evoluiu ao longo de milhões de anos, e é através desse processo que os seres vivos se adaptaram para sobreviver e prosperar em seus ambientes. Pega o exemplo das girafas. Elas desenvolveram pescoços longos ao longo de muitas gerações para alcançar folhas no topo das árvores, onde outros animais não conseguem. Isso é impulsionado pela seleção natural, onde traços úteis tornam-se mais comuns à medida que aqueles que os possuem têm maior probabilidade de sobreviver.

Simplificando, os organismos mais bem adaptados aos seus arredores têm uma chance melhor de sobreviver e passar seus traços úteis para seus descendentes. Com o tempo, essas pequenas mudanças acumulam-se, ajudando as espécies a lidar até mesmo com as condições mais desafiadoras.

Algoritmos evolutivos (EA) enquadram-se no termo abrangente de "Machine Learning". Assim como na evolução, o EA escolhe as melhores soluções de um grupo, faz pequenas alterações e verifica se essas mudanças melhoram as coisas. Ao repetir esse processo por muitas gerações, ele encontra as melhores soluções para problemas complexos em diversos campos.

Graças à sua versatilidade, os algoritmos evolutivos são uma área interessante de pesquisa, com estudos contínuos focados em aplicá-los a campos como engenharia, medicina e ciência ambiental. Neste artigo, examinaremos mais de perto os algoritmos evolutivos, como eles funcionam e onde são usados. Vamos começar!

Link to this sectionAlgoritmos evolutivos explicados#

Os algoritmos evolutivos são técnicas de otimização que podem ser usadas no reino do machine learning para encontrar a melhor solução ou modelo possível para uma tarefa específica. Eles geralmente começam com um grupo de soluções potenciais e trabalham para melhorá-las ao longo de muitas iterações com base no quão bem resolvem o problema.

Por exemplo, imagina tentar projetar o carro mais eficiente em termos de combustível. O algoritmo começa com uma variedade de designs de carros, testa cada um para ver seu desempenho e, então, melhora gradualmente os designs combinando os melhores recursos e fazendo pequenos ajustes ao longo de várias rodadas até encontrar o melhor design possível.

Existem vários tipos de algoritmos evolutivos, cada um com sua própria maneira de representar e melhorar soluções, mas todos seguem essa abordagem básica. Aqui estão alguns tipos comuns de algoritmos evolutivos:

  • Algoritmos genéticos: Neste tipo de algoritmo evolutivo, as soluções são representadas como cadeias codificadas simples, como sequências de números ou símbolos. A melhoria acontece misturando partes de duas boas soluções (semelhante a combinar traços dos pais) e fazendo pequenas alterações aleatórias para criar novas variações.

  • Programação genética: Foca na construção de soluções como estruturas em forma de árvore. É especialmente útil quando a solução requer uma sequência de etapas ou instruções.

  • Estratégias evolutivas: Aqui, o foco está em aprender quão grandes ou pequenas devem ser as mudanças ao atualizar as soluções. Isso ajuda o algoritmo a melhorar seus resultados de forma mais eficiente ao longo do tempo.

  • Evolução diferencial: Com esta abordagem, novas soluções são formadas combinando partes de diferentes soluções existentes. Funciona particularmente bem para problemas onde as respostas são números que podem variar continuamente.

Link to this sectionEntendendo como os algoritmos evolutivos funcionam#

Os algoritmos evolutivos usam um processo iterativo para encontrar a melhor solução para um problema. Podes pensar nisso como a forma da natureza de refinar espécies ao longo de gerações, onde cada ciclo ajuda a melhorar a população.

Embora existam diferentes tipos de algoritmos evolutivos, eles geralmente seguem estas etapas principais:

  • Inicialização: O algoritmo começa gerando um conjunto inicial de possíveis soluções. Isso forma o ponto de partida para o processo evolutivo.

  • Avaliação de aptidão (Fitness evaluation): Cada solução é avaliada usando uma função de aptidão que mede quão bem ela resolve o problema. Soluções com melhor desempenho recebem pontuações mais altas e têm maior chance de serem escolhidas para as próximas etapas.

  • Reprodução: Novas soluções são criadas através de dois métodos principais: cruzamento (crossover) e mutação. O cruzamento combina características de duas soluções parentais, enquanto a mutação introduz pequenas mudanças aleatórias para explorar novas possibilidades.

  • Substituição: As soluções recém-criadas substituem algumas ou todas as soluções antigas. Esta etapa determina quais soluções sobrevivem e avançam para a próxima geração.

  • Terminação: O processo de reprodução e substituição continua até que uma condição de parada seja atendida. Isso pode ser atingir um número definido de iterações, alcançar um nível de aptidão satisfatório, não ver mais melhorias ou atingir limites computacionais.

Uma análise de como funcionam os algoritmos evolutivos

Fig 1. Um olhar sobre como os algoritmos evolutivos funcionam. Imagem do autor.

Link to this sectionUm olhar sobre as aplicações de algoritmos evolutivos#

Agora que temos uma compreensão melhor do que são os algoritmos evolutivos e como funcionam, vamos percorrer algumas de suas aplicações no mundo real em diferentes setores.

Link to this sectionAlgoritmos bioinspirados usados em parques eólicos#

Um dos aspectos mais críticos da geração de energia eólica é a localização das turbinas eólicas. A eficiência de um parque eólico pode variar significativamente com base em como as turbinas são posicionadas umas em relação às outras e às condições do vento. Os métodos de design tradicionais frequentemente têm dificuldade em lidar com as muitas variáveis externas envolvidas.

Os algoritmos evolutivos são uma ótima maneira de criar e testar muitos layouts diferentes de parques eólicos. Eles analisam fatores como padrões de vento, tipos de turbinas e o terreno disponível para encontrar a melhor configuração. Com cada rodada de testes, o design melhora, levando a mais energia, custos mais baixos e melhor uso da terra. Após várias iterações, o design final pode oferecer uma produção de energia melhor do que um feito manualmente.

Uma usina de energia eólica

Fig 2. Um parque eólico.

Link to this sectionTécnicas de otimização no design de veículos#

Projetar carros que sejam seguros, eficientes em combustível e acessíveis é uma prioridade fundamental para as montadoras de hoje. Os algoritmos evolutivos podem ajudar a acelerar esse processo testando muitas opções de design e melhorando-as gradualmente para encontrar a melhor. Isso pode ajudar os fabricantes a encontrar o melhor equilíbrio entre desempenho e eficiência.

Um exemplo interessante é o uso de algoritmos evolutivos para projetar a estrutura central do veículo, conhecida como Body-in-White (BIW). O objetivo principal neste processo de design é reduzir o peso da carroceria enquanto se mantém a mesma durabilidade e resistência.

Os algoritmos genéticos podem explorar diferentes variações estruturais com pequenas alterações. Esses designs são então testados com base em fatores como resistência, peso, durabilidade e padrões regulatórios para identificar a melhor opção.

A estrutura de design Body-in-White de um veículo

Fig 3. A estrutura de design Body-in-White de um veículo (fonte).

Link to this sectionEstratégias evolutivas no agendamento em hospitais#

Pesquisadores estão estudando ativamente como os algoritmos evolutivos podem ajudar na saúde, como na escala da equipe hospitalar, na melhoria de planos de tratamento e na descoberta de novos medicamentos. Esses algoritmos funcionam bem porque podem lidar com grandes volumes de dados e considerar fatores como fadiga e estresse.

Por exemplo, algoritmos genéticos foram testados para melhorar a escala de enfermeiros em hospitais. Um estudo fascinante usou uma mistura de algoritmos genéticos e técnicas de busca local para criar escalas que reduzem a fadiga dos enfermeiros. Os resultados mostraram uma queda de 10% na fadiga e tornaram o processo de agendamento 98% mais rápido, reduzindo o tempo de mais de uma hora para pouco mais de um minuto.

Agendamento manual vs. uso de um algoritmo genético

Fig 4. Agendamento manual vs uso de um algoritmo genético (GA) (fonte).

Link to this sectionO papel das técnicas evolutivas em visão computacional#

Além de aplicações de machine learning, os algoritmos evolutivos também podem ser usados em áreas como visão computacional - o campo de IA que permite às máquinas interpretar e analisar dados visuais como imagens e vídeos. Pesquisas contínuas exploram seu potencial em tarefas como segmentação de imagem, detecção de objetos e extração de características.

Esses algoritmos funcionam testando muitas soluções possíveis e selecionando as melhores, o que os torna flexíveis e capazes de lidar com dados visuais complexos e variados. Por exemplo, pesquisadores usaram algoritmos evolutivos para melhorar sistemas de IA que analisam imagens médicas como radiografias de tórax.

Esses sistemas de IA, conhecidos como redes neurais convolucionais (CNNs), atuam como radiologistas especialistas digitalizando imagens para detectar sinais de doenças como a COVID-19. O algoritmo evolutivo ajuda automatizando o design e o ajuste fino da estrutura e das configurações da CNN, testando muitas versões, mantendo os melhores desempenhos e criando gradualmente modelos mais precisos. Esse processo leva a ferramentas de IA que podem ajudar os médicos a diagnosticar a COVID-19 de forma mais rápida e precisa.

Link to this sectionPrós e contras dos algoritmos evolutivos#

Aqui estão algumas das principais vantagens que os algoritmos evolutivos oferecem:

  • Capacidade de busca global: Os algoritmos evolutivos exploram muitas partes do espaço de solução simultaneamente, tornando menos provável que fiquem presos em soluções pobres.
  • Robustez: Em ambientes incertos e em mudança, a aleatoriedade e as diversas soluções do algoritmo evolutivo ajudam o sistema a manter um desempenho consistente.
  • Flexibilidade: Os algoritmos evolutivos podem ser ajustados para funcionar bem em muitos tipos diferentes de problemas, alterando como as soluções são representadas e como o sucesso é medido.

Embora esses algoritmos tenham muitos benefícios, também é importante estar ciente de suas limitações. Aqui estão algumas desvantagens comuns dos algoritmos evolutivos:

  • Custo computacional: Avaliar muitas soluções possíveis repetidamente pode exigir recursos computacionais poderosos e caros, tornando-os lentos ou dispendiosos para algumas aplicações.
  • Sensibilidade a parâmetros: O sucesso dos algoritmos evolutivos depende frequentemente da escolha das configurações iniciais certas, como tamanho da população, taxa de mutação e métodos de seleção. Escolhas ruins podem prejudicar o desempenho.
  • Convergência lenta: Eles podem exigir muitas iterações para melhorar as soluções, especialmente para problemas muito complexos, o que pode levar a tempos de execução mais longos em comparação com outros métodos.
  • Sensibilidade da função de aptidão (Fitness function): Um design de função de aptidão ruim pode fazer com que os algoritmos explorem falhas em vez de resolver o problema pretendido, enganando os desenvolvedores sobre o desempenho real.

Link to this sectionPrincipais pontos#

Os algoritmos evolutivos são uma ótima opção para resolver problemas difíceis que outros métodos podem ter dificuldade em lidar. Pesquisas mostraram que eles melhoram gradualmente através da iteração e podem se adaptar a uma grande variedade de tarefas. À medida que a IA continua a avançar e evoluir, espera-se que esses algoritmos desempenhem um papel ainda maior no desenvolvimento de tecnologias inteligentes, eficientes e autoaprendizes em muitas aplicações diferentes.

Junta-te à nossa comunidade em crescimento e confere o nosso repositório no GitHub para recursos de IA. Explora diferentes aplicações de visão computacional na agricultura e IA na logística nas nossas páginas de soluções. Descobre as nossas opções de licenciamento para dar início aos teus projetos de visão computacional.

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática