O que são redes neurais de grafos (GNN)?

o Os Transform Technology Summits começam em 13 de outubro com Low-Code / No Code: Enabling Enterprise Agility. Registrar agora!


Os gráficos estão por toda parte ao nosso redor. Sua rede social é um gráfico de pessoas e relações. Sua família também. As estradas que você percorre para ir do ponto A ao ponto B constituem um gráfico. Os links que conectam esta página da web a outras formam um gráfico. Quando seu empregador lhe paga, seu pagamento passa por um gráfico de instituições financeiras.

Basicamente, qualquer coisa composta de entidades vinculadas pode ser representada como um gráfico. Os gráficos são excelentes ferramentas para visualizar as relações entre pessoas, objetos e conceitos. Além de visualizar informações, no entanto, os gráficos também podem ser boas fontes de dados para treinar modelos de aprendizado de máquina para tarefas complicadas.

Redes neurais de grafos (GNN) são um tipo de algoritmo de aprendizado de máquina que pode extrair informações importantes de gráficos e fazer previsões úteis. Com os gráficos se tornando mais difundidos e ricos em informações, e as redes neurais artificiais se tornando mais popular e capaz, GNNs se tornaram uma ferramenta poderosa para muitos aplicativos importantes.

Gráficos de transformação para processamento de rede neural

Uma imagem de nós interconectados contra um fundo de mármore.

Cada grafo é composto de nós e arestas. Por exemplo, em uma rede social, os nós podem representar os usuários e suas características (por exemplo, nome, sexo, idade, cidade), enquanto as bordas podem representar as relações entre os usuários. Um gráfico social mais complexo pode incluir outros tipos de nós, como cidades, equipes esportivas, veículos de notícias, bem como arestas que descrevem as relações entre os usuários e esses nós.

Infelizmente, a estrutura do gráfico não é adequada para aprendizado de máquina. Redes neurais esperam receber seus dados em um formato uniforme. Perceptrons multicamadas esperam um número fixo de recursos de entrada. As redes neurais convolucionais esperam uma grade que represente as diferentes dimensões dos dados que processam (por exemplo, largura, altura e canais de cores das imagens).

Os gráficos podem vir em diferentes estruturas e tamanhos, o que não está de acordo com as matrizes retangulares que as redes neurais esperam. Os gráficos também possuem outras características que os tornam diferentes do tipo de informação para o qual as redes neurais clássicas são projetadas. Por exemplo, os gráficos são “invariantes de permutação”, o que significa que mudar a ordem e a posição dos nós não faz diferença, desde que suas relações permaneçam as mesmas. Em contraste, alterar a ordem dos pixels resulta em uma imagem diferente e fará com que a rede neural que os processa se comporte de maneira diferente.

Para fazer gráficos úteis para algoritmos de aprendizado profundo, seus dados devem ser transformados em um formato que pode ser processado por uma rede neural. O tipo de formatação usado para representar os dados do gráfico pode variar dependendo do tipo de gráfico e da aplicação pretendida, mas, em geral, a chave é representar as informações como uma série de matrizes.

Uma série de imagens em um fundo granulado cor de areia.  O primeiro é uma série de perfis de pessoas interconectados por nós.  Os próximos são dois gráficos com uma série de nomes de pessoas e informações biográficas básicas.

Por exemplo, considere um gráfico de rede social. Os nós podem ser representados como uma tabela de características do usuário. A tabela de nós, onde cada linha contém informações sobre uma entidade (por exemplo, usuário, cliente, transação bancária), é o tipo de informação que você forneceria a uma rede neural normal.

Mas redes neurais de gráfico também pode aprender com outras informações contidas no gráfico. As arestas, as linhas que conectam os nós, podem ser representadas da mesma forma, com cada linha contendo os IDs dos usuários e informações adicionais como data de amizade, tipo de relacionamento, etc. Por fim, a conectividade geral do gráfico pode ser representado como uma matriz de adjacência que mostra quais nós estão conectados entre si.

Quando todas essas informações são fornecidas à rede neural, ela pode extrair padrões e percepções que vão além das simples informações contidas nos componentes individuais do gráfico.

Embeddings gráficos

Três imagens contra um fundo de mármore azul.  O primeiro: uma série de gráficos com nomes de usuários e informações pessoais.  Segunda imagem: gráfico de barras intitulado "Incorporação de gráficos." Terceira imagem: uma planilha com usuários e números intitulada "Embeddings gráficos."

Redes neurais de gráfico podem ser criadas como qualquer outra rede neural, usando camadas totalmente conectadas, camadas convolucionais, camadas de pooling, etc. O tipo e o número de camadas dependem do tipo e da complexidade dos dados do gráfico e da saída desejada.

O GNN recebe os dados do gráfico formatado como entrada e produz um vetor de valores numéricos que representam informações relevantes sobre os nós e suas relações.

Essa representação vetorial é chamada de “incorporação de gráfico”. Os embeddings costumam ser usados ​​no aprendizado de máquina para transformar informações complicadas em uma estrutura que pode ser diferenciada e aprendida. Por exemplo, os sistemas de processamento de linguagem natural usam embeddings de palavras para criar representações numéricas de palavras e suas relações entre si.

Como o GNN cria a incorporação do gráfico? Quando os dados do gráfico são passados ​​para o GNN, os recursos de cada nó são combinados com os de seus nós vizinhos. Isso é chamado de “passagem de mensagens”. Se o GNN for composto por mais de uma camada, as camadas subsequentes repetem a operação de passagem de mensagens, reunindo dados de vizinhos de vizinhos e agregando-os aos valores obtidos na camada anterior. Por exemplo, em uma rede social, a primeira camada do GNN combinaria os dados do usuário com os de seus amigos, e a próxima camada adicionaria dados de amigos de amigos e assim por diante. Finalmente, a camada de saída do GNN produz o embedding, que é uma representação vetorial dos dados do nó e seu conhecimento de outros nós no gráfico.

Curiosamente, esse processo é muito semelhante a como as redes neurais convolucionais extraem recursos de dados de pixel. Consequentemente, uma arquitetura GNN muito popular é a rede neural convolucional de grafos (GCN), que usa camadas de convolução para criar embeddings de grafos.

Aplicações de redes neurais de grafos

Uma imagem de três redes neurais separadas contra um fundo cinza.

Depois de ter uma rede neural que pode aprender as incorporações de um gráfico, você pode usá-la para realizar diferentes tarefas.

Aqui estão alguns aplicativos para redes neurais de gráfico:

Classificação de nós: uma das aplicações poderosas dos GNNs é adicionar novas informações aos nós ou preencher lacunas onde faltam informações. Por exemplo, digamos que você esteja administrando uma rede social e tenha detectado algumas contas de bot. Agora você deseja descobrir se há outras contas de bot em sua rede. Você pode treinar um GNN para classificar outros usuários na rede social como “bot” ou “não bot” com base em quão próximos seus embeddings de gráfico estão daqueles dos bots conhecidos.

Previsão de bordas: outra maneira de colocar GNNs em uso é encontrar novas bordas que possam agregar valor ao gráfico. Voltando à nossa rede social, um GNN pode encontrar usuários (nós) que estão perto de você no espaço de incorporação, mas que ainda não são seus amigos (ou seja, não há uma borda conectando vocês uns aos outros). Esses usuários podem ser apresentados a você como sugestões de amigos.

Agrupamento: GNNs podem obter novas informações estruturais de gráficos. Por exemplo, em uma rede social onde todos estão de uma forma ou de outra relacionados com os outros (por meio de amigos, ou amigos de amigos, etc.), o GNN pode encontrar nós que formam clusters no espaço de incorporação. Esses clusters podem apontar para grupos de usuários que compartilham interesses, atividades ou outras características imperceptíveis semelhantes, independentemente de quão próximas sejam suas relações. O clustering é uma das principais ferramentas usadas no marketing baseado em aprendizado de máquina.

Redes neurais de grafos são ferramentas muito poderosas. Eles já encontraram aplicativos poderosos em domínios como planejamento de rotas, detecção de fraude, otimização de rede e pesquisa de drogas. Onde quer que haja um gráfico de entidades relacionadas, os GNNs podem ajudar a obter o máximo valor dos dados existentes.

Ben Dickson é engenheiro de software e fundador da TechTalks. Ele escreve sobre tecnologia, negócios e política.

Esta história apareceu originalmente em Bdtechtalks.com. Copyright 2021

VentureBeat

A missão da VentureBeat é ser uma praça da cidade digital para que os tomadores de decisões técnicas obtenham conhecimento sobre a tecnologia transformadora e façam transações. Nosso site oferece informações essenciais sobre tecnologias de dados e estratégias para guiá-lo à medida que lidera suas organizações. Convidamos você a se tornar um membro de nossa comunidade, para acessar:
  • informações atualizadas sobre os assuntos de seu interesse
  • nossos boletins informativos
  • conteúdo de líder de pensamento fechado e acesso com desconto a nossos eventos premiados, como Transformar 2021: Saber mais
  • recursos de rede e muito mais
Torne-se um membro

Source: VentureBeat by feedproxy.google.com.

*The article has been translated based on the content of VentureBeat by feedproxy.google.com. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!