As mais recentes redes neurais resolvem as equações mais difíceis do mundo mais rápido do que nunca

Equações diferenciais parciais, como as que governam o comportamento dos fluidos fluidos, são notoriamente difíceis de resolver. Redes neurais podem ser a resposta.

Duas novas abordagens permitem que redes neurais profundas resolvam famílias inteiras de equações diferenciais parciais, tornando mais fácil modelar sistemas complicados e fazer isso em ordens de magnitude mais rápido.

Na física do ensino médio, aprendemos sobre a segunda lei do movimento de Newton – força igual a massa vezes aceleração – por meio de exemplos simples de uma única força (digamos, gravidade) agindo sobre um objeto de alguma massa. Em um cenário idealizado onde a única variável independente é o tempo, a segunda lei é efetivamente uma “equação diferencial ordinária”, que pode ser resolvida para calcular a posição ou velocidade do objeto a qualquer momento no tempo.

Mas em situações mais complexas, forças múltiplas atuam nas muitas partes móveis de um sistema intrincado ao longo do tempo. Para modelar um jato de passageiros ceifando no ar, uma onda sísmica ondulando pela Terra ou a propagação de uma doença através de uma população – para não falar das interações de forças e partículas fundamentais – engenheiros, cientistas e matemáticos recorrem a “equações diferenciais parciais” (PDEs) que podem descrever fenômenos complexos envolvendo muitas variáveis independentes.

O problema é que as equações diferenciais parciais – tão essenciais e onipresentes quanto na ciência e na engenharia – são notoriamente difíceis de resolver, se é que podem ser resolvidas. Métodos aproximados podem ser usados para resolvê-los, mas mesmo assim, pode levar milhões de horas de CPU para resolver PDEs complicados. À medida que os problemas que enfrentamos se tornam cada vez mais complexos, desde o projeto de melhores motores de foguetes até a modelagem das mudanças climáticas, precisaremos de maneiras melhores e mais eficientes de resolver essas equações.

Agora, os pesquisadores construíram novos tipos de redes neurais artificiais que podem aproximar soluções para ordens de magnitude de equações diferenciais parciais mais rápido do que os solucionadores de PDE tradicionais. E, uma vez treinadas, as novas redes neurais podem resolver não apenas um único PDE, mas uma família inteira deles sem retreinamento.

Para alcançar esses resultados, os cientistas estão levando as redes neurais profundas – a face moderna da inteligência artificial – para um novo território. Normalmente, as redes neurais mapeiam ou convertem dados de um espaço de dimensão finita (digamos, os valores de pixel das imagens) para outro espaço de dimensão finita (digamos, os números que classificam as imagens, como 1 para gato e 2 para cachorro) . Mas as novas redes profundas fazem algo dramaticamente diferente. Eles “mapeiam entre um espaço de dimensão infinita e um espaço de dimensão infinita”, disse o matemático Siddhartha Mishra, do Instituto Federal Suíço de Tecnologia de Zurique, que não projetou as redes profundas, mas as tem analisado matematicamente.

Essas técnicas irão, sem dúvida, acelerar muitos modelos que envolvem PDEs. “Em última análise, nosso objetivo [é] substituir os solucionadores tradicionais muito caros que são muito lentos”, disse o cientista da computação Anima Anandkumar, do California Institute of Technology, membro de uma das equipes que desenvolveram os novos métodos.

Anima Anandkumar do California Institute of Technology (esquerda) e Kamyar Azizzadenesheli da Purdue University ajudaram a construir uma rede neural chamada de operador neural de Fourier, que pode efetivamente aprender a resolver famílias inteiras de PDEs de uma vez.

Mas as novas abordagens fazem mais do que apenas acelerar o processo. Para alguns fenômenos, os pesquisadores têm apenas dados e pouca ideia de como chegar aos PDEs relevantes para modelá-los. “Existem muitos, muitos problemas em que a física é meio esquisita. Não está bem definido”, disse Mishra. “Então, nesses problemas, você está meio que dirigindo cego.” Nesses casos, as novas redes neurais, uma vez treinadas nos dados, quase certamente serão a única maneira de resolver esses problemas.

