O que é Redes Neurais de Gráfico? Explicação e aplicações [com diagramas]

Publicados: 2021-01-08

Índice

Introdução

Nos últimos tempos, as Redes Neurais ganharam enorme popularidade devido à sua aplicação e facilidade de uso no campo de Reconhecimento de Padrões e Mineração de Dados. A aplicação do Deep Learning a tarefas como detecção de objetos e reconhecimento de fala usando técnicas como CNN, RNN e autoencoders trouxe um enorme trabalho para a pesquisa e desenvolvimento de Redes Neurais.

A aplicação de Deep Learning nos dados como imagens, textos e vídeos são facilmente realizadas, pois são baseadas em dados euclidianos. E as aplicações onde os dados são representados como gráficos (não euclidianos) com relacionamentos altamente complexos entre objetos?

É aqui que trazemos o conceito de Graph Neural Networks (GNN). Neste artigo, passaremos pelas definições e noções básicas de Grafos e GNNs e veremos algumas das aplicações mais recentes das Redes Neurais de Grafos.

O que é um gráfico?

A partir do título – Graph Neural Networks, vemos que a parte mais fundamental do GNN é um Graph.

Em Ciência da Computação, um Grafo é definido como uma estrutura de dados com dois componentes. Vértices e Arestas. Um grafo G, pode ser definido como G = VE . Onde V é o conjunto de vértices e E são as arestas entre eles. Os termos vértices e nós são frequentemente usados ​​de forma intercambiável. Se houver alguma marca de seta nas arestas chamada dependência direcional, então é um grafo direcionado. Se não, eles são grafos não direcionados.

Fonte

Um gráfico pode representar várias coisas – rede de mídia social, rede de cidades, moléculas etc. Considere o gráfico a seguir que representa uma rede de cidades. As cidades são representadas como os nós e as estradas que as conectam são as arestas.

Fonte

Usando a rede de grafos acima, podemos resolver vários problemas relativos a essas cidades, como descobrir quais cidades estão bem conectadas ou encontrar a menor distância entre duas cidades.

O que são redes neurais gráficas?

Como os Gráficos possuem poderes expressivos extremamente fortes, eles estão ganhando bastante atenção no campo do Machine Learning. Cada nó tem uma incorporação associada a ele. Essa incorporação define o nó no espaço de dados. As Redes Neurais de Gráfico referem-se às arquiteturas de rede neural que operam em um gráfico.

O objetivo principal de uma arquitetura GNN é aprender uma incorporação que contém informações sobre sua vizinhança. Usando esta incorporação, podemos resolver vários problemas como rotular o nó, previsão de nós e arestas, etc.

Em outras palavras, as Graph Neural Networks são uma classe adicional de métodos de Deep Learning projetados para realizar inferências em dados fornecidos por gráficos. Eles são aplicados em gráficos e podem facilmente executar tarefas de previsão em nível de nó, nível de borda e nível de gráfico.

Por que não CNN?

A principal vantagem do GNN é que ele pode executar tarefas que as Redes Neurais Convolucionais (CNN) não conseguiram. As CNNs são usadas para realizar tarefas como detecção de objetos, classificação e reconhecimento de imagens. Usando camadas convolucionais ocultas e camadas de pool, a CNN consegue isso.

É computacionalmente difícil executar CNN em dados de grafos, pois é uma topologia altamente arbitrária e complexa, o que significa que não há localidade espacial. Além disso, há uma ordenação de nós não fixa que dificulta a aplicação da CNN.

Redes neurais gráficas

Assim, entende-se que, como é chamado, o GNN é uma rede neural que é aplicada diretamente a grafos fornecendo uma maneira conveniente para tarefas de previsão de nível de borda, nível de nó e nível de grafo. Existem basicamente três tipos de redes neurais gráficas:

  1. Rede Neural de Gráfico Recorrente
  2. Rede Convolucional Espacial
  3. Rede Convolucional Espectral

