CS224W-Machine Learning with Graph-Advanced Topics in Graph Neural Network

Limitations of Graph Neural Networks

A “Perfect” GNN Model (一些缺点)

Imperfections of Existing GNNs

Our Approach

Naive Solution is not Desirable

Position-aware Graph Neural Networks

Two Types of Tasks on Graphs (Postion-aware GraphNN)

Power of “Anchor”

Power of “Anchor-sets”

Anchor Set: Theory

How to use position information?

Identity-Aware Graph Neural Networks

Different Inputs but the same computational graph → GNN fails

GNN Failure 1: Node-level Tasks

Example input graphs

Existing GNNs’ computational graphs

GNN Failure 2: Edge-level Tasks

Example input graphs

Existing GNNs’ computational graphs

GNN Failure 3: Graph-level Tasks

Example input graphs

We look at embeddings for each node

Existing GNNs’ computational graphs

Idea: Inductive Node Coloring

Idea: We can assign a color to the node we want to embed

Inductive Node Coloring - Node Level

Inductive Node Coloring - Edge Level

Inductive Node Coloring - Graph Level

How to build a GNN using node coloring?

Identity-aware GNN

Identity-aware GNN

ID-GNN

Robustness of Graph Neural Networks

Deep Learning Performance

Adversarial Examples

Implication of Adversarial Examples

Robustness of GNNs

Setting to Study GNNs’ Robustness

Roadmap

Attack Possibilities

Attack Possibilities: Direct Attack

Attack Possibilities: Indirect Attack

Formalizing Adversarial Attacks

If graph manipulation is too large, it will easily be detected. Successful attacks should change the target prediction with “unnoticeably-small” graph manipulation.

Mathematical Formulation

θ=arg minθLtrain(θ;A,X)\theta^* = \argmin_{\theta} \mathcal{L}_{train} (\theta;A,X)
cv=arg maxcfθ(A,X)v,cc_v^* = \argmax_c f_{\theta^*}(A,X)_{v,c}

Predict the class cvc_v^* of vector vv that has the highest predicted probability.

θ=arg minθLtrain(θ;A,X)\theta^{*'} = \argmin_{\theta} \mathcal{L}_{train}(\theta;A',X')
cv=arg maxcfθ(A,X)v,cc_v^{*'} =\argmax_{c} f_{\theta^{*'}}(A',X')_{v,c}
cvcvc_v^{*'} \neq c_v^{*}
Δ(v;A,X)=logfθ(A,X)v,cvlogfθ(A,X)v,cv\Delta (v;A',X') = \log f_{\theta^{*'}}(A',X')_{v,c_{v}^{*'}} - \log f_{\theta^{*'}}(A',X')_{v,c_{v}^*}
arg maxA,XΔ(v;A,X)subject to(A,X)(A,X)\argmax_{A',X'} \Delta(v;A',X') \\ \text{subject to} (A',X') \approx (A,X)

Experiments: Setting

Experiments: Adversarial Attack