Bei der Ent­wick­lung von künst­li­chen In­tel­li­gen­zen ist der Lern­pro­zess ent­schei­dend. Machine Learning (und Deep Learning im Be­son­de­ren) wird ein­ge­setzt, um Al­go­rith­men zu trai­nie­ren und so der Software das ei­gen­stän­di­ge Denken bei­zu­brin­gen. Die Ge­sichts­er­ken­nung basiert bei­spiels­wei­se auf solchen Techniken. Basis von vielen Machine-Learning-Ansätzen sind künst­li­che neuronale Netze: Die Al­go­rith­men der Software werden als Netzwerk aus Kno­ten­punk­ten kon­zi­piert, wie man es vom mensch­li­chen Ner­ven­sys­tem kennt. Ein neuer Ansatz sind so­ge­nann­te Graph Neural Networks. Wie funk­tio­niert diese Technik?

Wie funk­tio­nie­ren Graph Neural Networks?

Graph Neural Networks (GNN) sind eine neue Unterform von künst­li­chen neu­ro­na­len Netzen (englisch: Ar­ti­fi­ci­al Neural Networks) auf der Basis von Graphen. Um GNNs zu verstehen, muss man also zunächst wissen, was in diesem Zu­sam­men­hang mit einem Graph gemeint ist. In der In­for­ma­tik versteht man unter dem Begriff einen be­stimm­ten Datentyp: Ein Graph besteht aus mehreren Punkten (Knoten oder vertices), die mit­ein­an­der in Ver­bin­dung stehen (über Ecken oder edges) und so Paare bilden. Als einfaches Beispiel: Person A und Person B können in einem Graph als Punkte rea­li­siert werden. Ihre Beziehung zu­ein­an­der ist dann die Ver­bin­dung. Würden die Ver­bin­dun­gen wegfallen, hätte man nur eine Sammlung von Personen, be­zie­hungs­wei­se von Daten.

Eine bekannte Unterform eines Graphen ist der Baum: Dort sind die Kno­ten­punk­te so mit­ein­an­der verbunden, dass es immer nur einen Pfad (auch über mehrere Kno­ten­punk­te hinweg) zwischen Punkt A und Punkt B gibt. Die Kanten können entweder eine Richtung oder keine Richtung haben. Bei einem Graphen sind die Ver­bin­dun­gen genauso wichtig wie die Daten selbst. Sowohl jede Kante als auch jeder Knoten können mit At­tri­bu­ten versehen werden.

Ein Graph ist also bestens geeignet, reale Ge­ge­ben­hei­ten dar­zu­stel­len. Genau das ist eine Her­aus­for­de­rung bei Deep Learning: na­tür­li­che Zustände für Software greifbar machen. Ein Graph Neural Network er­mög­licht genau das: In einem GNN sammeln Knoten In­for­ma­tio­nen von ihren Nachbarn, da die Knoten un­ter­ein­an­der re­gel­mä­ßig Nach­rich­ten aus­tau­schen. Auf diese Weise kann das Graph Neural Network lernen: In­for­ma­tio­nen werden wei­ter­ge­ge­ben und in die Ei­gen­schaf­ten des je­wei­li­gen Knotens auf­ge­nom­men.

Tipp

Sie möchten mehr über Graph Neural Networks erfahren und tiefer in die Materie ein­stei­gen? Das Natural Language Pro­ces­sing Lab der Tsinghua Uni­ver­si­ty hat bei GitHub eine um­fang­rei­che Zu­sam­men­stel­lung von wis­sen­schaft­li­chen Arbeiten zu dem Thema GNN ver­öf­fent­licht.

Wo werden Graph Neural Networks ein­ge­setzt?

Bisher befassen sich in erster Linie Wis­sen­schaft­li­cher mit den Mög­lich­kei­ten von Graph Neural Networks. Die vor­ge­schla­ge­nen Ein­satz­mög­lich­kei­ten sind aber viel­fäl­tig. Immer dann, wenn Si­tua­tio­nen oder Prozesse, bei denen Be­zie­hun­gen eine große Rolle spielen, über neuronale Netze ab­ge­bil­det werden sollen, ist der Einsatz von GNNs sinnvoll.

  • Fi­nanz­markt: Markt­pro­gno­sen können durch Ver­ständ­nis der Trans­ak­tio­nen zu­ver­läs­si­ger werden.
  • Such­ma­schi­nen: Für die Ein­schät­zung der Wich­tig­keit von Websites sind die Ver­bin­dun­gen der Seiten ent­schei­dend.
  • Soziale Netzwerke: Be­zie­hun­gen zwischen Menschen besser zu verstehen, kann helfen, Social Media zu op­ti­mie­ren.
  • Chemie: Die Zu­sam­men­set­zung von Molekülen lässt sich über Graphen abbilden und kann somit in GNNs über­tra­gen werden.
  • Wissen: Für die perfekte Be­reit­stel­lung von Wissen ist das Ver­ständ­nis der In­for­ma­ti­ons­ver­knüp­fun­gen ent­schei­dend.

Auch in der Bild- und Sprach­er­ken­nung werden Graph Neural Networks bereits ein­ge­setzt. Die un­struk­tu­rier­ten, na­tür­li­chen In­for­ma­tio­nen können durch ein GNN unter Umständen besser ver­ar­bei­tet werden als durch tra­di­tio­nel­le neuronale Netze.

Vor- und Nachteile von Graph Neural Networks

Graph Neural Networks helfen bei Her­aus­for­de­run­gen, die tra­di­tio­nel­le neuronale Netze bisher nur un­zu­rei­chend meistern konnten. Daten, die auf einem Graph basieren, ließen sich zuvor nicht korrekt be­ar­bei­ten, da die Ver­bin­dun­gen der Daten nicht aus­rei­chend gewichtet wurden. Bei GNNs sind die so­ge­nann­ten Kanten aber genauso wichtig wie die Kno­ten­punk­te selbst.

Andere Probleme, die neuronale Netze mit sich bringen, können aber auch durch Graph Neural Networks nicht gelöst werden. Besonders das Problem der Black Box dürfte bestehen bleiben: Es ist schwer zu verstehen, wie ein (Graph) Neural Network zu der finalen Ein­schät­zung gelangt, da man die intern ab­lau­fen­den Prozesse der komplexen Al­go­rith­men von außen kaum nach­voll­zie­hen kann.

Zum Hauptmenü