SlideShare a Scribd company logo
1 of 24
Download to read offline
KDDCUP2020 ML Track2⼊賞⼿法の紹介
NTTドコモ
サマリ
• KDD CUP 2020 ML Track2 4位⼊賞(446チーム中)
• Graph Neural NetworkへのAdversarial Attackについて紹介
2
KDD CUPとは?
Ø ACM SIGKDD 主催のデータ分析コンペ
Ø 1997年からの⻑い伝統を持ち、データ分析コンペの世界最⾼
峰的位置づけ
Ø 年に⼀回開催され、毎年8⽉のKDD Conferenceの中で⼊賞者
が表彰される
Ø 2019年参加チーム数は約2,800チームで年々増加している
3
ML Track2 背景
• グラフ構造は様々な分野にあるデータ構造で応⽤範囲が広い
• 深層学習は画像認識などで⾶躍的な精度向上を果たし、グラフ
のデータにも適⽤されるようになってきた
Geographic networksSocial networks User-Item network
Academic paper
citation network
4
ML Track2 背景
• 深層学習ではadversarial exampleという、分類精度を低下させ
る攻撃が知られている
• KDD2018でグラフに対するadversarial exampleの論⽂が発表
され、グラフ構造でも同様の攻撃があることがわかっている
Source: Goodfellow et al. (2014)
Daniel Zügner et al., KDD2018
5
ML Track2のタスク
• 論⽂引⽤関係のグラフへの攻撃と防御を⾏うタスク
ノード:論⽂、エッジ:引⽤とした
論⽂の引⽤関係のグラフが提供される
攻撃タスク:ノードを追加し既存ノードの分類を
誤らせる
防御タスク:攻撃ノードの影響を減らして正確に
ノードの分類を⾏う
攻撃
ノード
6
Adversarial Attacks and Defense on
Academic Graph
Team NTT DOCOMO LABS
NTT DOCOMO, INC.
Keiichi Ochiai, Hiroaki Tanaka, Keita Yokoyama
Akihiro Kawana, Takuya Chida, Daisuke Koizumi
ML Track2のタスク
train: 609,574
test: 50,000
追加で500ノード、
各100エッジ追加できる。
また攻撃ノードの特徴量も提出
グラフの隣接⾏列
• 提供されるデータ
• 隣接⾏列
• 特徴量
• Trainの正解ラベル(18カテゴリ)
攻撃ノード: 最⼤500個
8
その他のルール
• 防御は隣接⾏列と特徴量を受け取って各ノードのラベルを出⼒
す機械学習モデルをDockerでコンテナ化して提出する
• 防御モデルは10秒以内、モデルファイルは1GB以内
• 隣接⾏列を⾒ればどのノードを追加した(攻撃している)かわ
かってしまうがアルゴリズム的な側⾯で攻撃を防御するように
という指⽰が運営から出ている
• 定期的に運営が攻撃/防御モデルをマッチングして精度をリー
ダーボードに公開する
• 戦略を知られたくないチームは最終⽇までsubmitしなくて構わない
9
評価⽅法
• 攻撃と防御の両⽅を考慮した精度
https://www.biendata.xyz/competition/kddcup_2020_formal/evaluation/より引⽤ 10
スケジュール
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
参考: 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/ から引⽤
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
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
参考: 既存ライブラリ
• GNNへの攻撃/防御に関するライブラリが公開されているが、
⼤規模グラフではそのまま利⽤できない
15
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
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
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
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
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
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
Model Selection
• ローカルテストのために学習ノードをtrain/val/testに分割してモデルを
検証
• ⾃分たちの攻撃/防御モデルを戦わせていい⼿法を選別
最終的はローカルの結果とリーダーボードを⾒てモデル選択
22
結果
• 参加446チーム中 4位⼊賞
23
まとめ
• グラフデータは様々な領域に⾒られるデータ構造
• グラフニューラルネットは注⽬されている技術
• 画像などと⽐較して外部からの攻撃がしやすい
• 特徴量やグラフの統計値に基づく閾値処理は基本的だが有効
• 今後の課題
• 既存研究は⼤規模グラフでの検証が少ない
24

More Related Content

Similar to KDDCUP2020 ML Track2

第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...Deep Learning JP
 
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座Silicon Studio Corporation
 
CVPR2019 survey Domain Adaptation on Semantic Segmentation
CVPR2019 survey Domain Adaptation on Semantic SegmentationCVPR2019 survey Domain Adaptation on Semantic Segmentation
CVPR2019 survey Domain Adaptation on Semantic SegmentationYamato OKAMOTO
 
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1Computational Materials Science Initiative
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」Sho Kagami
 
アプリケーションの性能最適化の実例1
アプリケーションの性能最適化の実例1 アプリケーションの性能最適化の実例1
アプリケーションの性能最適化の実例1 RCCSRENKEI
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
Introduction to A3C model
Introduction to A3C modelIntroduction to A3C model
Introduction to A3C modelWEBFARMER. ltd.
 
文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting
文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting
文献紹介:Learnable Gated Temporal Shift Module for Free-form Video InpaintingToru Tamaki
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectComputedasyprocta
 
Globally and Locally Consistent Image Completion
Globally and Locally Consistent Image CompletionGlobally and Locally Consistent Image Completion
Globally and Locally Consistent Image Completionharmonylab
 
ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)Hideki Okada
 
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2Computational Materials Science Initiative
 
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...Toru Tamaki
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...Toru Tamaki
 

Similar to KDDCUP2020 ML Track2 (20)

第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)
 
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
 
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
CEDEC 2007 ゲーム開発者向け最新技術論文の解説・実装講座
 
CVPR2019 survey Domain Adaptation on Semantic Segmentation
CVPR2019 survey Domain Adaptation on Semantic SegmentationCVPR2019 survey Domain Adaptation on Semantic Segmentation
CVPR2019 survey Domain Adaptation on Semantic Segmentation
 
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
 
MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
 
アプリケーションの性能最適化の実例1
アプリケーションの性能最適化の実例1 アプリケーションの性能最適化の実例1
アプリケーションの性能最適化の実例1
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)
 
Introduction to A3C model
Introduction to A3C modelIntroduction to A3C model
Introduction to A3C model
 
文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting
文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting
文献紹介:Learnable Gated Temporal Shift Module for Free-form Video Inpainting
 
Hello, DirectCompute
Hello, DirectComputeHello, DirectCompute
Hello, DirectCompute
 
Globally and Locally Consistent Image Completion
Globally and Locally Consistent Image CompletionGlobally and Locally Consistent Image Completion
Globally and Locally Consistent Image Completion
 
ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)ICCV 2019 論文紹介 (26 papers)
ICCV 2019 論文紹介 (26 papers)
 
RAPIDS 概要
RAPIDS 概要RAPIDS 概要
RAPIDS 概要
 
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
 

KDDCUP2020 ML Track2