Uma nova abordagem para a computação reinventa a inteligência artificial

Imagem via Pixabay

#Inteligência Artificial 

Ao imbuir vetores enormes com significado semântico, podemos fazer com que as máquinas raciocinem de forma mais abstrata – e eficiente – do que antes.

Apesar do grande sucesso do ChatGPT e de outros grandes modelos de linguagem, as redes neurais artificiais (ANNs) que sustentam esses sistemas podem estar no caminho errado.

Por um lado, as ANNs são “super sedentas de poder”, disse Cornelia Fermüller, cientista da computação da Universidade de Maryland. “E a outra questão é [sua] falta de transparência.” Esses sistemas são tão complicados que ninguém realmente entende o que estão fazendo ou por que funcionam tão bem. Isso, por sua vez, torna quase impossível fazê-los raciocinar por analogia, que é o que os humanos fazem – usando símbolos para objetos, ideias e as relações entre eles.

Essas deficiências provavelmente decorrem da estrutura atual das RNAs e de seus blocos de construção: neurônios artificiais individuais. Cada neurônio recebe entradas, executa cálculos e produz saídas. As RNAs modernas são redes elaboradas dessas unidades computacionais, treinadas para realizar tarefas específicas.

No entanto, as limitações das RNAs são óbvias há muito tempo. Considere, por exemplo, uma RNA que diferencia círculos de quadrados. Uma maneira de fazer isso é ter dois neurônios em sua camada de saída, um que indica um círculo e outro que indica um quadrado. Se você quiser que sua ANN também distinga a cor da forma – azul ou vermelha – você precisará de quatro neurônios de saída: um para cada círculo azul, quadrado azul, círculo vermelho e quadrado vermelho. Mais recursos significam ainda mais neurônios.

Não pode ser assim que nossos cérebros percebem o mundo natural, com todas as suas variações. “Você tem que propor que, bem, você tem um neurônio para todas as combinações”, disse Bruno Olshausen, neurocientista da Universidade da Califórnia, em Berkeley. “Então, você teria em seu cérebro, [digamos,] um detector de Volkswagen roxo.”

Em vez disso, Olshausen e outros argumentam que a informação no cérebro é representada pela atividade de numerosos neurônios. Assim, a percepção de um Volkswagen roxo não é codificada como as ações de um único neurônio, mas como as de milhares de neurônios. O mesmo conjunto de neurônios, disparando de maneira diferente, poderia representar um conceito totalmente diferente (um Cadillac rosa, talvez).

Este é o ponto de partida para uma abordagem radicalmente diferente da computação conhecida como computação hiperdimensional. A chave é que cada informação, como a noção de um carro, ou sua marca, modelo ou cor, ou todas juntas, é representada como uma única entidade: um vetor hiperdimensional.

Um vetor é simplesmente uma matriz ordenada de números. Um vetor 3D, por exemplo, compreende três números: as coordenadas x, y e z de um ponto no espaço 3D. Um vetor hiperdimensional, ou hipervetor, pode ser uma matriz de 10.000 números, digamos, representando um ponto no espaço de 10.000 dimensões. Esses objetos matemáticos e a álgebra para manipulá-los são flexíveis e poderosos o suficiente para levar a computação moderna além de algumas de suas limitações atuais e promover uma nova abordagem para a inteligência artificial.

“Essa é a coisa que mais me empolga, praticamente em toda a minha carreira”, disse Olshausen. Para ele e muitos outros, a computação hiperdimensional promete um novo mundo no qual a computação é eficiente e robusta, e as decisões feitas por máquinas são totalmente transparentes.

Entre em espaços de alta dimensão

Para entender como os hipervetores tornam a computação possível, vamos voltar às imagens com círculos vermelhos e quadrados azuis. Primeiro precisamos de vetores para representar as variáveis SHAPE e COLOR. Então também precisamos de vetores para os valores que podem ser atribuídos às variáveis: CÍRCULO, QUADRADO, AZUL e VERMELHO.

Os vetores devem ser distintos. Essa distinção pode ser quantificada por uma propriedade chamada ortogonalidade, que significa estar em ângulos retos. No espaço 3D, existem três vetores que são ortogonais entre si: um na direção x, outro na direção y e um terceiro na direção z. No espaço de 10.000 dimensões, existem 10.000 desses vetores mutuamente ortogonais.

Mas se permitirmos que os vetores sejam quase ortogonais, o número de tais vetores distintos em um espaço de alta dimensão explode. Em um espaço de 10.000 dimensões existem milhões de vetores quase ortogonais.

Agora vamos criar vetores distintos para representar FORMA, COR, CÍRCULO, QUADRADO, AZUL e VERMELHO. Como existem tantos vetores quase ortogonais possíveis em um espaço de alta dimensão, você pode simplesmente atribuir seis vetores aleatórios para representar os seis itens; eles são quase garantidos como quase ortogonais. “A facilidade de fazer vetores quase ortogonais é uma das principais razões para usar a representação hiperdimensional”, escreveu Pentti Kanerva, pesquisador do Centro Redwood de Neurociência Teórica da Universidade da Califórnia, Berkeley, em um influente artigo de 2009.