Equações bem dramáticas

O que torna os PDEs úteis – e extremamente difíceis de resolver – é sua complexidade, que permite modelar todos os tipos de fenômenos. Considere, por exemplo, a perspectiva bidimensional de um fluido fluindo ao redor de algum objeto, como o ar se movendo ao redor da asa de um avião. Os modeladores desejam saber a velocidade e a pressão do fluido em qualquer ponto do espaço (também chamado de campo de fluxo) e em momentos diferentes. PDEs específicos, conhecidos como equações de Navier-Stokes, modelam tais fluxos de fluido, levando em consideração as leis de conservação de energia, massa e momento. Resolva o PDE e você obterá uma fórmula que descreve algo sobre o sistema. Nesse caso, a solução pode ser uma fórmula que permite calcular o campo de fluxo em momentos diferentes.

Alguns PDEs podem ser resolvidos analiticamente, usando as ferramentas da matemática, se você tiver conhecimento suficiente sobre as condições iniciais e de contorno, como o valor do campo de fluxo no tempo t = 0 e nas bordas da região em estudo. Mas muitas vezes os PDEs são tão complexos que as soluções analíticas universais são impossíveis. Isso é particularmente verdadeiro para a forma mais geral das equações de Navier-Stokes: os matemáticos ainda precisam provar se soluções únicas existem, quanto mais encontrá-las analiticamente.

Nesses casos, os modeladores se voltam para métodos numéricos. Isso envolve a conversão do PDE em um conjunto de equações algébricas tratáveis que supostamente se sustentam em pequenos incrementos de espaço e tempo. Para o nosso exemplo de fluxo de fluido 2D, os cálculos começam com algumas condições iniciais e de limite e prosseguem passo a passo, avançando lentamente ao longo dos eixos xey, calculando a velocidade e a pressão do fluido em vários pontos. O resultado é um mapa 2D do campo de fluxo, digamos, segundo a segundo – não uma fórmula.

Resolver PDEs complexos numericamente pode levar meses em supercomputadores. E se você alterar as condições iniciais ou de limite ou a geometria do sistema que está sendo estudado (como o projeto da asa), você terá que começar de novo. Além disso, quanto menores os incrementos que você usa – ou quanto mais fina a malha, como dizem os pesquisadores -, maior a resolução do modelo e mais tempo leva para resolver numericamente.

Apesar dos custos, “para cada campo científico, a tendência é em direção a uma resolução mais alta … e esse esforço infinito para computar coisas em domínios maiores”, disse Zachary Ross, um sismólogo da Caltech que não estava envolvido com o novo trabalho. “É sempre uma corrida para fazer a próxima coisa importante.”

Redes neurais se juntam à briga

Recentemente, as redes neurais profundas têm mudado a natureza dessa corrida, oferecendo maneiras de resolver PDEs sem usar métodos analíticos ou numéricos. O elemento básico de uma rede profunda é um neurônio artificial, que recebe um conjunto de entradas, multiplica cada uma por um peso e então soma os resultados. O neurônio então determina uma saída com base nesse total – digamos, zero se a soma estiver abaixo de algum limite e a própria soma caso contrário. As redes neurais modernas têm uma camada de entrada, uma camada de saída e pelo menos uma camada “oculta” entre as duas. Redes com apenas uma camada oculta são coloquialmente chamadas de redes “superficiais”; caso contrário, eles são chamados de redes neurais profundas.

Matematicamente, a entrada para essa rede neural é um vetor – um conjunto de números – e a saída é outro vetor. Se existe uma função que mapeia um conjunto de vetores de entrada para um conjunto de vetores de saída, a rede pode ser treinada para aprender esse mapeamento. “As redes neurais são universais naquele espaço”, disse Mishra. “Qualquer função entre dois espaços de dimensão finita pode ser aproximada por uma rede neural.”

