Redes Neurais Artificiais: Como uma Máquina Aprende

Uma rede neural não recebe regras: aprende por exemplos, errando e ajustando. Entenda como isso funciona, com analogias do dia a dia.
Redes Neurais Artificiais: Como uma Máquina Aprende

Foto por Growtika no Unsplash

Ninguém ensinou você a reconhecer um cachorro com uma lista de regras. Seus pais não disseram “quatro patas, focinho, rabo que balança, mas cuidado com o gato”. Apontaram para um cachorro, depois para outro, depois para um enorme, depois para um minúsculo, e um dia você acertou sozinho. Quando errou, alguém corrigiu: “Isso é um lobo, e é melhor não chegar perto.”

As redes neurais artificiais, que estão por trás do reconhecimento de voz, da tradução automática e dos assistentes de texto, aprendem do mesmo jeito: por exemplos e correções, não por regras. É a ideia mais importante deste post. O resto é descobrir como uma máquina consegue fazer isso, e o que ela, mesmo assim, não faz.

Programar é dar regras; treinar é dar exemplos

Um programa comum é como uma receita de bolo: passos exatos, na ordem certa, escritos por alguém que sabe o resultado. Funciona muito bem quando dá para escrever a receita. Mas tente escrever a receita de “reconhecer o rosto de uma pessoa em qualquer foto”. Com luz fraca, de lado, de óculos, sorrindo. Ninguém consegue.

A rede neural resolve o problema por outro caminho. Em vez de receber a receita, recebe milhares de exemplos já respondidos (“esta foto tem um gato, esta não tem”) e descobre sozinha o que costuma separar uma coisa da outra. O programador não escreve a regra. Escreve o método de aprender e entrega os exemplos.

O nome vem de uma inspiração antiga. Em 1943, o neurofisiologista Warren McCulloch e o matemático Walter Pitts propuseram um modelo matemático simplificado da célula nervosa, um “neurônio” que soma sinais de entrada e dispara quando a soma passa de certo ponto.1 Eles mostraram que redes dessas unidades podiam realizar operações lógicas. É importante dizer: o neurônio artificial é uma caricatura do biológico, não uma cópia. Só a ideia de unidades simples, conectadas em rede, ficou.

O neurônio artificial é uma votação com pesos

Imagine que você está decidindo se vai a um churrasco no sábado. Consulta três amigos. O primeiro diz “vai ter música boa”. O segundo diz “vai chover”. O terceiro diz “sua prima vai estar lá”. Você não trata os três palpites igual: a opinião da sua prima pesa mais do que a do amigo que sempre exagera. Você soma os palpites, cada um multiplicado pelo peso que dá a ele, e, se o total passa de um limite pessoal, vai.

Isso é praticamente tudo o que um neurônio artificial faz. Recebe vários números de entrada, multiplica cada um por um peso (a “importância” daquela entrada), soma tudo e compara com um limite. Passou do limite, ele “dispara” e passa um sinal adiante. Não passou, fica quieto.

Neurônio biológico Neurônio artificial Dendritos Corpo celular Axônio sinal x1 x2 x3 peso 1 peso 2 peso 3 Σ soma > limite? então dispara saída
Figura 1. À esquerda, a célula viva; à direita, a caricatura matemática: somar sinais ponderados e disparar.

Observe onde mora o conhecimento. Não está na soma, que é simples, nem no limite. Está nos pesos. Dois neurônios idênticos, com pesos diferentes, tomam decisões completamente diferentes. Treinar uma rede é, no fundo, encontrar os pesos certos.

Muitas camadas: uma linha de montagem de observadores

Um neurônio sozinho decide pouco. O poder aparece quando milhares deles se organizam em camadas, cada uma recebendo o resultado da anterior. Pense numa linha de montagem de inspetores. O primeiro olha para a foto e só anota onde há bordas e contrastes. O segundo, com essas anotações, identifica formas simples: curvas, cantos. O terceiro junta formas em partes: um olho, uma orelha. O último, vendo as partes, decide: “isto é um cachorro”.