Pentti Kanerva (à esquerda) e Bruno Olshausen, pesquisadores da Universidade da Califórnia, Berkeley.

O artigo baseou-se no trabalho feito em meados da década de 1990 por Kanerva e Tony Plate, na época um estudante de doutorado com Geoff Hinton na Universidade de Toronto. Os dois desenvolveram independentemente a álgebra para manipular hipervetores e sugeriram sua utilidade para computação de alta dimensão.

Dados nossos hipervetores para formas e cores, o sistema desenvolvido por Kanerva e Plate nos mostra como manipulá-los usando certas operações matemáticas. Essas ações correspondem a formas de manipular simbolicamente os conceitos.

A primeira operação é a multiplicação. Esta é uma forma de combinar ideias. Por exemplo, multiplicar o vetor SHAPE pelo vetor CIRCLE liga os dois em uma representação da ideia “SHAPE is CIRCLE”. Este novo vetor “ligado” é quase ortogonal tanto para SHAPE quanto para CIRCLE. E os componentes individuais são recuperáveis – um recurso importante se você deseja extrair informações de vetores vinculados. Dado um vetor vinculado que representa seu Volkswagen, você pode desvincular e recuperar o vetor para sua cor: ROXO.

A segunda operação, adição, cria um novo vetor que representa o que se chama de superposição de conceitos. Por exemplo, você pode pegar dois vetores vinculados, “SHAPE is CIRCLE” e “COLOR is RED”, e adicioná-los para criar um vetor que representa uma forma circular de cor vermelha. Novamente, o vetor superposto pode ser decomposto em seus constituintes.

A terceira operação é a permutação; envolve o rearranjo dos elementos individuais dos vetores. Por exemplo, se você tiver um vetor tridimensional com valores denominados x, y e z, a permutação pode mover o valor de x para y, y para z e z para x. “A permutação permite que você construa uma estrutura”, disse Kanerva. “Ele permite que você lide com sequências, coisas que acontecem uma após a outra.” Considere dois eventos, representados pelos hipervetores A e B. Podemos sobrepô-los em um único vetor, mas isso destruiria as informações sobre a ordem dos eventos. Combinar adição com permutação preserva a ordem; os eventos podem ser recuperados em ordem, invertendo as operações.

Juntas, essas três operações provaram ser suficientes para criar uma álgebra formal de hipervetores que permitiu o raciocínio simbólico. Mas muitos pesquisadores demoraram a compreender o potencial da computação hiperdimensional, incluindo Olshausen. “Simplesmente não caiu”, disse ele.

Aproveitando o poder

Em 2018, um aluno de Olshausen chamado Eric Weiss demonstrou um aspecto das habilidades únicas da computação hiperdimensional. Weiss descobriu como representar uma imagem complexa como um único vetor hiperdimensional que contém informações sobre todos os objetos da imagem, incluindo suas propriedades, como cores, posições e tamanhos.

“Praticamente caí da cadeira”, disse Olshausen. “De repente, a lâmpada acendeu.”

Logo mais equipes começaram a desenvolver algoritmos hiperdimensionais para replicar tarefas simples que as redes neurais profundas começaram a realizar cerca de duas décadas antes, como a classificação de imagens.

Considere um conjunto de dados anotados que consiste em imagens de dígitos manuscritos. Um algoritmo analisa as características de cada imagem usando algum esquema predeterminado. Em seguida, cria um hipervetor para cada imagem. Em seguida, o algoritmo adiciona os hipervetores para todas as imagens de zero para criar um hipervetor para a ideia de zero. Em seguida, ele faz o mesmo para todos os dígitos, criando 10 hipervetores de “classe”, um para cada dígito.

Agora o algoritmo recebe uma imagem não rotulada. Ele cria um hipervetor para essa nova imagem e compara o hipervetor com os hipervetores de classe armazenados. Essa comparação determina o dígito com o qual a nova imagem é mais semelhante.

No entanto, este é apenas o começo. Os pontos fortes da computação hiperdimensional residem na capacidade de compor e decompor hipervetores para raciocínio. A última demonstração disso ocorreu em março, quando Abbas Rahimi e colegas da IBM Research em Zurique usaram computação hiperdimensional com redes neurais para resolver um problema clássico no raciocínio visual abstrato – um desafio significativo para ANNs típicas e até mesmo para alguns humanos. Conhecidas como matrizes progressivas de Raven, o problema apresenta imagens de objetos geométricos em, digamos, uma grade de 3 por 3. Uma posição na grade está em branco. O sujeito deve escolher, de um conjunto de imagens candidatas, a imagem que melhor se ajusta ao espaço em branco.

