A máquina vê e reconhece, mas não entende o que está vendo…

Cezar Taurion
4 min readDec 24, 2024

--

Temos uma tendência a antropomorfizar muitas tecnologias e a IA, pelo próprio nome é emblemático. Mas, um algoritmo de Machine Learning (ML) não pensa como nós, e colocarmos a palavra “inteligência” no processo de processamento de diversas fórmulas matemáticas me parece meio descabido.

Vamos pegar um exemplo simples, mas de uso bastante comum em ML. Reconhecimento de imagens. Quando nós vemos uma foto, conseguimos captar seu contexto e até imaginar uma história em torno dela. Podemos supor o que aconteceu antes da foto e até prever o que provavelmente acontecerá depois. Na prática, a foto é um conjunto de pixels, mas que nossos olhos e cérebro consegue contextualizar em um contexto com local, objeto, pessoas, relacionamentos, emoções e ações. Nós olhamos, vemos e entendemos o contexto.

As máquinas são diferentes. Indiscutivelmente que o campo denominado de visão computacional tem evoluído de forma impressionante. Os sistemas de ML conseguem hoje reconhecer com muita eficácia determinados objetos, desde que esses objetos tenham sido alvo de seu treinamento. Mas, o que para nós é muito fácil, como reconhecer um objeto e entender o contexto, é uma tarefa muito difícil para as máquinas. Elas conseguem ver, mas não entendem.

Por exemplo, imaginemos uma foto de cachorro. Uma criança que já viu algumas poucas fotos de cachorros e/ou viu alguns na rua, é capaz de reconhecer um cachorro na foto, mesmo que de uma raça, tamanho e cor que ele nunca tenha visto ou até mesmo que não esteja com todo o corpo visível. Ela consegue reconhecer o cachorro na foto mesmo que ele esteja debaixo da chuva, todo molhado ou brincando no parque, de dia ou de noite, em movimentos diversos.

A máquina recebe pixels que constitui a foto. Sem compreensão do todo, ela tem que aprender a separar pixels que são cachorros dos que não são. E apreender a reconhecer o animal em todas as circunstâncias acima. Como os algoritmos de ML são fórmulas matemáticas, eles precisam transformar toda a foto em uma matriz de pixels, representados por números.

Para ser capaz de reconhecer um cachorro o algoritmo precisa ser exposto a um grande número de fotos, em todas as possíveis combinações. A cada imagem o algoritmo classifica se a figura é ou não um cachorro e o grau de confiança que tem na resposta. Com o volume de treinamento, ele vai se refinando e se ajustando para obter maior assertividade na resposta. Como a máquina não tem bom senso, mesmo que tenha uma assertividade de 90%, a cada resposta não sabemos se ela se encaixa nos 90% de acerto ou nos 10% de erro, e esse erro pode ser bem grotesco, como apontando um objeto qualquer como cachorro. A razão é simples: o padrão de pixels que ele conseguiu identificar se assemelha ao padrão de pixels daquele objeto, qualquer que seja ele.

Por isso, muitas vezes algoritmos de veículos que tentam ser autônomos não reconhecem placas de “Pare” alteradas com algumas pichações e continuam em velocidade nos cruzamentos.

A área de visão computacional não é recente, mas com advento de imensos data sets para treinamento, como ImageNet e aumento exponencial da capacidade computacional, tornou-se factível desenvolver-se algoritmos mais sofisticados, com diversas camadas de redes neurais, o chamado Deep Learning. O ImageNet foi criado com um grande volume de fotos, rotulados por humanos, através de serviços como Amazon Mechanical Turk. O Mechanical Turk é um marketplace para contratação de humanos para tarefas que requeiram inteligência humana, como reconhecer e rotular cachorros em fotos. Essas imagens são então armazenadas no ImageNet e o data set é usado para treinamento dos algoritmos.

Um outro aspecto pouco lembrado das caraterísticas dos sistemas de DL é como ele é treinado e responde a esse treinamento. Não tem nada a ver com o nosso aprendizado humano. Por exemplo, quando um humano diz que viu um cachorro em uma foto, é porque ele realmente viu o cachorro. Em muitos sistemas de DL, quando ele diz cachorro, pode ser que ele considerou que um outro objeto na imagem, como uma bola tenha sido associado por ele em seu treinamento à cachorro e, portanto, ele responde cachorro. É uma correlação e não o reconhecimento direto do objeto na imagem.

Obviamente para um sistema ser realmente inteligente, precisa evoluir muito além de reconhecer objetos. Ele precisa entender o que é o objeto. Hoje os sistemas de IA apenas identificam objetos, cometem erros grosseiros pela absoluta falta de bom senso e por serem “narrow AI”, ou seja, um algoritmo treinado para reconhecer gatos e cachorros não consegue reconhecer imagens de câncer de mama ou de peixes.

Um sistema inteligente, como nós humanos, teria que ser capaz de descrever o objeto, sabendo o que está descrevendo. Hoje já temos algoritmos que criam imagens a partir de textos, como o Sora e Midjourney, mas que na prática aglutinam palavras estatisticamente correlacionadas que fingem que ele sabe o que está criando. Essas ferramentas foram treinadas para gerar imagens a partir de textos escritos em linguagem humana. Você escreve um texto, um prompt, e ela gera uma imagem. Por exemplo, você digita “uma poltrona em forma de abacate”, ele gera imagens correspondentes.

O Sora um complexo algoritmo de DL (IA generativa), mas que como todo DL carece de aspectos fundamentais a um sistema realmente inteligente, como ausência de bom senso, compreensão do que está se pedindo e assim por diante. Muitas vezes as imagens geradas são totalmente sem sentido. Se o analisarmos sob a ótica de um sofisticado DL, ele é um marco na evolução tecnológica. Mas, se quisermos ser ambiciosos e dissermos que estamos avançando na direção de criarmos uma futura máquina inteligente, talvez seja muito prematuro…

--

--

Cezar Taurion
Cezar Taurion

Responses (1)