cachorro outra coisa Entrada (a foto) Camadas intermediárias (bordas, formas, partes) Saída (a resposta)
Figura 2. Uma rede em camadas: cada neurônio passa o resultado do seu trabalho a todos os neurônios da camada seguinte.

Nenhum inspetor sabe o que é um cachorro. Cada um faz um trabalho pequeno e passa o resultado adiante. O “cachorro” aparece só no fim da cadeia. Quando se fala em “aprendizado profundo” (deep learning), “profundo” não quer dizer “sábio”, e sim que a rede tem muitas camadas empilhadas.

Aprender é errar, medir o erro e ajustar os botões

No começo, os pesos da rede são aleatórios, e ela acerta tanto quanto um chute. Aí entra o treino, que lembra a mesa de som de um estúdio com milhares de botões. Toca-se uma música (mostra-se um exemplo), compara-se o som com o que deveria ser (a resposta certa), mede-se o tamanho do erro e gira-se cada botão um tiquinho na direção que diminui o erro. Repete-se isso milhões de vezes, com exemplos diferentes. Lentamente, a rede deixa de chutar.

O truque matemático que permite descobrir “quanto girar cada botão” se chama retropropagação do erro: o erro medido na saída é repassado de trás para a frente, camada por camada, apontando quais pesos mais contribuíram para a falha. A técnica foi popularizada em 1986 por David Rumelhart, Geoffrey Hinton e Ronald Williams.2

A história dessa ideia não foi uma linha reta. O psicólogo Frank Rosenblatt construiu o perceptron, uma rede de uma só camada, em 1958, e muita gente se animou. Em 1969, Marvin Minsky e Seymour Papert mostraram que uma rede assim não resolve nem problemas simples de lógica, e o entusiasmo (e o dinheiro) secou por anos.3 A virada veio quando passaram a existir as duas coisas que faltavam: dados em grande quantidade e computadores potentes. Em 2012, uma rede chamada AlexNet venceu um concurso de reconhecimento de imagens por uma margem tão grande que reorientou a área.4 E em 2024 o Nobel de Física foi para John Hopfield e Geoffrey Hinton, pelas descobertas que tornaram possível o aprendizado de máquina com redes neurais artificiais.5

O que a rede aprende, e o que ela não faz

A rede não entende o que viu. Ela capturou regularidades estatísticas dos exemplos que recebeu. Se todos os cachorros do treino apareciam na grama e quase nenhum gato aparecia, ela pode “aprender” que grama quer dizer cachorro. Ela é tão boa quanto os exemplos que lhe demos, e herda os vícios deles. É a mesma lógica de um ditado antigo, que se aplica a crianças e a máquinas: o que se ensina, e como, molda o que se aprende. O livro de Provérbios diz que se deve ensinar a criança “no caminho em que deve andar” (Pv 22:6). A formação importa, para pessoas e para sistemas.

Há ainda uma diferença de escala e de natureza. O cérebro humano adulto tem cerca de 86 bilhões de neurônios, estimativa obtida por contagem direta, e não os “100 bilhões” que se repetiam por décadas sem contagem que os sustentasse.6 Cada um deles é uma célula viva, com química, história e conexões que mudam. O neurônio artificial é uma soma. Uma rede treinada pode escrever, traduzir e jogar xadrez, mas não ama, não teme, não pergunta por quê.

O salmista, olhando para a própria constituição, não dá uma aula de neurociência, e sim uma resposta de gratidão:

Graças te dou, visto que de modo assombrosamente maravilhoso me formaste; as tuas obras são admiráveis, e a minha alma o sabe muito bem.

Saber como uma rede neural funciona não diminui esse assombro; ao contrário, mostra a distância entre imitar uma função e ser uma pessoa. Se você quiser ver o que aconteceu quando um cientista levou a analogia do computador longe demais, vale ler a história de John Lilly e o que a hipótese dele acertou e errou sobre a IA de hoje. Compreender a ferramenta é o primeiro passo para usá-la sem medo e sem ingenuidade.

Referências

Comentários (0)