Em 2016, pesquisadores estudaram como as redes neurais profundas normalmente usadas para reconhecimento de imagem poderiam ser cooptadas para resolver PDEs. Primeiro, os pesquisadores geraram os dados para treinar a rede profunda: um solucionador numérico calculou o campo de velocidade para um fluido fluindo sobre objetos simples com diferentes formas básicas (triângulos, quadriláteros e assim por diante) de diferentes tamanhos e orientações, espalhados no xy -plano. Isso significava que o conjunto de dados de treinamento consistia em uma série de imagens: imagens 2D que codificam informações sobre a geometria de objetos e as condições iniciais do fluido servindo como entradas e instantâneos 2D dos campos de velocidade correspondentes como saídas.

Armados com os dados, os pesquisadores treinaram sua rede neural para aprender a correlação entre essas entradas e saídas. O treinamento envolve alimentar a rede com uma entrada e deixá-la produzir alguma saída, que então compara com a saída esperada. Um algoritmo então ajusta os pesos dos neurônios para minimizar a diferença entre as saídas geradas e esperadas. Esse processo é repetido até que a rede acerte de forma confiável, dentro de algum limite de erro aceitável. Uma vez treinada, a rede pode ver uma nova entrada e, com toda a probabilidade, produzirá a saída correta.

Por exemplo, quando mostradas novas formas 2D representando formas nunca vistas – jipes, vans e carros esportivos – a rede profunda previu os campos de velocidade ao redor dos automóveis. As previsões diferiram apenas ligeiramente (cerca de 10%) daquelas calculadas independentemente pelo solucionador numérico, mas a rede foi ordens de magnitude mais rápida.

Ensinar as redes neurais como resolver PDEs foi empolgante, mas os esforços anteriores não eram muito flexíveis. Uma vez treinada em um determinado tamanho de malha, a rede neural é “muito específica para essa resolução”, disse Anandkumar. A rede profunda aprendeu a aproximar uma função que mapeia dados de um espaço de dimensão finita para outro. Mas, muitas vezes, você precisa resolver o PDE em uma resolução diferente porque deseja uma análise mais detalhada do campo de fluxo ou tem um conjunto diferente de condições iniciais e de contorno e, se for o caso, precisará começar de novo e treinar novamente. Em cada caso, a rede profunda precisaria aprender a se aproximar de uma nova função.

Para os pesquisadores que lidam com PDEs todos os dias, isso não foi suficiente.

Do infinito ao infinito

É por isso que o novo trabalho é um salto em frente – agora temos redes neurais profundas que podem aprender como aproximar não apenas funções, mas “operadores” que mapeiam funções para funções. E eles parecem fazer isso sem sofrer a “maldição da dimensionalidade”, um problema que pode atormentar as redes neurais e outros algoritmos de computador que aprendem com os dados. Por exemplo, se você quiser que a taxa de erro de uma rede neural caia de 10% para 1%, a quantidade de dados de treinamento ou o tamanho da rede necessária para fazer isso pode explodir exponencialmente, tornando a tarefa impossível.

Mas antes de se preocupar com a maldição, os pesquisadores tiveram que descobrir como fazer as redes neurais aprenderem os operadores a resolver PDEs. “No operador [aprendizagem], você vai de um espaço de dimensão infinita para um espaço de dimensão infinita”, disse George Karniadakis, da Brown University, que ajudou a desenvolver um dos novos métodos. Matematicamente, um operador atua em uma função e a transforma em outra função. Como exemplo, considere um operador que transforma uma função em sua derivada (transformando o seno de x no cosseno de x, por exemplo, ou x3 em 3×2, e assim por diante). Os lados de entrada e saída são infinitos, pois, por exemplo, x pode ser qualquer valor e a função pode ser qualquer transformação agindo em x.

