Um novo link para um modelo antigo pode desvendar o mistério do Deep Learning

Olena Shmahalo/Quanta Magazine

Para ajudá-los a explicar o sucesso chocante das deep neural networks, os pesquisadores estão se voltando para modelos mais antigos, mas mais bem conhecidos, de Machine Learning.

No mundo do Machine Learning, os tamanhos das redes neurais artificiais – e seus sucessos descomunais – estão criando enigmas conceituais. Quando uma rede chamada AlexNet venceu uma competição anual de reconhecimento de imagem em 2012, ela tinha cerca de 60 milhões de parâmetros. Esses parâmetros, ajustados durante o treinamento, permitiram que AlexNet reconhecesse imagens que nunca tinha visto antes. Dois anos depois, uma rede chamada VGG impressionou a concorrência com mais de 130 milhões desses parâmetros. Algumas redes neurais artificiais, ou RNAs [ou ANN do inglês de artificial neural networks], agora têm bilhões de parâmetros.

Essas redes massivas – surpreendentemente bem-sucedidas em tarefas como classificação de imagens, reconhecimento de fala e tradução de texto de um idioma para outro – começaram a dominar o Machine Learning e a inteligência artificial. No entanto, eles permanecem enigmáticos. A razão por trás de seu incrível poder permanece indescritível.

Mas vários pesquisadores estão mostrando que as versões idealizadas dessas redes poderosas são matematicamente equivalentes a modelos de Machine Learning mais antigos e mais simples, chamados de máquinas kernel. Se essa equivalência puder ser estendida além das redes neurais idealizadas, isso pode explicar como as RNAs práticas alcançam seus resultados surpreendentes.

Parte da mística das redes neurais artificiais é que elas parecem subverter a teoria do Machine Learning tradicional, que se apóia fortemente em ideias de estatística e teoria de probabilidade. Na maneira usual de pensar, os modelos de Machine Learning – incluindo redes neurais, treinados para aprender sobre padrões em dados de amostra a fim de fazer previsões sobre novos dados – funcionam melhor quando têm o número certo de parâmetros.

Se os parâmetros forem muito poucos, o modelo aprendido pode ser muito simples e falhar em capturar todas as nuances dos dados em que foi treinado. Se muitos dados forem demais, o modelo se tornará excessivamente complexo, aprendendo os padrões nos dados de treinamento com granularidade tão fina que não pode generalizar quando solicitado a classificar novos dados, um fenômeno chamado overfitting. “É um equilíbrio entre ajustar seus dados muito bem de alguma forma e não ajustá-los de forma alguma. Você quer estar no meio “, disse Mikhail Belkin, pesquisador de Machine Learning da Universidade da Califórnia, em San Diego.

Por todas as contas, redes neurais profundas como VGG têm parâmetros demais e deveriam se ajustar demais. Mas eles não querem. Em vez disso, essas redes generalizam surpreendentemente bem para novos dados – e até recentemente, ninguém sabia por quê. Não foi por falta de tentativa. Por exemplo, Naftali Tishby, um cientista da computação e neurocientista da Universidade Hebraica de Jerusalém que morreu em agosto, argumentou que as redes neurais profundas primeiro ajustam os dados de treinamento e depois descartam informações irrelevantes (passando por um gargalo de informações), o que os ajuda a generalizar . Mas outros argumentaram que isso não acontece em todos os tipos de redes neurais profundas, e a ideia permanece controversa.

Agora, a equivalência matemática de máquinas kernel e redes neurais idealizadas está fornecendo pistas de por que ou como essas redes parametrizadas chegam (ou convergem para) suas soluções. As máquinas do kernel são algoritmos que encontram padrões nos dados projetando os dados em dimensões extremamente altas. Ao estudar os equivalentes de kernel matematicamente tratáveis de redes neurais idealizadas, os pesquisadores estão aprendendo por que redes profundas, apesar de sua complexidade chocante, convergem durante o treinamento para soluções que generalizam bem para dados invisíveis.

