Was sind Graph Neural Networks? Erklärung & Anwendungen [mit Diagrammen]
Veröffentlicht: 2021-01-08Inhaltsverzeichnis
Einführung
In letzter Zeit haben neuronale Netze aufgrund ihrer Anwendung und Benutzerfreundlichkeit im Bereich der Mustererkennung und des Data Mining große Popularität erlangt. Die Anwendung von Deep Learning auf Aufgaben wie Objekterkennung und Spracherkennung unter Verwendung von Techniken wie CNN, RNN und Autoencodern hat viel Arbeit in die Forschung und Entwicklung von neuronalen Netzen gebracht.
Die Anwendung von Deep Learning auf Daten wie Bilder, Texte und Videos ist einfach durchzuführen, da sie auf euklidischen Daten basieren. Was ist mit den Anwendungen, bei denen Daten als Graphen (nicht euklidisch) mit hochkomplexen Beziehungen zwischen Objekten dargestellt werden?
Hier bringen wir das Konzept der Graph Neural Networks (GNN) ein. In diesem Artikel werden wir die Definitionen und Grundlagen von Graphen und GNNs durchgehen und einige der neuesten Anwendungen von Graph Neural Networks sehen.
Was ist ein Diagramm?
Aus dem Titel – Graph Neural Networks sehen wir, dass der grundlegendste Teil von GNN ein Graph ist.
In der Informatik wird ein Graph als eine Datenstruktur mit zwei Komponenten definiert. Ecken und Kanten. Ein Graph G kann als G = VE definiert werden. Wobei V die Menge der Scheitelpunkte und E die Kanten zwischen ihnen sind. Die Begriffe Scheitelpunkte und Knoten werden oft synonym verwendet. Wenn es eine Pfeilmarkierung an den Kanten gibt, die Richtungsabhängigkeit genannt wird, dann ist es ein gerichteter Graph. Wenn nicht, handelt es sich um ungerichtete Graphen.
Quelle

Ein Graph kann verschiedene Dinge darstellen – Social-Media-Netzwerk, Städtenetzwerk, Moleküle usw. Betrachten Sie den folgenden Graphen, der ein Städtenetzwerk darstellt. Die Städte werden als Knoten dargestellt und die sie verbindenden Straßen als Kanten.
Quelle
Mithilfe des obigen Diagrammnetzwerks können wir mehrere Probleme in Bezug auf diese Städte lösen, z. B. herausfinden, welche Städte gut miteinander verbunden sind, oder die kürzeste Entfernung zwischen zwei Städten finden.
Was sind Graph Neuronale Netze?
Da die Graphen eine extrem starke Ausdruckskraft haben, gewinnen sie im Bereich des maschinellen Lernens an Aufmerksamkeit. Jedem Knoten ist eine Einbettung zugeordnet. Diese Einbettung definiert den Knoten im Datenraum. Graph Neuronale Netze beziehen sich auf die neuronalen Netzarchitekturen, die auf einem Graphen arbeiten.
Das primäre Ziel einer GNN-Architektur ist es, eine Einbettung zu lernen, die Informationen über ihre Nachbarschaft enthält. Mit dieser Einbettung können wir mehrere Probleme lösen, z. B. das Beschriften des Knotens, die Vorhersage von Knoten und Kanten usw.
Mit anderen Worten, Graph Neural Networks sind eine zusätzliche Klasse von Deep-Learning-Methoden, die darauf ausgelegt sind, Rückschlüsse auf Daten zu ziehen, die durch Graphen gegeben sind. Sie werden auf Diagramme angewendet und können problemlos Vorhersageaufgaben auf Knoten-, Kanten- und Diagrammebene ausführen.
Warum nicht CNN?
Der Hauptvorteil von GNN besteht darin, dass es Aufgaben ausführen kann, die Convolutional Neural Networks (CNN) nicht ausführen konnten. CNNs werden verwendet, um Aufgaben wie Objekterkennung, Bildklassifizierung und -erkennung auszuführen. CNN erreicht dies mithilfe von versteckten Convolutional Layers und Pooling Layers.
Es ist rechnerisch schwierig, CNN auf Diagrammdaten durchzuführen, da es sich um eine höchst willkürliche und komplexe Topologie handelt, was bedeutet, dass es keine räumliche Lokalität gibt. Außerdem gibt es eine nicht festgelegte Knotenreihenfolge, die die Anwendung von CNN erschwert.
Graph neuronale Netze
Es versteht sich daher, dass GNN, wie es genannt wird, ein neuronales Netzwerk ist, das direkt auf Graphen angewendet wird und einen bequemen Weg für Vorhersageaufgaben auf Kantenebene, Knotenebene und Graphebene bietet. Es gibt hauptsächlich drei Arten von Graph Neural Networks:
- Wiederkehrendes Graph Neurales Netzwerk
- Spatial Convolutional Network
- Spektrales Faltungsnetzwerk
Eine der Intuitionen von GNN ist, dass die Knoten durch ihre Nachbarn und Verbindungen definiert werden. Wir können es uns vorstellen, indem wir uns vorstellen, dass, wenn alle Nachbarn eines Knotens entfernt werden, der Knoten alle seine Informationen verliert. Somit definieren das Konzept der Nachbarn eines Knotens und Verbindungen zu Nachbarn einen Knoten.
Lassen Sie uns vor diesem Hintergrund jedem Knoten einen Zustand (x) geben, um sein Konzept darzustellen. Wir können den Knotenzustand (x) verwenden, um eine Ausgabe (o) zu erzeugen, die die Entscheidung über das Konzept darstellt. Der Endzustand (x_n) des Knotens wird als „Knoteneinbettung“ bezeichnet. Die Hauptaufgabe aller Graph Neural Networks besteht darin, die „Knoteneinbettung“ jedes Knotens zu bestimmen, indem die Informationen zu seinen Nachbarknoten betrachtet werden.
Beginnen wir mit der leistungsstärksten Version von GNN, Recurrent Graph Neural Network oder RecGNN
Wiederkehrendes Graph Neurales Netzwerk
Wie in der Originalarbeit erwähnt, wird RecGNN mit einer Annahme des Banach-Fixpunktsatzes erstellt, der besagt, dass: (X,d) ein vollständiger metrischer Raum und (T:X→X) eine Kontraktionsabbildung sein soll. Dann hat T einen eindeutigen Fixpunkt (x∗) und für jedes x∈X konvergiert die Folge T_n(x) für n→∞ gegen (x∗). Das heißt, wenn ich die Abbildung T k mal auf x anwende, sollte x^k fast gleich x^(k-1) sein.
Spatial Convolutional Network
Die Intuition von Spatial Convolutional Network ähnelt der von CNN. Wie wir bei CNN wissen, besteht die Idee darin, eine Faltung durchzuführen, indem die benachbarten Pixel mit einem Filter und lernbaren Gewichten um ein zentrales Pixel summiert werden. Spatial Convolutional Networks verfolgen eine ähnliche Idee, indem sie die Merkmale benachbarter Knoten zum zentralen Knoten aggregieren.

Quelle
Spektrales Faltungsnetzwerk
Im Gegensatz zu anderen Graph Neural Networks hat diese Art von GNN eine starke mathematische Grundlage. Es basiert auf der Theorie der Graph-Signalverarbeitung. Es verwendet Chebyshev-Polynomnäherung zur Vereinfachung.
Was kann ein GNN tun?
Die Probleme, die ein GNN lösen kann, lassen sich grob in 3 Kategorien einteilen:
- Knotenklassifizierung
- Link-Vorhersage
- Graph-Klassifizierung
Knotenklassifizierung
beinhaltet die Vorhersage der Knoteneinbettung für jeden Knoten in einem Graphen. In solchen Fällen wird nur ein Teil des Graphen beschriftet und daher als halbüberwachter Graph bezeichnet. Einige Anwendungen sind YouTube-Videos, Facebook-Freundesempfehlung usw.
Link-Vorhersage
Die Hauptaufgabe besteht darin, die Beziehung zwischen zwei Entitäten in einem Diagramm zu identifizieren und vorherzusagen, ob es eine Verbindung zwischen den beiden Entitäten gibt. Stellen Sie sich beispielsweise ein Empfehlungssystem vor, bei dem ein Modell eine Reihe von Bewertungen von Benutzern verschiedener Produkte erhält. Die Aufgabe besteht darin, die Vorlieben der Benutzer vorherzusagen und das Empfehlungssystem so einzustellen, dass Produkte beworben werden, die den Interessen der Benutzer entsprechen.
Graph-Klassifizierung
beinhaltet die Klassifizierung des gesamten Diagramms in mehrere verschiedene Kategorien. Es ist der Bildklassifizierungsaufgabe ziemlich ähnlich, aber das Ziel liegt hier im Graphenbereich. Es gibt mehrere Beispiele für die Graph-Klassifizierung, z. B. in der Chemie, wo einem Modell eine molekulare Struktur in Form eines Graphen gegeben wird und die Aufgabe darin besteht, das Ziel in eine bestimmte Kategorie einzuordnen.
Echtzeitanwendungen von GNN
Seit seiner Einführung im Jahr 2018 haben GNNs eine ganze Reihe von Echtzeitanwendungen gefunden, die im Folgenden zusammengefasst sind.
Verarbeitung natürlicher Sprache
GNN findet seine Anwendung in einer Vielzahl von NLP-Anwendungen wie Stimmungsklassifizierung, Textklassifizierung, Sequenzkennzeichnung. Sie werden im NLP wegen ihrer einfachen Anwendung verwendet. Sie werden auch in der Analyse sozialer Netzwerke verwendet, z. B. zur Vorhersage ähnlicher Beiträge und zur Empfehlung bestimmter Inhalte für Benutzer.
Computer Vision
Computer Vision ist ein weites Feld, das mit Hilfe von Deep Learning in Bereichen wie Bildklassifizierung, Objekterkennung usw. schnell gewachsen ist. Die beliebteste Anwendung sind Convolutional Neural Networks. In letzter Zeit wurden GNNs auch in diesem Bereich angewendet. Obwohl sich die Anwendung von GNN in Computer Vision noch in den Anfängen befindet, zeigt sie in den kommenden Jahren ein enormes Potenzial.

Wissenschaft
GNNs werden auch häufig in der Wissenschaft verwendet, beispielsweise in den Physiksystemen, der Vorhersage von Nebenwirkungen und der Klassifizierung von Krankheiten. Chemiker verwenden GNNs auch, um die Graphstruktur von Verbindungen und Molekülen zu untersuchen.
Andere Domänen
Die Anwendung von GNN beschränkt sich nicht nur auf die oben genannten Aufgaben. Es gab mehrere Versuche zur Anwendung von GNN auf eine Vielzahl von Domänen wie Empfehlungssysteme, Analyse sozialer Netzwerke usw.
Fazit
In den letzten Jahren, seit GNNs eingeführt wurden, haben sie sich zu einem starken und zuverlässigen Werkzeug zur Lösung von Problemen entwickelt, die durch Graphen modelliert werden können. Dies liegt an seiner Flexibilität, Ausdruckskraft und einfachen Visualisierung. Somit sind GNNs eine intuitive Lösung für unstrukturierte Daten mit einer breiten Palette von realen Anwendungen.
Wenn Sie mehr über GCN und seine Funktionen und Vorteile erfahren möchten, registrieren Sie sich bei upGrad Education Pvt. Ltd. und den Postgraduierten- und Diplomkurs des IIITB zu maschinellem Lernen und künstlicher Intelligenz. Dieser Kurs zu maschinellem Lernen und KI richtet sich an Studenten und Berufstätige.
Der Kurs bietet eine Sammlung von Fallstudien und Aufgaben, Branchen-Mentoring-Sitzungen, IIIT Bangalore Alumni-Status, Unterstützung bei der Stellenvermittlung bei Top-Unternehmen und vor allem eine reichhaltige Lernerfahrung.
Was meinst du mit neuronalem Netzwerk?
Neuronale Netze sind Netzwerkalgorithmen, die dabei helfen, Muster zu erkennen und sind dem menschlichen Gehirn nachempfunden. Sie nutzen maschinelles Lernen und künstliche Intelligenz, um sensorische Eingaben zu verstehen und Rohdaten zu kategorisieren oder zu gruppieren. Alle realen Statistiken, ob Bilder, Musik, Text oder Zeitreihen, sollten in die Zeichen übersetzt werden, die das neuronale Netzwerk erkennt, die numerisch und in Vektoren kodiert sind. Sie helfen bei der Klassifizierung und Gruppierung von Daten. Sie kategorisieren Daten, wenn sie einen beschrifteten Datensatz haben, und sie helfen, unbeschriftete Daten basierend auf Ähnlichkeiten zwischen den Beispieleingaben zu gruppieren. Sie sind Teil umfangreicherer maschineller Lernanwendungen, die Algorithmen für Verstärkungslernen, Vielfalt und Regression umfassen.
Was ist ein Convolutional Neural Network?
Ein Convolutional Neural Network, auch bekannt als CNN oder ConvNet, ist eine Technik, die ein Eingabebild aufnehmen und verschiedenen Elementen im Bild Priorität einräumen sowie zwischen ihnen unterscheiden kann. Der von einem CNN benötigte Verarbeitungsaufwand ist deutlich geringer als bei anderen Algorithmen. CNN wurde mit Hilfe des visuellen Kortex entwickelt und hat ein ähnliches Muster wie die Neuronen in unserem Gehirn. Selbst bei CNN können einzelne Neuronen nur auf Impulse in einem kleinen Bereich des Gesichtsfeldes, dem sogenannten rezeptiven Feld, reagieren.
Wie unterscheiden sich neuronale Netze von maschinellem Lernen?
Maschinelles Lernen ist eine Reihe leistungsstarker Algorithmen, die Daten analysieren, daraus studieren und das Gelernte anwenden, um faszinierende Muster zu finden. Ein neuronales Netzwerk hingegen ist ein Cluster von Techniken, die beim maschinellen Lernen verwendet werden, um Daten mithilfe von Graphen von Neuronen zu modellieren. Ein neuronales Netzwerk ordnet Algorithmen so an, dass es selbst zuverlässige Urteile fällen kann, während ein maschinelles Lernmodell Entscheidungen auf der Grundlage dessen trifft, was es aus den Daten gelernt hat. Infolgedessen können Modelle für maschinelles Lernen zwar aus Daten lernen, sie erfordern jedoch möglicherweise in den frühen Stadien eine gewisse menschliche Interaktion. Neuronale Netze erfordern keine menschliche Interaktion, da die gestapelten Schichten in ihnen Eingaben durch Hierarchien unterschiedlicher Konzepte übermitteln und es ihnen ermöglichen, aus ihren eigenen Fehlern zu lernen.