Redes profundas que aprendem a aproximar operadores podem ser usadas para resolver uma família inteira de PDEs de uma vez, modelando os mesmos fenômenos para uma gama de condições iniciais e de contorno e parâmetros físicos. Essa família de PDEs poderia ser um conjunto de funções no lado da entrada, com as soluções correspondentes aos PDEs (fórmulas) representadas pelas funções no lado da saída.

Revista Samuel Velasco / Quanta; Fonte: arXiv: 1910.03193

Em outubro de 2019, Karniadakis e seus colegas criaram o que chamam de DeepONet: uma arquitetura de rede neural profunda que pode aprender tal operador. É baseado no trabalho de 1995, quando pesquisadores mostraram que uma rede rasa pode se aproximar de uma operadora. Como uma rede neural está envolvida, esses operadores são chamados de operadores neurais, aproximações dos operadores reais.

“Estendemos o teorema para redes neurais profundas”, disse Karniadakis.

O que torna o DeepONet especial é sua arquitetura bifurcada, que processa dados em duas redes paralelas, uma “filial” e um “tronco”. O primeiro aprende a aproximar várias funções do lado da entrada e o último faz o mesmo para as funções do lado da saída. DeepONet então combina as saídas das duas redes para aprender o operador desejado de um PDE. O treinamento do DeepONet envolve mostrar repetidamente os dados de entrada e saída para uma família de PDEs, gerados usando um solucionador numérico, e ajustar os pesos nas redes de ramais e troncos em cada iteração, até que toda a rede esteja cometendo poucos erros aceitáveis.

Assim, a DeepONet, uma vez treinada, aprende a se aproximar de um operador. Ele pode pegar dados que representam um PDE no lado da entrada (que pertence à mesma família de PDEs na qual a rede foi treinada) e transformá-los nos dados que representam a solução para o PDE no lado da saída. Se você fornecer, digamos, 100 amostras que representam as condições iniciais / limites e parâmetros físicos que não estavam nos dados de treinamento e os locais onde você deseja o campo de fluxo, o DeepONet pode fornecer o campo de fluxo em frações de segundo.

Mas embora o DeepONet seja incrivelmente rápido ao lado dos solucionadores numéricos, ele ainda precisa realizar cálculos intensivos durante o treinamento. Isso pode se tornar um problema quando a rede profunda precisa ser treinada com enormes quantidades de dados para tornar o operador neural cada vez mais preciso. Os operadores neurais poderiam ser ainda mais acelerados?

Mudança de perspectiva

No ano passado, Anandkumar e seus colegas da Caltech e da Purdue University construíram uma rede neural profunda, chamada de operador neural de Fourier (FNO), com uma arquitetura diferente que afirmam ser mais rápida. A rede deles também mapeia funções para funções, de espaço de dimensão infinita a espaço de dimensão infinita, e eles testaram sua rede neural em PDEs. “Escolhemos os PDEs porque os PDEs são exemplos imediatos onde você vai de funções em funções”, disse Kamyar Azizzadenesheli de Purdue.

No centro de sua solução está algo chamado de camada de Fourier. Basicamente, antes de enviarem seus dados de treinamento por meio de uma única camada de uma rede neural, eles os submetem a uma transformação de Fourier; então, quando a camada processou esses dados por meio de uma operação linear, eles executam uma transformação inversa de Fourier, convertendo-os de volta ao formato original. (Essa transformação é uma operação matemática bem conhecida que decompõe uma função contínua em várias funções senoidais.) Toda a rede neural é composta por um punhado dessas camadas de Fourier.

Este processo acaba sendo muito mais direto do ponto de vista computacional do que o DeepONet e é semelhante a resolver um PDE realizando uma operação matemática complicada chamada de convolução entre o PDE e alguma outra função. Mas no domínio de Fourier, uma convolução envolve uma multiplicação simples, que é equivalente a passar os dados transformados de Fourier por uma camada de neurônios artificiais (com os pesos exatos aprendidos durante o treinamento) e então fazer a transformada inversa de Fourier. Portanto, novamente, o resultado final é que o FNO aprende o operador para uma família inteira de PDEs, mapeando funções em funções.