“Uma rede neural é um pouco como uma máquina de Rube Goldberg. Você não sabe qual parte é realmente importante “, disse Belkin. “Acho que reduzi-los aos métodos do kernel – porque os métodos do kernel não têm toda essa complexidade – de alguma forma nos permite isolar o mecanismo do que está acontecendo.”

Encontre a Linha

Os métodos de kernel, ou máquinas de kernel, dependem de uma área da matemática com uma longa história. Isso remonta ao matemático alemão do século 19 Carl Friedrich Gauss, que criou o kernel gaussiano de mesmo nome, que mapeia uma variável x para uma função com a forma familiar de uma curva em sino. O uso moderno de grãos decolou no início do século 20, quando o matemático inglês James Mercer os usou para resolver equações integrais. Na década de 1960, os kernels estavam sendo usados no Machine Learning para lidar com dados que não eram passíveis de técnicas simples de classificação.

Compreender os métodos do kernel requer começar com algoritmos em Machine Learning chamados classificadores lineares. Digamos que cães e gatos possam ser classificados usando dados em apenas duas dimensões, o que significa que você precisa de duas características (digamos, o tamanho do focinho, que podemos traçar no eixo x, e o tamanho das orelhas, que continua eixo y) para diferenciar os dois tipos de animais. Plote esses dados rotulados no plano xy, e os gatos devem estar em um agrupamento e os cães em outro.

Pode-se então treinar um classificador linear usando os dados rotulados para encontrar uma linha reta que separa os dois clusters. Isso envolve encontrar os coeficientes da equação que representa a linha. Agora, com os novos dados não rotulados, é fácil classificá-lo como um cachorro ou um gato, vendo em que lado da linha ele cai.

Os amantes de cães e gatos, no entanto, ficariam horrorizados com essa simplificação exagerada. Os dados reais sobre os focinhos e orelhas de muitos tipos de gatos e cães quase certamente não podem ser divididos por um separador linear. Em tais situações, quando os dados são inseparáveis linearmente, eles podem ser transformados ou projetados em um espaço de dimensão superior. (Uma maneira simples de fazer isso seria multiplicar o valor de dois recursos para criar um terceiro; talvez haja algo sobre a correlação entre os tamanhos dos focinhos e orelhas que separa os cães dos gatos.)

De maneira mais geral, observar os dados em um espaço de dimensão superior torna mais fácil encontrar um separador linear, conhecido como hiperplano, quando o espaço tem mais de três dimensões. Quando este hiperplano é projetado de volta para as dimensões inferiores, ele assume a forma de uma função não linear com curvas e oscilações que separam os dados dimensionais inferiores originais em dois grupos.

Quando estamos trabalhando com dados reais, porém, muitas vezes é computacionalmente ineficiente – e às vezes impossível – encontrar os coeficientes do hiperplano em dimensões altas. Mas não é para máquinas de kernel.

Núcleo da Verdade

O poder das máquinas kernel envolve sua capacidade de fazer duas coisas. Primeiro, eles mapeiam cada ponto em um conjunto de dados de baixa dimensão para um ponto que vive em dimensões superiores. A dimensionalidade desse hiperespaço pode ser infinita, dependendo do mapeamento, o que pode representar um problema: encontrar os coeficientes do hiperplano de separação envolve calcular algo chamado de produto interno para cada par de características de alta dimensão, e isso se torna difícil quando os dados é projetado em dimensões infinitas.

Samuel Velasco / Revista Quanta

Então, aqui está a segunda coisa que as máquinas kernel fazem: dados dois pontos de dados de baixa dimensão, elas usam uma função kernel para cuspir um número que é igual ao produto interno dos recursos dimensionais superiores correspondentes. Crucialmente, o algoritmo pode usar esse truque para encontrar os coeficientes do hiperplano, sem nunca realmente entrar no espaço de alta dimensão.

