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
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
Search
nanachi
August 07, 2025
Technology
1
120
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
2025-08-07に行われた「上位Kagglerに学ぶ~画像コンペの戦い方~ 」で用いた発表資料です(pdf書き出しの都合でレイアウトが若干乱れています)
nanachi
August 07, 2025
Tweet
Share
More Decks by nanachi
See All by nanachi
RSNA2024振り返り
nanachi
1
1.2k
Other Decks in Technology
See All in Technology
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
270
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
4
1.4k
Mambaで物体検出 完全に理解した
shirarei24
2
200
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
230
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
130
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
150
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
220
多様なニーズに応える Movable Type ラインナップ 全紹介
masakah
0
120
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
290
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
630
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
2
270
AWS表彰プログラムとキャリアについて
naoki_0531
1
150
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
A designer walks into a library…
pauljervisheath
207
24k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Balancing Empowerment & Direction
lara
1
520
Thoughts on Productivity
jonyablonski
69
4.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Side Projects
sachag
455
43k
Become a Pro
speakerdeck
PRO
29
5.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Transcript
敗北解法コレクション 〜Expertだった頃に足りなかった知識と技術〜 Koki “NANACHI” Wada
自己紹介 • 名前: 和田孝喜(Twitter/Kaggle: ななち /NANACHI) • Tier: Competitions Master
• 学生時代はNTKとかNNの汎化バウン ドとか • IceCubeでたまたまメダル取れてから kaggleが楽しくなり継続
敗北解法コレクション? (画像コンペで)メダル無し〜ソロ金取得前の解法をそのコンペの上位 陣の解法と比較することで当時足りなかった技術や知識を共有 • (ななち目線で)金メダルを取るために必要だったもの • コンペを繰り返す過程で何を学んだか ➢(これからExpertを目指す人) こんな感じでメダル取れたよ! ➢(Masterやソロ金目指す人)
自分に足りなかったのはここだったよ! ➢(GMの人) 自分から言えることは何もないよ (でも楽しんで聞いて ほしい!)
ラインナップ ↑真面目に取り組んだ初の画像コンペ 画像だとResNetギリわかるくらいで知識が止まっていた頃 時系列 ↑2.5Dというものがあるらしいと飛行機雲で知った直後のコンペ 2-stageのパイプラインを知るきっかけになった ↑2.5Dをちゃんと使えるようになったコンペ Public LBが金圏内だったからガチで勝てると思ってたけど…
コンペ概要(飛行機雲) • 衛星画像を用いて飛行機雲をセグメンテーションするコンペ • 10分間隔で計8フレームの衛星画像が与えられ, 5フレーム目の 飛行機雲をセグメンテーションする 時系列
69th solution (飛行機雲) • 基本は公開ノートブックをコピー • マスクがある5枚目の画像だけを使用 公開ノートブックとの差分は以下 • resnet50,
efficientnetにモデルを変更 • 画像サイズ256, 384, 512でモデルを訓練=>鬼アンサンブル(21個) • horizontal flip TTA コピーしたノートブック: https://www.kaggle.com/code/utm529fg/gr-icrgw-pl-pipeline- improved-0-649
Top solution, 自分との差分 (飛行機雲) • 複数フレームを用いた2.5D or 3Dモデル • エンコーダーはvitベースのものが強い
• マスクのずれ修正 • 擬似ラベル 2nd place solution: 時系列方向に混ぜてる • GMになれる人って0.5pixのズ レも見逃さないのかよ… • 2.5Dモデルってなんだよ… • vit聞いたことはあるけどなんで このコンペで強かったんだろ…
学んだこと(当時の理解) (飛行機雲) • 2.5Dモデルというものがあり, 時系列方向の情報がある画像コ ンペだと強そう? • モデル選択(2nd place solutionより)
• グローバルな依存関係があるデータに対してはvitが強いみたい • 局所的な情報が重要なコンペではcnnが強いのかも? 今回はグローバルな情報かつ幅数pixのデータだったのでCoaTが強かっ たらしい. なるほどな〜 • マスクがずれてないかは今後絶対に確認するぞ!
コンペ概要(RSNA2023) • 腹部の臓器のCT画像から腹部外傷による内臓の損傷有無及び損 傷具合を予測するコンペ • 腎臓/肝臓/脾臓/腸(食道含む)+血管外漏出(血管・リンパ管から 血液や造影剤が流出すること)が対象 CTに加えて各臓器のマスクも与えられていた • 2.5Dが強いみたいだけど飛行機
雲で予習済みだから勝てるかも • マスク与えられてるけど少ない しテストで与えられないなら 意味ないね https://www.kaggle.com/code/parhammostame/construct-3d-arrays-from-dcm-nii-3-view-angles
47th solution • (96, 256, 256)にリサイズ • 一応2.5Dモデル?使ってた(1stage) H W
D 256 256 96 3 ・・・ 32 (96//3) (32, 3, 256, 256) 2D encoder (32, c, h’, w’) reshape (1, c, 32, h’, w’) Classifier (3d conv + linear)
Top solutionと差分 (RSNA2023) • 2ステージのパイプライン セグメンテーションモデル=>クロップ=>各臓器の分類 • 2.5DモデルはLSTMで特徴量を混ぜ合わせていた(自分は3D convを使ってた)[飛行機雲でもLSTMで混ぜてる解法ある…] •
Auxiliary Lossとかいうものがあるらしい! 補助的な損失関数を入れてモデルにコンテキストを注入 詳しい解法はyu4uさん&tattakaさんのスライドに!(めちゃく ちゃお世話になりました) => https://speakerdeck.com/yu4u/rsna-2023-abdominal-trauma-detection-fan-sheng-hui
学んだこと(当時の理解) (RSNA2023) • 複数ステージのパイプラインは大変だけど, だからこそうまく 扱えばそれだけでも銀上位狙える!(RSNA2024もそんな感じ だった) • 2.5DはLSTM/GRUで混ぜるという方法がある •
データのコンテキストを理解してもらう(どこに注目して欲しい かとか)為にはAuxiliary Lossが便利 (RSNA2024もそんな感 ry) •提供された位置情報(今回はマス ク)は素直に使おう!!
コンペ概要(UBC) • 卵巣がんの組織画像のデータセットを用いて卵巣がんのサブタ イプ+outlierを分類 • 訓練データでは5つのサブタイプがラベルとして与えられてい る(outlierラベルはなし) • WSIとTMAという二種類の画像が存在 •
WSI: 最大サイズが100000x50000とだいぶ大きい. 倍率はx20 • TMA: 大体4000x4000くらい. でも大きい. 倍率はx40 WSI TMA
コンペ概要(UBC) • コンペの途中で正常組織/がん組織/壊死組織を分類するマスク が150枚ほど供給される(RSNA2023で反省したやつだ!) https://www.kaggle.com/code/jirkaborovec/cancer-subtype-eda-load-wsi-segmentation
25th solution • 縦横384*K (K=1, 2, 4, 8)でパッチ化し, rgbのうちbの割合が多 いtop3をそれぞれ抽出(4*3=12枚のパッチを1枚のwsiから抽出)
• 12枚のパッチを384x384にresizeしてstack • 2.5Dモデル(encoder=>LSTM=>classifier) • OutlierはLBからじゃないと判断できないので無視(shakeを恐 れたしどうせみんなできないと思ってた) (12, 3, 384, 384) Encoder+Pool (12, ch) GRU+mean pool (1, ch) classifier (1, 5) 青色作戦でうまくがん組織のパッチを取れていたつもりだった(Public LBは金 圏内) & マスク使ったらPublic LBが0.01悪化したのでマスクは未使用
Top solutionと差分 (UBC) • Tiling=>Dinoを用いた特徴抽出=>MIL • 提供されたセグメンテーションマスクを用いてがん組織をク ロップ=>単純な分類問題として解く • OutlierをちゃんとLBでチューニング
(1st solution)予測確率のエントロピーを計算=>エントロピーが大きい ものをoutlierとして予測: 𝐻 = − σ 𝑖=1 5 𝑝𝑖 log 𝑝𝑖 • 外部データを使っている解法もあった
学んだこと(当時の理解) (UBC) • 必要であればLBで閾値をチューニングする(結局cziiはこれでソ ロ金取ったし重要) • 外部データの情報はあったのでちゃんと試す •提供された位置情報(今回もマス ク)は素直に使おう!! マスクを使った2ステージパイプ
ラインの方がprivate LBは0.02良 かった. 最後まで2ステージでやっ ていれば金圏内を維持できていた かも… 2stage 青色作戦(1stage)
最後に • 感覚的にソロ金を取る上で最も効いた知識/技術は以下 • 2.5Dをうまく扱えるようになること • 複数ステージのパイプラインを組めるようになること • Auxiliary Lossでコンテキストを注入することの重要性を知ること
• 画像初心者からおおよそ飛行機雲とRSNA2023で金メダルを取 るポテンシャルは獲得できたと思う(運よく画像コンペのほぼ全 てみたいなコンペに連続で参加できた) • 補助的に与えられているデータにはコンペ主催者側の意図があ るので, 使い方をちゃんと考える
None