Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DeepGCNs: Can GCNs Go as Deep as CNNs?
Search
shimacos
November 21, 2019
Research
2
1.1k
DeepGCNs: Can GCNs Go as Deep as CNNs?
ICCV'19 で提案された 'DeepGCNs: Can GCNs Go as Deep as CNNs?' についてエルピクセルのLT会で発表しました。
shimacos
November 21, 2019
Tweet
Share
More Decks by shimacos
See All by shimacos
LayerXにおけるAI・機械学習技術の活用と展望 / layerx-ai-jsai2024
shimacos
2
2.5k
BigQueryで参加するレコメンドコンペ / bq-recommend-competition-kaggle-meetup-tokyo-2023
shimacos
1
1.6k
[関東Kaggler会 スポンサーセッション] LayerXの事業と機械学習でできること / kanto-kaggler-layerx
shimacos
0
1.2k
[CVPR 2023 論文紹介] Unifying Vision, Text, and Layout for Universal Document Processing / kanto-cv-59-udop
shimacos
3
920
LayerXにおける機械学習を活用したOCR機能の改善に関する取り組み / layerx-jsai-2023
shimacos
3
22k
Kaggle Days Championship予選全12回まとめ + TIPS
shimacos
0
6k
Kaggle Feedback Prizeコンペ 反省会
shimacos
5
3.3k
BQMLことはじめ
shimacos
2
1.7k
結局Kaggleって何を得られるの?
shimacos
8
7.3k
Other Decks in Research
See All in Research
SSII2024 [OS3] 基盤モデル(オープニング)
ssii
PRO
0
280
点群処理の基礎: 平面の検出と、その上下の点の取り出しについて
kentaitakura
0
320
JMED-LLM: 日本語医療LLM評価データセットの公開
fta98
1
350
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
430
SSII2024 [OS2] 大規模言語モデルとVision & Languageのこれから
ssii
PRO
5
1.3k
デジタルツインによる ネイチャーポジティブへの挑戦
fullfull
0
210
SSII2024 [TS3] 画像認識におけるマルチモーダル基盤モデル ~基盤モデル、あなたのタスクに役立つかも?~
ssii
PRO
0
810
高精度、高効率アナログCompute-in-Memory回路に向けて
kentaroy47
2
100
SSII2024 [PD] 画像センシングの未来
ssii
PRO
0
290
中高生にSFを読んでもらうには
ichiiida
1
830
Threat Intelligence and Beyond
rishikadesai_7
0
240
SSII2024 [TS1] 生成AIと3次元ビジョン ~3次元生成AIの最先端の理論~
ssii
PRO
1
980
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Music & Morning Musume
bryan
43
5.9k
Faster Mobile Websites
deanohume
303
30k
Typedesign – Prime Four
hannesfritz
37
2.2k
Designing the Hi-DPI Web
ddemaree
276
34k
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Adopting Sorbet at Scale
ufuk
71
8.8k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
The Invisible Customer
myddelton
117
13k
Clear Off the Table
cherdarchuk
89
320k
Transcript
DeepGCNs: Can GCNs Go as Deep as CNNs? [ICCV 2019,
Gunhao Li +] #8【画像処理 & 機械学習】論⽂LT会! @エルピクセル株式会社 2019/11/21 Naoto Shimakoshi
自己紹介 2 • 名前 • 島越 直⼈ (シマコシ ナオト) •
よくトリゴエと間違えられますがシマコシです。 • Twitter • @nt_4o54 • 経歴 • ⼤学時代は⽣体信号から睡眠段階を判別するシステムをDeepで作ってました。 • 社会⼈になってからは、タクシーの位置情報データを⽤いた機械学習プロジェクト に関わってます。 • Kaggle • @shimacos • 最近、Kaggle Masterになりました。
Graph Convolutional Network (GCN) • Convolutional Neural Networkはnon-Euclidean dataを上⼿く扱えない •
要するに隣り合うもの同⼠の距離や結合の違いを考慮できない • グラフデータに対する需要の⾼まり • CV領域でも関⼼が⾼まっている • Semantic relations between objects • Human joints for action recognition • 3D point cloud processing 3 Graph に対して畳み込みを⾏うGraph Convolutional Network の登場
DeepGCNs: Can GCNs Go as Deep as CNNs? • Challenges
• ⼤規模グラフに対してGCNを適⽤した先⾏研究は、3-6層のものが多い • 層を深くしすぎると受容野が広がりすぎて勾配消失が起きやすい • Contributions • CNNで⽤いられている⼿法をGCNに適⽤することで56層 ( ! ) のGCNを提案 • 3次元点群のSegmentation TaskにおいてSoTAを3.7%更新 • 著者によるgithub実装 • Tensorflow : http://github.com/lightaime/deep_gcns • Pytorch : https://github.com/lightaime/deep_gcns_torch 4
• 点群データのSegmentationには以下のような課題が存在 • 単純にVoxelで処理をしようとすると物体の凹凸表現が⽋損する • 点群データは頂点のindexに意味がない • 回転しても等価 • Augmentationで対応することも考えられるが組み合わせが無数で現実的でない
• 点群をGraphとして考えると上記のようなことを意識しなくてもよい 何故点群データにGCN? 5 1 2 3 4 5 2 3 4 5 1
GCNの層を深くするにはどうしたらいいか? • CNNの場合は? • ResNet / DenseNet (勾配消失問題を解決) • Dilated
Convolutional Network • Poolingで失われる空間的情報を削減 6 [1] https://arxiv.org/pdf/1512.03385.pdf [2] https://arxiv.org/pdf/1608.06993.pdf [3] https://arxiv.org/pdf/1511.07122.pdf [1] [2] [3]
CNNの概念をGCNに単純に応用 | Dilated Conv 7 • ⼀般的なGCNの定式化 ( : グラフ,
: 重み, : レイヤーインデックス) 周辺ノードをどのようにAggregateするか
CNNの概念をGCNに単純に応用 | Dilated Conv 8 • ⼀般的なGCNの定式化 ( : グラフ,
: 重み, : レイヤーインデックス) Aggregateされた特徴を使って中⼼ノードをどのように更新するか
CNNの概念をGCNに単純に応用 | Dilated Conv 9 • ⼀般的なGCNの定式化 ( : グラフ,
: 重み, : レイヤーインデックス) • Aggregate Function ( ) = Dilated k-NN function ( : 中⼼ノード, : 近傍ノード) • 近傍ノードを特徴空間上で距離が近い順にd個間隔を空けてk個選択
• ⼀般的なGCNの定式化 ( : グラフ, : 重み, : レイヤーインデックス) •
Aggregate Function ( ) = Dilated k-NN function ( : 中⼼ノード, : 近傍ノード) • 近傍ノードを特徴空間上で距離が近い順にd個間隔を空けてk個選択 • Update function = MLP • Aggregateされた特徴と中⼼ノードの特徴をconcatさせてMLPに⼊⼒ CNNの概念をGCNに単純に応用 | Dilated Conv 10
• ⼀般的なGCNの定式化 ( : グラフ, : 重み, : レイヤーインデックス) •
Aggregate Function ( ) = Dilated k-NN function ( : 中⼼ノード, : 近傍ノード) • 近傍ノードを特徴空間上で距離が近い順にd個間隔を空けてk個選択 • Update function = MLP • Aggregateされた特徴と中⼼ノードの特徴をconcatさせてMLPに⼊⼒ CNNの概念をGCNに単純に応用 | Dilated Conv 11 論⽂の誤植!! 正しくは、concatさせてMLPに ⼊⼒した結果のmaxを取る (github実装参照)
Blockの中⾝でしていることは同じ • ResGCN / DenseGCN • ResGCN-56とDenseGCN-28まで構築 12 CNNの概念をGCNに単純に応用 |
ResNet / DenseNet
Result 13 • S3DISデータセットで実験 • 室内データのセグメンテーションを⾏うデータセット • Ablation studyでは、 ResGCN-28
> ResDense-28, ResGCN-56 > ResGCN-28 • mIOUでSoTAより3.7%改善 (何故かResGCN-56では⽐較していない) • GPUリソースの問題で詳細には試せなかったが、ResGCN-151まで構築してResGCN-28 と似たような結果が得られたらしい。(Over Smoothingしてる?)
個人的感想 • 層を深くできたのは、Residual Connectionの寄与も⼤きいかもしれないが、Aggregateに Max poolingを⽤いてるのが⼤きい? • 結局周辺ノードと⾔いつつ1ペアの情報しかAggregateされてなくない? • 周辺ノードの重み付け和などにすると、層を深くするにつれて受容野が広がってしまい、
勾配消失してしまいそう • 層を深くしても同じパラメータで実験しているっぽいので伸びしろありそう • 3次元点群だけでなく、他の⼤規模グラフに対しても利⽤できそう • エッジが明⽰的に与えられているグラフだとAggregateに⼯夫の余地あり 14
参考 • Dynamic Graph CNN for Learning on Point Clouds
• 点群DNN、3D DNN⼊⾨ -3DYOLO, VoxelNet, PointNet, FrustrumPointNetなどなど • 点群×ディープラーニング【⼊⾨】 15