A tarefa de quantificar objetos nos parece um problema estritamente matemático. Se temos que dizer quantas pessoas estão esperando numa fila, por exemplo, basta apontar para cada indivíduo, com o dedo ou na imaginação, e contar. Acontece que o cérebro humano (e até o de alguns animais) tem um senso intuitivo, não ancorado na lógica formal da matemática, para entender quantidades pequenas. Quando a quantidade de objetos está limitada a 4 ou 5, nós não precisamos contar, basta “bater o olho”. A informação da quantidade nos ocorre “embutida” com a compreensão da cena que estamos analisando. Essa característica da informação é chamada de numerosidade.
Essa intuição, que depende em sua maior parte do senso da visão, se desenvolveu através do processo evolutivo, possivelmente pra permitir respostas rápidas a estímulos ambientais, já que pensar (e contar) é muito mais demorado, e cognitivamente mais oneroso.
Quando desenvolvemos os primeiros computadores e colocamos neles com a habilidade de contar, ficamos restritos aos conceitos matemáticos. Classicamente, o computador conta inicializando um contador e atualizando conforme o número de eventos que ele está acompanhando vão acontecendo.
GOLFINHO = 0
SE GOLFINHO = VERDADEIRO ENTÃO GOLFINHO = GOLFINHO + 1
Com o advento da visão computacional, as máquinas ganharam uma nova habilidade, a de interpretar imagens – ou seja, enxergar. De forma simplificada, uma máquina enxerga através de um modelo baseado em uma rede neural. Essa rede decompõe a imagem original em pequenos pedaços de informação, que vão sendo interpretadas separadamente até a última etapa, onde as interpretações unitárias são somadas num todo que representa um conceito abstrato: várias curvas e bordas e cores formam um golfinho. As redes neurais têm esse nome não é por acaso: é basicamente dessa mesma forma que o cérebro humano processa imagens.
Redes neurais costumam ter várias camadas, e cada uma delas é responsável por extrair uma característica da imagem original. Algumas extraem contrastes, outras extraem bordas, outras extraem padrões de cores. Como o processo de treinamento de uma rede neural é automático, essas camadas vão se especializando de forma espontânea, sem que precisemos dar uma tarefa específica para cada uma delas antecipadamente.
Pois foi investigando as características das camadas de uma rede neural convolucional hierárquica (HCNN) – uma classe de modelos inspirados na biologia que tem recentemente obtido enorme sucesso em aplicações de computação visual e também na modelagem da corrente visual ventral de cérebros reais – que pesquisadores da Alemanha descobriram que seu modelo desenvolveu espontaneamente a mesma capacidade intuitiva que humanos têm para números. O trabalho foi publicado no último dia 8 na revista científica Science Advances. A rede, treinada com um banco de dados ImageNet (conjunto de dados muito popular para essa finalidade) contendo 1,2 milhão de imagens classificadas em 1000 categorias, foi capaz de comparar imagens contendo, por exemplo, cinco cavalos, cinco bolas e cinco canetas, e extrair o conceito cinco. É a primeira vez que essa habilidade é reportada.
Para descobrir quais neurônios de sua rede estavam captando o conceito de numerosidade, os pesquisadores passaram pela rede imagens anteriormente utilizadas em experimentos com macacos, que tinham o mesmo objetivo de elicitar neurônios responsáveis por processar numerosidade. Eles descobriram que 10% dos neurônios da sua camada final respondia seletivamente a numerosidades, e cada um tinha uma preferência por números específicos, num intervalo de 1 a 30. A ativação daquele neurônio diminuía conforme a numerosidade presente na imagem apresentada se desviava de seu número de preferência. O padrão de ativação foi idêntico ao de neurônios reais.
As implicações desse trabalho são interessantes. Contar da forma clássica é um processo sequencial: para contar de 1 até 1 milhão, de 1 em 1, é necessário realizar 1 milhão de cálculos seguidos. Isso tem um custo computacional considerável – seja na máquina, seja no cérebro – quanto maior for o número de cálculos necessários. Por outro lado, o número máximo que a intuição animal é capaz de compreender extraindo a numerosidade de uma cena é bastante limitado, mas um modelo computacional não fica restrito ao número de camadas e neurônios que ocorrem naturalmente em cérebros reais, então é possível expandir essa capacidade. A consequência é que uma rede otimizada para essa finalidade pode chegar a extrair conceitos numéricos praticamente ilimitados de imagens sem o custo de contar. Além disso, entender como essas redes funcionam nos ajuda a entender o funcionamento do nosso próprio cérebro. Por fim, isso aproxima a forma com que a inteligência artificial funciona da “inteligência natural”. É possível que algumas formas de processar informação ainda sejam restritas à cognição humana, que foi lapidada ao longo de milhões de anos, então habilitar uma máquina a “pensar como gente” pode aumentar a eficiência dos algoritmos de forma impactante. Ou, pelo menos, tornar a inteligência artificial mais compreensiva e menos estranha às pessoas, já que nossa convivência conjunta é um processo sem volta.