Amazon Neptune ML per machine learning sui grafi - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon Neptune ML per machine learning sui grafi

Spesso in grandi set di dati connessi sono presenti informazioni preziose difficili da estrarre usando query basate solo sull'intuito umano. Le tecniche di machine learning (ML) consentono di trovare correlazioni nascoste nei grafi con miliardi di relazioni. Queste correlazioni possono essere utili per suggerire prodotti, prevedere l'affidabilità creditizia, identificare frodi e molte altre attività.

La funzionalità Neptune ML consente di creare e addestrare modelli di machine learning utili su grafi di grandi dimensioni in poche ore anziché in settimane. A tale scopo, Neptune ML utilizza la tecnologia delle reti neurali a grafo (GNN) basata su Amazon SageMaker e Deep Graph Library (DGL), che è open source. Le reti neurali a grafo sono un campo emergente nell'intelligenza artificiale (vedi, ad esempio, A Comprehensive Survey on Graph Neural Networks). Per un tutorial pratico sull'uso delle reti GNN con la libreria DGL, consulta Learning graph neural networks with Deep Graph Library.

Nota

I vertici del grafo nei modelli Neptune ML sono identificati come "nodi". Ad esempio, la classificazione dei vertici utilizza un modello di machine learning per la classificazione dei nodi e la regressione dei vertici utilizza un modello di regressione dei nodi.

Cosa può fare Neptune ML

Neptune supporta sia l'inferenza trasduttiva, che restituisce previsioni precalcolate al momento dell'addestramento, sulla base dei dati del grafo in quel momento, sia l'inferenza induttiva, che restituisce l'elaborazione dei dati e la valutazione del modello in tempo reale, sulla base dei dati correnti. Per informazioni, consultare Differenza tra inferenza induttiva e trasduttiva.

Neptune ML può addestrare modelli di machine learning per supportare cinque diverse categorie di inferenza:

Tipi di attività di inferenza attualmente supportati da Neptune ML
  • Classificazione dei nodi: previsione della funzionalità categoriale di una proprietà del vertice.

    Ad esempio, per il film Le ali della libertà, Neptune ML può prevedere la sua proprietà genre come story da un set di candidati di [story, crime, action, fantasy, drama, family, ...].

    Esistono due tipi di attività di classificazione dei nodi:

    • Classificazione a classe singola: in questo tipo di attività, ogni nodo ha una sola funzionalità di destinazione. Ad esempio, la proprietà Place_of_birth di Alan Turing ha il valore UK.

    • Classificazione multi-classe: in questo tipo di attività, ogni nodo può avere più di una funzionalità di destinazione. Ad esempio, la proprietà genre del film Il Padrino ha i valori crime e story.

  • Regressione dei nodi: previsione di una proprietà numerica di un vertice.

    Ad esempio, per il film Avengers: Endgame, Neptune ML può prevedere che la proprietà popularity abbia un valore di 5.0.

  • Classificazione degli archi: previsione della funzionalità categoriale di una proprietà dell'arco.

    Esistono due tipi di attività di classificazione degli archi:

    • Classificazione a classe singola: in questo tipo di attività, ogni arco ha una sola funzionalità di destinazione. Ad esempio, un arco delle valutazioni tra un utente e un film potrebbe avere la proprietà liked, con un valore "Sì" o "No".

    • Classificazione multi-classe: in questo tipo di attività, ogni arco può avere più di una funzionalità di destinazione. Ad esempio, un arco delle valutazioni tra un utente e un film potrebbe avere più valori per il tag della proprietà come "Divertente" "Commovente", "Agghiacciante" e così via.

  • Regressione degli archi: previsione di una proprietà numerica di un arco.

    Ad esempio, un arco delle valutazioni tra un utente e un film potrebbe avere la proprietà numerica score, per la quale Neptune ML potrebbe prevedere un valore dato un utente e un film.

  • Previsione dei collegamenti: previsione dei nodi di destinazione più probabili per un nodo di origine e un arco in uscita specifici oppure i nodi di origine più probabili per un nodo di destinazione e un arco in entrata specificati.

    Ad esempio, con un grafo della conoscenza per farmaco-malattia, dato Aspirin come nodo di origine e treats come arco in uscita, Neptune ML può prevedere i nodi di destinazione più pertinenti come heart disease, fever e così via.

    Oppure, con il grafo della conoscenza Wikimedia, dato President-of come arco o relazione e United-States come nodo di destinazione, Neptune ML può prevedere i presidenti più pertinenti come George Washington, Abraham Lincoln, Franklin D. Roosevelt e così via.

Nota

La classificazione dei nodi e la classificazione degli archi supportano solo valori stringa. Ciò significa che i valori delle proprietà numeriche come 0 o 1 non sono supportati, sebbene gli equivalenti stringa "0" e "1" lo siano. Allo stesso modo, i valori delle proprietà booleane true e false non sono supportati, ma "true" e "false" funzionano.

Con Neptune ML, puoi utilizzare modelli di machine learning che rientrano in due categorie generali:

Tipi di modelli di machine learning attualmente supportati da Neptune ML
  • Modelli GNN (rete neurale a grafo): includono le reti r-GCN (reti convoluzionali a grafo relazionali). I modelli GNN funzionano per tutti e tre i tipi di attività descritti in precedenza.

  • Modelli di incorporamento dei grafi della conoscenza (KGE): includono i modelli TransE, DistMult e RotatE. Funzionano solo per la previsione dei collegamenti.

Modelli definiti dall'utente: Neptune ML consente inoltre di fornire l'implementazione di un modello personalizzato per tutti i tipi di attività sopra elencati. Puoi utilizzare il kit di strumenti per Neptune ML per sviluppare e testare l'implementazione del modello personalizzato basato su Python prima di utilizzare l'API di addestramento Neptune ML con il modello. Consulta Modelli personalizzati in Neptune ML. per informazioni dettagliate su come strutturare e organizzare l'implementazione affinché sia compatibile con l'infrastruttura di addestramento di Neptune ML.