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.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
2025-08-07に行われた「上位Kagglerに学ぶ~画像コンペの戦い方~ 」で用いた発表資料です(pdf書き出しの都合でレイアウトが若干乱れています)
nanachi
August 07, 2025
More Decks by nanachi
See All by nanachi
RSNA2024振り返り
nanachi
1
1.9k
Other Decks in Technology
See All in Technology
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
100
NANDでも描画したい!
nichica906
3
660
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
150
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
590
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
380
dbt と Snowflake と tag
kevinrobot34
1
210
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
85k
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
180
2027年のMetricKit
kantacky
0
170
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Facilitating Awesome Meetings
lara
57
7.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
660
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
500
sira's awesome portfolio website redesign presentation
elsirapls
0
340
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Un-Boring Meetings
codingconduct
0
390
エンジニアに許された特別な時間の終わり
watany
108
250k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
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