Empfehlungssysteme sind eine der am weitesten verbreiteten Technologien für maschinelles Lernen (ML) in realen Anwendungen, die von sozialen Netzwerken bis hin zu E-Commerce-Plattformen reichen. Benutzer vieler Online-Systeme verlassen sich auf Empfehlungssysteme, um neue Freundschaften zu schließen, neue Musik anhand vorgeschlagener Musiklisten zu entdecken oder sogar E-Commerce-Kaufentscheidungen auf der Grundlage der empfohlenen Produkte zu treffen. In sozialen Netzwerken besteht ein häufiger Anwendungsfall darin, einem Benutzer auf der Grundlage der anderen Verbindungen des Benutzers neue Freunde zu empfehlen. Benutzer mit gemeinsamen Freunden kennen sich wahrscheinlich. Daher sollten sie eine höhere Punktzahl für ein Empfehlungssystem haben, das sie vorschlagen können, wenn sie noch nicht verbunden sind.
Soziale Netzwerke können natürlich in einem Graphen ausgedrückt werden, wobei die Knoten Personen darstellen und die Verbindungen zwischen Personen, wie Freundschaft oder Kollegen, durch Kanten dargestellt werden. Das Folgende veranschaulicht ein solches soziales Netzwerk. Stellen wir uns vor, wir haben ein soziales Netzwerk mit den Mitgliedern (Knoten) Bill, Terry, Henry, Gary und Alistair. Ihre Beziehungen werden durch einen Link (Kante) dargestellt, und die Interessen jeder Person, wie Sport, Kunst, Spiele und Comics, werden durch Knoteneigenschaften dargestellt.
Das Ziel hier ist es, vorherzusagen, ob es eine potenziell fehlende Verbindung zwischen Mitgliedern gibt. Sollten wir zum Beispiel eine Verbindung zwischen Henry und Terry empfehlen? Wenn wir uns die Grafik ansehen, können wir sehen, dass sie zwei gemeinsame Freunde haben, Gary und Alistair. Daher besteht eine gute Chance, dass Henry und Terry sich entweder bereits kannten oder sich bald kennenlernen werden. Wie wäre es mit Henry und Bill? Sie haben keine gemeinsamen Freunde, aber sie haben eine schwache Verbindung durch die Verbindungen ihrer Freunde. Darüber hinaus haben beide ähnliche Interessen an Kunst, Comics und Spielen. Sollen wir diese Verbindung fördern? All diese Fragen und Intuitionen sind die Kernlogik von Empfehlungssystemen für soziale Netzwerke.
Ein möglicher Weg, dies zu tun, ist das Empfehlen von Beziehungen basierend auf der Exploration von Graphen. In Graph-Abfragesprachen, wie z Apache TinkerPop Gremlin, die Implementierung von Regelsätzen wie das Zählen gemeinsamer Freunde, ist relativ einfach und kann verwendet werden, um die Verbindung zwischen Henry und Terry zu bestimmen. Diese Regelsätze werden jedoch sehr kompliziert, wenn wir andere Attribute wie Knoteneigenschaften, Verbindungsstärke usw. berücksichtigen möchten. Stellen wir uns einen Regelsatz vor, um die Verbindung zwischen Henry und Bill zu bestimmen. Dieser Regelsatz muss ihre gemeinsamen Interessen und ihre schwachen Verbindungen durch bestimmte Pfade im Diagramm berücksichtigen. Um die Robustheit zu erhöhen, müssen wir möglicherweise auch einen Distanzfaktor hinzufügen, um starke Verbindungen zu bevorzugen und die schwachen zu bestrafen. Ebenso würden wir uns einen Faktor wünschen, der gemeinsame Interessen begünstigt. Bald werden die Regelsätze, die komplexe verborgene Muster aufdecken können, unmöglich sein, sie aufzuzählen.
Mit der ML-Technologie können wir verborgene Muster entdecken, indem wir Algorithmen lernen. Ein Beispiel ist XGBoost, das häufig für Klassifizierungs- oder Regressionsaufgaben verwendet wird. Algorithmen wie XGBoost verwenden jedoch einen herkömmlichen ML-Ansatz, der auf einem tabellarischen Datenformat basiert. Diese Ansätze sind nicht für Graphendatenstrukturen optimiert, und sie erfordern ein komplexes Feature-Engineering, um mit diesen Datenmustern fertig zu werden.
Im vorangegangenen Beispiel für ein soziales Netzwerk sind die Diagramminteraktionsinformationen entscheidend für die Verbesserung der Empfehlungsgenauigkeit. Graph Neural Network (GNN) ist ein Deep-Learning-Framework (DL), das auf Diagrammdaten angewendet werden kann, um Vorhersageaufgaben auf Kanten-, Knoten- oder Diagrammebene auszuführen. GNNs können individuelle Knotenmerkmale sowie Informationen zur Graphstruktur nutzen, wenn sie die Graphdarstellung und die zugrunde liegenden Muster lernen. Daher haben GNN-basierte Verfahren in den letzten Jahren bei vielen Empfehlungssystem-Benchmarks neue Maßstäbe gesetzt. Ausführlichere Informationen finden Sie in aktuellen Forschungsarbeiten: Eine umfassende Umfrage zu Graph Neural Networks und Graph Learning-basierte Recommender-Systeme: Eine Überprüfung.
Das Folgende ist ein berühmtes Beispiel für einen solchen Anwendungsfall. Forscher und Ingenieure bei Pinterest haben geschult Graph Convolutional Neural Networks für Web-Scale Recommender-Systeme, genannt PinSage, mit drei Milliarden Knoten, die Stifte und Platinen darstellen, und 18 Milliarden Kanten. PinSage generiert hochwertige Einbettungen, die Pins (visuelle Lesezeichen zu Online-Inhalten) darstellen. Diese können für eine Vielzahl von nachgelagerten Empfehlungsaufgaben verwendet werden, z. B. für die Suche nach dem nächsten Nachbarn im erlernten Einbettungsbereich für die Inhaltserkennung und Empfehlungen.
In diesem Beitrag führen wir Sie durch die Verwendung von GNNs für Empfehlungsanwendungsfälle, indem wir dies als Linkvorhersageproblem umwandeln. Wir veranschaulichen auch, wie Neptune ML die Implementierung erleichtern kann. Wir werden auch liefern Beispielcode auf GitHub um Ihr erstes GNN mit Neptune ML zu trainieren und Empfehlungsrückschlüsse auf dem Demodiagramm durch Linkvorhersageaufgaben zu ziehen.
Linkvorhersage mit Graph Neural Networks
In Anbetracht des vorherigen Beispiels für soziale Netzwerke möchten wir Henry neue Freunde empfehlen. Sowohl Terry als auch Bill wären gute Kandidaten. Terry hat mehr gemeinsame Freunde (Gary, Alistair) mit Henry, aber keine gemeinsamen Interessen. Während Bill gemeinsame Interessen (Kunst, Comics, Spiele) mit Henry teilt, aber keine gemeinsamen Freunde. Welche wäre eine bessere Empfehlung? Wenn es als Verbindungsvorhersageproblem bezeichnet wird, besteht die Aufgabe darin, jeder möglichen Verbindung zwischen den beiden Knoten eine Punktzahl zuzuweisen. Je höher der Link-Score, desto wahrscheinlicher wird diese Empfehlung konvergieren. Durch das Lernen von Link-Strukturen, die bereits im Graphen vorhanden sind, kann ein Link-Vorhersagemodell neue Link-Vorhersagen verallgemeinern, die den Graphen „vervollständigen“.
Die Parameter der Funktion f
die vorhersagt, dass der Link-Score während der Trainingsphase gelernt wird. Da die Funktion f
eine Vorhersage für zwei beliebige Knoten im Graphen macht, sind die den Knoten zugeordneten Merkmalsvektoren wesentlich für den Lernprozess. Um den Link-Score zwischen Henry und Bill vorherzusagen, haben wir eine Reihe von Rohdatenfunktionen (Kunst, Comics, Spiele), die Henry und Bill darstellen können. Wir transformieren dies zusammen mit den Verbindungen im Diagramm mithilfe eines GNN-Netzwerks, um neue Darstellungen zu bilden, die als Knoteneinbettungen bekannt sind. Wir können auch die anfänglichen Rohmerkmale durch Vektoren aus einer einbettenden Nachschlagetabelle ergänzen oder ersetzen, die während des Trainingsprozesses erlernt werden können. Idealerweise sollten die eingebetteten Merkmale für Henry und Bill ihre Interessen sowie ihre topologischen Informationen aus dem Diagramm darstellen.
Wie GNNs funktionieren
Ein GNN wandelt die anfänglichen Knotenmerkmale in Knoteneinbettungen um, indem es eine Technik verwendet, die als bezeichnet wird Nachrichtenübergabe. Der Nachrichtenübermittlungsprozess ist in der folgenden Abbildung dargestellt. Am Anfang werden die Knotenattribute oder Merkmale in numerische Attribute umgewandelt. In unserem Fall führen wir eine One-Hot-Codierung der kategorialen Merkmale durch (Henrys Interessen: Kunst, Comics, Spiele). Dann aggregiert die erste Schicht von GNN alle Rohmerkmale der Nachbarn (Gary und Alistair) (in Schwarz), um einen neuen Satz von Merkmalen (in Gelb) zu bilden. Ein üblicher Ansatz ist die lineare Transformation aller benachbarten Features, die dann durch eine normalisierte Summe aggregiert werden und die Ergebnisse an eine nichtlineare Aktivierungsfunktion wie ReLU übergeben werden, um einen neuen Vektorsatz zu generieren. Die folgende Abbildung zeigt, wie die Nachrichtenübermittlung für den Knoten funktioniert Henry. H, der GNN-Nachrichtenweiterleitungsalgorithmus, berechnet Darstellungen für alle Graphknoten. Diese werden später als Eingabe-Features für die zweite Ebene verwendet.
Die zweite Schicht eines GNN wiederholt denselben Prozess. Es nimmt das zuvor berechnete Feature (in Gelb) aus dem ersten Layer als Eingabe, aggregiert alle neuen eingebetteten Features von Gary und Alistairs Nachbarn und generiert Feature-Vektoren des zweiten Layers für Henry (in Orange). Wie Sie sehen können, haben wir durch Wiederholen des Message-Passing-Mechanismus die Feature-Aggregation auf 2-Hop-Nachbarn erweitert. In unserer Abbildung beschränken wir uns auf 2-Hop-Nachbarn, aber die Erweiterung auf 3-Hop-Nachbarn kann auf die gleiche Weise erfolgen, indem eine weitere GNN-Schicht hinzugefügt wird.
Die endgültigen Einbettungen von Henry und Bill (in Orange) werden zur Berechnung der Punktzahl verwendet. Während des Trainingsprozesses wird der Link-Score als 1 definiert, wenn die Kante zwischen den beiden Knoten vorhanden ist (positives Muster), und als 0, wenn die Kanten zwischen den beiden Knoten nicht vorhanden sind (negatives Muster). Dann der Fehler oder Verlust zwischen dem tatsächlichen Ergebnis und der Vorhersage f(e1,e2)
wird in vorherige Schichten zurückpropagiert, um die Gewichte anzupassen. Sobald das Training abgeschlossen ist, können wir uns auf die eingebetteten Merkmalsvektoren für jeden Knoten verlassen, um ihre Link-Scores mit unserer Funktion zu berechnen f
.
In diesem Beispiel haben wir die Lernaufgabe auf a vereinfacht homogener Graph, wobei alle Knoten und Kanten vom gleichen Typ sind. Beispielsweise sind alle Knoten im Diagramm vom Typ „Personen“ und alle Kanten vom Typ „Freunde mit“. Der Lernalgorithmus unterstützt jedoch auch heterogene Graphen mit unterschiedlichen Knoten- und Kantentypen. Wir können den vorherigen Anwendungsfall erweitern, um verschiedenen Benutzern mit ähnlichen Interaktionen und Interessen Produkte zu empfehlen. Weitere Einzelheiten finden Sie in diesem Forschungsbericht: Modellierung relationaler Daten mit Graph Convolutional Networks.
Auf der AWS re:Invent 2020 haben wir vorgestellt Amazon Neptun ML, mit dem unsere Kunden ML-Modelle auf Diagrammdaten trainieren können, ohne unbedingt über tiefgreifende ML-Kenntnisse zu verfügen. In diesem Beispiel zeigen wir Ihnen mit Hilfe von Neptune ML, wie Sie Ihr eigenes Empfehlungssystem auf Graphdaten aufbauen können.
Trainieren Sie Ihr Graph Convolution Network mit Amazon Neptune ML
Neptune ML verwendet Graph-Neural-Network-Technologie, um ML-Modelle automatisch auf Ihren Graphdaten zu erstellen, zu trainieren und bereitzustellen. Neptune ML unterstützt allgemeine Diagrammvorhersageaufgaben, wie z. B. Knotenklassifizierung und -regression, Kantenklassifizierung und -regression sowie Linkvorhersage.
Es wird betrieben von:
- Amazon Neptun: eine schnelle, zuverlässige und vollständig verwaltete Diagrammdatenbank, die für das Speichern von Milliarden von Beziehungen und das Abfragen des Diagramms mit Millisekunden-Latenz optimiert ist. Amazon Neptune unterstützt drei offene Standards zum Erstellen von Grafikanwendungen: Apache TinkerPop Gremlin, RDF SPARQL und openCypher. Erfahren Sie mehr unter Überblick über die Amazon Neptune-Funktionen.
- Amazon Sage Maker: Ein vollständig verwalteter Dienst, der jedem Entwickler und Datenwissenschaftler die Möglichkeit bietet, ML-Modelle schnell vorzubereiten, zu trainieren und bereitzustellen.
- Deep-Graph-Bibliothek (DGL): Eine Open-Source, leistungsstarkes und skalierbares Python-Paket für DL auf Graphen. Es bietet schnelle und speichereffiziente Message-Passing-Primitive zum Trainieren von Graph Neural Networks. Neptune ML verwendet DGL, um automatisch das beste ML-Modell für Ihre Workload auszuwählen und zu trainieren. Auf diese Weise können Sie ML-basierte Vorhersagen für Diagrammdaten in Stunden statt in Wochen treffen.
Der einfachste Weg, mit Neptune ML zu beginnen, ist die Verwendung von AWS CloudFormation-Schnellstartvorlage. Die Vorlage installiert alle erforderlichen Komponenten, einschließlich eines Neptune-DB-Clusters, und richtet die Netzwerkkonfigurationen, IAM-Rollen und die zugehörige SageMaker-Notebook-Instanz mit vorab ausgefüllten Notebook-Beispielen für Neptune ML ein.
Die folgende Abbildung zeigt verschiedene Schritte für Neptune ML, um ein GNN-basiertes Empfehlungssystem zu trainieren. Lassen Sie uns jeden Schritt näher betrachten und untersuchen, was er beinhaltet:
-
Konfiguration des Datenexports
Der erste Schritt in unserem Neptune ML-Prozess besteht darin, die Diagrammdaten aus dem Neptune-Cluster zu exportieren. Wir müssen die Parameter und die Modellkonfiguration für die Datenexportaufgabe angeben. Wir verwenden die Neptune-Workbench für alle Konfigurationen und Befehle. Die Workbench ermöglicht uns die Arbeit mit dem Neptune DB-Cluster unter Verwendung von Jupyter-Notebooks, die von Amazon SageMaker gehostet werden. Darüber hinaus bietet es eine Reihe magischer Befehle in den Notizbüchern, die viel Zeit und Mühe sparen. Hier ist unser Beispiel für Exportparameter:
In export_params
, müssen wir die grundlegende Einrichtung konfigurieren, z. B. den Neptun-Cluster und die Ausgabe Amazon einfacher Speicherdienst (S3) Pfad für die exportierte Datenspeicherung. Die Konfiguration angegeben in additionalParams
ist die Art der auszuführenden ML-Aufgabe. In diesem Beispiel wird die Verknüpfungsvorhersage optional verwendet, um einen bestimmten Kantentyp (Benutzer – FREUND – Benutzer) vorherzusagen. Wenn kein Zieltyp angegeben ist, geht Neptune ML davon aus, dass es sich bei der Aufgabe um Linkvorhersage handelt. Die Parameter geben auch Details zu den in unserem Diagramm gespeicherten Daten an und wie das ML-Modell diese Daten interpretiert (wir haben „Benutzer“ als Knoten und „Interessen“ als Knoteneigenschaft).
Um jeden Schritt im ML-Erstellungsprozess auszuführen, verwenden Sie einfach Neptune-Workbench-Befehle. Der Neptun Werkbank enthält eine Linienmagie und eine Zellenmagie, die Ihnen bei der Verwaltung dieser Schritte viel Zeit sparen können. Um den Datenexport auszuführen, verwenden Sie den Neptune-Workbench-Befehl: %neptune_ml export start
Sobald der Exportauftrag abgeschlossen ist, wird das Neptun-Diagramm in das CSV-Format exportiert und in einem S3-Bucket gespeichert. Es gibt zwei Arten von Dateien: nodes.csv
und edges.csv
. Eine Datei namens training-data-configuration.json
wird ebenfalls generiert, das über die Konfiguration verfügt, die für Neptune ML zum Durchführen des Modelltrainings erforderlich ist.
See Exportieren Sie Daten aus Neptune für Neptune ML um mehr zu erfahren.
-
Datenvorverarbeitung
Neptune ML führt die Merkmalsextraktion und -codierung als Teil der Datenverarbeitungsschritte durch. Zu den gängigen Arten der Eigenschaftsvorverarbeitung gehören: Codierung kategorialer Merkmale durch One-Hot-Codierung, Bucketing von numerischen Merkmalen oder Verwendung von word2vec zum Codieren einer Zeichenfolgeneigenschaft oder anderer Freiform-Texteigenschaftswerte.
In unserem Beispiel verwenden wir einfach die Eigenschaft „Interessen“. Neptune ML codiert die Werte als multikategorial. Wenn ein kategorialer Wert jedoch komplex ist (mehr als drei Wörter pro Knoten), leitet Neptune ML den Eigenschaftstyp als Text ab und verwendet die Codierung text_word2vec.
Verwenden Sie zum Ausführen der Datenvorverarbeitung den folgenden magischen Neptune-Befehl: %neptune_ml dataprocessing start
Am Ende dieses Schritts wird aus dem exportierten Datensatz ein DGL-Diagramm zur Verwendung durch den Modelltrainingsschritt generiert. Neptune ML optimiert das Modell automatisch mit Hyperparameter-Optimierungs-Tuning-Jobs, die in definiert sind training-data-configuration.json
. Wir können diese Datei herunterladen und ändern, um die Hyperparameter des Modells zu optimieren, wie z. B. Stapelgröße, Num-versteckt, Num-Epochen, Ausfall usw Beispiel einer configuration.json-Datei.
See Verarbeitung der aus Neptune exportierten Diagrammdaten für das Training um mehr zu erfahren.
-
Modelltraining
Der nächste Schritt ist das automatisierte Training des GNN-Modells. Die Modellausbildung erfolgt in zwei Stufen. Die erste Phase verwendet einen SageMaker Processing-Job, um eine Modelltrainingsstrategie zu generieren. Dies ist ein Konfigurationssatz, der angibt, welcher Modelltyp und welche Modellhyperparameterbereiche für das Modelltraining verwendet werden.
Dann wird ein SageMaker-Hyperparameter-Tuning-Job gestartet. Der SageMaker-Hyperparameter-Tuning-Optimierungsjob führt eine vordefinierte Anzahl von Modelltrainings-Job-Trials mit den verarbeiteten Daten durch, probiert verschiedene Hyperparameter-Kombinationen entsprechend aus model-hpo-configuration.json
-Datei und speichert die durch das Training generierten Modellartefakte am Amazon S3-Ausgabespeicherort.
Um den Trainingsschritt zu starten, können Sie die verwenden %neptune_ml training start
Befehl.
Sobald alle Trainingsjobs abgeschlossen sind, speichert der Hyperparameter-Tuning-Job die Artefakte aus dem Modell mit der besten Leistung, die für die Inferenz verwendet werden.
Am Ende des Trainings weist Neptune ML SageMaker an, das trainierte Modell, die für die Knoten und Kanten berechneten rohen Einbettungen und die Zuordnungsinformationen zwischen den Einbettungen und Knotenindizes zu speichern.
See Trainieren eines Modells mit Neptune ML um mehr zu erfahren.
-
Erstellen Sie einen Inferenzendpunkt in Amazon SageMaker
Nachdem die Diagrammdarstellung gelernt wurde, können wir das gelernte Modell hinter einem Endpunkt bereitstellen, um Inferenzanforderungen auszuführen. Die Modelleingabe ist der Benutzer, für den wir Freundesempfehlungen generieren müssen, zusammen mit dem Kantentyp, und die Ausgabe ist die Liste der wahrscheinlich empfohlenen Freunde für diesen Benutzer.
Um das Modell auf der SageMaker-Endpunktinstanz bereitzustellen, verwenden Sie die %neptune_ml endpoint create
Befehl.
-
Fragen Sie das ML-Modell mit Gremlin ab
Sobald der Endpunkt fertig ist, können wir ihn für Graph-Inferenzabfragen verwenden. Neptune ML unterstützt Graph-Inferenzabfragen in Gremlin oder SPARQL. In unserem Beispiel können wir nun die Freundesempfehlung mit Neptune ML auf User „Henry“ prüfen. Es erfordert fast die gleiche Syntax, um den Rand zu durchqueren, und es listet die anderen Benutzer auf, die über die FRIEND-Verbindung mit Henry verbunden sind.
Neptune#ml.prediction
gibt die durch Neptune ML-Vorhersagen bestimmte Verbindung zurück, indem das Modell verwendet wird, das wir gerade auf dem sozialen Graphen trainiert haben. Bill wird genau wie unsere Erwartung zurückgegeben.
Hier ist ein weiteres Beispiel für eine Vorhersageabfrage, die verwendet wird, um die acht wichtigsten Benutzer vorherzusagen, die am wahrscheinlichsten eine Verbindung zu Henry herstellen:
Die Ergebnisse sind von stärkerer Verbindung zu schwächerer Verbindung geordnet Henry — FRIEND — Colin and Henry — FRIEND — Terry
wird ebenfalls vorgeschlagen. Dieser Vorschlag basiert auf graphbasiertem ML, bei dem komplexe Interaktionsmuster auf Diagrammen untersucht werden können.
See Gremlin-Inferenzabfragen in Neptune ML um mehr zu erfahren.
Modelltransformation oder Neutraining, wenn sich Diagrammdaten ändern
Eine andere Frage, die Sie vielleicht stellen, ist: Was ist, wenn sich mein soziales Netzwerk ändert oder wenn ich Empfehlungen für neu hinzugefügte Benutzer abgeben möchte? In diesen Szenarien, in denen sich Diagramme ständig ändern, müssen Sie möglicherweise ML-Vorhersagen mit den neuesten Diagrammdaten aktualisieren. Die generierten Modellartefakte nach dem Training sind direkt mit dem Trainingsgraphen verknüpft. Dies bedeutet, dass der Inferenzendpunkt aktualisiert werden muss, sobald sich die Entitäten im ursprünglichen Trainingsdiagramm ändern.
Sie müssen jedoch nicht das gesamte Modell neu trainieren, um Vorhersagen für das aktualisierte Diagramm zu treffen. Bei einem inkrementellen Modellinferenzworkflow müssen Sie nur die Neptune-DB-Daten exportieren, eine inkrementelle Datenvorverarbeitung durchführen, einen Modellbatchtransformationsjob ausführen und dann den Inferenzendpunkt aktualisieren. Der Modelltransformationsschritt nimmt das trainierte Modell aus dem Hauptarbeitsablauf und die Ergebnisse des inkrementellen Datenvorverarbeitungsschritts als Eingaben. Dann gibt es ein neues Modellartefakt aus, das für die Inferenz verwendet werden kann. Dieses neue Modellartefakt wird aus den aktuellen Diagrammdaten erstellt.
Ein besonderer Fokus liegt hier auf dem Model-Transform Step-Befehl. Es kann Modellartefakte auf Diagrammdaten berechnen, die nicht für das Modelltraining verwendet wurden. Die Knoteneinbettungen werden neu berechnet und alle vorhandenen Knoteneinbettungen werden überschrieben. Neptune ML wendet den gelernten GNN-Encoder aus dem zuvor trainierten Modell auf die neuen Graphdatenknoten mit ihren neuen Funktionen an. Daher müssen die neuen Diagrammdaten unter Verwendung derselben Merkmalscodierungen verarbeitet werden und demselben Diagrammschema wie die ursprünglichen Diagrammdaten entsprechen. Weitere Details zur Implementierung von Neptune ML finden Sie unter Generieren neuer Modellartefakte.
Darüber hinaus können Sie das gesamte Modell neu trainieren, wenn sich der Graph dramatisch ändert oder wenn das zuvor trainierte Modell die zugrunde liegenden Wechselwirkungen nicht mehr genau darstellen konnte. In diesem Fall kann die Wiederverwendung der gelernten Modellparameter in einem neuen Diagramm keine ähnliche Modellleistung garantieren. Sie müssen Ihr Modell auf dem neuen Diagramm neu trainieren. Um die Suche nach Hyperparametern zu beschleunigen, kann Neptune ML die Informationen aus der vorherigen Modelltrainingsaufgabe mit Warmstart nutzen: Die Ergebnisse früherer Trainingsaufgaben werden verwendet, um gute Kombinationen von Hyperparametern für die Suche über die neue Optimierungsaufgabe auszuwählen.
See Workflows für den Umgang mit sich entwickelnden Diagrammdaten für weitere Informationen an.
Zusammenfassung
In diesem Beitrag haben Sie gesehen, wie Neptune ML und GNNs Ihnen dabei helfen können, mithilfe einer Linkvorhersageaufgabe Empfehlungen zu Diagrammdaten abzugeben, indem Informationen aus den komplexen Interaktionsmustern im Diagramm kombiniert werden.
Die Linkvorhersage ist eine Möglichkeit, ein Empfehlungssystem auf einem Diagramm zu implementieren. Sie können Ihren Recommender auf viele andere Arten konstruieren. Sie können die während des Linkvorhersagetrainings erlernten Einbettungen verwenden, um die Knoten auf unüberwachte Weise in verschiedene Segmente zu gruppieren und Elemente demjenigen zu empfehlen, der zum selben Segment gehört. Darüber hinaus können Sie die Einbettungen erhalten und als Eingabemerkmal in ein nachgelagertes ähnlichkeitsbasiertes Empfehlungssystem einspeisen. Jetzt kodiert diese zusätzliche Eingabefunktion auch die semantischen Informationen, die aus Graphen abgeleitet werden, und kann die Gesamtpräzision des Systems erheblich verbessern. Erfahren Sie mehr über Amazon Neptune ML, indem Sie die besuchen Website oder stellt gerne Fragen in den Kommentaren!
Über die Autoren
Yanwei Cui, PhD, ist Lösungsarchitekt für Machine Learning bei AWS. Er begann mit der Forschung zu maschinellem Lernen am IRISA (Research Institute of Computer Science and Random Systems) und verfügt über mehrere Jahre Erfahrung in der Entwicklung von industriellen Anwendungen mit künstlicher Intelligenz in den Bereichen Computer Vision, Verarbeitung natürlicher Sprache und Vorhersage des Online-Benutzerverhaltens. Bei AWS teilt er die Domänenexpertise und hilft Kunden, Geschäftspotenziale zu erschließen und mit maschinellem Lernen in großem Maßstab umsetzbare Ergebnisse zu erzielen. Außerhalb der Arbeit liest und reist er gerne.
Will Badr ist ein Principal AI/ML Specialist SA, der als Teil des globalen Amazon Machine Learning-Teams arbeitet. Will ist leidenschaftlich daran interessiert, Technologie auf innovative Weise einzusetzen, um die Gemeinschaft positiv zu beeinflussen. In seiner Freizeit geht er gerne tauchen, spielt Fußball und erkundet die pazifischen Inseln.
- '
- "
- 100
- 2020
- 7
- Über uns
- Nach
- Konto
- Zusatz
- Zusätzliche
- Algorithmus
- Algorithmen
- Alle
- bereits
- Amazon
- Amazon Machine Learning
- Amazon Sage Maker
- Apache
- Anwendungen
- künstlich
- künstliche Intelligenz
- Kunst
- Automatisiert
- AWS
- AWS re: Invent
- Anfang
- BESTE
- Bill
- Milliarde
- Schwarz
- bauen
- Building
- Geschäft
- Fälle
- Herausforderungen
- Einstufung
- Code
- gemeinsam
- community
- Komplex
- Berechnen
- Computerwissenschaften
- Computer Vision
- Computing
- Konfiguration
- Verbindung
- Verbindungen
- Konsul (Console)
- Inhalt
- konvergieren
- könnte
- Kunden
- technische Daten
- Datenwissenschaftler
- Datenspeichervorrichtung
- Datenbase
- Deal
- tiefe Lernen
- Entwickler:in / Unternehmen
- anders
- Entdeckung
- Abstand
- E-EINKAUF
- Edge
- Endpunkt
- Entwicklung
- Ingenieure
- etc
- Beispiel
- ERFAHRUNGEN
- Exploration
- exportieren
- Extraktion
- FAST
- Merkmal
- Eigenschaften
- Abbildung
- Vorname
- Setzen Sie mit Achtsamkeit
- unten stehende Formular
- Format
- Unser Ansatz
- Frei
- Freundschaft
- Funktion
- Games
- erzeugen
- Global
- gut
- Graph neuronale Netze
- groß
- Handling
- Hilfe
- hilft
- hier
- Ultraschall
- Hilfe
- HTTPS
- IAM
- Impact der HXNUMXO Observatorien
- Umsetzung
- Verbesserung
- Einschließlich
- Erhöhung
- Krankengymnastik
- industriell
- Information
- innovativ
- Intelligenz
- Interaktion
- Interessen
- IT
- Job
- Jobs
- Sprache
- Sprachen
- LERNEN
- gelernt
- lernen
- Hebelwirkung
- Bibliothek
- Line
- LINK
- Liste
- Listen
- Standorte
- suchen
- Nachschlagen
- Maschinelles Lernen
- Mitglieder
- Millisekunde
- ML
- Modell
- Musik
- Natürliche Sprache
- Verarbeitung natürlicher Sprache
- erforderlich
- Nachbarschaft
- Netzwerk
- Netzwerke
- Neural
- neuronale Netzwerk
- Neuronale Netze
- Neue Funktionen
- Fiber Node
- Laptops
- Online
- XNUMXh geöffnet
- Andere
- Pazifik
- Papier
- Personen
- Leistung
- Phase
- Plattformen
- Play
- Präzision
- Prognose
- Prognosen
- Gegenwart
- Principal
- Aufgabenstellung:
- Prozessdefinierung
- Produkte
- Profil
- fördern
- Resorts
- bietet
- die
- bietet
- Kauf
- Python
- Frage
- Angebot
- Roh
- Rohdaten
- RE
- Lesebrillen
- Regression
- Beziehungen
- ersetzen
- Forschungsprojekte
- Die Ergebnisse
- Umschulung
- Rückgabe
- Führen Sie
- sagemaker
- Skalieren
- Wissenschaft
- Suche
- kompensieren
- Teilen
- Shares
- ähnlich
- Einfacher
- klein
- Fußball
- Social Media
- sozialer Graph
- Social Network
- soziale Netzwerke
- Lösungen
- Raumfahrt
- Sports
- Stufe
- Normen
- Anfang
- begonnen
- Lagerung
- Läden
- Strategie
- ergänzen
- Unterstützt
- Umfrage
- System
- Systeme und Techniken
- Target
- Technologies
- Technologie
- Der Graph
- Durch
- Zeit
- Top
- Ausbildung
- Transformieren
- Transformation
- Aktualisierung
- us
- Nutzer
- Wert
- Seh-
- Was
- WHO
- weit
- Wikipedia
- ohne
- Worte
- Arbeiten
- Arbeitsablauf.
- Werk
- würde
- Jahr
- Zoom