“A grande vantagem do truque do kernel é que todos os cálculos acontecem no espaço de baixa dimensão”, em vez de no espaço possivelmente infinito, disse Bernhard Boser, professor emérito da Universidade da Califórnia, Berkeley.

Boser, junto com seus colegas Isabelle Guyon e Vladimir Vapnik, inventou uma classe de máquinas kernel denominadas máquinas de vetor de suporte (SVMs) no final dos anos 1980 e início dos anos 1990, quando todos estavam no Bell Labs em Holmdel, Nova Jersey. Embora as máquinas kernel de vários tipos tenham deixado sua marca no Machine Learning da década de 1960 em diante, foi com a invenção dos SVMs que eles assumiram o papel central. Os SVMs provaram ser extraordinariamente poderosos. No início dos anos 2000, eles eram usados em campos tão diversos como a bioinformática (para encontrar semelhanças entre diferentes sequências de proteínas e prever as funções das proteínas, por exemplo), visão de máquina e reconhecimento de escrita.

Os SVMs passaram a dominar o Machine Learning até que as redes neurais profundas atingiram a maturidade em 2012, com a chegada do AlexNet. À medida que a comunidade de Machine Learning se transformava em RNAs, os SVMs foram deixados de lado, mas eles (e as máquinas do kernel em geral) permanecem modelos poderosos que têm muito a nos ensinar. Por exemplo, eles podem fazer mais do que apenas usar o truque do kernel para encontrar um hiperplano de separação.

“Se você tem um kernel poderoso, está mapeando os dados para um espaço do kernel que é uma espécie de dimensão infinita e muito poderoso”, disse Chiyuan Zhang, um cientista pesquisador da Equipe de Pesquisa do Cérebro do Google. “Você sempre pode encontrar um separador linear neste poderoso espaço oculto que separa os dados, e há infinitas soluções possíveis.” Mas a teoria do kernel permite que você escolha não apenas um separador linear arbitrário, mas o melhor possível (para alguma definição de “melhor”), limitando o espaço de soluções a serem pesquisadas. Isso é semelhante a reduzir o número de parâmetros em um modelo para evitar que ele seja superdimensionado, um processo denominado regularização. Zhang se perguntou se as redes neurais profundas estariam fazendo algo semelhante.

Redes neurais profundas são feitas de camadas de neurônios artificiais. Eles têm uma camada de entrada, uma camada de saída e pelo menos uma camada oculta imprensada entre eles. Quanto mais camadas ocultas houver, mais profunda será a rede. Os parâmetros da rede representam a força das conexões entre esses neurônios. O treinamento de uma rede para, digamos, reconhecimento de imagem envolve a exibição repetida de imagens previamente categorizadas e a determinação de valores para seus parâmetros que a ajudam a caracterizar corretamente essas imagens. Uma vez treinada, a RNA representa um modelo para transformar uma entrada (digamos, uma imagem) em uma saída (um rótulo ou categoria).

Em 2017, Zhang e colegas realizaram uma série de testes empíricos em redes como AlexNet e VGG para ver se os algoritmos usados para treinar essas RNAs estão de alguma forma reduzindo efetivamente o número de parâmetros ajustáveis, resultando em uma forma de regularização implícita. Em outras palavras, o regime de treinamento tornou essas redes incapazes de overfitting?

A equipe concluiu que não era esse o caso. Usando conjuntos de dados habilmente manipulados, a equipe de Zhang mostrou que AlexNet e outras RNAs são realmente capazes de overfitting e não generalização. Mas as mesmas redes treinadas com o mesmo algoritmo não se ajustam demais – em vez disso, elas generalizam bem – quando recebem dados inalterados. Esse tipo de regularização implícita não poderia ser a resposta. A descoberta pedia “uma explicação melhor para caracterizar a generalização em redes neurais profundas”, disse Zhang.

Neurônios infinitos

