11. スケジュール
4⽉ 5⽉ 6⽉ 7⽉ 8⽉
ML Track2
4/25
Phase 1
Start
4/20
Dataset
Release
6/30
Phase 1
End
Phase 1
7/3
Phase 2
Start
7/26
Phase 2
End
7/29
Winner
Announcement
7/30
Paper
Submission
8/5
Presentation
Video due
8/26
KDD CUP Day
7/1
Dataset
Release
攻撃側のみで運営が
⽤意した防御モデルを
攻撃する
11
12. 参考: Graph Convolutional Network
• 画像の畳み込み
• 着⽬している画素を周りの画素に重み付けして⾜し合わせて活性化関数を適⽤
• グラフの畳み込み
• 着⽬しているノードの特徴量を隣接ノードの特徴量に重み付けして⾜し合わせて
活性化関数を適⽤
INPUT GRAPH
TARGET NODE B
D
E
F
C
A
B
C
D
A
A
A
C
F
B
E
A
w1 w2 w3
w4 w5 w6
w7 w8 w9
w1
w2
w3
xA
xB
xC
xE
xF
xAD
xB
xC
xAD
σ(・)
hA
σ(W・CONCAT(MEAN( , , ), ))
12
図の⼀部は http://snap.stanford.edu/proj/embeddings-www/ から引⽤
13. Strategy for Attack
• Graph Structure Attack
1. 次数が低いノードは攻撃しやすい [1]
→ 次数が10以下のテストノードを対象に攻撃
2. 攻撃ノードを多く追加するほど攻撃しやすい
→ 最⼤の500ノードを追加
3. 攻撃ノードから張るエッジ数は50-90の間でランダムに設定
• (1) 攻撃エッジが多い⽅が攻撃⼒が⾼い
• (2) ただし、上限である100にするとすぐに攻撃とバレてしまうので少し少ない
50-90の間で設定
[1] Zügner, Daniel et al. “Adversarial Attacks on Neural Networks for Graph Data.” KDD (2018): 2847-2856. 13
14. Strategy for Attack
• Feature Attack
• Adversarial attackの⽅法の1つにgradient-based attackがあり
有名な⼿法としてFast Gradient Sign Method (FGSM) [2]がある
[2] Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples."
arXiv preprint arXiv:1412.6572 (2014).
Original
image
perturbation
Figure from [2]
画像とラベルが
必要
14
16. Strategy for Attack
• Feature Attack
• FGSMをグラフに応⽤する⽅法を実装
• (1) copy feature from training node
• (2) calculate loss
• (3) modify node feature based on the Eq. (1)
train label: y1
train label: y2
train node
adversarial node
test node
test label: !𝑦
copied from
training node 16
17. Strategy for Attack
• Feature Attack
• FGSMをグラフに応⽤する⽅法を実装
• (1) copy feature from training node
• (2) calculate loss
• (3) modify node feature based on the Eq. (1)
train label: y1
train label: y2
test label: !𝑦
estimated
label
we use 1-layer linear GCN model
as surrogate model to efficiently
calculate loss
Adj Feat W
train node
adversarial node
test node
学習/テストノードの特徴量が
変えられないので固定値にし、
攻撃ノードの特徴量だけ微分
するように実装し省メモリ化
通常のNNではWを微分で
求めるが今回は特徴量を
改変するのでFeatを微分
× ×
GCNの⾏列計算
17
18. Strategy for Attack
• Feature Attack
• FGSMをグラフに応⽤する⽅法を実装
• (1) copy feature from training node
• (2) calculate loss
• (3) modify node feature based on the Eq. (1)
node feature perturbation
(1)
train label: y1
train label: y2
test label: !𝑦
estimated
label
train node
adversarial node
test node
18
19. Strategy for defense
• 特徴量の閾値処理
• 特徴量の値が[-1.74, 1.63]に⼊っていなければ除去
• MIN = -1.74 , MAX = 1.63は学習データの統計値から算出
• 次数の閾値処理
• 次数が[90, 100]のノードは攻撃の疑いがあるので除去
• 隣接⾏列の値が0/1以外なら0に置換
pre-processing
inference
post-processing
Feature value
MIN = -1.74 MAX = 1.63
Degree distribution
90≦deg≦100
→570 nodes (0.086%)
ノード次数 19
20. Strategy for defense
pre-processing
inference
post-processing
• 4-layer GIN model [3]
• Adam optimizer
• Hyper-parameter optimization using Optuna [4]
• Learning rate: 0.01
• Dropout rate: 0.2
• Hidden dim: 144
• Early stopping/Batch normalization
[3] Xu, Keyulu, et al. "How Powerful are Graph Neural Networks?." ICLR 2018
[4] Akiba, Takuya, et al. "Optuna: A next-generation hyperparameter optimization framework.” KDD 2019.
GINConv
BatchNorm
Linear
Dropout
Linear
Softmax
×4
• 全特徴量が0ならラベル1に上書き(学習データの統計から)
20
21. Model Selection
• 前処理がモデル選択のために複数種類のモデルを投稿しスコア
を⾒て効果的なものを選択
• Models: GCN, SAGE, GIN
• Model training: Adding noise to features to increase robustness
• Pre-processing: thresholding by feature/degree of nodes
Defender Model Pre-processing Training Avg. Acc
NTTDOCOMO LABS-0716 GCN - - 0.460
NTTDOCOMO LABS-0717 SAGE - - 0.472
NTTDOCOMO LABS-0718 GIN - - 0.261
NTTDOCOMO LABS-0721 GIN Feature/Degree - 0.686
NTTDOCOMO LABS-0722 SAGE Feature - 0.639
NTTDOCOMO LABS-0723 GIN Feature/Degree Add noise 0.666
21