Uma das intuições do GNN é que os nós são definidos por seus vizinhos e conexões. Podemos visualizá-lo imaginando que, se todos os vizinhos de um nó forem removidos, o nó perderá todas as suas informações. Assim, o conceito de vizinhos de um nó e conexões com vizinhos definem um nó.

Com isso em mente, vamos dar a cada nó um estado (x) para representar seu conceito. Podemos usar o estado do nó (x) para produzir uma saída (o), que é a decisão sobre o conceito. O estado final (x_n) do nó é chamado de “node embedding”. A principal tarefa de toda a Rede Neural Grafo é determinar a “incorporação de nós” de cada nó, observando as informações de seus nós vizinhos.

Vamos começar com a versão mais poderosa do GNN, Recurrent Graph Neural Network, ou RecGNN

Rede Neural de Gráfico Recorrente

Como mencionado no artigo original, RecGNN é construído com uma suposição do Teorema do Ponto Fixo de Banach que afirma que: Seja (X,d) um espaço métrico completo e seja (T:X→X) um mapeamento de contração. Então T tem um único ponto fixo (x∗) e para qualquer x∈X a sequência T_n(x) para n→∞ converge para (x∗). Isso significa que se eu aplicar o mapeamento T em x por k vezes, x^k deve ser quase igual a x^(k-1).

Rede Convolucional Espacial

A intuição da Rede Convolucional Espacial é semelhante à da CNN. Como sabemos na CNN, a ideia é realizar a convolução somando os pixels vizinhos em torno de um pixel central com um filtro e pesos apreensíveis. As Redes Convolucionais Espaciais adotam uma ideia semelhante ao agregar as características dos nós vizinhos em direção ao nó central.

Fonte

Rede Convolucional Espectral

Ao contrário de outras redes neurais gráficas, esse tipo de GNN tem uma base matemática forte. Ele é desenvolvido na Teoria do Processamento de Sinais em Grafos. Ele usa a aproximação polinomial de Chebyshev para simplificação.

O que um GNN pode fazer?

Os problemas que um GNN pode resolver são amplamente classificados em 3 categorias –

  1. Classificação do nó
  2. Previsão de links
  3. Classificação do gráfico

Classificação do nó

envolve prever a incorporação de nós para cada nó em um gráfico. Nesses casos, apenas uma parte do gráfico é rotulada e, portanto, isso é conhecido como gráfico semi-supervisionado. Alguns aplicativos são vídeos do YouTube, recomendação de amigos do Facebook, etc.

Previsão de links

a principal tarefa é identificar o relacionamento entre duas entidades em um gráfico e prever se existe alguma conexão entre as duas entidades. Por exemplo, considere um sistema de recomendação em que um modelo recebe um conjunto de avaliações de usuários de diferentes produtos. A tarefa é prever as preferências dos usuários e ajustar o sistema de recomendação para promover produtos que atendam aos interesses dos usuários.

Classificação do gráfico

envolve a classificação de todo o gráfico em várias categorias diferentes. É bastante semelhante à tarefa de classificação de imagens, mas o alvo aqui está no domínio do gráfico. Existem vários exemplos de Classificação de Grafos, como na química, um modelo recebe uma estrutura molecular na forma de um gráfico e a tarefa é classificar o alvo em uma determinada categoria.

Aplicações em tempo real do GNN

Desde a sua introdução em 2018, as GNNs encontraram alguns aplicativos em tempo real que estão resumidos abaixo.

Processamento de linguagem natural

A GNN encontra suas aplicações em uma ampla variedade de aplicações de PNL, como Classificação de Sentimento, Classificação de Texto, Rotulagem de Sequência. Eles são usados ​​em PNL devido à sua facilidade de aplicação. Eles também são usados ​​na Análise de Redes Sociais, como previsão de postagens semelhantes e recomendação de conteúdo específico aos usuários.

Visão Computacional

