O que são redes neurais gráficas?


Quando duas tecnologias convergem, elas podem criar algo novo e maravilhoso – como celulares e navegadores foram fundidos para forjar smartphones.

Hoje, os desenvolvedores estão aplicando a capacidade da IA ​​de encontrar padrões em bancos de dados de gráficos massivos que armazenam informações sobre relacionamentos entre pontos de dados de todos os tipos. Juntos, eles produzem uma nova ferramenta poderosa chamada redes neurais gráficas.

O que são redes neurais gráficas?

As redes neurais gráficas aplicam o poder preditivo do aprendizado profundo a estruturas de dados ricas que descrevem objetos e seus relacionamentos como pontos conectados por linhas em um gráfico.

Em GNNs, os pontos de dados são chamados de nós, que são ligados por linhas – chamadas de arestas – com elementos expressos matematicamente para que os algoritmos de aprendizado de máquina possam fazer previsões úteis no nível de nós, arestas ou gráficos inteiros.

O que as GNNs podem fazer?

Uma lista crescente de empresas está aplicando GNNs para melhorar a descoberta de medicamentos, detecção de fraudes e sistemas de recomendação. Esses aplicativos e muitos outros dependem de encontrar padrões nos relacionamentos entre os pontos de dados.

Os pesquisadores estão explorando casos de uso para GNNs em computação gráfica, segurança cibernética, genômica e ciência de materiais. Um artigo recente relatou como as GNNs usaram mapas de transporte como gráficos para melhorar as previsões de tempo de chegada.

Muitos ramos da ciência e da indústria já armazenam dados valiosos em bancos de dados gráficos. Com o aprendizado profundo, eles podem treinar modelos preditivos que descobrem novos insights de seus gráficos.

Exemplo de usos de redes neurais gráficas
O conhecimento de muitos campos da ciência e da indústria pode ser expresso em gráficos.

“Os GNNs são uma das áreas mais quentes da pesquisa de aprendizado profundo e vemos um número crescente de aplicativos aproveitando os GNNs para melhorar seu desempenho”, disse George Karypis, cientista principal sênior da AWS, em uma palestra no início deste ano.

Outros concordam. As GNNs estão “pegando fogo por causa de sua flexibilidade para modelar relacionamentos complexos, algo que as redes neurais tradicionais não podem fazer”, disse Jure Leskovec, professor associado de Stanford, falando em uma palestra recente, onde mostrou o gráfico abaixo de artigos de IA que os mencionam. .

Artigos recentes sobre redes neurais gráficas

Quem usa redes neurais gráficas?

A Amazon relatou em 2017 seu trabalho usando GNNs para detectar fraudes. Em 2020, lançou um serviço público de GNN que outros poderiam usar para detecção de fraudes, sistemas de recomendação e outros aplicativos.

Para manter o alto nível de confiança de seus clientes, o Amazon Search emprega GNNs para detectar vendedores, compradores e produtos maliciosos. Usando GPUs NVIDIA, é capaz de explorar gráficos com dezenas de milhões de nós e centenas de milhões de arestas, reduzindo o tempo de treinamento de 24 para cinco horas.

Por sua vez, a empresa biofarmacêutica GSK mantém um gráfico de conhecimento com quase 500 bilhões de nós que é usado em muitos de seus modelos de linguagem de máquina, disse Kim Branson, chefe global de IA da empresa, falando em um painel em um workshop da GNN.

O LinkedIn usa GNNs para fazer recomendações sociais e entender as relações entre as habilidades das pessoas e seus cargos, disse Jaewon Yang, engenheiro de software sênior da empresa, falando em outro painel no workshop.

“Os GNNs são ferramentas de uso geral e todos os anos descobrimos vários novos aplicativos para eles”, disse Joe Eaton, um engenheiro distinto da NVIDIA que lidera uma equipe que aplica computação acelerada aos GNNs. “Nós nem arranhamos a superfície do que os GNNs podem fazer.”

Em mais um sinal do interesse em GNNs, vídeos de um curso sobre eles que Leskovec ministra em Stanford receberam mais de 700.000 visualizações.

Como funcionam as GNNs?

Até o momento, o aprendizado profundo se concentrou principalmente em imagens e texto, tipos de dados estruturados que podem ser descritos como sequências de palavras ou grades de pixels. Os gráficos, por outro lado, não são estruturados. Eles podem ter qualquer forma ou tamanho e conter qualquer tipo de dados, incluindo imagens e texto.

