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.8k
BigQueryで参加するレコメンドコンペ / bq-recommend-competition-kaggle-meetup-tokyo-2023
shimacos
1
1.7k
[関東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
960
LayerXにおける機械学習を活用したOCR機能の改善に関する取り組み / layerx-jsai-2023
shimacos
3
23k
Kaggle Days Championship予選全12回まとめ + TIPS
shimacos
0
6.2k
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
外積やロドリゲスの回転公式を利用した点群の回転
kentaitakura
1
460
スモールデータ勉強会発表資料
natsutan
0
560
Kaggle役立ちアイテム紹介(入門編)
k951286
13
3.9k
marukotenant01/tenant-20240826
marketing2024
0
360
CVPR2024論文紹介:Segmentation
hinako0123
0
110
DiscordにおけるキャラクターIPを活用したUGCコンテンツ生成サービスの ラピッドプロトタイピング ~国際ハッカソンでの事例研究
o_ob
0
210
SSII2024 [OS2] GPT-4Vで画像認識は終わるのか(オープニング)
ssii
PRO
0
750
大規模言語モデル (LLM) の技術と最新動向
ikuyamada
31
18k
クラウドソーシングによる学習データ作成と品質管理(セキュリティキャンプ2024全国大会D2講義資料)
takumi1001
0
160
仮説検定とP値
shuntaros
6
7.6k
出生抑制策と少子化
morimasao16
0
390
RCEへの近道
kawakatz
1
730
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
22
580
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Automating Front-end Workflow
addyosmani
1365
200k
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
What's in a price? How to price your products and services
michaelherold
242
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
47
2.8k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
How to Think Like a Performance Engineer
csswizardry
15
920
Optimising Largest Contentful Paint
csswizardry
28
2.8k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
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