Proto-objetos – regiões da imagem que compartilham propriedades visuais comuns – oferecem uma alternativa promissora aos mecanismos de atenção tradicionais baseados em patches retangulares de imagem em redes neurais. Embora trabalhos anteriores tenham demonstrado que evoluir um módulo de atenção dura baseado em patches juntamente com uma rede controladora poderia alcançar desempenho no estado da arte em tarefas de aprendizado por reforço visual, nossa abordagem aproveita a segmentação de imagens para trabalhar com características de nível mais alto. Ao operar sobre proto-objetos em vez de patches fixos, reduzimos significativamente a complexidade de representação: cada imagem se decompõe em menos proto-objetos do que patches regulares, e cada proto-objeto pode ser eficientemente codificado como um vetor compacto de características. Isso permite um módulo de autoatenção substancialmente menor que processa informações semânticas mais ricas. Nossos experimentos demonstram que essa abordagem baseada em proto-objetos iguala ou supera o desempenho no estado da arte de implementações baseadas em patches com 62% menos parâmetros e 2,6 vezes menos tempo de treinamento.
Os mecanismos de atenção visual emergiram como uma solução poderosa para reduzir a complexidade computacional em tarefas de percepção de alta dimensão. Ao criar um gargalo de informação entre as entradas visuais e as redes de controle, esses mecanismos permitem o processamento eficiente de cenas complexas [14]. Trabalhos recentes demonstraram que evoluir um módulo de atenção dura conjuntamente com um controlador LSTM [10] pode produzir agentes notavelmente eficientes que operam exclusivamente em pequenos patches de imagem [22]. Essa abordagem não apenas gerou redes neurais ordens de grandeza menores do que os métodos concorrentes, mas também alcançou resultados no estado da arte em ambientes desafiadores de Aprendizado por Reforço, como Car Racing e Doom Take Cover [3]. O sucesso decorre da capacidade da camada de atenção de filtrar regiões de entrada irrelevantes, simplificando a tarefa do controlador e fornecendo generalização robusta e resistência ao ruído.
Avançamos nessa linha de pesquisa substituindo patches de tamanho fixo e distribuídos uniformemente por proto-objetos – regiões coerentes de características visuais localmente uniformes [6] – obtidos por meio de segmentação de imagem [7]. Essa mudança na representação oferece duas vantagens principais. Primeiro, eles fornecem uma representação mais compacta, já que a maioria das cenas se decompõe em menos proto-objetos do que em patches. Segundo, cada proto-objeto codifica informações semânticas mais ricas por meio de um pequeno vetor descritor que captura propriedades como forma, tamanho e cor.
Essa abordagem baseada em proto-objetos permite uma arquitetura significativamente simplificada. O módulo de autoatenção torna-se substancialmente menor ao processar características de nível mais alto, levando a uma seleção aprimorada e a informações melhor filtradas para o controlador, que também pode ser simplificado. Nossos resultados nos ambientes Car Racing e Doom Take Cover [3] demonstram que essa arquitetura mais eficiente iguala ou supera o desempenho de implementações baseadas em patches, reduzindo a contagem de parâmetros em 62% com um treinamento 2,6 vezes mais rápido.
A modelagem da atenção visual humana tem sido uma área de pesquisa ativa nos últimos 35 anos. Muitos modelos diferentes de atenção foram propostos, os quais, além de fornecerem contribuições teóricas para a neurociência e a psicologia, demonstraram aplicações bem-sucedidas em visão computacional e robótica [2]. Os primeiros modelos computacionais focavam primariamente em atenção ascendente (bottom-up), baseada em saliência, enquanto abordagens mais recentes incorporaram influências descendentes (top-down) e mecanismos de seleção baseados em objetos.
O sistema visual biológico fornece insights fundamentais para o projeto de sistemas de visão artificial eficientes. Uma restrição fundamental é que os recursos neurais são limitados – Koch et al. [11] demonstraram que as células ganglionares da retina equilibram os custos metabólicos em relação à transmissão de informações, alcançando uma codificação altamente eficiente apesar de usarem taxas de disparo relativamente baixas. Isso sugere uma pressão evolutiva em direção a gargalos estratégicos de informação, em vez de tentar processar todas as entradas igualmente. Walther e Koch [28] mostraram que um desses gargalos ocorre no nível dos proto-objetos, onde regiões coerentes da cena são selecionadas para processamento aprimorado antes que ocorra o reconhecimento completo do objeto. Isso permite que o sistema visual serialize cenas complexas em blocos gerenciáveis, mantendo uma alta eficiência de codificação.
A atenção visual em sistemas biológicos opera por meio de três mecanismos primários. A atenção baseada no espaço opera em locais específicos do campo visual, tratando a atenção como um holofote que aprimora o processamento em coordenadas espaciais selecionadas. A atenção baseada em características aprimora seletivamente o processamento de características específicas (como cor, orientação ou movimento) em todo o campo visual, independentemente da localização espacial. A atenção baseada em objetos opera em elementos agrupados perceptivamente que formam objetos coerentes, sugerindo que a atenção seleciona representações inteiras de objetos em vez de apenas localizações espaciais ou características individuais [5, 25, 27].
Um mecanismo-chave na atenção computacional moderna é a camada de autoatenção. Em sua forma padrão [26], a autoatenção opera em um conjunto de N vetores de entrada, cada um de dimensão din, transformando-os linearmente por meio de matrizes de pesos aprendidas WO e WK para obter as matrizes de Consulta (Query - Q) e Chave (Key - K):
S = softmax( QKT / √dk ) (1)
onde dk é a dimensão dos vetores chave. As pontuações de atenção S mostram o quão relacionados estão os elementos de entrada. S é posteriormente combinado com uma matriz V, que também é uma transformação linear da entrada, para formar a representação contextual A = SV, cujos vetores contêm a representação de cada entrada considerando o contexto geral.
Proto-objetos são uma representação intermediária entre características visuais brutas e objetos totalmente reconhecidos [19, 28]. Eles são formados durante o processamento pré-atencional e representam regiões coerentes do campo visual que compartilham propriedades visuais comuns. Essas estruturas servem como candidatas potenciais para a atenção antes que ocorra o reconhecimento completo do objeto [16], permitindo que o sistema visual prioritize com eficiência os recursos de processamento.
Gargalos de informação no processamento visual servem para comprimir a entrada visual de alta dimensão em representações mais gerenciáveis, preservando informações relevantes para a tarefa [11, 23]. Esses gargalos podem ocorrer em vários níveis de processamento, desde características visuais iniciais até o reconhecimento de objetos, e desempenham um papel crucial no gerenciamento dos recursos computacionais necessários para o processamento visual [29]. A própria formação de proto-objetos representa um gargalo natural de informação, pois reduz a complexidade da cena visual enquanto mantém informações comportamentalmente relevantes [28].
Nosso trabalho se baseia e conecta várias direções de pesquisa em visão computacional, aprendizado profundo e computação evolucionária. Combinamos insights de modelos biológicos de atenção visual, arquiteturas neurais eficientes e técnicas clássicas de visão computacional para criar um sistema híbrido que aproveita os pontos fortes de cada abordagem. Aplicamos mecanismos de atenção dura a proto-objetos em vez de pixels brutos ou patches arbitrários. Essa abordagem implementa um gargalo de informação semelhante ao que Koch et al. [11] observaram em sistemas biológicos, enquanto opera sobre proto-objetos semanticamente significativos descritos por [16, 19]. Ao selecionar apenas os proto-objetos mais relevantes para o processamento, criamos um gargalo de informação em um nível semanticamente mais significativo do que as abordagens anteriores.
Essa combinação é particularmente bem adequada para a neuroevolução, pois a seleção discreta dos top-k proto-objetos e a transferência de coordenadas para o controlador criam operações não diferenciáveis que são desafiadoras para métodos baseados em gradiente, mas naturais para abordagens evolutivas. Adicionalmente, ao forçar o modelo a ser explicitamente seletivo sobre quais partes da entrada visual ele processa, ganhamos interpretabilidade direta – podemos visualizar exatamente quais proto-objetos o modelo considera importantes para suas decisões, fornecendo insights sobre seu processo de tomada de decisão que frequentemente faltam nas abordagens tradicionais de aprendizado profundo.
Nosso método consiste em 5 estágios principais: convolução, quantização, segmentação, atenção e controle, descritos a seguir.
O estágio de convolução visa deslocar, reescalar, filtrar e/ou misturar os canais de imagem originais, fornecendo uma representação pré-processada para os próximos estágios. Particularmente, em nossos experimentos, usamos uma única camada convolucional com 3 filtros 1x1. A escolha de 3 filtros é necessária para compatibilidade com a conexão residual. É possível adicionar mais camadas convolucionais desde que mantenham o mesmo tamanho de imagem. Nesse caso, adicionar uma camada final com 3 filtros é suficiente para trazer o número de dimensões de volta ao mesmo número de canais da imagem. Depois disso, somamos a imagem original à saída da convolução, formando uma conexão residual [9], cuja função ficará clara no próximo estágio.
A quantização visa reduzir a quantidade de informação a ser processada nos estágios seguintes. Em nossos experimentos, realizamos uma quantização uniforme simples da saída da convolução usando 1 bit por canal (poderia ser mais para tarefas mais complexas e poderia até ser evoluído). Como resultado, obtemos uma imagem com no máximo 8 cores distintas, cada uma representando um tipo diferente de segmento. Note que, além de ser uma quantização fixa simples, sua combinação com a camada convolucional anterior resulta em um mecanismo de segmentação e quantização adaptativo.
Esse estágio possui sinergia com as convoluções: o deslocamento, o reescalonamento e a mistura dos canais originais da imagem podem colocá-los em diferentes intervalos de quantização. Mas como existem saltos desformatados na superfície de aptidão evolutiva necessários para encontrar uma segmentação apropriada, o que pode levar algum tempo para o algoritmo evolutivo resolver, usamos a conexão residual do estágio anterior como um meio de dar um pontapé inicial na evolução a partir de uma segmentação trivial sobre as cores originais da imagem. Assim, o propósito da convolução é alterar a segmentação para longe da trivial (se necessário).
A segmentação visa criar os proto-objetos, isto é, descritores para regiões de pixels semanticamente semelhantes recebidos dos estágios anteriores. Neste trabalho, aplicamos a rotulagem de imagens por regiões conectadas por cor [7, 20]. De cada região extraída, um conjunto de atributos pode ser obtido, resultando em din características (regiões com 1 pixel de largura ou altura são tratadas como ruído e ignoradas).
Após minuciosa experimentação, chegamos a um conjunto de din = 11 características, a saber: cor do segmento quantizado (R, G, B), centro de massa (X, Y), área total em pixels, largura da caixa delimitadora, altura da caixa delimitadora, área da caixa delimitadora, proporção (aspect ratio) e extensão (área da caixa delimitadora dividida pela área da região). Tudo isso pode ser facilmente e eficientemente computado a partir das regiões obtidas, ajudando o próximo estágio a tomar decisões mais informadas. A orientação (correlação entre as coordenadas dos pixels) também poderia ser útil, mas adicionou muito custo de tempo de execução ao nosso modelo e foi deixada de fora. Todos os valores são normalizados entre -1 e 1, e a proporção é transformada em escala logarítmica para que 1 e -1 correspondam a proporções extremas, enquanto 0 significa lados iguais:
NormAspectRatio = 2 * log(aspectRatio) / log(max(imageWidth, imageHeight)) - 1
O módulo de atenção visa modelar relações entre os proto-objetos identificados no estágio de segmentação. As características dos N proto-objetos são alimentadas na camada de atenção do nosso modelo como um conjunto de N tokens de dimensão din, no jargão de atenção [26]. A camada de atenção projeta esses tokens em dois vetores Q e K de dimensão dq. Há, no entanto, um toque adicional em nossa implementação: adicionamos uma camada de Unidade Linear Retificada Paramétrica (PReLU) antes e depois das transformações lineares. PReLU é uma generalização da ativação ReLU, onde a inclinação da parte negativa é adaptativa (PReLU(x) = max(ax, x)) para cada camada ou neurônio (este último no nosso caso). Por apenas 15 parâmetros adicionais, isso permite que nossa camada de atenção modele relações mais complexas, já que um único neurônio PReLU demonstrou resolver o problema do XOR [17]. Em nosso caso, permite a seleção de valores intermediários (como cores cinza) quando a é negativo (tornando a função não monotônica), o que não é possível com camadas lineares puras. Em vez disso, poderiam ser usadas mais camadas de autoatenção tradicional, mas optamos pela solução PReLU mais simples neste trabalho para manter o número de parâmetros e o tempo de execução baixos.
Prosseguindo com o procedimento habitual de autoatenção, uma matriz de atenção é calculada pela Eq. 1, e em seguida, um vetor de importância é obtido por soma ao longo das linhas. Em vez da mistura habitual de tokens com uma matriz V realizada na autoatenção tradicional, simplesmente realizamos a seleção dos top-k proto-objetos sobre a soma resultante das linhas.
Ressaltamos que o cálculo da atenção possui complexidade de tempo assintótica quadrática no número de tokens N. Reduzir drasticamente o número de tokens usando proto-objetos em vez de patches torna nosso módulo de atenção muito mais rápido.
Em nossos experimentos, fomos ao extremo e definimos k = 1 (as coordenadas de um único proto-objeto são passadas para o controlador, descrito a seguir). Isso é possível porque nosso módulo de atenção é mais expressivo que o original e os proto-objetos contêm informações de nível mais alto, tornando um único proto-objeto bem selecionado suficiente para que o controlador tome suas decisões (melhor seleção significa menos trabalho para o controlador). Também é mais biologicamente plausível, pois focamos em um único item visual por vez [4].
Finalmente, o estágio de controle seleciona uma ação a ser executada no ambiente. Em nossa implementação, uma função de transferência f(n) é aplicada a cada vetor de características dos proto-objetos selecionados, e os resultados são concatenados e alimentados como entrada para um controlador LSTM [10], que é responsável por aprender associações temporais e produzir a saída de controle.
Em nosso caso, f(n) apenas retorna as coordenadas do centro de massa do proto-objeto. Funções de transferência mais elaboradas poderiam ser usadas para alimentar o controlador com mais propriedades de cada proto-objeto selecionado, mas o centro de massa foi suficiente para os nossos problemas. Isso é possível porque a evolução conjunta dos módulos de atenção e controle resulta em um "acordo" implícito: ao selecionar sempre o mesmo tipo de proto-objeto (grama, pista, etc...), não há necessidade de o controlador adivinhar de qual tipo se trata. Se a atenção focasse em tipos diferentes de proto-objetos a cada vez, não seria possível distingui-los apenas por suas coordenadas, a menos que aparecessem consistentemente em regiões específicas da tela, sendo distinguíveis pela posição (como a tela de exibição Head-Up sempre na parte inferior da tela). Eles também poderiam ser distinguidos pelo controlador se o módulo de atenção colocasse consistentemente os mesmos tipos de proto-objetos nas mesmas posições do ranking (por exemplo, grama em primeiro, pista em segundo), mas essa é uma complexidade adicional a ser aprendida.
Um resumo das diferenças entre nossas escolhas de hiperparâmetros e o trabalho anterior baseado em patches de imagem [22] é mostrado na Tabela 1, bem como o número resultante de parâmetros treinaveis em cada modelo, mostrando que nosso modelo é significativamente (62%) menor no total, devido à sua camada de atenção compacta e ao gargalo menor com k = 1. O processo completo pode ser visto na Fig. 3. Embora este modelo seja não diferenciável, ele é treinável via métodos de otimização sem derivadas, como o CMA-ES [8].
| Hiperparâmetros do Modelo | Patches [22] | Proto-objetos (Nosso) |
|---|---|---|
| Tamanho da Entrada da Atenção (din) | 147 | 11 |
| Tamanho da Incorporação/Embedding (d) | 4 | 2 |
| K | 10 | 1 |
| Dimensão de f(n) | 2 | 2 |
| Tamanho da Entrada da LSTM | 20 | 2 |
| Nº de Neurônios da LSTM | 16 | 16 |
| Número de Parâmetros Treináveis | ||
| Convolução | 0 | 12 |
| Atenção | 1184 | 63 |
| LSTM | 2432 | 1280 |
| Saída | 51 | 51 |
| Total | 3667 | 1406 |
Para comparar nossa abordagem com a baseada em patches de [22], nós a testamos nos mesmos ambientes de [22]: CarRacing e Doom-TakeCover [3]. Para ambos, executamos o CMA-ES com uma população de 128 soluções por 1000 gerações e avaliamos os modelos em 8 sementes (seeds) a cada geração. As sementes são baseadas nos números de geração e repetição. Testamos os modelos a cada 100 gerações em 400 novas sementes e extraímos médias e variâncias para produzir intervalos de confiança de 95%. A significância estatística foi obtida a partir do teste U de Mann-Whitney bicaudal [13]. Observe que os experimentos originais em [22] rodaram por 2000 gerações com 16 sementes cada e uma população de 256 soluções, portanto não são diretamente comparáveis. Reduzimos pela metade cada um desses hiperparâmetros devido a limitações de hardware e executamos os experimentos originais novamente nessa nova configuração para uma comparação justa.
Nossos experimentos foram executados na seguinte configuração de hardware: CPU AMD Ryzen 5950X, 128GB RAM DDR4 3200 e GPU Nvidia RTX 3090. O treinamento foi paralelizado em 32 threads, limitando cada avaliação a uma única thread. A solução baseada em patches aproveitou a GPU, mas nosso método foi otimizado para CPU, pois a análise e rotulagem de componentes conectados multirrótulo não se adaptaram bem à GPU.
Este é um ambiente de corrida visto de cima com pistas geradas aleatoriamente (como visto nas Figs. 1 e 2). É visualmente simples o suficiente para ignorar os estágios de convolução e quantização da nossa abordagem, mas nós os executamos da mesma forma para verificar a generalidade do método. A recompensa é de -0.1 a cada quadro, -100 por sair muito da pista (o que também causa o término da execução), e +1000/N para cada bloco de pista visitado, onde N é o número total de blocos visitados na pista (os blocos são visíveis como tons ligeiramente distintos de cinza), e o ambiente é considerado resolvido acima de 900 pontos. Isso incentiva o controlador a ser rápido e preciso. Existem 3 ações contínuas: esterçamento (-1 é esquerda total, +1 é direita total), aceleração e frenagem. Existe uma versão V2 deste ambiente disponível ¹, mas ela usa Pygame ², que é lento. Usamos a V0, que é duas vezes mais rápida por usar OpenGL, e implementamos nossas próprias otimizações que adicionam uma aceleração adicional de 2x. Não há diferenças significativas entre as duas versões, exceto pela compatibilidade com a nova API [24] e melhor compatibilidade de hardware e software.
Nosso método foi mais eficiente em termos de amostragem, com pontuação média superior ao longo de todo o treinamento, e alcançou uma pontuação significativamente melhor (p = 1.1e-22) de 910.39 após o treinamento (Fig. 4). Além disso, como mostra a Tabela 2, ele fez isso usando apenas 2% do número de tokens por quadro em comparação com a solução baseada em patches e 62% menos parâmetros ajustáveis. E apesar de rodar na CPU, ele treinou 2,7 vezes mais rápido em relação ao método baseado em patches, que rodou na GPU.
¹https://gymnasium.farama.org/environments/box2d/car_racing/
²https://www.pygame.org
Um aspecto interessante deste experimento é observar a evolução da segmentação e da atenção, como mostra a Fig. 5. A solução começa com a quantização trivial sobre as cores originais da tarefa, mas como a pista é escura, ela acaba se fundindo com a exibição Head-Up (HUD) preta na parte inferior da tela. No entanto, ela já sabe como focar na região menor de grama, pois ela geralmente aponta para a direção em que o carro deve virar. Em 300 gerações, ela aprende a separar a pista do HUD, enquanto em 800 gerações ela separa o carro e os marcadores vermelhos de curva da pista. Embora o carro seja inútil (ele está sempre no mesmo lugar e até foi fundido com a pista em outros experimentos), os marcadores vermelhos podem reforçar o lado correto da curva "votando" (como consultas) em sua região de grama adjacente. Em 900 gerações, aprende a segmentar os blocos da pista, mas descarta isso na solução final. A solução final decomposta em suas etapas de processamento pode ser vista na Fig. 6.
Esta tarefa é baseada no jogo Doom, que é visualmente mais complexo e possui muito mais cores do que a tarefa anterior (veja a Fig. 8, superior esquerdo), tornando as etapas de convolução e quantização estritamente necessárias para evitar um número gigantesco de segmentos. Ela ocorre em uma sala retangular. O agente é gerado ao longo de uma parede, e monstros são gerados de forma constante e aleatória ao longo da parede oposta. Eles continuam atirando bolas de fogo no agente, que deve se esquivar delas para sobreviver. O agente ganha 1 ponto de recompensa para cada tic vivo e possui 3 ações discretas: mover-se para a esquerda, para a direita ou ficar parado.
As curvas de aprendizado são mostradas na Fig. 7. Observamos que nossa abordagem teve uma eficiência de amostragem ligeiramente menor, precisando de mais gerações para igualar o desempenho do modelo baseado em patches (p = 0.414). Também experimentamos com dq = 4, k = 10 (mesma configuração baseada em patches) e convoluções 3x3 (2671 parâmetros) e essa solução teve melhor eficiência de amostragem e alcançou um desempenho significativamente maior (p = 2.8e-5), atingindo uma pontuação de 1193 em 55h de treinamento. Hipotetizamos que a degradação do desempenho se deveu a k = 1, o que significa que a LSTM precisa de um trabalho muito mais árduo para acompanhar múltiplos proto-objetos de interesse na tela, ou até mesmo perder alguns deles completamente, enquanto também aprende a descartar os proto-objetos de parede que ativam quando não há projéteis na tela.
| Patches [22] | Proto-objetos (Nosso) | |
|---|---|---|
| Número de Tokens e IC de 95% da Melhor Solução (n=800) | ||
| Car Racing | 529 | 12.6 ± 0.26 |
| Doom Take Cover | 529 | 10.7 ± 0.73 |
| Melhor Pontuação e IC de 95% Após 1000 Iterações (n=400) | ||
| Car Racing | 888.69 ± 5.84 | 910.39 ± 1.28 |
| Doom Take Cover | 959.27 ± 58.85 | 930.68 ± 57.19 (k = 1) 1192.82 ± 75.26 (k = 10) |
| Tempo de Treinamento | ||
| Car Racing | 97h (GPU) | 36.5h (CPU) |
| Doom Take Cover | 85.5h (GPU) | 33h (k = 1, CPU) 55h (k = 10, CPU) |
A Tabela 2 também mostra que o número de proto-objetos extraídos foi baixo para este ambiente também, demonstrando que nossas etapas de pré-processamento são eficazes em reduzir e uniformizar a complexidade visual de diferentes domínios, mantendo as informações necessárias para a tomada de decisão. O tempo de treinamento foi 2,6 vezes mais rápido para k = 1 e 1,6 vezes mais rápido para k = 10.
As etapas fundamentais de processamento no ambiente Doom são ilustradas na Fig. 7: redimensionamento da imagem, convolução 1x1, quantização de cores e atenção (k = 1). Notavelmente, o agente evoluído adota uma estratégia surpreendentemente minimalista, ignorando elementos aparentemente críticos como as bolas de fogo que se aproximam. Em vez disso, ele se concentra exclusivamente no monstro mais à direita na tela enquanto executa um padrão de movimento rítmico da esquerda para a direita. Essa estratégia iguala o desempenho do modelo baseado em patches, apesar deste último atender tanto às bolas de fogo quanto às paredes. A equivalência com nossa abordagem simples sugere que a LSTM do modelo baseado em patches também pode estar confiando primariamente no movimento periódico e ignorando as coordenadas dos projéteis. Essa estratégia se mostra eficaz porque os projéteis dos monstros miram na posição atual do agente – o movimento contínuo serve, portanto, como uma técnica robusta de esquiva, independentemente dos locais específicos do fogo vindo. No entanto, nosso agente com k = 10 parece mais reativo às bolas de fogo.
Apresentamos uma nova representação para agentes baseados em atenção por gargalo em tarefas visuais que opera sobre proto-objetos em vez de pixels brutos ou patches de imagem. Ao trabalhar com esses objetos primitivos pré-atencionais, obtidos por meio de métodos clássicos de visão computacional, alcançamos um desempenho comparável ou superior, reduzindo dramaticamente o número de tokens a atender e sua dimensionalidade, bem como o tempo de treinamento em comparação com soluções anteriores. O sucesso dessa abordagem híbrida destaca uma das principais vantagens dos métodos evolutivos para o treinamento de tais modelos: a liberdade de combinar componentes diferenciáveis e não diferenciáveis sem estar restrito aos requisitos de otimização baseada em gradiente. No entanto, desenvolver uma versão totalmente diferenciável de nossa solução continua sendo uma direção atraente para trabalhos futuros, pois poderia melhorar substancialmente a eficiência de amostragem.
Nossos experimentos revelaram que os modelos atencionais de gargalo são suscetíveis a máximos locais durante a evolução. A arquitetura de módulo duplo (atenção e controle) torna desafiador descobrir novas estratégias de atenção uma vez que uma abordagem se estabelece, pois o controlador se adapta especificamente ao mecanismo de atenção atual. Quaisquer alterações significativas no módulo de atenção correm o risco de perturbar esse equilíbrio delicado. Hipotetizamos que o CMA-ES pode ser muito "ganancioso" (greedy) para essa arquitetura, e alternativas como a evolução diferencial [21] podem ser mais adequadas, permitindo que múltiplas estratégias de atenção evoluam em paralelo.
Demonstramos que, ao aprimorar a camada de atenção, enviar coordenadas de um único proto-objeto para o controlador é suficiente para produzir políticas eficazes. Isso funciona porque a LSTM pode manter e atualizar uma representação de estado interno entre os quadros, decidindo quais informações preservar ou descartar. Essa abordagem se alinha bem com os movimentos oculares biológicos, onde o foco necessariamente se desloca entre locais ou objetos individuais [4]. No entanto, esse fluxo simplificado de informações tem o custo de tempos de aprendizado mais longos quando há várias entidades relevantes na tela, pois o módulo de atenção deve atender a todas elas e o controlador deve desenvolver estratégias sofisticadas de gerenciamento de memória. Uma solução potencial é desacoplar memória e controle, possivelmente implementando mecanismos de atenção sobre coordenadas recentemente atendidas para gerar incorporações (embeddings) de tamanho fixo [18] para o controlador. Isso poderia ser estendido para incluir armazenamento e recuperação adaptativos a partir de bancos de dados vetoriais.
Várias direções promissoras para pesquisas futuras emergem deste trabalho. Sinais de retroalimentação (feedback) do controlador poderiam modular a atenção, permitindo estratégias top-down ativas. Isso exigiria enriquecer o fluxo de informações do módulo de atenção para ajudar o controlador a interpretar os sinais de entrada. A autoatenção de múltiplas cabeças (multi-head attention) representa outra extensão natural. A abordagem poderia potencialmente escalar para o reconhecimento completo de objetos, incorporando camadas convolucionais adicionais e profundidade de processamento (quando disponível) e informações de movimento. Mecanismos de autoatenção podem permitir o agrupamento autônomo de regiões em entidades de nível superior, enquanto a atenção cruzada (cross-attention) pode facilitar o rastreamento de objetos entre quadros.
Finalmente, um próximo passo crucial é validar nossa abordagem em imagens do mundo real e determinar se o aumento da complexidade nos estágios de convolução e quantização é necessário, ou se abordagens baseadas em patches se mostram mais eficazes nesses cenários. O sucesso nesse domínio pode levar a sistemas de robôs e carros autônomos mais eficientes, reduzindo os requisitos computacionais e permitindo uma inteligência mais sofisticada por unidade de processamento.
Os autores gostariam de agradecer à FAPERGS (Edital 10/2021 – ARD/ARC) pelo apoio financeiro. Este estudo também foi apoiado pelo Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul (IFRS).
@inproceedings{10.1145/3712256.3726451,
author = {Pinto, Rafael and Tavares, Anderson},
title = {Neuroevolution of Self-Attention Over Proto-Objects},
year = {2025},
isbn = {9798400714658},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3712256.3726451},
doi = {10.1145/3712256.3726451},
booktitle = {Proceedings of the Genetic and Evolutionary Computation Conference},
pages = {1300–1308},
numpages = {9},
keywords = {neuroevolution, representation learning},
location = {NH Malaga Hotel, Malaga, Spain},
series = {GECCO '25}
}