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
64
BFが動くCPUを作りたい! @第3回CPUを語る会
chizuchizu
1
250
aranami_idea.pdf
chizuchizu
0
43
DiffType KIH2023
chizuchizu
0
220
週刊タイピングは役に立たない
chizuchizu
0
270
【発表資料】どこやったっけなぁ?
chizuchizu
1
220
アニーリングマシンを使った論理式学習モデルの開発(2021未踏ターゲット事業成果報告会)
chizuchizu
0
1.8k
浅(くて広い)層学習 (Amplifyハッカソン)
chizuchizu
1
620
configのすゝめ
chizuchizu
1
220
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Done Done
chrislema
181
16k
Rails Girls Zürich Keynote
gr2m
94
13k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Site-Speed That Sticks
csswizardry
0
23
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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!