“Dissemos: ‘Este é realmente… o exemplo matador para o raciocínio abstrato visual, vamos entrar'”, disse Rahimi.

Para resolver o problema usando computação hiperdimensional, a equipe primeiro criou um dicionário de hipervetores para representar os objetos em cada imagem; cada hipervetor no dicionário representa um objeto e alguma combinação de seus atributos. A equipe então treinou uma rede neural para examinar uma imagem e gerar um hipervetor bipolar – um elemento pode ser +1 ou -1 – que é o mais próximo possível de alguma superposição de hipervetores no dicionário; o hipervetor gerado contém, portanto, informações sobre todos os objetos e seus atributos na imagem. “Você guia a rede neural para um espaço conceitual significativo”, disse Rahimi.

Depois que a rede gera hipervetores para cada uma das imagens de contexto e para cada candidato ao espaço em branco, outro algoritmo analisa os hipervetores para criar distribuições de probabilidade para o número de objetos em cada imagem, seu tamanho e outras características. Essas distribuições de probabilidade, que falam sobre as características prováveis do contexto e das imagens candidatas, podem ser transformadas em hipervetores, permitindo o uso da álgebra para prever a imagem candidata mais provável para preencher o espaço vago.

Sua abordagem foi quase 88% precisa em um conjunto de problemas, enquanto as soluções somente de rede neural tiveram menos de 61% de precisão. A equipe também mostrou que, para grades 3 por 3, seu sistema era quase 250 vezes mais rápido que um método tradicional que usa regras de lógica simbólica para raciocinar, já que esse método deve pesquisar em um enorme livro de regras para determinar o próximo passo correto.

Um começo promissor

A computação hiperdimensional não apenas nos dá o poder de resolver problemas simbolicamente, mas também aborda algumas questões mesquinhas da computação tradicional. O desempenho dos computadores de hoje degrada-se rapidamente se os erros causados por, digamos, uma troca aleatória de bits (um 0 torna-se 1 ou vice-versa) não puderem ser corrigidos por mecanismos internos de correção de erros. Além disso, esses mecanismos de correção de erros podem impor uma penalidade no desempenho de até 25%, disse Xun Jiao, cientista da computação da Universidade Villanova.

A computação hiperdimensional tolera melhor os erros, porque mesmo que um hipervetor sofra um número significativo de inversões de bits aleatórios, ele ainda está próximo do vetor original. Isso implica que qualquer raciocínio usando esses vetores não é significativamente afetado em face de erros. A equipe de Jiao mostrou que esses sistemas são pelo menos 10 vezes mais tolerantes a falhas de hardware do que as ANNs tradicionais, que são ordens de magnitude mais resilientes do que as arquiteturas de computação tradicionais. “Podemos aproveitar toda [essa] resiliência para projetar algum hardware eficiente”, disse Jiao.

Outra vantagem da computação hiperdimensional é a transparência: a álgebra diz claramente por que o sistema escolheu a resposta que escolheu. O mesmo não é verdade para as redes neurais tradicionais. Olshausen, Rahimi e outros estão desenvolvendo sistemas híbridos nos quais redes neurais mapeiam coisas no mundo físico para hipervetores, e então a álgebra hiperdimensional assume o controle. “Coisas como o raciocínio analógico simplesmente caem no seu colo”, disse Olshausen. “Isso é o que devemos esperar de qualquer sistema de IA. Devemos ser capazes de entendê-lo exatamente como entendemos um avião ou um aparelho de televisão.”

Todos esses benefícios sobre a computação tradicional sugerem que a computação hiperdimensional é adequada para uma nova geração de hardware extremamente resistente e de baixo consumo de energia. Também é compatível com “sistemas de computação em memória”, que executam a computação no mesmo hardware que armazena dados (ao contrário dos computadores von Neumann existentes que transportam dados de forma ineficiente entre a memória e a unidade central de processamento). Alguns desses novos dispositivos podem ser analógicos, operando em tensões muito baixas, tornando-os energeticamente eficientes, mas também propensos a ruídos aleatórios. Para a computação de von Neumann, essa aleatoriedade é “a parede que você não pode ultrapassar”, disse Olshausen. Mas com a computação hiperdimensional, “você pode simplesmente atravessá-la”.

Apesar dessas vantagens, a computação hiperdimensional ainda está em sua infância. “Há um potencial real aqui”, disse Fermüller. Mas ela aponta que ainda precisa ser testado em problemas do mundo real e em escalas maiores, mais próximas do tamanho das redes neurais modernas.

“Para problemas em escala, isso requer um hardware muito eficiente”, disse Rahimi. “Por exemplo, como [você] pesquisa com eficiência mais de 1 bilhão de itens?”

Tudo isso deve vir com o tempo, disse Kanerva. “Existem outros segredos [que] os espaços de alta dimensão guardam”, disse ele. “Eu vejo isso como o começo dos tempos para computação com vetores.”


Publicado em 15/04/2023 18h37

Artigo original: