Amazon Neptune ML para machine learning em grafos - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Amazon Neptune ML para machine learning em grafos

Muitas vezes, há informações valiosas em grandes conjuntos de dados conectados que podem ser difíceis de extrair usando consultas baseadas apenas na intuição humana. As técnicas de machine learning (ML) podem ajudar a encontrar correlações ocultas em grafos com bilhões de relacionamentos. Essas correlações podem ser úteis para recomendar produtos, prever a capacidade de crédito, identificar fraudes e muitas outras coisas.

O atributo Neptune ML possibilita criar e treinar modelos úteis de machine learning úteis em grafos grandes em horas e não em semanas. Para isso, o Neptune ML usa a tecnologia de rede neural de grafos (GNN) desenvolvida pelo Amazon SageMaker e pela Deep Graph Library (DGL) (que é de código aberto). As redes neurais de grafos são um campo emergente em inteligência artificial (consulte, por exemplo, A Comprehensive Survey on Graph Neural Networks). Para ver um tutorial prático sobre como usar GNNs com a DGL, consulte Learning graph neural networks with Deep Graph Library.

nota

Os vértices do grafo são identificados nos modelos do Neptune ML como “nós”. Por exemplo, a classificação de vértices usa um modelo de machine learning de classificação de nós e a regressão de vértices usa um modelo de regressão de nós.

O que o Neptune ML pode fazer

O Neptune é compatível tanto com a inferência transdutiva, que gera previsões que foram pré-calculadas no momento do treinamento, com base nos dados de grafos da época, quanto a inferência indutiva, que se aplica ao processamento de dados e à avaliação de modelos em tempo real, com base nos dados atuais. Consulte A diferença entre inferência indutiva e transdutiva.

O Neptune ML pode treinar modelos de machine learning para oferecer compatibilidade com cinco categorias diferentes de inferência:

Tipos de tarefa de inferência atualmente compatíveis com o Neptune ML
  • Classificação de nós: prevê o atributo categórico de uma propriedade de vértice.

    Por exemplo, considerando-se o filme Um Sonho de Liberdade, o Neptune ML pode prever a propriedade genre como story partir de um conjunto candidato de [story, crime, action, fantasy, drama, family, ...].

    Há dois tipos de tarefas de classificação de nós:

    • Classificação de classe única: nesse tipo de tarefa, cada nó tem apenas um atributo de destino. Por exemplo, a propriedade, Place_of_birth de Alan Turing tem o valor UK.

    • Classificação de várias classes: nesse tipo de tarefa, cada nó pode ter mais de um atributo de destino. Por exemplo, a propriedade genre do filme O Poderoso Chefão tem os valores crime e story.

  • Regressão de nós: prevê uma propriedade numérica de um vértice.

    Por exemplo, considerando-se o filme Vingadores: Ultimato, o Neptune ML pode prever que a propriedade popularity tem um valor de 5.0.

  • Classificação de bordas: prevê o atributo categórico de uma propriedade de borda.

    Há dois tipos de tarefas de classificação de bordas:

    • Classificação de classe única: nesse tipo de tarefa, cada borda tem apenas um atributo de destino. Por exemplo, uma borda de avaliação entre um usuário e um filme pode ter a propriedade liked, com um valor de “Sim” ou “Não”.

    • Classificação de várias classes: nesse tipo de tarefa, cada borda pode ter mais de um atributo de destino. Por exemplo, uma avaliação entre um usuário e um filme pode ter vários valores para a tag de propriedade, como “Engraçado”, “Emocionante”, “Assustador”, etc.

  • Regressão de bordas: prevê uma propriedade numérica de uma borda.

    Por exemplo, uma borda de classificação entre um usuário e um filme pode ter a propriedade numérica score para a qual o Neptune ML pode prever um valor considerando-se a um usuário e um filme.

  • Previsão de links: prevê os nós de destino mais prováveis para um nó de origem e uma borda de saída específicos, ou os nós de origem mais prováveis para um nó de destino e uma borda de entrada específicos.

    Por exemplo, com um grafo de conhecimento sobre medicamentos e doenças, fornecidos Aspirin como o nó de origem e treats como a borda de saída, o Neptune ML pode prever os nós de destino mais relevantes como heart disease, fever, etc.

    Ou, com o gráfico de conhecimento da Wikimedia, fornecidos President-of como borda ou relação e United-States como nó de destino, o Neptune ML pode prever os presidentes mais relevantes como George Washington, Abraham Lincoln, Franklin D. Roosevelt, etc.

nota

A classificação de nós e a classificação de bordas são compatíveis somente com valores de string. Isso significa que valores de propriedades numéricas, como 0 ou 1, não são compatíveis, embora a string seja equivalente a "0" e "1". Da mesma forma, os valores de propriedade booliana true e false não funcionam, mas "true" e "false" funcionam.

Com o Neptune ML, é possível usar modelos de machine learning que se enquadram em duas categorias gerais:

Tipos de modelo de machine learning no momento compatíveis com o Neptune ML
  • Modelos de rede neural de grafos (GNN): incluem Relational Graph Convolutional Networks (R-GCNs). Os modelos de GNN funcionam para todos os três tipos de tarefa acima.

  • Modelos Knowledge-Graph Embedding (KGE): incluem modelos TransE, DistMult e RotatE. Eles só funcionam para previsão de links.

Modelos definidos pelo usuário: o Neptune ML também permite que você forneça sua própria implementação de modelos personalizados para todos os tipos de tarefas listados acima. Você pode usar o kit de ferramentas do Neptune ML para desenvolver e testar a implementação de modelos personalizados baseados em python antes de usar a API de treinamento do Neptune ML com o modelo. Consulte Modelos personalizados no Neptune ML para obter detalhes sobre como estruturar e organizar a implementação para que ela seja compatível com a infraestrutura de treinamento do Neptune ML.