{"id":4809,"date":"2023-05-19T14:44:34","date_gmt":"2023-05-19T14:44:34","guid":{"rendered":"https:\/\/lamarr-institute.org\/blog\/graph-attention-network\/"},"modified":"2025-11-12T14:51:36","modified_gmt":"2025-11-12T14:51:36","slug":"graph-attention-network","status":"publish","type":"blog","link":"https:\/\/lamarr-institute.org\/de\/blog\/graph-attention-network\/","title":{"rendered":"Automatische Klassifikation eines Publikationsnetzwerks mithilfe eines Graph Attention Networks"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In diesem Beitrag widmen wir uns zwei Themen, die in letzter Zeit h\u00e4ufig die Medien dominiert haben: Dies sind einerseits Neuronale Netze und K\u00fcnstliche Intelligenz (KI), andererseits soziale Medien, wie Facebook, X und Co.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Graph-strukturierte Daten mit neuronalen Netzen verarbeiten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f6chte man soziale Netzwerke mathematisch darstellen, so benutzt man h\u00e4ufig Graphen. Graphen sind ein Teilgebiet der diskreten Mathematik und theoretischen Informatik und bieten vielf\u00e4ltige M\u00f6glichkeiten verschiedene Daten darzustellen. Zum Beispiel k\u00f6nnen mit ihnen neben sozialen Netzen auch Telekommunikationsnetzwerke, chemische Verbindungen, wie Molek\u00fcle, oder Vernetzungen im Gehirn abgebildet werden. Ihre Einsatzm\u00f6glichkeiten sind also vielf\u00e4ltig.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um Graph-strukturierte Daten mit Neuronalen Netzen zu verarbeiten, ben\u00f6tigen wir ein auf diese Daten angepasstes Neuronales Netz. Das Graph Attention Network (GAT) basiert auf Grundlagen des Graph Neural Networks (GNN) sowie dessen Weiterentwicklungen, wie beispielsweise dem Graph Convolutional Network (GCN). Dabei wird versucht Informationen \u00fcber die einzelnen Knoten innerhalb des Graphen zu gewinnen und so ihre Eigenschaften zu erlernen, um sp\u00e4ter die Knoten automatisch kategorisieren zu k\u00f6nnen. Hierbei fallen die Eigenschaften aller Knoten in einer Nachbarschaft gleichwertig ins Gewicht. Dies ist jedoch nicht immer sinnvoll, da manche Knoten wichtiger in einer Beziehung sein k\u00f6nnen als andere. Um dies darzustellen, verwendet das Graph Attention Network die so genannte Attentional-Layer. Doch bevor wir zu der Theorie hinter dem Netz kommen, schauen wir uns zun\u00e4chst das Datenset an, auf dem wir lernen m\u00f6chten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ein Blick auf die Trainingsdatens\u00e4tze<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Soziale Netzwerke, wie Facebook und X, bestehen aus gigantischen Datenmengen und wachsen t\u00e4glich weiter. Die pers\u00f6nlichen Daten der Nutzerinnen und Nutzer sind gesch\u00fctzt und k\u00f6nnen nicht ohne weiteres verwendet werden. Deshalb werden wir stellvertretend einen kleineren Datensatz betrachten, um die Funktionsweise des GAT zu erl\u00e4utern. Hierf\u00fcr w\u00e4hlen wir die Publikationsnetzwerke Cora und CiteSeer. Beide Datens\u00e4tze werden h\u00e4ufig als Beispiele in der Literatur verwendet und bieten so die M\u00f6glichkeit die erzielten Ergebnisse untereinander zu vergleichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Datens\u00e4tze bestehen jeweils aus einem Graphen, der ein Publikationsnetzwerk repr\u00e4sentiert. Die Knoten des Graphen stehen f\u00fcr die Publikationen und die (ungerichteten) Kanten f\u00fcr die Zitierungen der jeweiligen Artikel untereinander. Jeder Knoten besitzt zus\u00e4tzlich noch einen Feature Vektor, der beschreibt, ob ein Wort aus einem gegebenen W\u00f6rterbuch in der Publikation enthalten ist (1) oder nicht (0). Des Weiteren werden die Knoten einer jeweiligen Klasse zugeordnet. Diese Klasse entspricht den verschiedenen Themengebieten der Ver\u00f6ffentlichungen. Es ergibt sich folgende Tabelle:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized wp-duotone-midnight\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/tabelle-1-1.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-27656\" style=\"width:464px;height:81px\" title=\"\"><figcaption class=\"wp-element-caption\">In Abbildung 1 ist ein Ausschnitt aus dem Datenset Cora dargestellt. Dieser zeigt die Verkn\u00fcpfungen (Kanten) einer Publikation (blauer Knoten) mit anderen Publikationen (rote Nachbar-Knoten).<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"645\" height=\"486\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Node-Example-1.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-16852\" title=\"\" srcset=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Node-Example-1.png 645w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Node-Example-1-300x226.png 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><figcaption class=\"wp-element-caption\">Abbildung 1: Graph-Ausschnitt aus Cora\n\n<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Alle dargestellten Kanten aus Abbildung 1 haben eine gleichstarke Verbindung zueinander. Dies bildet die Realit\u00e4t jedoch nicht immer zutreffend ab, weshalb wir wichtigen Kanten eine st\u00e4rkere Gewichtung geben m\u00f6chten und unwichtigen eine schw\u00e4chere. Dies f\u00fchrt uns direkt zum Neuronalen Netz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Das Graph Attention Network<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um die oben beschriebene variable Gewichtung in Zahlen auszudr\u00fccken, benutzen wir die so genannte Self-Attention Methode. Diese wird auch im Natural Language Processing (NLP) verwendet, also in der maschinellen Verarbeitung nat\u00fcrlicher Sprache, und beruht auf einem normalisierten Attention-Coefficient. Die Eingabe in das Graph Attention Network sind die verschiedenen Feature Vektoren. Die Ausgabe sind so genannte h\u00f6here Feature Vektoren, in unserem Fall die korrespondierenden Klassen der Knoten. Der Attention-Coefficient ergibt sich als Produkt aus den Feature Vektoren und der Gewichtsmatrix des Neuronalen Netzes. Um ihn vergleichbar innerhalb einer Nachbarschaft zu machen, muss der Koeffizient noch normiert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der beim Berechnen der Ausgabe des Netzes, dem Forward Pass, entstandene normalisierte Attention-Coefficient gibt uns nun einen numerischen Wert f\u00fcr die Wichtigkeit einer Knoten-Beziehung. Dieser Wert kann jedoch von Berechnung zu Berechnung variieren. Deshalb wollen wir ihn mehrmals berechnen, um eine m\u00f6glichst genaue Sch\u00e4tzung zu erhalten. Die Anzahl der Berechnungen wird Attention-Heads genannt. Die Ergebnisse eines einzelnen Heads werden miteinander verbunden, wenn wir uns in einer verdeckten Schicht des Netzes befinden. Dies m\u00fcssen wir bei der Gr\u00f6\u00dfe der Hidden-Layer (der verdeckten Neuronen-Schicht, die beim Lernen nicht beobachtbar ist,) ber\u00fccksichtigen. Die Anzahl der gew\u00fcnschten Neuronen muss dann mit der Anzahl der Attention-Heads multipliziert werden. In der finalen Output-Layer bilden wir den Durchschnitt der Ergebnisse der Attention-Heads. Da der Self-Attention Mechanismus keine Informationen \u00fcber die Struktur des Graphen selbst ben\u00f6tigt, kann das GAT auch f\u00fcr induktive Datensets verwendet werden, die w\u00e4hrend des Trainings unbeobachtet bleiben. Der Einfachheit halber beschr\u00e4nken wir uns in diesem Beispiel aber auf transduktive Datensets, die w\u00e4hrend des Trainings beobachtbar sind.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Training des Graph Attention Networks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Netz muss jetzt noch trainiert werden. W\u00fcrden wir das Netz nicht trainieren, so w\u00fcrden dessen Ausgaben wie in Abbildung 2 aussehen. Die Knoten w\u00fcrden willk\u00fcrlich und ohne eine erkennbare Struktur einer der Klassen zugeordnet werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/untrained_gat_output.jpg\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-27660\" title=\"\"><figcaption class=\"wp-element-caption\">Abbildung 2: Untrainierte Ausgabe des GAT\n\n<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Damit ein Auswendiglernen der Trainingsdaten beim Trainieren verhindert wird, benutzen wir einen Early-Stopping Mechanismus. Dieser sorgt daf\u00fcr, dass das Training beendet wird, falls das bisher besterreichte Validierungs-Ergebnis in einem vorgegebenen Zeitraum nicht \u00fcbertroffen wurde. Ist das Netz einmal trainiert, so erhalten wir beim Testen des Netzes die in Abbildung 3 dargestellte Ausgabe.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/trained_gat_output-1.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-27662\" title=\"\"><figcaption class=\"wp-element-caption\">Abbildung 3: Trainierte Ausgabe des GAT\n\n<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die verschiedenen Knoten wurden nun gr\u00f6\u00dftenteils richtig ihrer entsprechenden Klasse zugeordnet. Die durchschnittliche Genauigkeit der Klassifizierung des GATs bei 100 Durchl\u00e4ufen auf den verschiedenen Datens\u00e4tzen ist in folgender Tabelle dargestellt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-midnight\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/tabelle-2.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-27664\" title=\"\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zu erkennen ist, dass unser Modell auf dem Cora Datensatz ein besseres Ergebnis erzielt als bei CiteSeer. Ein Grund hierf\u00fcr ist unter anderem, dass CiteSeer Knoten enth\u00e4lt, die keine Nachbarn besitzen, wohingegen Cora nur Knoten mit einem Grad \u2265 1 besitzt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aussicht und Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir haben gezeigt, wie ein Graph Attention Network aufgebaut ist und angewendet werden kann. Dabei haben wir uns den normierten Attention-Coefficient zu Nutze gemacht, da dieser gezielt wichtige Knoten-Verbindungen in einem Graphen erlernen kann und so bessere Ergebnisse als herk\u00f6mmliche Methoden erzielt. Beispielhaft wurde das GAT auf den Datens\u00e4tzen Cora sowie CiteSeer trainiert und die Ergebnisse pr\u00e4sentiert. Da GATs auf induktiven Datens\u00e4tzen angewendet werden k\u00f6nnen, eignen sie sich auch zur Analyse von gro\u00dfen Graphen, die w\u00e4hrend des Trainings unbeobachtet bleiben, und beispielsweise in sozialen Netzwerken eingesetzt werden. Aus diesem Grund ist das Anwendungsgebiet f\u00fcr GATs besonders weitreichend, was sie neben der Forschung auch in der Industrie zu einem wichtigen Machine Learning Werkzeug macht.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Soziale Netzwerke sind heutzutage allgegenw\u00e4rtig. Doch wie k\u00f6nnen mit Hilfe von Neuronalen Netzen Informationen aus ihnen gewonnen werden? Um diese Frage zu beantworten, stellen wir das Graph Attention Network vor.<\/p>\n","protected":false},"author":9,"featured_media":4820,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog-category":[1416,390,732],"blog-tag":[1533,1558,1613],"class_list":["post-4809","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-alle-blogbeitraege","blog-category-grundlagen","blog-category-ml-classroom-de","blog-tag-klassifikation","blog-tag-neuronale-netze","blog-tag-trainingsdaten"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4809","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/users\/9"}],"version-history":[{"count":0,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4809\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media\/4820"}],"wp:attachment":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media?parent=4809"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-category?post=4809"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-tag?post=4809"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}