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
雲コンペ振り返り
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Dice
November 30, 2019
Research
840
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
雲コンペ振り返り
Dice
November 30, 2019
Other Decks in Research
See All in Research
超効率化への挑戦:1bit LLMの現状と展望
yumaichikawa
0
590
全国町字単位空き家率推定データver1.0データ仕様
microbaseinc
0
190
第64回CV・PRML勉強会 論文紹介:Linguistic Priors for Visual Decoupling: Towards Symmetric Vision-Brain Alignment
sokikatayama
0
170
LLM Compute Infrastructure Overview
karakurist
2
1.6k
【ローカルAIに向き合う展示会vol.2】液体時間定数型モジュールを用いた オリジナルの双方向エンコーダーモデルNexteraBERT 推論速度向上検討並びにダウンストリーム評価
rikkabotan7
0
180
Claude Code × autoresearch 実践
mathbullet
0
250
ふとした出会いで生まれたSkillが、 社内利用1位になるまで
mikimhk
21
23k
Ghost in the 7‑Zip: The Shadow of Residential Proxies Creeping into Your Life
nttcom
0
1.9k
2026年 オープンキャンパス 研究室紹介
junkurihara
0
140
[最先端NLP勉強会2026] Agentic Rubrics as Contextual Verifiers for SWE Agents
rfujii
1
300
PGDM: Physically Guided Diffusion Model for L Downscaling
satai
3
440
Research Engineerという仕事 / Research Engineering: Bridging Research and Business
chck
1
280
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
The Curse of the Amulet
leimatthew05
2
14k
Mind Mapping
helmedeiros
PRO
1
340
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
300
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
670
Transcript
Understanding Clouds from Satellite 雲コンペ振り返り Dice(d46kobayashi)
⾃⼰紹介 とあるJTCのR&Dに所属(4年⽬) ⼤学では機械系(B1)→制御系(B2~B3)→材料系(B4)→情報系(M1~M2)を学ぶ Kaggle歴約6か⽉(Expert) 実績 網膜コンペ銀メダル(26位/2943チーム) 雲コンペ銀メダル(42位/1538チーム) (ProbSpaceくずし字コンペ 1位/137チーム)
コンペティション概要 太陽の放射熱を宇宙に反射する薄い雲は地球温暖化を防ぐ役割があるが、これら の薄い雲のモデリングをより適切に⾏うためのプロジェクト 衛星写真を⽤いて薄い雲を観察した結果、4つの主要なパターンを発⾒ 砂糖型︓⾮常に薄く、低い⾼度に形成される⼩さな積雲 砂利型︓砂糖型よりも荒く、⾵の影響により、線や円弧に沿った⼩規模な雲 花型︓周りに雲の無い領域のある、それぞれが分離された斑点のような形 ⿂型︓最も⼤きな(数百kmに及ぶ)パターンで、⿂の⾻格のような形 このコンペでは、衛星写真に写っている雲の形を領域ごとに4クラスに分類する 評価指標はDice係数
2
画像例 3
データ特徴 1400×2100という⼤きなサイズ(予測時は350×525サイズ) 衛星写真の境界領域は⿊のマスク状態になっており、該当ラベルも無し 各画像に必ず1つ以上のマスクがある クラス間でオーバーラップあり 4
チャレンジ 複数(各画像約3⼈)のアノテーターによってラベル付けされた共通領域をGTとして いるが、分類基準が曖昧なため、アノテーションノイズが多い 矩形を⽤いてアノテーションしているため、ラベルの境界が雲に沿っていない 5
前処理 学習のノイズとなりそうな画像を除外 6
学習(Segmentation) U-Net(5 fold) Encoder: EfficientNet-B4 AttentionModule: scSE Batch Size: 6
U-Net++(5 fold) Encoder: EfficientNet-B3 AttentionModule: scSE Batch Size: 4 7
学習(Segmentation) 共通 Input Size: 416 × 640 Loss Function: BCE(0.5)
+ DiceLoss(0.5) Optimizer: RAdam(WeightDecay: 1e-4) 1段階⽬ Epoch: 20 Learning Rate: 1e-3 → 1e-4 (CosineAnnealing) Hard Augmentation(VH-Flip, ShiftScaleRotate, RandomBrightnessContrast) 2段階⽬ Epoch: 7 Learning Rate: 1e-4 → 1e-5 (CosineAnnealing) Soft Augmentation(VH-Flip) 8
学習(Classification) EfficientNet-B4(5 fold) Batch Size: 16 EfficientNet-B3(5 fold) Batch Size:
24 ※Segmentationの1段階⽬学習済みモデルからFine Tuning 9
学習(Classification) Input Size: 416 × 640 Loss Function: BCE Optimizer:
RAdam(WeightDecay: 1e-4) Epoch: 10 Learning Rate: 1e-4 → 1e-5 (CosineAnnealing) Hard Augmentation(VH-Flip, ShiftScaleRotate, RandomBrightnessContrast) 10
後処理 4 fold TTA(Soft Augmentation) + Mean Average Ensemble(Segmentation) 10
fold TTA(Hard Augmentation) + Mean Average Ensemble(Classification) 閾値以上の領域を暫定のマスクとする マスク領域の補間(詳細は次ページ) ⿊領域のマスクを削除 領域内の平均予測値が閾値以下かつ⾯積が閾値以下のマスクを削除 Classificationの予測値が閾値以下の画像のマスクを削除(LB: 0.006 ↑) 予測マスク数が0の画像について、Classificationの予測値が閾値以上の画像のみ、 予測値が⾼い1クラスのマスクを追加(LB: 0.003 ↑) 11
後処理(マスク領域の補間) approxとrectangleの差分について、領域ごとに⾯積を計算し、閾値以下であれば rectangle、閾値以上であればapproxを選択する → 学習データに⾒られるマスクに近い形のマスクが増え、approxのみ、rectangle のみよりも精度向上 12
その他 Soft Pseudo Labeling → 僅かな精度向上 Loss変更(BCEのみ, Diceのみ, BCE +
Lovasz, bi-tempered loss)→ 向上せず Optimizer変更(AdamW, DEMONAdam)→ 向上せず Decoder変更(DeepLabV3+, HRNet, FPN)→ U-Netを超える精度が出ず断念 Encoder変更(ResNet, ResNeXt-WSL, SE-ResNeXt, DenseNet)→ SE-ResNeXt101が Efficient-B3と同程度の精度、検証速度を優先して2モデルに絞った AttentionModule変更(CBAM, ECA)→ SCSEと⽐較して学習の安定度低下 解像度変更 → 取り掛かりが遅く、検証しきれず 13
結果・反省 Public: 5位 → Private 42位 ⼤幅にShake down(最⾼subでも19位) PrivateのスコアはPublicよりもLocalCV(0.663~0.665)に近かった Late
Submissionで遊んでみたが、後処理前のCNN部分の精度が⾜りていない もう少しモデルに多様性を持たせてアンサンブルすることが必要だった 14
感想 途中帰省していた3連休を除いて⾦圏キープできたのは良かった Shake downは悔しいが実⼒不⾜ Pseudo Labelingの⽅法をもう少し⾊々検証したかった テンプレートコードを作成しながら進めていたが、中途半端な状態になっている ので、次のコンペまでに完成させたい 15
おまけ 計算機環境(⾃宅PC) CPU: Core i5(2cores) GPU: GTX1080Ti(1枚) RAM: 48GB 使⽤ライブラリ
PyTorch pytorch-lightning albumentations segmentation-models-pytorch 16