Samuel Velasco/Quanta Magazine; Source: arXiv:2010.08895

“É uma arquitetura muito legal”, disse Mishra.

Ele também fornece soluções em velocidades drasticamente melhoradas. Em um exemplo relativamente simples que exigiu 30.000 simulações, envolvendo soluções da infame equação de Navier-Stokes, o FNO levou frações de segundo para cada simulação (comparável à velocidade do DeepONet, caso tivesse sido testado neste problema), para um total de 2,5 segundos; o solucionador tradicional neste caso levaria 18 horas.

Fazendo Sentido Matemático

As abordagens de ambas as equipes foram bem-sucedidas, mas, como acontece com as redes neurais em geral, não está claro exatamente por que funcionam tão bem e se o farão em todas as situações. Mishra e seus colegas estão agora trabalhando em uma compreensão matemática completa de ambos os métodos.

Após um ano de esforços, em fevereiro a equipe de Mishra, com a contribuição de Karniadakis, forneceu uma análise matemática de 112 páginas da arquitetura DeepONet. Eles provaram que a abordagem é verdadeiramente universal, na medida em que pode mapear qualquer conjunto de funções no lado da entrada para qualquer conjunto de funções no lado da saída, não apenas PDEs, sem ter que fazer certas suposições que entraram no teorema de Karniadakis para profundidade redes e seu antecessor de 1995. A equipe ainda não concluiu seu trabalho analisando o FNO, mas Mishra disse que embora o método provavelmente seja universal para PDEs – e possa, à primeira vista, resolver alguns deles de forma mais eficiente do que DeepONet – pode não funcionar tão bem para aprender certos outros tipos de operadores.

Sua equipe está trabalhando em uma análise detalhada do FNO que inclui uma comparação próxima com o DeepONet. “Em alguns meses, saberemos”, disse ele.

O que está claro, porém, é que ambos os métodos vão ultrapassar os solucionadores tradicionais. E para fenômenos em que não há PDEs estabelecidos, o aprendizado de operadores neurais pode ser a única maneira de modelar tais sistemas. Considere o problema do fluxo de tráfego: escrever um PDE que capture com precisão a dinâmica do tráfego é quase impossível. Mas há muitos dados para aprender. “Em vez de escrever os PDEs, dados dados, você pode usar este operador neural apenas para aprender o mapeamento”, disse Azizzadenesheli.

Claro, esses são apenas os primeiros passos em direção a uma nova abordagem para resolver PDEs. “Este é um trabalho interessante e impressionante”, disse Gavin Schmidt, que trabalha em modelos climáticos em grande escala como diretor do Instituto Goddard de Estudos Espaciais da NASA na cidade de Nova York. Mas ele se preocupa com a facilidade com que pode ser adotado por sistemas mais caóticos, como modelos climáticos. Por exemplo, ele disse que o FNO só foi demonstrado em equações “legais”, não em equações tão difíceis e complicadas como as usadas na modelagem climática.

De uma perspectiva computacional, no entanto, há mais boas notícias. A equipe de Mishra mostrou que as novas técnicas não sofrem com a maldição da dimensionalidade. Quando eles analisaram o DeepONet para uma série de casos, ele disse, “nós realmente provamos que eles quebrarão a maldição da dimensionalidade, o que é muito bom”. Descobertas preliminares indicam que o operador neural de Fourier também não está amaldiçoado. “A teoria virá em breve.”

Romper a maldição é crucial se os operadores neurais quiserem substituir os solucionadores PDE tradicionais, disse Karniadakis. “[É] o futuro do aprendizado de máquina científico.”


Publicado em 20/04/2021 12h03

Artigo original: