Was sind Graph Neural Networks (GNN)?

Die Die Transform Technology Summits beginnen am 13. Oktober mit Low-Code/No Code: Enabling Enterprise Agility. Jetzt registrieren!


Grafiken sind überall um uns herum. Ihr soziales Netzwerk ist ein Diagramm von Personen und Beziehungen. Ihre Familie auch. Die Straßen, die Sie nehmen, um von Punkt A nach Punkt B zu gelangen, bilden ein Diagramm. Die Links, die diese Webseite mit anderen verbinden, bilden ein Diagramm. Wenn Ihr Arbeitgeber Sie bezahlt, wird Ihre Zahlung durch ein Diagramm von Finanzinstituten geleitet.

Grundsätzlich kann alles, was aus verknüpften Entitäten besteht, als Graph dargestellt werden. Grafiken sind ausgezeichnete Werkzeuge, um Beziehungen zwischen Personen, Objekten und Konzepten zu visualisieren. Neben der Visualisierung von Informationen können Diagramme jedoch auch gute Datenquellen sein, um Modelle des maschinellen Lernens für komplizierte Aufgaben zu trainieren.

Graph Neural Networks (GNN) sind eine Art maschineller Lernalgorithmus, der wichtige Informationen aus Graphen extrahieren und nützliche Vorhersagen treffen kann. Da Grafiken immer durchdringender und reicher an Informationen werden und künstliche neuronale Netze immer stärker werden beliebter und leistungsfähiger, GNNs sind zu einem leistungsstarken Werkzeug für viele wichtige Anwendungen geworden.

Transformieren von Graphen für die Verarbeitung in neuronalen Netzwerken

Ein Bild von miteinander verbundenen Knoten vor einem Marmorhintergrund.

Jeder Graph besteht aus Knoten und Kanten. In einem sozialen Netzwerk können Knoten beispielsweise Benutzer und deren Eigenschaften (zB Name, Geschlecht, Alter, Stadt) darstellen, während Kanten die Beziehungen zwischen den Benutzern darstellen können. Ein komplexerer sozialer Graph kann andere Arten von Knoten enthalten, wie Städte, Sportmannschaften, Nachrichtenagenturen sowie Kanten, die die Beziehungen zwischen den Benutzern und diesen Knoten beschreiben.

Leider ist die Graphstruktur für maschinelles Lernen nicht gut geeignet. Neuronale Netze erwarten, ihre Daten in einem einheitlichen Format zu erhalten. Mehrschichtige Perzeptrone erwarten eine feste Anzahl von Eingabemerkmalen. Convolutional neuronale Netze erwarten ein Raster, das die verschiedenen Dimensionen der von ihnen verarbeiteten Daten repräsentiert (zB Breite, Höhe und Farbkanäle von Bildern).

Graphen können in verschiedenen Strukturen und Größen vorliegen, was nicht den rechteckigen Arrays entspricht, die neuronale Netzwerke erwarten. Graphen haben auch andere Eigenschaften, die sie von der Informationsart unterscheiden, für die klassische neuronale Netze entwickelt wurden. Graphen sind beispielsweise „permutationsinvariant“, was bedeutet, dass das Ändern der Reihenfolge und Position von Knoten keinen Unterschied macht, solange ihre Beziehungen gleich bleiben. Im Gegensatz dazu führt eine Änderung der Pixelreihenfolge zu einem anderen Bild und führt dazu, dass sich das neuronale Netzwerk, das sie verarbeitet, anders verhält.

Um Graphen für Deep-Learning-Algorithmen nützlich zu machen, müssen ihre Daten in ein Format umgewandelt werden, das von einem neuronalen Netzwerk verarbeitet werden kann. Die Art der Formatierung, die zur Darstellung von Diagrammdaten verwendet wird, kann je nach Art des Diagramms und der beabsichtigten Anwendung variieren, aber im Allgemeinen besteht der Schlüssel darin, die Informationen als eine Reihe von Matrizen darzustellen.

Eine Reihe von Bildern vor einem körnigen, sandfarbenen Hintergrund.  Die erste ist eine Reihe von Personenprofilen, die durch Knoten miteinander verbunden sind.  Die nächsten sind zwei Grafiken mit einer Reihe von Vornamen von Personen und grundlegenden biografischen Informationen.

Betrachten Sie beispielsweise ein Diagramm eines sozialen Netzwerks. Die Knoten können als Tabelle mit Benutzermerkmalen dargestellt werden. Die Knotentabelle, in der jede Zeile Informationen über eine Entität enthält (z. B. Benutzer, Kunde, Banktransaktion), ist die Art von Informationen, die Sie einem normalen neuronalen Netzwerk bereitstellen würden.

Aber Graph neuronale Netze kann auch aus anderen Informationen lernen, die das Diagramm enthält. Die Kanten, die Linien, die die Knoten verbinden, können auf die gleiche Weise dargestellt werden, wobei jede Zeile die IDs der Benutzer und zusätzliche Informationen wie das Datum der Freundschaft, die Art der Beziehung usw. enthält. Schließlich die allgemeine Konnektivität des Graphen kann als Adjazenzmatrix dargestellt werden, die zeigt, welche Knoten miteinander verbunden sind.

Wenn dem neuronalen Netz all diese Informationen zur Verfügung gestellt werden, kann es Muster und Erkenntnisse extrahieren, die über die einfachen Informationen in den einzelnen Komponenten des Graphen hinausgehen.

Grafikeinbettungen

Drei Bilder stellten gegen einen blauen Marmorhintergrund ein.  Die erste: eine Reihe von Grafiken mit den Namen und persönlichen Informationen der Benutzer.  Zweites Bild: Balkendiagramm mit dem Titel "Einbetten von Grafiken." Drittes Bild: eine Tabelle mit Benutzern und Zahlen mit dem Titel "Einbettungen von Grafiken."

Neuronale Graphennetze können wie jedes andere neuronale Netz erstellt werden, indem vollständig verbundene Schichten, Faltungsschichten, Pooling-Schichten usw. verwendet werden. Die Art und Anzahl der Schichten hängt von der Art und Komplexität der Graphdaten und der gewünschten Ausgabe ab.

Das GNN empfängt die formatierten Graphdaten als Eingabe und erzeugt einen Vektor numerischer Werte, die relevante Informationen über Knoten und deren Beziehungen darstellen.

Diese Vektordarstellung wird als „Grapheneinbettung“ bezeichnet. Einbettungen werden im maschinellen Lernen häufig verwendet, um komplizierte Informationen in eine differenzierbare und erlernbare Struktur zu überführen. Zum Beispiel verwenden Verarbeitungssysteme für natürliche Sprache Worteinbettungen, um numerische Darstellungen von Wörtern und ihren Beziehungen miteinander zu erzeugen.

Wie erstellt das GNN die Grapheneinbettung? Wenn die Graphdaten an das GNN übergeben werden, werden die Merkmale jedes Knotens mit denen seiner Nachbarknoten kombiniert. Dies wird als „Nachrichtenübermittlung“ bezeichnet. Wenn das GNN aus mehr als einer Schicht besteht, wiederholen die nachfolgenden Schichten die Message-Passing-Operation, sammeln Daten von Nachbarn von Nachbarn und aggregieren sie mit den Werten der vorherigen Schicht. In einem sozialen Netzwerk würde die erste Schicht des GNN beispielsweise die Daten des Benutzers mit denen seiner Freunde kombinieren, und die nächste Schicht würde Daten von Freunden von Freunden usw. hinzufügen. Schließlich erzeugt die Ausgabeschicht des GNN die Einbettung, bei der es sich um eine Vektordarstellung der Daten des Knotens und seiner Kenntnis anderer Knoten im Graphen handelt.

Interessanterweise ähnelt dieser Prozess sehr dem, wie konvolutionelle neuronale Netze Merkmale aus Pixeldaten extrahieren. Dementsprechend ist eine sehr beliebte GNN-Architektur das Graph Convolutional Neural Network (GCN), das Faltungsschichten verwendet, um Grapheinbettungen zu erstellen.

Anwendungen graphischer neuronaler Netze

Ein Bild von drei separaten neuronalen Netzen vor einem grauen Hintergrund.

Sobald Sie über ein neuronales Netzwerk verfügen, das die Einbettungen eines Graphen lernen kann, können Sie damit verschiedene Aufgaben ausführen.

Hier sind einige Anwendungen für graphische neuronale Netze:

Knotenklassifizierung: Eine der leistungsstarken Anwendungen von GNNs ist das Hinzufügen neuer Informationen zu Knoten oder das Füllen von Lücken, in denen Informationen fehlen. Angenommen, Sie betreiben ein soziales Netzwerk und haben einige Bot-Konten entdeckt. Nun möchten Sie herausfinden, ob sich in Ihrem Netzwerk weitere Bot-Accounts befinden. Sie können einem GNN beibringen, andere Benutzer im sozialen Netzwerk als „Bot“ oder „Nicht-Bot“ zu klassifizieren, basierend darauf, wie nahe ihre Grapheneinbettungen denen der bekannten Bots sind.

Kantenvorhersage: Eine andere Möglichkeit, GNNs zu verwenden, besteht darin, neue Kanten zu finden, die dem Graphen einen Mehrwert verleihen können. Zurück zu unserem sozialen Netzwerk, ein GNN kann Benutzer (Knoten) finden, die sich in Ihrer Nähe im eingebetteten Raum befinden, aber noch nicht Ihre Freunde sind (dh es gibt keine Kante, die Sie miteinander verbindet). Diese Benutzer können Ihnen dann als Freundesvorschläge vorgestellt werden.

Clustering: GNNs können aus Graphen neue strukturelle Informationen gewinnen. In einem sozialen Netzwerk, in dem jeder auf die eine oder andere Weise mit anderen verbunden ist (durch Freunde oder Freunde von Freunden usw.), kann das GNN beispielsweise Knoten finden, die Cluster im Einbettungsraum bilden. Diese Cluster können auf Benutzergruppen verweisen, die ähnliche Interessen, Aktivitäten oder andere unauffällige Merkmale teilen, unabhängig davon, wie eng ihre Beziehungen sind. Clustering ist eines der wichtigsten Werkzeuge im auf maschinellem Lernen basierenden Marketing.

Graphische neuronale Netze sind sehr mächtige Werkzeuge. Sie haben bereits leistungsstarke Anwendungen in Bereichen wie Routenplanung, Betrugserkennung, Netzwerkoptimierung und Arzneimittelforschung gefunden. Überall dort, wo ein Diagramm verwandter Entitäten vorhanden ist, können GNNs dazu beitragen, den größtmöglichen Nutzen aus den vorhandenen Daten zu ziehen.

Ben Dickson ist Software-Ingenieur und Gründer von TechTalks. Er schreibt über Technik, Wirtschaft und Politik.

Diese Geschichte erschien ursprünglich auf bdtechtalks.com. Copyright 2021

VentureBeat

Die Mission von VentureBeat ist es, ein digitaler Marktplatz für technische Entscheidungsträger zu sein, um Wissen über transformative Technologien und Transaktionen zu erlangen. Unsere Website bietet wichtige Informationen zu Datentechnologien und -strategien, die Sie bei der Führung Ihrer Organisationen unterstützen. Wir laden Sie ein, Mitglied unserer Community zu werden, um Zugang zu erhalten:
  • aktuelle Informationen zu den für Sie interessanten Themen
  • unsere Newsletter
  • geschlossene Vordenker-Inhalte und ermäßigter Zugang zu unseren preisgekrönten Veranstaltungen, wie z Transformieren 2021: Erfahren Sie mehr
  • Netzwerkfunktionen und mehr
Mitglied werden

Source: VentureBeat by feedproxy.google.com.

*The article has been translated based on the content of VentureBeat by feedproxy.google.com. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!