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.2k
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
3.1k
BigQueryで参加するレコメンドコンペ / bq-recommend-competition-kaggle-meetup-tokyo-2023
shimacos
1
1.8k
[関東Kaggler会 スポンサーセッション] LayerXの事業と機械学習でできること / kanto-kaggler-layerx
shimacos
0
1.3k
[CVPR 2023 論文紹介] Unifying Vision, Text, and Layout for Universal Document Processing / kanto-cv-59-udop
shimacos
3
1k
LayerXにおける機械学習を活用したOCR機能の改善に関する取り組み / layerx-jsai-2023
shimacos
3
24k
Kaggle Days Championship予選全12回まとめ + TIPS
shimacos
0
6.4k
Kaggle Feedback Prizeコンペ 反省会
shimacos
5
3.4k
BQMLことはじめ
shimacos
2
1.8k
結局Kaggleって何を得られるの?
shimacos
8
7.4k
Other Decks in Research
See All in Research
RSJ2024「基盤モデルの実ロボット応用」チュートリアルA(河原塚)
haraduka
3
640
クラウドソーシングによる学習データ作成と品質管理(セキュリティキャンプ2024全国大会D2講義資料)
takumi1001
0
290
第 2 部 11 章「大規模言語モデルの研究開発から実運用に向けて」に向けて / MLOps Book Chapter 11
upura
0
380
20240918 交通くまもとーく 未来の鉄道網編(こねくま)
trafficbrain
0
230
3次元点群の分類における評価指標について
kentaitakura
0
410
クロスセクター効果研究会 熊本都市交通リノベーション~「車1割削減、渋滞半減、公共交通2倍」の実現へ~
trafficbrain
0
250
「並列化時代の乱数生成」
abap34
3
820
Generative Predictive Model for Autonomous Driving 第61回 コンピュータビジョン勉強会@関東 (後編)
kentosasaki
0
210
TransformerによるBEV Perception
hf149
1
430
Whoisの闇
hirachan
3
140
20240820: Minimum Bayes Risk Decoding for High-Quality Text Generation Beyond High-Probability Text
de9uch1
0
120
Zipf 白色化:タイプとトークンの区別がもたらす良質な埋め込み空間と損失関数
eumesy
PRO
5
650
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Building an army of robots
kneath
302
43k
A designer walks into a library…
pauljervisheath
204
24k
How GitHub (no longer) Works
holman
310
140k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Building Your Own Lightsaber
phodgson
103
6.1k
Teambox: Starting and Learning
jrom
133
8.8k
Writing Fast Ruby
sferik
627
61k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
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