-
GEBIET
-
Aspekte der vorliegenden Offenbarung beziehen sich allgemein auf künstliche Intelligenz und insbesondere auf die Erzeugung von Trainingsdaten für ein graphneuronales Netzwerkmodell (GNN-Modell).
-
HINTERGRUND
-
Graphdaten werden in vielen realen Anwendungen eingesetzt, etwa in sozialen Netzwerken, biologischen Netzwerken, Zitationsnetzwerken, Empfehlungssystemen, Finanzsystemen usw. Die Knotenklassifizierung ist eine der wichtigsten Aufgaben bei Graphen. Das Deep-Learning-Modell für Graphen wie das GNN-Modell hat gute Ergebnisse bei der Aufgabe der Knotenklassifizierung im Graphen erreicht. Bei einem Graphen mit Kennungen, die einer Teilmenge von Knoten zugeordnet sind, kann das GNN-Modell die Kennungen für die übrigen Knoten vorhersagen.
-
Einige Studien haben gezeigt, dass bestimmte Techniken verwendet werden können, um das GNN-Modell zu täuschen, um Knoten eines Graphen falsch zu klassifizieren. Solche Techniken können als Adversarial Attack (feindlicher Angriff) bezeichnet werden. Ein betrügerischer Benutzer, der durch einen Knoten in einem Finanznetzwerk, einem sozialen Netzwerk oder dergleichen dargestellt wird, kann zum Beispiel im Rahmen der Adversarial Attack durch das GNN-Modell als kreditwürdiger Benutzer klassifiziert werden. Die Fehlklassifizierung des GNN-Modells für eine bestimmte Anwendung kann zu einer böswilligen Aktion führen.
-
Abhängig von den Phasen, in denen Adversarial Attacks stattfinden, kann die Adversial Attack eine Evasion Attack (Ausweichangriff) in der Phase des Modelltests und eine Poisoning Attack (Vergiftungsangriff) in der Phase des Modelltrainings enthalten. Eine Poisoning Attack versucht, die Leistung des Modells durch Hinzufügen unerwünschter Proben in den Trainingsdatensatz zu beeinflussen. Eine Evasion Attack verändert nur die Testdaten, was kein erneutes Trainieren des Modells erfordert.
-
Abhängig von den verfügbaren Informationen über das GNN-Modell kann die Adversarial Attack eine White-Box-Attack, eine Grey-Box-Attack und eine Black-Box-Attack enthalten. Bei einer White-Box-Attack kann ein Angreifer alle Informationen über das GNN-Modell erhalten und diese nutzen, um das System anzugreifen. Der Angriff wird möglicherweise nicht funktionieren, wenn der Angreifer das System nicht zuerst vollständig überwindet. Bei einer Grey-Box-Attack kann ein Angreifer begrenzte Informationen zum Angreifen des Systems erhalten. Im Vergleich zur White-Box-Attack ist dies für das System gefährlicher, da der Angreifer nur Teilinformationen benötigt. Bei einer Black-Box-Attack kann ein Angreifer nur Black-Box-Abfragen bei einigen der Proben durchführen. Daher kann der Angreifer in der Regel keine Poisoning-Attack auf das trainierte Modell sondern nur eine Evasion-Attack auf das trainierte Modell durchführen. Sollte die Black-Box-Attack jedoch erfolgreich sein, wäre dies im Vergleich zu den anderen beiden der gefährlichste Angriff, da er in der realen Situation besser anwendbar ist.
-
Es besteht Verbesserungsbedarf, um die Zuverlässigkeit des GNN-Modells gegenüber Adversarial-Attacks, insbesondere Black-Box-Attacks, zu verbessern.
-
KURZDARSTELLUNG
-
Ein effektiver Weg für die Verbesserung der Zuverlässigkeit des GNN-Modells gegenüber Adversarial-Attacks besteht darin, Adversarial-Beispiele für das GNN-Modell zu finden und das GNN-Modell unter Verwendung der Adversarial-Beispiele zu trainieren.
-
Wenn die Adversarial-Beispiele für das GNN-Modell auf eine Weise gefunden werden können, die einer realen Situation besser entspricht, wird das mit den Adversarial-Beispielen trainierte GNN-Modell eine bessere Angriffsabwehr bieten und in einer realen Situation zuverlässiger sein.
-
Gemäß einer Ausführungsform ist ein Verfahren zur Erzeugung von Adversarial-Beispielen für ein graphneuronales Netzwerkmodell (GNN-Modell) vorgesehen. Das Verfahren umfasst: Ermitteln von anfälligen Merkmalen von Zielknoten in einem Graphen basierend auf dem Abfragen des GNN-Modells, wobei der Graph Knoten einschließlich der Zielknoten und Kanten umfasst, wobei jede der Kanten zwei der Knoten verbindet; Gruppieren der Zielknoten in eine Vielzahl von Clustern gemäß den anfälligen Merkmalen der Zielknoten; und Erhalten der Adversarial-Beispiele basierend auf der Vielzahl von Clustern.
-
Gemäß einer Ausführungsform ist ein Verfahren zum Trainieren eines GNN-Modells vorgesehen. Das Verfahren umfasst: Erhalten von Adversarial-Beispielen für das GNN-Modell; Festlegen einer Kennung für jedes der Adversarial-Beispiele; und Trainieren des GNN-Modells unter Verwendung der Adversarial-Beispiele mit den Kennungen.
-
Gemäß einer Ausführungsform ist ein Computersystem vorgesehen, das einen oder mehrere Prozessoren und eine oder mehrere Speichervorrichtungen umfasst, auf denen computerausführbare Anweisungen gespeichert sind, die bei Ausführung den einen oder die mehreren Prozessoren veranlassen, die Operationen des Verfahrens wie zuvor erwähnt sowie die Operationen des Verfahrens gemäß den Aspekten der Offenbarung durchzuführen.
-
Gemäß einer Ausführungsform sind ein oder mehrere computerlesbare Speichermedien vorgesehen, auf denen computerausführbare Anweisungen gespeichert sind, die bei Ausführung einen oder mehrere Prozessoren veranlassen, die Operationen des Verfahrens wie zuvor erwähnt sowie die Operationen des Verfahrens gemäß den Aspekten der Offenbarung durchzuführen.
-
Gemäß einer Ausführungsform ist ein Computerprogrammprodukt vorgesehen, das computerausführbare Anweisungen umfasst, die bei Ausführung einen oder mehrere Prozessoren veranlassen, die Operationen des Verfahrens wie zuvor erwähnt sowie die Operationen des Verfahrens gemäß den Aspekten der Offenbarung durchzuführen.
-
Durch Erzeugung der Adversarial-Beispiele und Verwendung der Adversarial-Beispiele zum Trainieren des GNN-Modells gemäß den Aspekten der Offenbarung kann die Abwehrfähigkeit des GNN-Modells gegen potentielle Adversarial-Attacks verbessert werden, insbesondere gegen die gefährlichste Black-Box-Attack.
-
Figurenliste
-
Die offenbarten Aspekte werden nachfolgend in Verbindung mit den beigefügten Zeichnungen beschrieben, die zur Veranschaulichung und nicht zur Einschränkung der offenbarten Aspekte vorgesehen sind.
- 1 veranschaulicht ein beispielhaftes GCN-Modell gemäß einer Ausführungsform.
- 2 veranschaulicht eine beispielhafte schematische Darstellung zum Beeinflussen einer Klassifizierungsaufgabe eines GCN-Modells gemäß einer Ausführungsform.
- 3 veranschaulicht einen beispielhaften schematischen Prozess zum Erzeugen von Adversarial-Beispielen gemäß einer Ausführungsform.
- 4 veranschaulicht einen beispielhaften Prozess zum Erhalten des MAF für einen Zielknoten gemäß einer Ausführungsform.
- 5 veranschaulicht einen beispielhaften Prozess zum Erhalten von Adversarial-Beispielen für ein GCN-Modell gemäß einer Ausführungsform.
- 6 veranschaulicht einen beispielhaften Prozess zum Erhalten von Adversarial-Beispielen für ein GCN-Modell gemäß einer Ausführungsform.
- 7 veranschaulicht ein beispielhaftes Verfahren zum Erzeugen von Adversarial-Beispielen für ein GNN-Modell gemäß einer Ausführungsform.
- 8 veranschaulicht einen beispielhaften Prozess zum Trainieren eines GNN-Modells gemäß einer Ausführungsform.
- 9 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines GNN-Modells gemäß einer Ausführungsform.
- 10 veranschaulicht ein beispielhaftes Computersystem gemäß einer Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die vorliegende Offenbarung wird nun unter Bezugnahme auf mehrere beispielhafte Implementierungen erörtert. Es ist zu verstehen, dass diese Implementierungen nur erörtert werden, um Fachleuten ein besseres Verständnis und damit eine bessere Implementierung der Ausführungsformen der vorliegenden Offenbarung zu ermöglichen, und nicht, um Einschränkungen des Umfangs der vorliegenden Offenbarung vorzuschlagen.
-
Verschiedene Ausführungsformen werden unter Bezugnahme auf die beigefügten Zeichnungen ausführlich beschrieben. Soweit möglich, werden in den Zeichnungen gleiche Bezugsnummern verwendet, um auf gleiche oder ähnliche Teile zu verweisen. Bezugnahmen auf bestimmte Beispiele und Ausführungsformen dienen der Veranschaulichung und sollen den Umfang der Offenbarung nicht einschränken.
-
Die vorliegende Offenbarung beschreibt ein Verfahren und ein System, das in Form von Computerprogrammen implementiert ist, die auf einem oder mehreren Computern ausgeführt werden und Trainingsdaten zur Verbesserung der Zuverlässigkeit und Robustheit eines GNN-Modells gegen Adversarial-Attacks auf dieses Modell vorsieht. Das GNN-Modell kann beispielsweise als Graphfaltungsnetzwerk (Graph Convolution Network, GCN) implementiert sein und kann eine maschinelle Lernaufgabe zur Klassifizierung von Knoten in einem Graphen durchführen, der beispielsweise ein soziales Netzwerk, ein biologisches Netzwerk, ein Zitationsnetzwerk, ein Empfehlungssystem, ein Finanzsystem usw. darstellen kann. Die Aspekte der Offenbarung können in diesen Bereichen wie dem sozialen Netzwerk, dem biologischen Netzwerk, dem Zitationsnetzwerk, dem Empfehlungssystem, dem Finanzsystem usw. zur Verbesserung der Sicherheit und Robustheit dieser Systeme angewendet werden.
-
1 veranschaulicht ein beispielhaftes GCN-Modell 10 gemäß einer Ausführungsform.
-
Ein Graph wird als Eingabe 110 in das GCN-Modell 10 eingespeist. Der Graph kann ein Datensatz sein, der Knoten und Kanten enthält. Die Knoten in den Graphen können Entitäten darstellen, und die Kanten stellen die Verbindungen zwischen den Knoten dar. Ein soziales Netzwerk ist zum Beispiel ein Graph, in dem Benutzer oder insbesondere Benutzerkonten in dem Netzwerk Knoten in dem Graphen sind. Eine Kante liegt vor, wenn zwei Benutzer auf eine beliebige Weise miteinander verbunden sind. Wenn zum Beispiel die beiden Benutzer befreundet sind, ihre Beiträge teilen, ähnliche Interessen haben, ähnliche Profile haben oder Ähnliches, dann können die beiden Benutzer zum Beispiel eine Verbindung haben, die durch die Kante dargestellt wird.
-
In einem Beispiel kann der Graph als Eingabe 110 als G = (A, X) formuliert werden, wobei A ∈ {0,1}N×N die Adjazenzmatrix des Graphen G darstellt,XE {0,1}N×D die Merkmalsmatrix des Graphen G darstellt, N die Anzahl der Knoten des Graphen G ist, D die Dimension der Knotenmerkmale ist. Die Adjazenzmatrix A kann die Verbindungen zwischen den Knoten in dem Graphen G darstellen, die Merkmalsmatrix X kann die Merkmale der jeweiligen Knoten in dem Graphen darstellen. Das Merkmal eines Knotens kann mehrere Merkmalskomponenten enthalten, deren Anzahl als die Dimension des Knotenmerkmals definiert ist. Bei einem Graphen eines sozialen Netzwerks können die Merkmalskomponenten eines Knotens zum Beispiel Alter, Geschlecht, Hobby, Beruf, verschiedene Aktionen wie Einkaufen, Lesen, Musik hören usw. enthalten. Es versteht sich, dass die Aspekte der Offenbarung nicht auf bestimmte Werte der Elemente der Adjazenzmatrix und der Merkmalsmatrix beschränkt sind.
-
Das GCN-Modell 10 kann eine oder mehrere verborgene Schichten 120 enthalten, die auch als Graphenfaltungsschichten 120 bezeichnet werden. Jede verborgene Schicht 120 kann graph-strukturierte Daten empfangen und verarbeiten. Die verborgene Schicht 120 kann zum Beispiel eine Faltungsoperation auf den Daten durchführen. Die Gewichtungen der Faltungsoperationen in der verborgenen Schicht 120 können mit Trainingsdaten trainiert werden. Es versteht sich, dass in der verborgenen Schicht 120 neben der Faltungsoperation auch andere Operationen enthalten sein können. Jede Aktivierungs-Engine 130 kann eine Aktivierungsfunktion (z. B. ReLU) auf die Ausgabe einer verborgenen Schicht 120 anwenden und die Ausgabe an die nächste verborgene Schicht 120 senden. Eine vollständig verbundene Schicht oder eine Softmax-Engine 140 kann eine Ausgabe 150 vorsehen, die auf der Ausgabe der vorherigen verborgenen Schicht basiert. In der Knotenklassifizierungsaufgabe kann die Ausgabe 150 des GCN-Modells 10 Klassifizierungskennungen oder insbesondere Klassifizierungswahrscheinlichkeiten für Knoten im Graphen sein.
-
Die Knotenklassifizierungsaufgabe des GCN-Modells 10 besteht in der Ermittlung der Klassifizierungskennungen von Knoten des Graphen basierend auf ihren Nachbarn. Insbesondere besteht das Ziel der Klassifizierungsaufgabe des GCN-Modells 10 darin, angesichts einer Teilmenge von gekennzeichneten Knoten im Graphen die Kennungen der verbleibenden nicht gekennzeichneten Knoten in dem Graphen vorherzusagen.
-
In einem Beispiel kann das GCN-Modell 10 ein Zweischicht-GCN-Modell sein, wie in Gleichung (1) veranschaulicht:
wobei
eine normalisierte Adjazenzmatrix ist, D̂ eine Gradmatrix der Adjazenzmatrix A mit D̂
ii = Σ
j(A + I)
ij, W
(0) ∈ ℝ
D×DH ist und W
(1) ∈ ℝ
DH×DL Parametermatrizen von zwei verborgenen Schichten 120 sind, wobei D
H die Dimension der verborgenen Schicht bezeichnet, D
L die Anzahl der Kategorien der Klassifizierungskennungen bezeichnet und σ(x) die Aktivierungsfunktion 130 bezeichnet, beispielsweise σ(x) = ReLU(x). f(G) ∈ ℝ
N×DL ist die Ausgabematrix 150, die die Wahrscheinlichkeit jedes Knotens für jede Klassifizierungskennung im Graphen darstellt.
-
2 veranschaulicht eine beispielhafte schematische Darstellung 20 zum Beeinflussen einer Klassifizierungsaufgabe eines GCN-Modells gemäß einer Ausführungsform.
-
Im Beispiel des in 2a gezeigten Graphen G = (A, X) können die Knoten 210 Zielknoten sein, für die die Klassifizierungsergebnisse des GCN-Modells 10 zu manipulieren oder zu beeinflussen sind.
-
Wie in 2b gezeigt, wird ein gefälschter Knoten 220 mit entsprechenden gefälschten Merkmalen in den Graphen durch Verbinden mit den Zielknoten 210 eingeführt, was zu einem modifizierten Graphen G+ = (A+,X+) führt, um die vorhergesagten Kennungen der Zielknoten 210 durch das GCN-Modell 10 zu ändern.
-
Es versteht sich, dass dem Graphen mehrere gefälschte Knoten als Störung hinzugefügt werden können, obwohl nur ein gefälschter Knoten veranschaulicht ist. Die Adjazenzmatrix des modifizierten Graphen G
+ wird zu
und die Merkmalsmatrix wird zu
wobei A die ursprüngliche Adjazenzmatrix des in
2a gezeigten Graphen G ist, A
fake die Adjazenzmatrix der gefälschten Knoten ist, Matrix B und ihre transponierte Matrix B
T die Verbindungen zwischen den ursprünglichen Knoten und den gefälschten Knoten darstellen, X die ursprüngliche Merkmalsmatrix des Graphen G ist, X
fake die Merkmalsmatrix der gefälschten Knoten ist. Durch Manipulation von A
fake, B, X
fake, insbesondere der Merkmalsmatrix X
fake der gefälschten Knoten, kann das Klassifizierungsergebnis des GCN-Modells für die Zielknoten manipuliert oder beeinflusst werden. Wie in
2c und
2d veranschaulicht, können die Zielknoten 210, die von dem GCN-Modell 10 als erste Kennung klassifiziert werden sollten, aufgrund der Störung durch den gefälschten Knoten 220 fälschlicherweise als zweite Kennung klassifiziert werden.
-
Die Merkmalsmatrix Xfake der gefälschten Knoten kann basierend auf der Ausgabe 150 des GCN-Modells 10 als Blackbox in Reaktion auf Abfragen abgeleitet werden. In der realen Situation kann die Durchführung einer großen Anzahl von Abfragen und die Verfügbarkeit einer großen Anzahl von gefälschten Knoten unter Umständen nicht möglich sein. Es entspräche eher der realen Situation, wenn weniger Abfragen des GCN-Modells durchgeführt würden und mehr Zielknoten mit weniger gefälschten Knoten während des Erhalts der gefälschten Knoten manipuliert würden. Dementsprechend kann das mit den erhaltenen Adversarial-Beispielen trainierte GCN-Modell in einer realen Situation robuster sein.
-
3 veranschaulicht einen beispielhaften schematischen Prozess 30 zum Erzeugen von Adversarial-Beispielen gemäß einer Ausführungsform.
-
Bei gegebenen Zielknoten 310 eines in 3a dargestellten Graphen G können anfällige Merkmale 320 der Zielknoten 310 basierend auf einem Abfragen des GNN-Modells 10 ermittelt werden, wie in 3b veranschaulicht. Das anfällige Merkmal 320 eines Zielknotens kann als „Most Adversarial Feature“ (MAF, in etwa „feindlichstes Merkmal“) bezeichnet werden, das sich auf den Gradienten des Zielknotens gegenüber einem Adversarial-Beispiel bezieht. Danach können die Zielknoten 310 entsprechend den anfälligen Merkmalen 320 der Zielknoten 310 in eine Vielzahl von Clustern 330 und 335 gruppiert werden, wie in 3c veranschaulicht. Und die Adversarial-Beispiele 340 und 345 können basierend auf der Vielzahl von Clustern 330 und 335 erhalten werden, wie in 3d veranschaulicht.
-
Durch Verbinden der Adversarial-Beispiele 340 bzw. 345 mit den Zielknoten der Cluster 330 und 335, wie in 3d veranschaulicht, kann die Klassifizierung des GCN-Modells für die Zielknoten der Cluster 330 und 335 geändert werden. Wird das GCN-Modell weiter mit den Adversarial-Beispielen 340 und 345 trainiert, die beispielsweise als böswilliger Knoten gekennzeichnet sind, ist das GCN-Modell möglicherweise besser in der Lage, eine ähnliche Adversarial-Attack zu bekämpfen.
-
4 veranschaulicht einen beispielhaften Prozess 40 zum Erhalten des MAF für einen Zielknoten gemäß einer Ausführungsform.
-
Das MAF eines Zielknotens stellt die Anfälligkeit des Zielknotens dar. Um das MAF eines Zielknotens zu erhalten, kann eine Verlustfunktion wie in Gleichung (2) optimiert werden:
wobei
Φ
A die Zielknoten darstellt, r(A
fake) die Anzahl der Zeilen der Matrix A
fake ist, die gleich der Anzahl N
fake der gefälschten Knoten ist, wobei die in den ursprünglichen Graphen eingebrachten gefälschten Knoten mit diesem Parameter begrenzt werden können. Die l
0-norm ||·||
0 stellt die Anzahl der Elemente ungleich Null dar. Das Akronym „s.t.“ steht für „in Abhängigkeit von“. Der kleinere Wert der Verlustfunktion zeigt an, dass mehr Zielknoten falsch klassifiziert werden.
-
Die Verlustfunktion kann wie in Gleichung (3) definiert sein:
wobei ℓ(G
+, ν) ≥ 0 eine Verlustfunktion für einen Zielknoten darstellt. Ein kleineres ℓ(G
+, ν) bedeutet, dass der Knoten ν mit größerer Wahrscheinlichkeit von dem Zielmodell falsch klassifiziert wird, wie der in Gleichung (1) gezeigte Modus f, und der Knoten ν von dem Zielmodell f erfolgreich falsch klassifiziert wird, wenn ℓ(G
+, ν) gleich Null ist. In Gleichung (3) wird
verwendet, um die Knoten zu belohnen, die wahrscheinlich falsch klassifiziert werden, und die Verlustwerte ℓ(G
+, ν) für alle Zielknoten ν ∈ Φ
A werden summiert, um darzustellen, wie nahe das Modell daran ist, alle Zielknoten falsch zu klassifizieren.
-
Die Verlustfunktion ℓ(G
+, ν) für einen Zielknoten kann in Gleichung (4) oder (5) definiert werden,
wobei y
g für die Grundwahrheitskennung des Knotens ν steht und [f(G
+)]
ν,yi , das durch Abfragen des GCN-Modells erhalten werden kann, die vorhergesagte Wahrscheinlichkeit darstellt, dass der Knoten v eine Klassifizierungskennung y
i durch das GCN-Modell f aufweist. Wenn ℓ(G
+, ν) gleich Null ist, bedeutet dies, dass die Grundwahrheitskennung y
g als eine andere Kennung y
i falsch klassifiziert wird. Je kleiner der Verlustwert ℓ(G
+, ν) ist, desto wahrscheinlicher ist es, dass der Zielknoten v falsch klassifiziert wird.
wobei y
t für die Zielklassifizierungskennung von Knoten v steht. Wenn ℓ(G
+, ν) gleich Null ist, bedeutet dies, dass der Knoten v durch das GCN-Modell als Kennung y
t falsch klassifiziert wird.
-
In Schritt 410 kann ein modifizierter Graph G+ = (A+,X+) und ein Zielknoten νt als Eingabe für den Prozess 40 genommen werden.
-
In Schritt 420 kann ein gefälschter Knoten νf für den Zielknoten νt initialisiert werden. Insbesondere kann das Merkmal (d. h. der Merkmalsvektor einschließlich der Merkmalskomponenten) des gefälschten Knotens νf zufällig initialisiert werden, und der gefälschte Knoten νf kann mit dem Zielknoten νt verbunden werden, während die anderen gefälschten Knoten von dem Graphen isoliert sind. Die Isolierung der anderen gefälschten Knoten kann durch das Setzen der Elemente, die den anderen gefälschten Knoten in den Matrizen Afake und B entsprechen, auf Null durchgeführt werden. Die Verbindung des gefälschten Knotens νf und des Zielknotens νt kann durch Setzen des Elements, das der Verbindung der beiden in den Matrizen B entspricht, auf Eins durchgeführt werden.
-
In Schritt 430 kann ein Ganzzahlsatz I ⊆ {1,2, ... , D} in Abhängigkeit von |I| = min (Kt, D) erhalten werden, zum Beispiel durch zufällige Auswahl der Elemente aus dem Ganzzahlsatz { 1,2, ..., D}. D ist die Dimension eines Merkmals oder Merkmalsvektors für jeden Knoten der Graphen. Kt ist die vordefinierte Anzahl von Abfragen. Durch Definieren von |I| = min (Kt, D) kann die Anzahl der Abfragen des GCN-Modells so gesteuert werden, dass der ursprüngliche Graph nur begrenzt gestört wird.
-
In Schritt 440 kann das MAF des Zielknotens νt basierend auf dem mehrmaligen Abfragen des Modells mit dem modifizierten Graphen erhalten werden. Bei jedem Abfragen kann eine Merkmalskomponente des gefälschten Knotens νf modifiziert werden, und der Verlustwert des Zielknotens kann basierend auf einer Verlustfunktion berechnet werden, beispielsweise der Verlustfunktion von Gleichung (3), (4) oder (5). Wenn der sich aus der modifizierten Merkmalskomponente des gefälschten Knotens νf ergebende Verlustwert kleiner wird als der vorherige Verlustwert, wird die Merkmalskomponente des gefälschten Knotens νf auf den modifizierten Wert aktualisiert, andernfalls wird die Merkmalskomponente des gefälschten Knotens νf als der Wert vor der Modifikation beibehalten. Das resultierende Merkmal des gefälschten Knotens νf, einschließlich der aktualisierten Merkmalskomponenten nach den Abfragen, kann als MAF des Zielknotens νt genommen werden.
-
Der Prozess zum Erhalten des MAF des Zielknotens ν
f lässt sich durch den folgenden Pseudocode veranschaulichen:
wobei I der in Schritt 430 zufällig erhaltene Ganzzahlsatz ist und x
f(i) die i-te Merkmalskomponente des gefälschten Knotens ist.
-
Es versteht sich, dass die spezifischen Elemente in den Gleichungen und die Operationen bei dem Prozess zum Erhalten des MAF des Zielknotens ν
t im Sinne der Aspekte der Offenbarung modifiziert werden können und somit den Umfang der Offenbarung nicht einschränken würden. Die Belohnung
kann zum Beispiel in der Gleichung (3) nicht notwendig sein. Als weiteres Beispiel können, obwohl es |I|-fache Abfragen geben kann, die in dem Prozess des vorstehenden beispielhaften Pseudocode auftreten, insgesamt |I|- oder |I| + 1-fache Abfragen auftreten, je nachdem, ob eine Abfrage für den zufällig initialisierten Merkmalsvektor X
f des gefälschten Knotens ν
f durchgeführt wird. Wenn zum Beispiel keine Abfrage für den zufällig initialisierten Merkmalsvektor X
f durchgeführt wird, kann die entsprechende Verlustfunktion auf einen Erfahrungswert gesetzt werden.
-
5 veranschaulicht einen beispielhaften Prozess 50 zum Erhalten von Adversarial-Beispielen für ein GCN-Modell gemäß einer Ausführungsform.
-
In Schritt 510 kann ein modifizierter Graph G
+ = (A
+,X
+) und ein Satz von Zielknoten Φ
A als Eingabe für den Prozess 50 genommen werden. In einem Beispiel kann die Matrix
anfänglich gesetzt werden, und die Merkmalsmatrix X
fake der gefälschten Knoten kann zufällig initialisiert werden.
-
In Schritt 520 kann das MAF jedes Zielknotens νf in dem Satz ΦA basierend auf einem Abfragen des GCN-Modells erhalten werden. Der in 4 dargestellte Prozess kann beispielsweise verwendet werden, um das MAF für jeden Zielknoten νf in dem Satz ΦA zu erhalten.
-
In Schritt 530 können die Zielknoten ΦA in eine Vielzahl von Clustern gemäß ihren MAFs gruppiert werden. Die Anzahl der Cluster kann gleich der Anzahl der gefälschten Knoten Nfake sein.
-
In einem Adversarial-Szenario ist es häufig der Fall, dass die Anzahl der gefälschten Knoten, die dem Graphen hinzugefügt werden können, wesentlich geringer ist als die Anzahl der Zielknoten. Um mehr Zielknoten mit einer begrenzten Anzahl gefälschter Knoten zu beeinflussen, kann jeder gefälschte Knoten mit mehreren Zielknoten verbunden sein.
-
Aufgrund der strukturellen Komplexität des Graphen können verschiedene Zielknoten unterschiedliche lokale Strukturen und die entsprechenden Merkmalsinformationen aufweisen, insbesondere wenn die Zielknoten in dem gesamten Graphen nur spärlich verstreut sind. Folglich können die Zielknoten unter dem Einfluss von Adversarial-Beispielen sehr unterschiedliche Verhaltensweisen aufweisen. Ein gefälschter Knoten mit einem bestimmten Merkmal kann die vorhergesagte Kennung eines Zielknotens nach der Verbindung mit diesem ändern, nicht jedoch die Kennung eines anderen Zielknotens. Ist ein gefälschter Knoten mit mehreren Zielknoten verbunden, die sich so ähneln, dass ihre vorhergesagten Kennungen leicht geändert werden können, nachdem sie mit gefälschten Knoten mit ähnlichen Merkmalen verbunden wurden, dann ist die Wahrscheinlichkeit der Änderung der vorhergesagten Kennungen dieser Zielknoten basierend auf der zuvor genannten Perspektive größer. Daher können die Zielknoten gemäß der Ähnlichkeit ihrer MAFs in eine Vielzahl von Clustern gruppiert werden.
-
Um die Zielknoten Φ
A gemäß ihren MAFs in N
fake -Cluster C = {C
1, C
2,..., C
Nfake } aufzuteilen, wird in Gleichung (6) eine Objektfunktion des Clustering definiert,
wobei ||·||
2 die l
2 -Norm, bezeichnet,
das Clusterzentrum jedes Clusters Ci darstellt, beispielsweise kann c
i der Durchschnitt der MAFs der Zielknoten in dem Cluster Ci sein.
-
Die Optimierung der Clustering-Objektfunktion aus Gleichung (6) kann durch jeden Clusteralgorithmus gelöst werden, um die Cluster C = {C1, C2, ..., CNfake} zu erhalten, die die in Gleichung (6) dargestellte Clustering-Objektfunktion minimieren.
-
Nach Erhalt der Cluster C = {C
1, C
2, ..., C
Nfake} kann in Schritt 540 das Clusterzentrum c
i jedes Clusters Ci, d. h. der Durchschnitt der MAFs der Zielknoten in dem Cluster Ci erhalten werden. Anschließend wird das Clusterzentrum der MAFs der Zielknoten in jedem Cluster als das entsprechende Merkmal des gefälschten Knotens genommen, wie in Gleichung (7) veranschaulicht:
wobei x
fi das Merkmal des i-ten gefälschten Knotens ν
fi ist, der dem Cluster C
i entspricht. In einem Beispiel können die Elemente des Merkmalsvektors x
fi des gefälschten Knotens ν
fi, der dem Cluster Ci entspricht, auf die nächste Ganzzahl gerundet werden. Daraufhin werden die Adversarial-Beispiele mit den Merkmalen x
fi erhalten.
-
6 veranschaulicht einen beispielhaften Prozess 60 zum Erhalten von Adversarial-Beispielen für ein GCN-Modell gemäß einer Ausführungsform.
-
Die Schritte 610 bis 640 entsprechen den in 5 dargestellten Schritten 510 bis 540 und werden daher nicht näher beschrieben.
-
In Schritt 640 wird die Merkmalsmatrix Xfake der Nfake, gefälschten Knoten unter Nutzung von Gleichung (7) erhalten, wobei xfi Vektoren in Xfake sind.
-
In Schritt 650 kann jeder der gefälschten Knoten mit den Zielknoten eines entsprechenden Clusters verbunden werden, sodass der Graph durch Hinzufügen von Kanten zwischen den gefälschten Knoten und den Zielknoten modifiziert wird. Die Verbindung jedes gefälschten Knotens mit dem entsprechenden Cluster kann durch Setzen der Matrix B durchgeführt werden, wie in Gleichung (8) dargestellt:
wobei B
ij das Element der Matrix B in Zeile i und Spalte j darstellt.
-
In Schritt 660 können die in Schritt 640 erhaltenen Merkmale der gefälschten Knoten basierend auf dem Abfragen des GNN-Modells mit dem modifizierten Graphen aktualisiert werden, um die Merkmale der gefälschten Knoten zu verbessern.
-
In einem Beispiel kann für jeden gefälschten Knoten νfi ein Ganzzahlsatz I ⊆ {1,2, ... , D}, in Abhängigkeit von |I| = min (Kf, D), durch zufälliges Auswählen der Elemente aus der Ganzzahlmenge { 1,2, ..., D} erhalten werden. D ist die Dimension eines Merkmals oder Merkmalsvektors für jeden Knoten der Graphen. Kf ist die vordefinierte Anzahl von Abfragen. Durch Definieren von |I| = min (Kf, D) kann die Anzahl der Abfragen des GCN-Modells so gesteuert werden, dass der ursprüngliche Graph nur begrenzt gestört wird. Dann können die Merkmalskomponenten des gefälschten Knotens vfi basierend auf einem mehrmaligen Abfragen des Modells mit dem modifizierten Graphen aktualisiert werden. Bei jedem Abfragen kann eine Merkmalskomponente des gefälschten Knotens νfi modifiziert werden, und der Verlustwert des gefälschten Knotens kann basierend auf einer Verlustfunktion, beispielsweise der Verlustfunktion von Gleichung (3), berechnet werden. Wenn der sich aus der modifizierten Merkmalskomponente des gefälschten Knotens νfi ergebende Verlustwert kleiner wird als der vorherige Verlustwert, wird die Merkmalskomponente des gefälschten Knotens νfi auf den modifizierten Wert aktualisiert, andernfalls wird die Merkmalskomponente des gefälschten Knotens νfi als der Wert vor der Modifikation beibehalten. Das resultierende Merkmal des gefälschten Knotens νfi, einschließlich der aktualisierten Merkmalskomponenten nach den |I|-fachen Abfragen, kann das erweiterte Merkmal des gefälschten Knotens νfi sein.
-
Der Prozess zum Erhalten der aktualisierten Merkmale der gefälschten Knoten, d. h. der Merkmalsmatrix Xfake der Nfake gefälschten Knoten, lässt sich durch den folgenden Pseudocode veranschaulichen:
- Initialisieren von Xfake unter Nutzung von Gl. (7), wobei die Elemente darin auf die nächste Ganzzahl gerundet werden.
wobei xfi(j) die j-te Merkmalskomponente des gefälschten Knotens xfl ist.
-
Es versteht sich, dass die spezifischen Elemente in den Gleichungen und die Operationen bei dem Prozess der Aktualisierung der Merkmale der gefälschten Knoten im Sinne der Aspekte der Offenbarung modifiziert werden können und somit den Umfang der Offenbarung nicht einschränken würden. Die Belohnung
zum Beispiel in der Gleichung (3) nicht notwendig sein. Als weiteres Beispiel können, obwohl es |I|-fache Abfragen für jeden gefälschten Knoten geben kann, die in dem Prozess des vorstehenden beispielhaften Pseudocode auftreten, insgesamt |I|- oder |I| + 1-fache Abfragen für jeden gefälschten Knoten auftreten, je nachdem, ob es eine Abfrage für den ursprünglichen Merkmalsvektor x
fi des gefälschten Knotens ν
fi gibt. Wenn zum Beispiel keine Abfrage für den ursprünglichen Merkmalsvektor x
fi durchgeführt wird, kann die entsprechende Verlustfunktion auf einen Erfahrungswert gesetzt werden.
-
7 veranschaulicht ein beispielhaftes Verfahren 70 zum Erzeugen von Adversarial-Beispielen für ein GNN-Modell gemäß einer Ausführungsform.
-
In Schritt 710 werden basierend auf dem Abfragen des GNN-Modells anfällige Merkmale von Zielknoten in einem Graphen ermittelt, wobei der Graph Knoten einschließlich der Zielknoten und Kanten umfasst, wobei jede der Kanten zwei der Knoten verbindet.
-
In Schritt 720 werden die Zielknoten entsprechend den anfälligen Merkmalen der Zielknoten in eine Vielzahl von Clustern gruppiert.
-
In Schritt 730 werden die Adversarial-Beispiele basierend auf der Vielzahl von Clustern erhalten.
-
In einer Ausführungsform wird in Schritt 730 für jeden der Vielzahl von Clustern ein Merkmal eines entsprechenden der Adversarial-Beispiele durch Mittelwertbildung der anfälligen Merkmale der Zielknoten in dem Cluster erhalten.
-
In einer Ausführungsform wird in Schritt 730 für jeden der Vielzahl von Clustern ein Anfangsmerkmal eines entsprechenden der Adversarial-Beispiele basierend auf den anfälligen Merkmalen der Zielknoten in dem Cluster erhalten, der Graph wird durch Verbinden jedes der Adversarial-Beispiele mit den Anfangsmerkmalen mit den Zielknoten in einem entsprechenden der Vielzahl von Clustern modifiziert, und die Merkmale der Adversarial-Beispiele werden basierend auf dem Abfragen des GNN-Modells mit dem modifizierten Graph aktualisiert.
-
In einer Ausführungsform umfasst die Abfrage des GNN-Modells in Schritt 710 das Abfragen des GNN-Modells mit modifizierten Graphen, die durch Hinzufügen eines gefälschten Knotens zu dem Graphen erhalten werden.
-
In einer Ausführungsform wird in Schritt 710 für jeden der Zielknoten in dem Graphen ein modifizierter Graph durch Verbinden eines gefälschten Knotens mit dem Zielknoten in dem Graphen erhalten, wobei das anfällige Merkmal des Zielknotens basierend auf dem Abfragen des GNN-Modells mit dem modifizierten Graph ermittelt wird.
-
In einer Ausführungsform wird in Schritt 710 für jede einer Vielzahl von Merkmalskomponenten des gefälschten Knotens die Merkmalskomponente des gefälschten Knotens modifiziert, das GNN-Modell mit dem modifizierten Graphen, der die modifizierte Merkmalskomponente des gefälschten Knotens enthält, abgefragt und die Merkmalskomponente des gefälschten Knotens basierend auf dem Ergebnis des Abfragens aktualisiert, wobei das Merkmal des gefälschten Knotens, das die aktualisierten Merkmalskomponenten enthält, als das anfällige Merkmal des Zielknotens genommen wird.
-
In einer Ausführungsform wird in Schritt 710 bei der Aktualisierung der Merkmalskomponente des gefälschten Knotens basierend auf dem Ergebnis des Abfragens die Merkmalskomponente des gefälschten Knotens in die modifizierte Merkmalskomponente geändert, wenn die modifizierte Merkmalskomponente zu einem kleineren Verlustwert gemäß einer Verlustfunktion führt, die Merkmalskomponente des gefälschten Knotens wird beibehalten, wenn die modifizierte Merkmalskomponente nicht zu einem kleineren Verlustwert gemäß der Verlustfunktion führt.
-
In einer Ausführungsform entspricht in Schritt 710 die Anzahl der Abfragen für die Vielzahl von Merkmalskomponenten des gefälschten Knotens dem kleineren Wert aus einem vordefinierten Wert und einer Merkmalsdimension eines Knotens in dem Graphen.
-
In einer Ausführungsform werden in Schritt 720 die Zielknoten entsprechend der Ähnlichkeit der anfälligen Merkmale der Zielknoten in jedem der Cluster in eine Vielzahl von Clustern gruppiert.
-
In einer Ausführungsform werden in Schritt 720 die Zielknoten entsprechend der Ähnlichkeit der anfälligen Merkmale der Zielknoten in jedem der Cluster in eine Vielzahl von Cluster gruppiert.
-
In einer Ausführungsform wird in Schritt 730 für jeden der Vielzahl von Cluster ein Anfangsmerkmal eines entsprechenden einer Vielzahl von gefälschten Knoten basierend auf den anfälligen Merkmalen der Zielknoten in dem Cluster erhalten, der Graph wird durch Verbinden jedes der Vielzahl von gefälschten Knoten mit den Anfangsmerkmalen mit den Zielknoten in einem entsprechenden der Vielzahl von Clustern modifiziert, und das Merkmal jedes der Vielzahl von gefälschten Knoten wird basierend auf dem Abfragen des GNN-Modells mit dem modifizierten Graph aktualisiert.
-
In einer Ausführungsform wird in Schritt 730 bei der Aktualisierung des Merkmals jeder der Vielzahl von gefälschten Knoten basierend auf dem Abfragen des GNN-Modells mit dem modifizierten Graphen für jede einer Vielzahl von Merkmalskomponenten des gefälschten Knotens die Merkmalskomponente des gefälschten Knotens modifiziert, das GNN-Modell mit dem die modifizierte Merkmalskomponente des gefälschten Knotens enthaltenden modifizierten Graphen abgefragt, die Merkmalskomponente des gefälschten Knotens basierend auf dem Ergebnis des Abfragens aktualisiert, wobei die gefälschten Knoten mit dem die aktualisierten Merkmalskomponenten enthaltenden Merkmal als die erhaltenen Adversarial-Beispiele genommen werden.
-
In einer Ausführungsform wird in Schritt 730 bei der Aktualisierung der Merkmalskomponente des gefälschten Knotens basierend auf dem Ergebnis des Abfragens die Merkmalskomponente des gefälschten Knotens in die modifizierte Merkmalskomponente geändert, wenn die modifizierte Merkmalskomponente zu einem kleineren Verlustwert gemäß einer Verlustfunktion führt, und die Merkmalskomponente des gefälschten Knotens wird beibehalten, wenn die modifizierte Merkmalskomponente nicht zu einem kleineren Verlustwert gemäß der Verlustfunktion führt.
-
8 veranschaulicht einen beispielhaften Prozess 80 zum Trainieren eines GNN-Modells gemäß einer Ausführungsform.
-
In der Trainingsphase 810 kann ein GNN-Modell wie beispielsweise ein GCN-Modell mit einem Trainingsdatensatz trainiert werden.
-
In der Adversarial-Testphase 820 können unter Nutzung des zuvor unter Bezugnahme auf die 1 bis 7 beschriebenen Verfahrens Adversarial-Beispiele für den in Phase 810 trainierten GNN-Modus erzeugt werden.
-
Danach können die in 820 erzeugten Adversarial-Beispiele zum weiteren Training des GNN-Modells in 810 verwendet werden. Der Prozess des Trainings 810 und des Adversarial-Testens 820 kann wiederholt werden, um ein zuverlässiges GNN-Modell zu erhalten.
-
9 veranschaulicht ein beispielhaftes Verfahren zum Trainieren eines GNN-Modells gemäß einer Ausführungsform.
-
In Schritt 910 können unter Nutzung des zuvor unter Bezugnahme auf die 4 bis 7 beschriebenen Verfahrens Adversarial-Beispiele für ein GNN-Modell erzeugt werden.
-
In Schritt 920 kann für jedes der Adversarial-Beispiele eine Kennung gesetzt werden. Die Kennung kann zum Beispiel als böswillige Kennung gesetzt werden.
-
In Schritt 930 wird das GNN-Modell unter Verwendung der Adversarial-Beispiele mit den Kennungen trainiert.
-
10 veranschaulicht ein beispielhaftes Computersystem 1000 gemäß einer Ausführungsform. Das Computersystem 1000 kann zumindest einen Prozessor 1010 umfassen. Das Computersystem 1000 kann ferner zumindest eine Speichervorrichtung 1020 umfassen. Die Speichervorrichtung 1020 kann computerausführbare Anweisungen speichern, die bei Ausführung den Prozessor 1010 zum Ermitteln anfälliger Merkmale von Zielknoten in einem Graphen basierend auf dem Abfragen des GNN-Modells, wobei der Graph Knoten umfasst, die die Zielknoten und Kanten enthalten, wobei jede der Kanten zwei der Knoten verbindet; zum Gruppieren der Zielknoten in eine Vielzahl von Clustern entsprechend den anfälligen Merkmalen der Zielknoten; und zum Erhalten der Adversarial-Beispiele basierend auf der Vielzahl von Clustern veranlassen.
-
Es sei darauf hingewiesen, dass die Speichervorrichtung 1020 computerausführbare Anweisungen speichern kann, die bei Ausführung den Prozessor 1010 zum Durchführen beliebiger Operationen gemäß den Ausführungsformen der vorliegenden Offenbarung veranlassen, wie sie in Verbindung mit den 1 bis 9 beschrieben sind.
-
Die Ausführungsformen der vorliegenden Offenbarung können in einem computerlesbaren Medium wie einem nichtflüchtigen computerlesbaren Medium verkörpert sein. Das nichtflüchtige computerlesbare Medium kann Anweisungen umfassen, die bei Ausführung einen oder mehrere Prozessoren zum Durchführen beliebiger Operationen gemäß den Ausführungsformen der vorliegenden Offenbarung veranlassen, wie sie in Verbindung mit den 1 bis 9 beschrieben sind.
-
Die Ausführungsformen der vorliegenden Offenbarung können in einem Computerprogrammprodukt verkörpert sein, das computerausführbare Anweisungen enthält, die bei Ausführung einen oder mehrere Prozessoren zum Durchführen von Operationen gemäß den Ausführungsformen der vorliegenden Offenbarung veranlassen, wie sie in Verbindung mit den 1 bis 9 beschrieben sind.
-
Es sei darauf hingewiesen, dass alle Operationen in den vorstehenden beschriebenen Verfahren lediglich beispielhaft sind. Die vorliegende Offenbarung ist nicht auf bestimmte Operationen in den Verfahren oder die Reihenfolge dieser Operationen beschränkt und sollte alle anderen Äquivalente unter denselben oder ähnlichen Konzepten abdecken.
-
Es sei auch darauf hingewiesen, dass alle Module der zuvor beschriebenen Vorrichtungen mit verschiedenen Ansätzen implementiert werden können. Diese Module können als Hardware, Software oder eine Kombination davon implementiert sein. Darüber hinaus kann jedes dieser Module weiter funktional in Untermodule unterteilt oder miteinander kombiniert werden.
-
Die vorhergehende Beschreibung ist vorgesehen, um es Fachleuten auf dem Gebiet der Technik zu ermöglichen, die verschiedenen hierin beschriebenen Aspekte umzusetzen. Verschiedene Modifikationen dieser Aspekte sind für Fachleute auf dem Gebiet der Technik offensichtlich, und die hierin definierten allgemeinen Prinzipien können auch auf andere Aspekte angewendet werden. Die Ansprüche sollen also nicht auf die hierin dargestellten Aspekte beschränkt sein. Alle strukturellen und funktionellen Äquivalente zu den Elementen der verschiedenen Aspekte, die in der vorliegenden Offenbarung beschrieben werden und die Fachleuten auf dem Gebiet der Technik bekannt sind oder später bekannt werden, sind hierin ausdrücklich durch Bezugnahme enthalten und sind durch die Ansprüche mit eingeschlossen.