Usando um processo chamado passagem de mensagens, os GNNs organizam gráficos para que algoritmos de aprendizado de máquina possam usá-los.

A passagem de mensagens incorpora em cada nó informações sobre seus vizinhos. Os modelos de IA empregam as informações incorporadas para encontrar padrões e fazer previsões.

Passagem de mensagens em GNNs
Fluxos de dados de exemplo em três tipos de GNNs.

Por exemplo, os sistemas de recomendação usam uma forma de incorporação de nós em GNNs para combinar clientes com produtos. Os sistemas de detecção de fraude usam incorporações de borda para encontrar transações suspeitas, e os modelos de descoberta de medicamentos comparam gráficos inteiros de moléculas para descobrir como elas reagem umas às outras.

Os GNNs são únicos de duas outras maneiras: eles usam matemática esparsa e os modelos normalmente têm apenas duas ou três camadas. Outros modelos de IA geralmente usam matemática densa e têm centenas de camadas de rede neural.

Exemplo de pipeline para uma rede neural de grafo
Um pipeline GNN tem um gráfico como entrada e previsões como saídas.

Qual é a história das GNNs?

Um artigo de 2009 de pesquisadores na Itália foi o primeiro a dar nome às redes neurais gráficas. Mas levou oito anos para que dois pesquisadores em Amsterdã demonstrassem seu poder com uma variante que chamaram de rede convolucional de grafos (GCN), que é uma das GNNs mais populares atualmente.

O trabalho da GCN inspirou Leskovec e dois de seus alunos de pós-graduação de Stanford a criar o GraphSage, um GNN que mostrou novas maneiras de funcionar a função de passagem de mensagens. Ele o testou no verão de 2017 no Pinterest, onde atuou como cientista-chefe.

A rede neural do gráfico GraphSage
O GraphSage foi pioneiro em técnicas de agregação poderosas para passagem de mensagens em GNNs.

Sua implementação, PinSage, foi um sistema de recomendação que reuniu 3 bilhões de nós e 18 bilhões de bordas para superar outros modelos de IA na época.

O Pinterest o aplica hoje em mais de 100 casos de uso em toda a empresa. “Sem GNNs, o Pinterest não seria tão envolvente quanto é hoje”, disse Andrew Zhai, engenheiro sênior de aprendizado de máquina da empresa, falando em um painel online.

Enquanto isso, outras variantes e híbridos surgiram, incluindo redes recorrentes em grafos e redes de atenção em grafos. Os GATs emprestam o mecanismo de atenção definido nos modelos de transformadores para ajudar os GNNs a se concentrarem em partes dos conjuntos de dados que são de maior interesse.

Variações de redes neurais gráficas
Uma visão geral de GNNs descreveu uma árvore genealógica de suas variantes.

Escalando Redes Neurais de Gráficos

Olhando para o futuro, as GNNs precisam ser dimensionadas em todas as dimensões.

As organizações que ainda não mantêm bancos de dados gráficos precisam de ferramentas para facilitar o trabalho de criação dessas estruturas de dados complexas.

Aqueles que usam bancos de dados gráficos sabem que estão crescendo em alguns casos para ter milhares de recursos incorporados em um único nó ou borda. Isso apresenta desafios de carregamento eficiente de grandes conjuntos de dados de subsistemas de armazenamento por meio de redes para processadores.

“Estamos fornecendo produtos que maximizam a memória e a largura de banda computacional e a taxa de transferência de sistemas acelerados para resolver esses problemas de carregamento e dimensionamento de dados”, disse Eaton.

Como parte desse trabalho, a NVIDIA anunciou no GTC que agora suporta PyTorch Geometric (PyG), além da Deep Graph Library (DGL). Estas são duas das estruturas de software GNN mais populares.

Ferramentas NVIDIA para criar redes neurais gráficas
A NVIDIA fornece várias ferramentas para acelerar a construção de GNNs.

Os contêineres DGL e PyG otimizados para NVIDIA são ajustados para desempenho e testados para GPUs NVIDIA. Eles fornecem um lugar fácil para começar a desenvolver aplicativos usando GNNs.

Para saber mais, assista a uma palestra sobre aceleração e dimensionamento de GNNs com DGL e GPUs de Da Zheng, cientista aplicado sênior da AWS. Além disso, os engenheiros da NVIDIA realizaram palestras separadas sobre a aceleração de GNNs com DGL e PyG.

Para começar hoje, inscreva-se em nosso programa de acesso antecipado para DGL e PyG.



Source link

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *