SlideShare a Scribd company logo
Facebook
https://www.youtube.com
/channel/UCo33DtDOIttjiK
Kqn-YOHSw
Back-end:
Graph Convolution
Visualization
CUDA GPU
acceleration
Multi-task/multi-modal
model support
Utility (CV, Feature extraction)
Hyper parameter
optimization
Algorithms
Command-line
tools
User interface:
グラフニューラルネットワーク用ライブラリ
様々なレベルの人がグラフニューラルネットワークを含む深層学習を利用可能
になることを目指したツール群
kGCN: Graph Convolutional Network tools for life science
Github: https://github.com/clinfo/kGCN
•
•
•
•
•
ダートマス会議
第5世代プロジェクト
チェスプログラムDeepBlue
エキスパートシステム
𝑥1, 𝑥2, … , 𝑥 𝑛
𝑤1, 𝑤2, … , 𝑤 𝑛, 𝑏
𝑦
𝜎 𝑥
𝑥1
𝑥2
𝑥 𝑁
𝑦
…
𝑤1
𝑤2
𝑤 𝑁
𝑦 = 𝜎 ෍
𝑛
𝑁
𝑤 𝑛 𝑥 𝑛 + 𝑏
1
1 + 𝑒−𝑥
シグモイド関数 ステップ関数
一定以上の刺激
発火
𝑥1
𝑥2
𝑦
𝑤1
𝑤2
𝑦 = 𝜎 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏
𝑥1, 𝑥2
𝑤1, 𝑤2, 𝑏
𝑦
𝜎 𝑥
𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏
色
大きさ
境界は直線になる
𝑥1
𝑥2
𝑦
𝑤1
𝑤2
𝑦 = 𝜎 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏
𝑥1, 𝑥2
𝑤1, 𝑤2, 𝑏
𝑦
𝜎 𝑥
𝒙 𝟏 𝒙 𝟐 𝒚
0 0 0
0 1 0
1 0 0
1 1 1
𝑤1 = 1
𝑤2 = 1
𝑏 = −1.5
0 1
𝑤1 𝑤2, 𝑏
𝑥1
𝑥2
𝑥1
𝑥2
𝑦
𝑤1
𝑤2
𝑦 = 𝜎 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏
𝑥1, 𝑥2
𝑤1, 𝑤2, 𝑏
𝑦
𝜎 𝑥
𝒙 𝟏 𝒙 𝟐 ෝ𝒚
0 0 0
0 1 0
1 0 0
1 1 1
1
1 + 𝑒−𝑥
𝜎′ 𝑥 = 𝜎 𝑥 1 − 𝜎 𝑥
𝑤1, 𝑤2, 𝑏
min
𝑤1,𝑤2,𝑏
1
2
෍
𝑖
𝑒𝑖
2
𝑒𝑖 = 𝑦 𝑥1
(𝑖)
, 𝑥2
(𝑖)
− ො𝑦(𝑖)
𝑖
𝑤1← 𝑤1 − 𝛼
𝜕𝑒2
𝜕 𝑤1
𝑤2← 𝑤2 − 𝛼
𝜕𝑒2
𝜕 𝑤2
𝛼
0
1
𝑤1
𝑤2
𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏
𝑥1
𝑥2
𝑥1
𝑥2
min
𝑤1,𝑤2,𝑏
1
2
෍
𝑖
𝑒𝑖
2 𝑒 = 𝑦 − ො𝑦
𝑦 = 𝜎 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏
𝒙(1)
𝐖(1)
, 𝒃(1)
, 𝐖(2)
, 𝒃(2)
𝒚
𝜎 𝑥
𝒙(2) = 𝜎 𝐖(1) 𝒙(1) + 𝒃(1)
𝒚 = 𝜎 𝐖(2)
𝒙(2)
+ 𝒃(2)
𝒙(1) 𝒙(2) 𝒚
https://playground.tensorflow.org/
𝒙(1)
𝐖(1)
, 𝒃(1)
, 𝐖(2)
, 𝒃(2)
𝒚
𝜎 𝑥
𝒙(2) = 𝜎 𝐖(1) 𝒙(1) + 𝒃(1)
𝒚 = 𝜎 𝐖(2) 𝒙(2) + 𝒃(2)
𝒚
min
𝐖(1),𝒃(1),𝐖(2),𝒃(2)
1
2
𝒆2
𝜕 𝒆2
𝜕𝑤11
(1)
= 𝒆 𝑇
⋅
𝜕 𝒚
𝜕𝑥1
2
⋅
𝜕 𝑥1
(2)
𝜕𝑤11
(1)
:𝑤11
1
← 𝑤11
1
+ 𝛼
1
2
𝜕𝒆2
𝜕𝑤11
1
・𝒆 = ෝ𝒚 − 𝒚
・ෝ𝒚 𝑤11
(1) 𝑥1
(2)
𝑤11
(2)
𝜕 𝒆2
𝜕𝑤11
(2)
= 𝒆 𝑇
⋅
𝜕 𝒚
𝑤11
(2)
𝐷
𝒘 ← 𝒘 + 𝛼 𝛻𝐽
𝐽 𝑑 = 𝑒2𝐽 = ෍
𝑑=1
𝐷
𝐽 𝑑
𝒘 ← 𝒘 + 𝛼 𝛻𝐽 𝑑
データ データ
𝛼
𝑤1
𝑤2
𝑤1
𝑤2
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
学習データの読み込み
ネットワーク構築
順伝搬 逆誤差伝搬 重み更新
停止判定
テストデータ読み込み 順伝搬 誤差の評価
学習
評価
バリデーション
データ読み込み
順伝搬 誤差の評価
バリデーション
•
•
•
•
•
•
•
•
• MLP
0.5 1.0 0.7 ……
0.8 0.3 0.2 ……
0.5 0.2 0.8 ……
:
:
:
:
:
:
……
0.8 0.7
0.5 0.8
Kernel
(filter)
Feature map
(image)
1.74 1.6 ……
1.6 1.12 ……
:
:
:
:
……
0.5 × 0.8 + 1.0 × 0.7
+ 0.8 × 0.5 + 0.3 × 0.8
Feature map
𝑔(𝑡) ∗ 𝑓(𝑡) = ෍
𝜏
𝑔 𝜏 𝑓(𝑡 − 𝜏)
𝑔(𝑡)
𝑓(𝑡)
𝑔(𝑡) ∗ 𝑓(𝑡)
𝑾
𝑾
𝑔(𝑡) ∗ 𝑓(𝑡) = ෍
𝜏=0
𝑁
𝑔 𝜏 𝑓(𝑡 − 𝜏)
= 𝑔 0 , 𝑔 1 , … , 𝑔 𝑁 𝑓 𝑡 − 0 , 𝑓 𝑡 − 1 , … , 𝑓 𝑡 − 𝜏
𝑇
= 𝒘 𝑇
𝒙 𝑡
𝑾𝒙 𝑡
𝑾𝑿 𝑡
𝑔(𝑡) ∗ 𝑓(𝑡) = ෍
𝜏=0
𝑁
𝑔 𝜏 𝑓(𝑡 − 𝜏)
= 𝑔 0 , 𝑔 1 , … , 𝑔 𝑁 𝑓 𝑡 − 0 , 𝑓 𝑡 − 1 , … , 𝑓 𝑡 − 𝜏
𝑇
= 𝒘 𝑇
𝒙 𝑡
𝑾𝒙 𝑡
𝑾𝑿 𝑡 𝑾
𝑾
0.5 1.0 0.7 0.6
0.8 0.3 0.2 0.4
0.5 0.2 0.8 0.1
0.3 0.1 0.5 0.2
0.8 0.7
0.5 0.8
max
Max pooling
•
MLP
Convolutions Pooling
MLP
文字「A」
授業資料等:http://small-island.work/trial/
https://www.youtube.com/channel/UCo33DtDOIttjiKKqn-YOHSw
1
2
3 4
5
•
•
•
•
•
•
https://ja.wikipedia.org/wiki/%E4%B8%80%E7
%AD%86%E6%9B%B8%E3%81%8D
https://www.amazon.co.jp/FAZHEN-
%E3%83%9A%E3%83%B3%E3%82%AE%E3%83%B3%E3%82%AF%E3%83%A9%E3%83%83
%E3%82%B7%E3%83%A5%E3%82%A2%E3%82%A4%E3%82%B9%E3%82%B2%E3%83%BC
%E3%83%A0-
https://ja.wikipedia.org/wiki/%E8%A4%87%E9%9B%91%E3%83%8D%E3%83
%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF
1
2
3 4
5
ノード𝑖とノード𝑗に
エッジがあれば1なければ0
𝟎 𝟎 𝟏 𝟎 𝟎
𝟎 𝟎 𝟏 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟎
𝟏
𝟎
𝟏
𝟎
𝟏
𝟎
1
2
3 4
5
𝟎 𝟎 𝟎 𝟎 𝟎
𝟎 𝟎 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
𝟎
(無効グラフでは隣接行列は対称になる)
𝑨 =
𝟎 𝟎 𝟎 𝟎 𝟎
𝟎 𝟎 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
𝟎
1 3 4
5
𝑏𝑖,𝑗
𝑏𝑖,𝑗 = ෍
𝑘
𝑎𝑖,𝑘 𝑎 𝑘,𝑗
𝑏𝑖,𝑗 𝑩
𝑩 = 𝑨 𝟐
2
𝑳 = 𝑫 − 𝑨
𝑨 =
𝟎 𝟎 𝟏 𝟎 𝟎
𝟎 𝟎 𝟏 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
𝟎
𝟏
𝟎
𝟏
𝟎
𝟏
𝟎
1 3 4
52
𝑫 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟎
𝟎
𝟎
𝟎
𝟎
𝟎
𝟑
𝟎
𝟎
𝟎
𝟐
𝟎
𝟎
𝟎
𝟏
𝑳 =
𝟏 𝟎 − 𝟏 𝟎 𝟎
𝟎 𝟏 −𝟏 𝟎 𝟎
−𝟏
𝟎
𝟎
−𝟏
𝟎
𝟎
𝟑
−𝟏
𝟎
−𝟏
𝟐
−𝟏
−
𝟎
𝟏
𝟏
Δ𝑢 =
𝜕2 𝑢
𝜕𝑥2 +
𝜕2 𝑢
𝜕𝑦2 +
𝜕2 𝑢
𝜕𝑧2
𝑥 𝑛+1 = 𝑥 𝑛 + ℎ𝑥 𝑛
′
+
1
2
ℎ2
𝑥 𝑛
′′
+ O ℎ3
𝑥 𝑛+1 + 𝑥 𝑛−1 = 2𝑥 𝑛 + ℎ2
𝑥 𝑛
′′
+ O ℎ3
𝑥 𝑛𝑥 𝑛−1 𝑥 𝑛+1
𝑥 𝑛−1 = 𝑥 𝑛 − ℎ𝑥 𝑛
′
+
1
2
ℎ2
𝑥 𝑛
′′
+ O ℎ3
𝑥 𝑛
′′
=
𝑥 𝑛+1 − 2𝑥 𝑛 + 𝑥 𝑛−1
ℎ2 + O ℎ
ℎℎ
𝑳 = 𝑫 − 𝑨
1 32
𝑳 =
𝟏
−𝟏
𝟎
−𝟏
𝟐
−𝟏
−
𝟎
𝟏
𝟏
𝑦1
𝑦2
𝑦3
= 𝑳
𝑥1
𝑥2
𝑥3
𝑦2 = −𝑥1 + 2𝑥2 − 𝑥3
https://www.amazon.co.jp/FAZHEN-
%E3%83%9A%E3%83%B3%E3%82%AE%E3%83%B3%E3%82%AF%E3%83%A9%E3%83%83
%E3%82%B7%E3%83%A5%E3%82%A2%E3%82%A4%E3%82%B9%E3%82%B2%E3%83%BC
%E3%83%A0-
Zhang, Ziwei, Peng Cui, and Wenwu Zhu. "Deep learning on graphs: A survey." arXiv preprint arXiv:1812.04202 (2018).
グラフニューラルネットワークで考える設定
(1/2)
名前:
年齢:
エッジは向きが
あってもなくてもよい
ノードは情報を持っていてよい
エッジは数種類あってもよい
グラフニューラルネットワークで考える設定
(2/2)
化合物をグラフで表現する
エッジは向きがない
ノード(原子)は情報を持っている
エッジ(結合)は数種類ある
ノード情報:
原子名
混成軌道
…
Wikipedia:nanoputian
グラフにベクトルとして
ノード情報(特徴量)がついてい
る状況を考える
エッジは有効・無効・複数種類
あってもよい
特徴量がない場合は「埋め込み」という方法を使う
・最初にランダムに特徴を与えて、特徴もデータから学習する
・各種グラフ埋め込み手法を利用する(node2vecなど)
𝑾
Graph Convolution は隣接したノード
のベクトルに対してフィルタを掛
けて、足し合わせるという処理を
行う。
Convolution と同様に𝑊をフィルタ
とみなすと、グラフ上のベクトル
の特定のパターンにのみ値が大き
くなるような関数を構成すること
ができる。
同様の処理をすべてのノードに行う
𝑾
𝒚𝑖 = ෍
𝑗
𝑎𝑖,𝑗 𝒙𝑗
𝑻
𝑾
1
2
3 4
5
ノード𝑖とノード𝑗に
エッジがあれば1なければ0
𝑎𝑖,𝑗を要素とする行列𝑨を隣接行列と呼ぶ
𝒀 = 𝑨𝑿 𝑾
𝑨 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟏
𝑾
1
2
3 4
5
二つ隣かどうかの0/1変数𝑏𝑖,𝑗
𝑏𝑖,𝑗 = ෍
𝑘
𝑎𝑖,𝑘 𝑎 𝑘,𝑗
𝑏𝑖,𝑗を要素に持つ行列𝑩
𝑩 = 𝑨 𝟐
𝒀 = 𝑨𝑿𝑾 𝟏 + 𝑨 𝟐 𝑿𝑾 𝟐
実際には𝑨 𝟐が0でない部分を1に
する処理が必要
𝑾
1
2
3 4
5
𝒀 = 𝑨 𝟏 𝑿𝑾 𝟏 + 𝑨 𝟐 𝑿𝑾 𝟐
𝑨 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟏
𝑨 𝟏 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟎
𝟎
𝟎
𝟏
𝟏
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟏
𝑨 𝟐 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟎
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
𝟎
𝟎
𝟎
𝟏
エッジの種類は複数のグラフの重
ね合わせとして表現
同様に、複数グラフの入力も可能
エッジの種類で隣接行列を分解
1 3 4
5
𝑨 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟏
2
𝑨 𝟐 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟎
𝟎
𝟎
𝟎
𝟎
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝑨 𝟑 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝟎
𝟎
𝟎
𝟏
𝒀 = 𝑨 𝟐 𝑿𝑾 𝟏 + 𝑨 𝟑 𝑿𝑾 𝟐
次数ごとに隣接行列を分解する。
1 3 4
5
𝑨 =
𝟏 𝟎 𝟎 𝟎 𝟎
𝟎 𝟏 𝟎 𝟎 𝟎
𝟏
𝟎
𝟎
𝟏
𝟎
𝟎
𝟏
𝟏
𝟎
𝟏
𝟏
𝟎
𝟎
𝟏
𝟏
2
𝑨
𝟏
𝟏
𝟏
𝟏
𝟏
=
𝟏
𝟏
𝟒
𝟑
𝟏
𝑾
1 3 4
5
𝒀 = 𝜎 𝑿𝑾 + 𝒃
ノード間の相互作用はなしで、
各特徴量を変換する
𝜎: 活性化関数
2
1 3 4
5
全ノードのベクトルを
足し合わせる
2
グラフ表現からベクトルに変換するため
に利用
この層より後段は通常のNNが利用可能
BNGCN
Activation
BNGCN Activation Graph fully-connected graph gathering MLP
1. GCN+Activation+Batch Normalization の組み合わせを
セットにして、何層か詰む
2. Graph fully-connected 層を必要に応じて挟む
3. Graph gathering 層を挟んでグラフからベクトルに変換
4. MLPで予測対象のラベルを出力
• Graph-centric
• Node-centric
• Link prediction
Graph-centric vs Node-centric
Class 2
Class 1
Class 1
Class 1
Class 2
Class 1
Node-centric: ノードにラベルがついているGraph-centric: グラフにラベルがついている
GCN はGraph-centric と Node-centricの両方に対応できる。
SNSのデータなどはNode-centricな方が自然な場合がある
Graph-centric vs Node-centric
Graph-centric の例
BNGCN
Activation
BNGCN Activation Graph fully-connected graph gathering MLP
O
OH
NH2OO NH
・水溶性予測
・毒性予測Node-centric の例
BNGCN
Activation
BNGCN Activation Graph fully-connected
Class 2
Class 1
SNSネットワーク
・ボット検出
・潜在顧客検出
𝑓( , )
Link prediction
A
C D
EB
GCNにより
得られるベクトル
入力グラフ
疑似負例 正例
𝑓( , )A CA B
<
スコア関数 成り立つようにスコア関数&GCNを学習
スコア関数の値が高いほどエッジのある可能性が高い
(エッジがない&スコアが高い→未知のエッジの可能性が高い)
Link prediction
Link prediction の例:商品の推薦システム
BNGCN
Activation
BNGCN Activation Graph fully-connected
ユーザ
商品
𝑔(𝑡) ∗ 𝑓(𝑡) = ෍
𝜏
𝑔 𝜏 𝑓(𝑡 − 𝜏)
𝑔(𝑡)
𝑓(𝑡)
𝑔(𝑡) ∗ 𝑓(𝑡)
𝐹 𝑔(𝑡) ∗ 𝑓(𝑡) = 𝐹 𝑔(𝑡)] 𝐹[𝑓(𝑡)
𝐹
𝐹 𝑓 𝑥 = න
−∞
∞
𝑓 𝑥 𝑒 𝑖𝜔𝑥 𝑑𝑥 = 〈𝑓 𝑥 , 𝑒 𝑖𝜔𝑥〉
Δℎ 𝜔(𝑥) = 𝜆 𝜔ℎ 𝜔(𝑥) ℎ 𝜔 𝑥 = 𝑒 𝑖𝜔𝑥
𝜆 𝜔 = −𝜔2
ℎ 𝑥
𝑳 = 𝑫 − 𝑨
𝑨
𝑫
𝑳 = 𝑼𝚲𝐔 𝐓
ෝ𝒙 = 𝑼 𝑇 𝒙
𝒙 = 𝑼ෝ𝒙
𝑼 𝑑𝑖𝑎𝑔 𝒘 ෝ𝒙
= 𝑼𝑑𝑖𝑎𝑔 𝒘 𝑼 𝑇
𝒙
Δℎ 𝜔(𝑥) = 𝜆 𝜔ℎ 𝜔(𝑥)
𝐹 𝑓 𝑥 = 〈𝑓 𝑥 , ℎ 𝜔(𝑥)〉
𝐹 𝑔(𝑡) ∗ 𝑓(𝑡) = 𝐹 𝑔(𝑡)] 𝐹[𝑓(𝑡)𝑑𝑖𝑎𝑔 𝒘 : 𝒘を対角
要素に持つ行列
→ 𝑼𝑔 𝒘 𝚲 𝑼 𝑇 𝒙
𝑳 = 𝑫−1/2
𝑫 − 𝐀 𝑫−1/2
𝑼𝑔 𝒘 𝚲 𝑼 𝑇
𝒙
𝑔 𝒘 𝚲 ≅ ෍
𝑘=0
𝐾
𝑤′
𝑘 𝑇k(෩𝚲)
𝑼𝑇k
෩𝚲 𝑼 𝑇
= 𝑇k
෨𝑳
෍
𝑘=0
𝐾
𝑤′ 𝑘 𝑇k(𝑳)𝒙
𝑇k: k 多項式(チェビシェフ多項式による近似)
𝑇0 𝑥 = 1
𝑇1 𝑥 = 𝑥
𝑇k 𝑥 = 2𝑥𝑇k−1 𝑥 − 𝑇k−2 𝑥
𝑤′0 𝒙 + 𝑤′
1 𝑳 − 𝑰 𝑥 = 𝑤′0 𝒙 − 𝑤′
1 𝑫−1/2
𝑨𝑫−1/2
𝒙
𝐾 = 1とすると
෩𝚲:固有値を−1~1にノーマライズしたもの
𝑳 = 𝑫−1/2 𝑫 − 𝐀 𝑫−1/2
= 𝐼 − 𝑫−1/2 𝑨𝑫−1/2
𝑾 𝑰 + 𝑫−1/2 𝑨𝑫−1/2 𝒙
= 𝑾෩𝑨 𝒙 ෩𝑨 = 𝑰 + 𝑫−1/2
𝑨𝑫−1/2
Re-normalization:
1次近似
2次近似
元の変換(ランダムに生成したグラフ・特徴量でプロット)
3次近似 10次近似
https://colab.research.google.com/drive/1PwDQTy9trj2O4Dn-byrj9qF2jcA8Ul74コード
Back-end:
Graph Convolution
Visualization
CUDA GPU
acceleration
Multi-task/multi-modal
model support
Utility (CV, Feature extraction)
Hyper parameter
optimization
Algorithms
Command-line
tools
User interface:
グラフニューラルネットワーク用ライブラリ
様々なレベルの人がグラフニューラルネットワークを含む深層学習を利用可能
になることを目指したツール群
kGCN: Graph Convolutional Network tools for life science
Github: https://github.com/clinfo/kGCN
ブロックを線でつなげることで、グラフィカルに処理を記述可能
前処理部分 学習・可視化部分
GCNモジュール
https://colab.research.google.com/drive/1E9sCWQKWs2BO_i_zAudne-8nJQigYYLl
Integrate gradients (IG) による可視化を実装済み
Sundararajan, Mukund, Ankur Taly, and Qiqi Yan. "Gradients of
counterfactuals." arXiv preprint arXiv:1611.02639 (2016).
• ニューラルネットワークの
アーキテクチャに依存しない
Numberofatoms
features
特徴量レベル貢献度
• グラフのノードの貢献度
• ノードの特徴量レベルの貢
献度
GCNを含むマルチモーダ
ル・タスクマルチモーダル
を可視化可能
• データサンプル・特徴量レベル
での予測の貢献度を算出可能
赤い部分が予測により効いている
原子レベル貢献度
予測貢献度の可視化
グラフ・系列・ベクトルに対する可視化に統一的な仕組みで可視化が可能
The performance of this method was examined using a
simple dataset (water solubility) with binary labels of
solubility(High/Low)
Water solubility prediction model
0037-2-pentanol
0038-2,2-dimethyl
-1-propanol 0043-1,2-benzenediol
0048-cyclohexanone
0051-succinic_acid
0067-2,5-dimethylpyridine
0068-nicotinic_acid
0073-arecoline 0078-caffeine
0079-piperazine
IG-based visualization consistent with chemical intuition like hydrophilic groups
Number of training compounds: 623
Number of predicting compounds: 142
Number of features: 75
Training using a GCN (single-modal)
Solubility=High
特に化合物等を用いたグラフコンボリューションネットワークでは多くの疎行列に対する積計算が重要に
なってくる
(汎用的なGPUの高速計算ライブラリの多くはこれに対応していない)
 人工的なベンチマークを用いて評価
 7~8倍の計算の高速化
(特徴量が極端に多くない場合)
Batched sparse matrix multiplication(BatchedSpMM)を用いた
グラフコンボリューションネットワークの高速計算
複数の行列に対する(Batched)疎行列積計算ライブラリ(sparse matrix
multiplication)を開発
TensorFlow経由で容易に呼び出し可能 Nagasaka, et al.
"Batched sparse matrix multiplication for accelerating graph
convolutional networks." CCGRID. 2019
kGCNプラットフォームの開発
https://github.com/clinfo/kGCN
オープンソースプロジェクトとして公開
ロードマップ
今年度
・ベイズ最適化
・能動学習
・オンライン学習
・GCN以外の手法追加
来年度
・生成モデル
・転移学習
・メタラーニング
Back-end:
Graph Convolution
Visualization
CUDA GPU
acceleration
Multi-task/multi-modal model
support
Utility (CV, Feature extraction)
Hyper parameter optimization
Algorithms
Command-line toolsUser interface:

More Related Content

What's hot

Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題joisino
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential EquationsDeep Learning JP
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?Masanao Ochi
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門joisino
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデルMasahiro Suzuki
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic DatasetsDeep Learning JP
 
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)Deep Learning JP
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれからcyberagent
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision TransformerYusuke Uchida
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 

