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
全国医療AIコンテスト 2021 1st place solution
Search
Yuma Ochi (chizuchizu)
March 27, 2021
0
4.4k
全国医療AIコンテスト 2021 1st place solution
修正、加筆しました
Yuma Ochi (chizuchizu)
March 27, 2021
Tweet
Share
More Decks by Yuma Ochi (chizuchizu)
See All by Yuma Ochi (chizuchizu)
IOAI Solution (NLP, CV) | Team Japan
chizuchizu
0
71
BFが動くCPUを作りたい! @第3回CPUを語る会
chizuchizu
1
260
aranami_idea.pdf
chizuchizu
0
46
DiffType KIH2023
chizuchizu
0
230
週刊タイピングは役に立たない
chizuchizu
0
280
【発表資料】どこやったっけなぁ?
chizuchizu
1
230
アニーリングマシンを使った論理式学習モデルの開発(2021未踏ターゲット事業成果報告会)
chizuchizu
0
1.8k
浅(くて広い)層学習 (Amplifyハッカソン)
chizuchizu
1
630
configのすゝめ
chizuchizu
1
230
Featured
See All Featured
Facilitating Awesome Meetings
lara
50
6.1k
Building Your Own Lightsaber
phodgson
103
6.1k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Site-Speed That Sticks
csswizardry
2
190
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Agile that works and the tools we love
rasmusluckow
328
21k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
全国医療AIコンテスト 1st place solution 2021/03/27 チズチズ abap34 team: 🦾😢
自己紹介 越智優真(チズチズ) • 千葉大学教育学部附属中学校 3年 • Kaggle Expert • 医学素人、機械学習素人
• 最近は量子コンピュータとギターにお熱 • 専攻分野 なんでも
自己紹介 abap34 - 東海高校二年生(春から受験生) - 機械学習に興味, 色々開発(コンペ少し) - 医学素人機械学習素人
モデリングのTips、全体的なアプローチ • Global Average Pooling ◦ 時間軸でたたむ • Multiple Input
◦ 年齢、性別 ◦ concat→Dense • SWA ◦ 重みを平均化(≠局所最適) • SAM ◦ ロバスト性が高まる(≠局所最適) • 多様性を意識 ◦ アンサンブルを想定 ◦ 色々なアーキテクチャ 最終層でage, sexを入力
最終的なアンサンブルに使ったモデル - ResNet的機構を導入したConv1Dモデル(https://arxiv.org/abs/1805.00794v1) - それのoptimizerにSWAを適用したバージョン - それのPseudoLabelingなどを適用したバージョンのモデル - LSTM -
よりResNet的なConv1dモデル - WaveNet
A Deep Transferable Representation Model(?) • ECG分類用に作られたアーキテクチャ • Kaggle Notebookにて発見
• ResNet的なブロックがある • 深さ Is All You Need (Baselineがマッチョになったイメージ) https://arxiv.org/abs/1805.00794v1 + Pseudo Labeling, Label Smoothing(後述)でPrivate 4位相当のスコア
LSTM • 終盤、アンサンブルのため急遽作成 (多様性のあるモデル作りの一貫 ) • あまり詰め切れていない (が、それなりのスコアが出たのでアンサンブルに採用 )
ECG分類のためのコード(ResBlock) • 今回と同じ12誘導心電図を使ったモデル • とてもResNetっぽい • Paper with codeで漁ってたら発見 kernel
size:12 → 5 層の数を数百まで減らしたらよく適合した https://www.nature.com/articles/s41467-020-15432-4
work approach - Cross Validation - Label Smoothing - WaveNet
- Pseudo Labeling
label-type train test
CV構築 ~label typeと年齢の関係 label typeによる分布の変化
label typeと性別 train-auto test train-human vs
CrossValidation - testデータは全てlabel_type==”human”(手動ラベリング) => これにvalidationを近づけたい - trainをauto/humanで分離 - validationはhumanのみから取り出す human
auto train ここをStratifiedKFold 常にtrain
label smoothing - autoでつけられたラベルは多少Noisyであると予想 => label smoothingでロバストなモデルに(↑0.002, 0.005)
結果 shake up!
WaveNet - 層が深くなるにつれて、「とびとびで」畳み込みを行うネットワーク https://qiita.com/MasaEguchi/items/cd5f7e9735a120f27e2a
WaveNet モデル全体 入力付近 出力付近(age, sex入力部)
WaveNet - 単モデルでPublic5位/Private3位相当のスコア - 学習の安定性、速度、精度どれも良く、非常に強力
Pseudo Labeling • 0.05を閾値に ◦ 約6000データ を追加 • 0.003程改善 0.05
0.95 Pseudo あり Pseudo なし private public
Not worked • NN以外のアプローチ ◦ tsfresh ◦ その他特徴抽出 • フィルタ
◦ 平滑化 ◦ 微分 ◦ 画像アプローチ (12方向からのデータを扱うのが難しい + 事前学習済みモデル使用不可) => NN以外は難しかった :ランダムフォレスト
役割分担など コンペの進め方 - 寝たら、多分負ける => 常に通話を繋ぎっぱなしにして作業 連続的に相互に役割を割り振る - お互い機械学習・医学系の専門的な教育を受けているわけではない =>
とにかく実験(理由づけは後からでも良い ) 反省点 - 最終盤の流れだけは「きっちりと」決めておくべきだった (最終的にアンサンブルが雑になってしまった ) - コードを共有する仕組みは短期間コンペでも整えておいた方が良い (バグを解決する一番の方法は、チームメイトに見せることかも )
まとめ - NNが強かった - 信頼できるCVで高速な実験 - ロバストモデル + pseudo labeling
+ 多様性のあるモデリング + でshake up!