Enquanto isso, estudos mostraram que redes neurais mais amplas são normalmente tão boas ou melhores em generalização do que suas contrapartes mais estreitas. Para alguns, isso era uma dica de que talvez as RNAs pudessem ser entendidas pela adoção de uma estratégia da física, onde “estudar casos limites às vezes pode simplificar um problema”, disse Yasaman Bahri, um cientista pesquisador da Equipe de Pesquisa do Cérebro do Google. Para lidar com tais situações, os físicos muitas vezes simplificam o problema considerando casos extremos. O que acontece quando o número de partículas em um sistema chega ao infinito, por exemplo? “Os efeitos estatísticos podem se tornar mais fáceis de lidar nesses limites”, disse Bahri. O que aconteceria com uma rede neural, matematicamente falando, se a largura de suas camadas – o número de neurônios em uma única camada – fosse infinita?

Em 1994, Radford Neal, agora professor emérito da Universidade de Toronto, fez essa pergunta exata sobre uma rede com uma única camada oculta. Ele mostrou que se os pesos dessa rede fossem configurados, ou inicializados, com certas propriedades estatísticas, então na inicialização (antes de qualquer treinamento), tal rede seria matematicamente equivalente a uma função kernel conhecida chamada de processo Gaussiano. Mais de duas décadas depois, em 2017, dois grupos, incluindo o de Bahri, mostraram que o mesmo se aplica às redes neurais profundas e de largura infinita idealizadas com muitas camadas ocultas.

Isso teve uma implicação surpreendente. Normalmente, mesmo depois que uma rede profunda foi treinada, uma expressão matemática analítica não pode ser usada para fazer previsões sobre dados invisíveis. Você apenas tem que abrir a rede profunda e ver o que ela diz – é uma espécie de caixa preta. Mas no cenário idealizado, na inicialização, a rede é equivalente a um processo gaussiano. Você pode descartar sua rede neural e apenas treinar a máquina do kernel, para a qual você tem as expressões matemáticas.

“Depois de mapear para um processo gaussiano … você pode calcular analiticamente qual deve ser a previsão”, disse Bahri.

Este já foi um resultado marcante, mas não descreve matematicamente o que acontece durante a forma mais comum de treinamento usada na prática. Neste último cenário, não estava claro como a solução poderia generalizar tão bem.

Comece a descida

Parte do mistério centrava-se em como as redes neurais profundas são treinadas, o que envolve um algoritmo denominado gradiente descendente. A palavra “descida” refere-se ao fato de que, durante o treinamento, a rede atravessa uma paisagem complexa e de alta dimensão cheia de colinas e vales, onde cada local na paisagem representa o erro cometido pela rede para um determinado conjunto de valores de parâmetros . Eventualmente, uma vez que os parâmetros foram ajustados adequadamente, a RNA atinge uma região chamada de mínimo global, o que significa que é o mais próximo possível de classificar com precisão os dados de treinamento. Treinar uma rede é essencialmente um problema de otimização, de encontrar o mínimo global, com a rede treinada representando uma função quase ótima que mapeia entradas em saídas. É um processo complexo que é difícil de analisar.

“Nenhuma teoria existente pode garantir que se você aplicar algum algoritmo amplamente usado como gradiente descendente, [a RNA] pode convergir para o mínimo global”, disse Simon Du, especialista em Machine Learning da Universidade de Washington em Seattle. No final de 2018, começamos a entender o porquê.

Novamente, como costuma acontecer com grandes avanços científicos, vários grupos chegaram a uma resposta possível ao mesmo tempo, com base em análises matemáticas de redes de largura infinita e como elas se relacionam com as máquinas kernel mais bem compreendidas. Na época em que o grupo de Du e outros publicaram artigos, um jovem estudante suíço de pós-graduação chamado Arthur Jacot apresentou o trabalho de seu grupo na NeurIPS 2018, a principal conferência da área.