What's hot (20)

Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 

Similar to グラフニューラルネットワーク入門

Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
Variational autoencoder
Variational autoencoderVariational autoencoder
Variational autoencoderMikio Shiga
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法kenyanonaka
 
場の量子論
場の量子論場の量子論
場の量子論M M
 
Long short-term memory (LSTM)
Long short-term memory (LSTM)Long short-term memory (LSTM)
Long short-term memory (LSTM)Kenta Ishii
 
Prml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングPrml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングtakutori
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image AnalysisYuki Shimada
 
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)TakaakiYonekura
 
MMDs10.6-7
MMDs10.6-7MMDs10.6-7
MMDs10.6-7mfumi
 
スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元Shogo Muramatsu
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
MuZero - ML + Security Reading Group
MuZero - ML + Security Reading GroupMuZero - ML + Security Reading Group
MuZero - ML + Security Reading GroupKim Hammar
 
わかりやすいパターン認識 4章
わかりやすいパターン認識 4章わかりやすいパターン認識 4章
わかりやすいパターン認識 4章Motokawa Tetsuya
 
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)Akihiro Nitta
 
130604 fpgax kibayos
130604 fpgax kibayos130604 fpgax kibayos
130604 fpgax kibayosMikio Yoshida
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係についてDeep Learning JP
 
行列計算アルゴリズム
行列計算アルゴリズム行列計算アルゴリズム
行列計算アルゴリズムTakuo Tachibana
 
20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節MOTOGRILL
 

Similar to グラフニューラルネットワーク入門 (20)

Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
Variational autoencoder
Variational autoencoderVariational autoencoder
Variational autoencoder
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
場の量子論
場の量子論場の量子論
場の量子論
 
Long short-term memory (LSTM)
Long short-term memory (LSTM)Long short-term memory (LSTM)
Long short-term memory (LSTM)
 
Prml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングPrml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティング
 
Fourier transform
Fourier transformFourier transform
Fourier transform
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image Analysis
 
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
 
MMDs10.6-7
MMDs10.6-7MMDs10.6-7
MMDs10.6-7
 
スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
MuZero - ML + Security Reading Group
MuZero - ML + Security Reading GroupMuZero - ML + Security Reading Group
MuZero - ML + Security Reading Group
 
わかりやすいパターン認識 4章
わかりやすいパターン認識 4章わかりやすいパターン認識 4章
わかりやすいパターン認識 4章
 
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
 
130604 fpgax kibayos
130604 fpgax kibayos130604 fpgax kibayos
130604 fpgax kibayos
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
行列計算アルゴリズム
行列計算アルゴリズム行列計算アルゴリズム
行列計算アルゴリズム
 
20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節
 

Recently uploaded

Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Toru Miyahara
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例Kurata Takeshi
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題についてMasatsugu Matsushita
 
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップToru Miyahara
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上mizukami4
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料Toru Miyahara
 

Recently uploaded (6)

Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 

グラフニューラルネットワーク入門