A Visão Computacional é um campo vasto que cresceu rapidamente com a ajuda do Deep Learning em áreas como Classificação de Imagens, Detecção de Objetos etc. A aplicação mais popular são as Redes Neurais Convolucionais. Fora da tarde, GNNs também foram aplicados neste domínio. Embora a aplicação do GNN em Visão Computacional esteja em estágio incipiente, mostra um enorme potencial nos próximos anos.

Ciência

As GNNs também estão sendo amplamente utilizadas na Ciência, como Sistemas de Física, Predição de Efeitos Colaterais e Classificação de Doenças. Os químicos também estão usando GNNs para estudar a estrutura gráfica de compostos e moléculas.

Outros domínios

A aplicação do GNN não se limita apenas às tarefas acima. Houve várias tentativas de aplicação do GNN a uma variedade de domínios, como sistemas de recomendação, análise de redes sociais, etc.

Conclusão

Nos últimos anos, desde que as GNNs foram introduzidas, elas se tornaram uma ferramenta forte e confiável para resolver problemas que podem ser modelados por grafos. Isso se deve à sua flexibilidade, poder expressivo e fácil visualização. Assim, os GNNs são uma solução intuitiva para dados não estruturados com uma ampla gama de aplicações do mundo real.

Se você quiser saber mais sobre o GCN e seus recursos e benefícios, registre-se em upGrad Education Pvt. Ltd. E o curso de Pós-Graduação e Diploma do IIITB em Machine Learning e Inteligência Artificial. Este curso sobre Machine Learning e IA foi desenvolvido para estudantes e profissionais que trabalham.

O curso oferece uma coleção de estudos de caso e tarefas, sessões de orientação do setor, status de ex-alunos do IIIT Bangalore, assistência para colocação de emprego nas principais empresas e, o mais importante, uma rica experiência de aprendizado.

O que você entende por Rede Neural?

As redes neurais são algoritmos de rede que ajudam a identificar padrões e são um pouco projetados após o cérebro humano. Eles usam aprendizado de máquina e inteligência artificial para entender as entradas sensoriais, categorizando ou agrupando dados brutos. Todas as estatísticas reais, sejam imagens, música, texto ou séries temporais, devem ser traduzidas nos caracteres que a rede neural reconhece, que são numéricos e codificados em vetores. Eles ajudam na classificação e agrupamento de dados. Eles categorizam dados quando têm um conjunto de dados rotulado e ajudam a agrupar dados não rotulados com base em semelhanças entre as entradas de exemplo. Eles fazem parte de aplicativos de aprendizado de máquina mais extensos que incluem algoritmos para aprendizado por reforço, variedade e regressão.

O que é uma rede neural convolucional?

Uma Rede Neural Convolucional, também conhecida como CNN ou ConvNet, é uma técnica que pode tirar uma foto de entrada e dar prioridade a vários elementos na imagem, bem como distingui-los. A quantidade de processamento exigida por uma CNN é significativamente menor do que outros algoritmos. A CNN foi projetada com a ajuda do córtex visual e tem um padrão semelhante aos neurônios em nosso cérebro. Mesmo na CNN, neurônios individuais só podem reagir a impulsos em uma pequena área do campo visual chamada Campo Receptivo.

Como as redes neurais são diferentes do aprendizado de máquina?

Machine Learning é um conjunto de algoritmos poderosos que analisam dados, estudam a partir deles e aplicam o que estudaram para encontrar padrões intrigantes. Uma rede neural, por outro lado, é um conjunto de técnicas usadas em aprendizado de máquina para modelar dados usando gráficos de neurônios. Uma Rede Neural organiza algoritmos de forma que possa fazer julgamentos confiáveis ​​por conta própria, enquanto um modelo de Aprendizado de Máquina toma decisões com base no que aprendeu com os dados. Como resultado, embora os modelos de Machine Learning possam aprender com os dados, eles podem exigir alguma interação humana nos estágios iniciais. As redes neurais não requerem interação humana, pois as camadas empilhadas dentro delas transmitem entradas por meio de hierarquias de conceitos distintos, permitindo que aprendam com seus próprios erros.