Cryo-ET 鞭毛モーターの3D検出 | Kaggle BYU 2025 1位解法振り返り

AI

これまでKaggle BYU2025の1位解法について詳細に見てきましたが、最後にそれぞれのポイントを簡単にまとめて全体を眺めてみようと思います。

各パートについて基礎・基本とタスク特化で分けていますが、他タスクにも流用できる汎用的なものか、今回のタスクもしくは類似タスクで効きそうなものかという基準で分けています。

だいぶ主観が入ってるのでご承知おきをm(_ _)m

ポイントまとめ

3D Unet モデル構築

関連記事

基礎・基本

  • 3D CNN
  • ResnetにおけるBasicBlock vs Bottleneck
  • Bottleneckの基本構成
  • 正則化に加えてVRAM節約としてのDropout
  • VRAM節約術 gradient checkpoint
  • スキップ接続の作り方

タスク特化

  • SupervisionによるAux Head (学習用)
  • Segmentation HeadをMax PoolしたMax Pool Head(学習用)

学習

関連記事

基礎・基本

  • DataLoader/Datasetの役割と関係性
  • DDP(Distributed Data Parallel)
  • EMA Model

タスク特化

  • 入力データのダウンサンプリング
  • Gaussian heatmap

推論

関連記事

基礎・基本

  • パッチ推論(sliding window inference)
  • DDPによる推論分割
  • kaggle notebookにおけるDDP推論分割のやり方
  • Quantile threshold
  • Seed Ensemble

タスク特化

  • MONAIのフレームワーク(医療系フレームワーク)

振り返り総括

結構調べていっぱい記事書いたつもりですが、まとめてみるとあっさりしてますね笑

見た目はあっさりしてるんですが、実装になると途端に読むのも書くのも大変だったり…

それはさておき。

やってること自体はほとんど基礎・基本の積み重ねであるという印象でした。

正直、タスク特化の内容が無く基礎・基本の部分を正しく積み上げられたら、それだけでもだいぶ性能出る気がします。

加えて、基礎・基本ができてたらモデルの改造等もやりやすいだろうから、アイディアを諸々試しやすくなるだろうし、期待した性能が得られなかった際の原因切り分けもできるので検証効率が爆増しそうと思いました。

基本的なところを正しく理解してないとせっかく良いアイディアだったとしても、性能が出ないからこのアイディアはダメだ となってしまう可能性もあるので基本を大事にしていきたいです。

まとめ

今回でKaggle BYU2025の内容は完了となります。

時系列やセンサデータあたりがkaggleだけでなく実務で使えそうだと思うため、次回からはそのあたりのコンペを探してきて、解説していこうと思います。

最後までご覧いただきありがとうございました。

タイトルとURLをコピーしました