Embora as equipes diferissem nos detalhes e na estrutura de seu trabalho, a essência era esta: redes neurais profundas de largura infinita, cujos pesos são inicializados com certas propriedades estatísticas em mente, são exatamente equivalentes aos kernels não apenas na inicialização, mas em todo o processo de treinamento. Uma suposição fundamental sobre os pesos é que eles mudam individualmente muito pouco durante o treinamento (embora o efeito líquido de um número infinito de pequenas mudanças seja significativo). Dadas essas suposições, Jacot e seus colegas do Instituto Federal Suíço de Tecnologia Lausanne mostraram que uma rede neural de largura infinita é sempre equivalente a um kernel que nunca muda durante o treinamento. Nem depende dos dados de treinamento. A função do kernel depende apenas da arquitetura da rede neural, como sua profundidade e tipo de conectividade. A equipe chamou seu kernel de kernel tangente neural, com base em algumas de suas propriedades geométricas.

“Sabemos que, pelo menos em alguns casos, as redes neurais podem se comportar como métodos de kernel”, disse Jacot. “É o primeiro passo para tentar realmente comparar esses métodos na tentativa de entender as semelhanças e diferenças.”

Chegando a todas as RNAs

O resultado mais importante desse resultado é que ele explica por que redes neurais profundas, pelo menos neste cenário ideal, convergem para uma solução. Essa convergência é difícil de provar matematicamente quando olhamos para uma RNA no espaço de parâmetros, ou seja, em termos de seus parâmetros e do complexo cenário de perdas. Mas, como a rede profunda idealizada é equivalente a uma máquina de kernel, podemos usar os dados de treinamento para treinar a rede profunda ou a máquina de kernel, e cada uma eventualmente encontrará uma função quase ótima que transforma entradas em saídas.

Durante o treinamento, a evolução da função representada pela rede neural de largura infinita corresponde à evolução da função representada pela máquina do kernel. Quando vista no espaço funcional, uma rede neural e sua máquina de kernel equivalente rolam por uma paisagem simples em forma de tigela em algum espaço hiper-dimensional. É fácil provar que a descida gradiente levará você ao fundo da tigela – o mínimo global. Pelo menos para este cenário idealizado, “você pode provar a convergência global”, disse Du. “É por isso que as pessoas da comunidade da teoria da aprendizagem estão muito entusiasmadas.”

Nem todo mundo está convencido de que essa equivalência entre kernels e redes neurais será válida para redes neurais práticas, que têm largura finita e parâmetros podem mudar drasticamente durante o treinamento. “Acho que alguns pontos ainda precisam ser conectados”, disse Zhang. Há também o aspecto psicológico: como redes neurais têm uma mística sobre elas e reduzi-las a máquinas kernel é uma decepção para Zhang. “Espero que não seja a resposta, porque torna as coisas menos interessantes no sentido de que a velha teoria pode ser usada.”

Mas outros estão animados. Belkin, por exemplo, pensa que mesmo que os métodos do kernel sejam uma teoria antiga, eles ainda não são totalmente compreendidos. Sua equipe mostrou empiricamente que os métodos do kernel não se ajustam demais e generalizam bem para testar dados sem qualquer necessidade de regularização, semelhante às redes neurais e ao contrário do que você esperaria da teoria de aprendizado tradicional. “Se entendermos o que está acontecendo com os métodos do kernel, acho que isso realmente nos dá uma chave para abrir essa caixa mágica de [redes neurais]”, disse Belkin.

Não apenas os pesquisadores têm uma compreensão matemática mais firme dos kernels, tornando mais fácil usá-los como análogos para entender as redes neurais, mas também são empiricamente mais fáceis de trabalhar do que as redes neurais. Os kernels são muito menos complexos, não requerem a inicialização aleatória de parâmetros e seu desempenho é mais reproduzível. Os pesquisadores começaram a investigar as ligações entre redes realistas e kernels e estão ansiosos para ver até onde podem levar esse novo entendimento.

“Se estabelecermos uma equivalência absoluta e completa, acho que isso mudaria todo o jogo”, disse Belkin.


Publicado em 13/10/2021 15h50

Artigo original: