Graph Convolutional Networks: Liste der Anwendungen, die Sie kennen müssen
Veröffentlicht: 2020-11-24Convolutional Network ist eine Art neuronales Netzwerk. Neuronale Netze sind eine spezielle Art von Deep-Learning-Modellen. Typischerweise umfasst maschinelles Lernen oder Deep Learning aufgrund seiner komplizierten Aufgabe strenge und teure Algorithmen. In ähnlicher Weise sind Deep-Learning-Modelle auf Graphen noch komplizierter. Graph Convolutional Networks werden hauptsächlich zum Zwecke der Bildklassifizierung verwendet. Erfahren Sie mehr über Convolutional Neural Networks.
In den letzten zehn Jahren hat die Anwendung von Data Science enorm zugenommen. In dieser datenreichen Welt brachte der Lernmodellansatz großartige Ergebnisse und genaue Vorhersagen. Graphen sind für viele Informationssysteme nützlich.
Von biologischen Proteininteraktionen bis hin zu Internetkonnektivität und WorldWideWeb repräsentieren Graphen all diese Systeme. Außerdem ermöglicht die Implementierung neuronaler Netze durch eine grafische Struktur dem Computer, die Eigenschaften eines Bildes zu verstehen. Dieses Modell ist eine der fortschrittlichsten realen Anwendungen des Graphen. Lassen Sie uns diese Algorithmen im Detail diskutieren:
Inhaltsverzeichnis
Wie neuronale Netze aufgebaut sind
Neuronale Netze sind eine der fortschrittlichsten Techniken der Datenwissenschaft und des Deep Learning. Neuronale Netze sind in vielen Anwendungen nützlich, von der Börsenvorhersage über die Bildklassifizierung, Sprach- oder Zeichenerkennung bis hin zur Sequenzanalyse.
Das erste Konzept des Neuronalen Netzes entstand aus biologischen Perspektiven. Wissenschaftler führten Experimente durch, bei denen Sehnerven mit den Hörzentren des Gehirns verbunden sind. Schließlich lernte der Organismus auch durch das Hörzentrum des Gehirns zu sehen. Noch weitere Experimente bewiesen, dass jedes Gehirnzentrum jede Aktion ausführen konnte.
Ansätze begannen, das menschliche Gehirn nachzuahmen und Computeralgorithmen zu informieren. In ähnlicher Weise dachten Informatiker auch, dass es einen einzigen Algorithmus geben sollte, der in der Lage ist, alle Lernprobleme des Computergehirns zu lösen. So entstand das neuronale Netzwerk.

Ein neuronales Netzwerk besteht aus mehreren Schichten von Neuronen. Jedes Neuron ist typischerweise ein Graphknoten. Jedes Neuron jeder Schicht ist mit allen Neuronen der nächsten Schicht durch eine gewichtete Kante verbunden – die Gewichte der Kante wirken als Koeffizient der Schichtwertberechnung.
Durch Backpropagation ändern sich die Koeffizienten, um sie an das Modell mit Beispieltrainingsbeispielen anzupassen. Letztendlich liefert ein einzelnes Neuron aus der letzten Schicht die Ausgabe. In der folgenden Abbildung wird der Aufbau eines neuronalen Netzes erklärt.
Bildquelle
Lesen Sie: Verwenden von Convolutional Neural Network zur Bildklassifizierung
Graph Faltungsnetzwerke
Convolutional Networks sind dreidimensionale neuronale Netze. Die meisten praktischen Anwendungen von Convolutional Neural Networks umfassen die Bildklassifizierung und -erkennung, die Verarbeitung natürlicher Sprache und die Spracherkennung. Diese Modelle sind normalerweise komplexer als die üblichen zweidimensionalen neuronalen Netzwerkmodelle.
In dieser Architektur werden Schichten verschiedener Neuronen zusammengesetzt. Der Dimensionsparameter ist in verschiedenen Schichten variabel, damit das Modell Parameter erkennen kann. Bilder sind beispielsweise zweidimensional, und inzwischen spielt auch die Farbe jedes Punktes eine entscheidende Rolle. Somit ergeben sich drei unterschiedliche Parameter. Um mit solchen Komplexitäten fertig zu werden, spielen Conv Nets eine bedeutende Rolle.
Diese vielen 3D-Matrizen unterschiedlicher Dimensionen arbeiten auf mehreren Ebenen des neuronalen Netzwerks. Schließlich passt die 'z'-Dimension zum Ausgangsparameter des Netzwerks. Die Übermittlung von Informationen von einer Ebene zur anderen kann durch eine Vielzahl unterschiedlicher Algorithmen erfolgen.
Beispielsweise sind FC (Fully Connected), Pooling und ReLU einige wichtige Algorithmen in dieser Hinsicht.
Im Allgemeinen werden die Knotenwerte des neuronalen Netzes mit bezeichnet, wobei „l“ die Schichtnummer bezeichnet. Eine 0 ist also die Eingabematrix.
a 0 =X
Andererseits definiert der letzte Schichtknoten die Ausgabe. Angenommen, es gibt 'L'-Schichten. Daher bezeichnet ein L die Ausgabe des neuronalen Netzes.
ein L = Y
Bildquelle
Das obige Bild zeigt ein Convolutional Neural Network bei der Implementierung der Bildklassifizierung. Die Parameter werden für einen Hund, eine Katze, eine Fledermaus und einen Vogel eingestellt.
Der Knotenwert einer bestimmten internen Schicht wird durch vorherige Schichtwerte berechnet.

a l+1 = f( a l ,θ)
Hier ist die Adjazenzmatrix und f die definierende Funktion. Jede Graph-Faltungsnetzwerkschicht kann mit diesem Ausdruck geschrieben werden. Auf diese Weise funktioniert typischerweise ein Graph Convolutional Neural Network.
Anwendungen von Graph Convolutional Networks
- Graph Convolutional Networks generieren Vorhersagen über physikalische Systeme wie Graphen, deren interaktiven Ansatz und Anwendungen. GCN liefert auch genaue Informationen über die Eigenschaften realer Entitäten und physikalischer Systeme (Dynamik der Kollision, Flugbahnen von Objekten).
- GCNs werden verwendet, um Bildunterscheidungsprobleme durchzuführen. Das Modell, dem es folgt, ist als „Zero-Shot Learning“ bekannt. Das Hauptmotiv dieses Modells besteht darin, ein unbekanntes gekennzeichnetes Bild zu identifizieren und es in bekannte zu gruppieren. Sie sammeln auch semantische Informationen dieser Labels und kategorisieren sie.
- GCNs können eine bestimmte Länge von molekularen Fingerabdrücken als Input nehmen und vorhergesagte molekulare Strukturen erzeugen. MolGAN ist eine Art Graph Convolutional Network, das dabei hilft, neue molekulare Strukturen mit verschiedenen Merkmalen zu erstellen. Auf diese Weise ermöglicht es Wissenschaftlern, Tag für Tag moderne molekulare Strukturen zu erfinden.
- GCN ist für die Lösung verschiedener Probleme im Zusammenhang mit Forschungsoperationen und kombinatorischen Optimierungsanwendungen anwendbar. Graph Convolutional Networks spielen eine zentrale Rolle bei der Lösung von Verkäuferproblemen, quadratischen Zuordnungsproblemen und vielem mehr. Mit Hilfe des Eingabegraphen kann es traditionelle komplexe Algorithmen deklassieren.
Karate Club von Zachary
Eine weitere wichtige Anwendung von Graph Convolutional Networks ist die Lösung von Community-Vorhersageproblemen, wie z. B. Karate Club of Zachary. Dieses Problem beruht auf dem Streit zwischen dem Verwalter und dem Ausbilder des Vereins.
Wir müssen herausfinden, welche Seite jedes Mitglied des Karate-Clubs wählen würde. Dieses Problem wird durch die Verwendung von halbüberwachten Lerntechniken gelöst. Durch die Verwendung von nur zwei beschrifteten Knoten konnte Tobias Jepsen das Problem beheben und eine nahezu perfekte Genauigkeit bei der Vorhersage dieser beiden Gemeinschaften erreichen.
Lassen Sie uns nun einen Blick auf die folgenden Bilder werfen und Sie könnten einige Einblicke in das Problem des Karate-Clubs und seine korrekten Berechnungen mit Graph Convolutional Networks erhalten.

Bildquelle
Lesen Sie auch: Projektideen für neuronale Netzwerke
Einpacken
Wenn Sie diesen Artikel lesen, können Sie verstehen, was Graph Convolutional Networks sind, wie neuronale Netzwerke aufgebaut sind, eine kurze Vorstellung von GCN und seiner Funktionsweise sowie verschiedene entscheidende Aspekte und Anwendungen von GCN, einschließlich des Problems des Zachary Karate Club, erhalten.
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.
Welche Einschränkungen gibt es bei der Verwendung neuronaler Netze?
Der größte Nachteil bei der Verwendung neuronaler Netze zur Lösung eines Problems besteht darin, dass das Ergebnis nicht richtig erklärt wird, was für viele Benutzer schwierig sein könnte. Im Vergleich zu anderen maschinellen Lerntechniken benötigen neuronale Netze viel mehr Daten, um gut zu funktionieren. Ihre Berechnung kostet mehr als jeder andere herkömmliche Algorithmus für maschinelles Lernen. Von Grund auf kann das Training hochtiefer neuronaler Netze viele Wochen dauern.
Welches CNN-Modell gilt als optimal für die Bildklassifizierung?
Für die Bildklassifizierung wird bevorzugt VGG-16 verwendet, was für Very Deep Convolutional Networks for Large-Scale Image Recognition steht. Außerhalb von ImageNet übertrifft VGG, das als Deep CNN aufgebaut wurde, die Basislinien bei einer Vielzahl von Aufgaben und Datensätzen. Das einzigartige Merkmal des Modells besteht darin, dass bei der Entwicklung mehr Wert auf die Einbeziehung überlegener Faltungsschichten gelegt wurde, anstatt sich auf das Hinzufügen einer großen Anzahl von Hyperparametern zu konzentrieren. Es enthält insgesamt 16 Schichten, 5 Blöcke und eine maximale Pooling-Schicht für jeden Block, was es zu einem riesigen Netzwerk macht.
Warum ist es schwierig, CNNs auf Graphen auszuführen?
Aufgrund ihrer willkürlichen Größe ist es schwierig, CNNs auf Graphen auszuführen. Darüber hinaus gibt es im Graphen aufgrund seiner komplizierten Topologie keine räumliche Lokalität, was ein weiterer Grund ist, warum CNNs nicht in Graphen verwendet werden. In der Grafik werden GCNs für halbüberwachtes Lernen verwendet. Das grundlegende Prinzip des GCN besteht darin, einen gewichteten Durchschnitt aller Knotenattribute aller seiner Nachbarn (einschließlich sich selbst) zu nehmen, wobei Knoten niedrigeren Grades höhere Gewichte erhalten. Die generierten Merkmalsvektoren werden dann zum Training in ein neuronales Netzwerk eingespeist.