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
AY 2026 Guide to Academic Writing Using Generative AI - Workshop
ks91
PRO
0
150
多様なデータを許容し学習し続ける模倣学習 / Advanced Imitation Learning for VLA
prinlab
0
270
Spatial Active Noise Control Based onSound Field Interpolation Incorporating Physical Constraints
skoyamalab
0
150
JICA QUEST 共創×革新プログラム Impact Report(海ノ向こうコーヒー)
ontheslope
0
310
2026年度 生成AI を活用した論文執筆ガイド/ワークショップ / 2026 Academic Year Guide to Writing Papers Using Generative AI - Workshop
ks91
PRO
0
200
Vector Map as Language: Toward Unified Remote Sensing Vector Mapping
satai
3
160
The Landscape of Agentic Reinforcement Learning for LLMs: A Survey
shunk031
4
1.2k
Cross-Media Information Spaces and Architectures
signer
PRO
0
330
2025年度秋葉原ウォーカブルプロジェクト調査報告 「アキバらしいウォーカブル」とは何か
izumiyama_lab
1
160
Sequences of Logits Reveal the Low Rank Structure of Language Models
sansantech
PRO
1
300
HAKARI-Bench - 実運用視点での情報検索モデル評価ベンチマーク
hotchpotch
1
640
MIRU2026 チュートリアル講演2:三次元データ処理の動向
nnchiba
5
3.6k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Faster Mobile Websites
deanohume
310
32k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
The untapped power of vector embeddings
frankvandijk
2
1.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
630
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
Are puppies a ranking factor?
jonoalderson
1
3.8k
Side Projects
sachag
455
43k
How to build a perfect <img>
jonoalderson
1
5.9k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
410
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