Amazon Neptune ML para el machine learning en gráficos - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Amazon Neptune ML para el machine learning en gráficos

A menudo hay información valiosa en grandes conjuntos de datos conectados que puede resultar difícil de extraer mediante consultas basadas únicamente en la intuición humana. Las técnicas de machine learning (ML) pueden ayudar a encontrar correlaciones ocultas en gráficos con miles de millones de relaciones. Estas correlaciones pueden ser útiles para recomendar productos, predecir la solvencia crediticia, identificar el fraude y muchas otras cosas.

La característica Neptune ML permite crear y entrenar modelos útiles de machine learning en gráficos de gran tamaño en cuestión de horas en lugar de semanas. Para ello, Neptune ML utiliza la tecnología de redes neuronales de gráficos (GNN) con tecnología de Amazon SageMaker y la biblioteca Deep Graph Library (DGL) (que es de código abierto). Las redes neuronales de gráficos son un campo emergente de la inteligencia artificial (consulte, por ejemplo, A Comprehensive Survey on Graph Neural Networks [Una encuesta exhaustiva sobre las redes neuronales de gráficos]). Para ver un tutorial práctico sobre el uso de las GNN con la DGL, consulte Learning graph neural networks with Deep Graph Library (Obtener información sobre las redes neuronales de gráficos con Deep Graph Library).

nota

Los vértices de los gráficos se identifican en los modelos de Neptune ML como “nodos”. Por ejemplo, la clasificación de vértices utiliza un modelo de machine learning de clasificación de nodos y la regresión de vértices utiliza un modelo de regresión de nodos.

Qué puede hacer Neptune ML

Neptune admite tanto la inferencia transductiva, que devuelve predicciones que se precalcularon en el momento del entrenamiento, en función de los datos del gráfico en ese momento, como la inferencia inductiva, que devuelve el procesamiento de datos aplicado y la evaluación del modelo en tiempo real, en función de los datos actuales. Consulte La diferencia entre la inferencia inductiva y la transductiva.

Neptune ML puede entrenar modelos de machine learning para que admitan cinco categorías diferentes de inferencia:

Tipos de tareas de inferencia compatibles actualmente con Neptune ML
  • Clasificación de nodos: predice la característica categórica de una propiedad de vértice.

    Por ejemplo, con la película Cadena perpetua Neptune ML puede predecir su propiedad genre como story a partir de un conjunto candidato de [story, crime, action, fantasy, drama, family, ...].

    Existen dos tipos de tareas de clasificación de nodos:

    • Clasificación de clase única: en este tipo de tarea, cada nodo tiene solo una característica de destino. Por ejemplo, la propiedad Place_of_birth de Alan Turing tiene el valor UK.

    • Clasificación de varias clases: en este tipo de tarea, cada nodo puede tener más de una característica de destino. Por ejemplo, la propiedad genre de la película El padrino tiene los valores crime y story.

  • Regresión de nodos: predice una propiedad numérica de un vértice.

    Por ejemplo, con la película Vengadores: Endgame, Neptune ML puede predecir que su propiedad popularity tiene un valor de 5.0.

  • Clasificación de bordes: predice la característica categórica de una propiedad de borde.

    Existen dos tipos de tareas de clasificación de bordes:

    • Clasificación de clase única: en este tipo de tarea, cada borde tiene solo una característica de destino. Por ejemplo, un borde de valoración entre un usuario y una película pueden tener la propiedad liked con un valor “Sí” o “No”.

    • Clasificación de varias clases: en este tipo de tarea, cada borde puede tener más de una característica de destino. Por ejemplo, las valoraciones entre un usuario y una película pueden tener varios valores en la etiqueta de propiedad, como, por ejemplo, “Divertido”, “Conmovedor”, “Escalofriante”, etc.

  • Regresión de bordes: predice una propiedad numérica de un borde.

    Por ejemplo, un borde de valoración entre un usuario y una película puede tener la propiedad numérica score para la que Neptune ML puede predecir un valor con un usuario y una película.

  • Predicción de enlaces: predice los nodos de destino más probables par un nodo de origen y un borde de salida en concreto, o los nodos de origen más probables para un nodo de destino y un borde de entrada en concreto.

    Por ejemplo, con un gráfico de conocimientos sobre enfermedades relacionadas con las drogas, con Aspirin como nodo de origen y treats como borde de salida, Neptune ML puede predecir los nodos de destino más relevantes como heart disease, fever, etc.

    O bien, con el gráfico de conocimientos de Wikimedia, con President-of como borde o relación y United-States como nodo de destino, Neptune ML puede predecir los dirigentes más relevantes como George Washington, Abraham Lincoln, Franklin D. Roosevelt, etc.

nota

La clasificación de nodos y la clasificación de bordes solo admiten valores de cadena. Esto significa que no se admiten valores de propiedades numéricas como 0 o 1, aunque sí se admiten los equivalentes de cadena "0" y "1". Del mismo modo, los valores de la propiedad Boolean true y false no funcionan, pero sí lo hacen "true" y "false".

Con Neptune ML, puede utilizar modelos de machine learning que se dividen en dos categorías generales:

Tipos de modelos de machine learning compatibles actualmente con Neptune ML
  • Modelos de redes neuronales de gráficos (GNN): incluyen redes convolucionales de gráficos relacionales (R-GCN). Los modelos GNN funcionan para los tres tipos de tareas anteriores.

  • Modelos de incrustación de gráficos de conocimientos (KGE): incluyen los modelos TransE, DistMult y RotatE. Solo funcionan para la predicción de enlaces.

Modelos definidos por el usuario: Neptune ML también le permite proporcionar su propia implementación de modelo personalizado para todos los tipos de tareas indicados anteriormente. Puede usar el kit de herramientas de Neptune ML para desarrollar y probar la implementación de un modelo personalizado basado en Python antes de usar la API de entrenamiento de Neptune ML con su modelo. Consulte Modelos personalizados de Neptune ML para obtener información sobre cómo estructurar y organizar su implementación para que sea compatible con la infraestructura de entrenamiento de Neptune ML.