Upgrade to Pro — share decks privately, control downloads, hide ads and more …

銀_1D時系列データ分類_202212_nishika_睡眠コンペ

 銀_1D時系列データ分類_202212_nishika_睡眠コンペ

サイト:https://www.nishika.com/competitions/sleep/summary
所感:1DデータのDNNをいろいろやれて良かった。暫定が金圏内だっただけに悔しい・・・。次は最後までやりきる。

年齢、性別などのメタ情報が配られていたの忘れていたのはココだけの話。。。

金圏内は、特徴量抽出後のlightGBMのパターンが占めていた。
#do not sleep on traditional machine learningの論文をなぞって実装している人がほとんど。

suguuuuuすぐー

January 20, 2023
Tweet

More Decks by suguuuuuすぐー

Other Decks in Technology

Transcript

  1. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    1/xx サマリ • 参加コンペ: – Nishika - 睡眠段階の判定 〜”睡眠の深さを判別しよう”〜 • 概要: – 睡眠ポリグラフ(polysomnography: PSG)から睡眠の深 さ(睡眠段階)を予測 • データ:EEG, EOG, EMGなどの時系列データ • 分類:4段階(Sleep Stage W, 1 , 2, ¾, R) • 順位: – 15位/109チーム(シルバー) • 暫定9位だったから悔しい・・・ • 基本アプローチ概要: – 1D data => スペクトログラム変換 => 2D CNN => ensemble • 加えて時系列方向にスタックした2.5Dモデル、1D GRUモデル、経過 時間を同時に入力したモデルのアンサンブルを実施 • 所感: – 始めての1D時系列データを扱ったコンペ。 – 良いサンプルコードをディスカッションに上げてくれている人がいて 超勉強になった。 – Kaggleの2.5Dや、睡眠経過時間を特徴量としてDNNに入 れるという取り組みができたのはアピールしたいところ。 – 最後10日間余ったけど、モチベーション下がって何もできなく なってしまった。今となっては悔しい。 – メタ情報の存在をすっかり忘れていたのはやっちまった。。。 • 4位の人はここら辺もちゃんと利用。 Sleep stage W (覚醒状態) 4種類分類したい コンペ 概要 結果
  2. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    2/xx コンペの主課題(データの観点で予測) • Train / testの乖離 – なし • 録音環境は同一 • ユーザーの被りはない • データの分布 – 偏り有り。(ただし、rain/testで分布が偏ってても良いと思われるので気にしない) • ラベル精度 – 無し(ラベルノイズは含まれていないかも。素人じゃわからん。) • ドメインの特有性 – 複数脳波が存在 • EEG-fpz, oz, EOG, EMG、、、 – 眠開始からのトータルの時間に対する深さの変化が存在 • ①:短期的な時間方向の相関がある – 前後の脳波を含めてみると良いかも? • ②:長期的な時間方向の傾向がある – いきなりレム睡眠の人なんかいない
  3. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    3/xx 基本フロー • 1Dの睡眠ポリグラフデータを周波数変換し、2DCNNで学習 – 入力を多次元した2.5D CNNも追加で利用(次ページ) 1dAug 周波数変換 (スペクトログラム) CNN アンサンブル 前処理 CNN 後処理 tf_efficientnet_b0_ns などv 複数モデルの 結果結合 2dAug
  4. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    4/xx 独自実装:2.5D CNN with 睡眠経過時間の全体像 EOG EEG Oz EEG Fpz 9ch tf_efficientnet_b0_ns atgmax concat FC 256次元 (確か) 睡眠経過時間 (300秒ごとに切り分け) 1次元 4クラス EEG fpz, EEG oz, EOGの3ch 前後含め3frame 入力レイヤーの stem部分を置き換える形で実装。 解像度が小さいのでstrideを1に設定
  5. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    5/xx 生データ ✓ 睡眠経過時間とラベル変化 ✓ 睡眠経過時間と脳波
  6. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    6/xx 取り組み内容について 1/5 • 概要 – 異なるデータの入力のさせ方をさせた6モデルのアンサンブル • キーポイント – 上位陣はみんなパトリオットさんのコードを利用していると思うのでそれとの差分を記述。 • A: epochの同時入力 – □ 理由:眠ってすぐにレム睡眠はないやろ。て思ったので。(性別とか年齢は関係ないかなーと思って利用していない) • B: 2.5D CNNの利用 – □ 理由:do not sleep on,,,の論文を見てみると、前後の時間をうまく活用していたので。Kaggle でも最近よく見るのでやっ てみたかったのもある。 • C: 全モデルアンサンブル。 – □ 理由;do not sleep on,,,の論文を見てみると、特徴量の取り方をMixしていたので。 • CV戦略 – シンプルに被験者でgroupKFold
  7. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    7/xx 取り組み内容について 2/5 • 前処理 – チュートリアルにあるモノと同じく30secごとに区切るのみ。 • モデル – A: 2.5D CNN tf_efficientnet_b0 • (10epoch, 前後と該当フレーム利用,EEG EOGの3ch) – B: 2.5D CNN tf_efficientnet_b0 • (10epoch、前と該当フレーム利用, EEG EOGの3ch) – C: 2.5D CNN tf_efficientnet_b0 • (10epoch、後と該当フレーム利用, EEG EOGの3ch) – D: 2.5D CNN tf_efficientnet_b0 with epoch • (10epoch、前後と該当フレーム利用, EEG EOGの3ch) – E: 2.5D CNN tf_efficientnet_b0 with epoch • (10epoch、前後と該当フレーム利用, EEG fpz EOGの2ch) – F: 1D CNN with epoch • (10epoch, EEG fpz EOGの2ch)
  8. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    8/xx 取り組み内容について 3/5 • • 実験結果 – A~F平均: • § CV:0.9074、最終0.8371 – A: 2.5D CNN(10epoch, EEG EOGの3ch) • § CV : 0.89538 最終:0.827 – B: 2.5D CNN(10epoch、前と該当フレーム利用, EEG EOGの3ch) • § CV : 0.89857 最終:0.8156 – C: 2.5D CNN(10epoch、後と該当フレーム利用, EEG EOGの3ch) • § CV : 0.89236 最終:0.8116 – D: 2.5D CNN with epoch(10epoch、前後と該当フレーム利用, EEG EOGの3ch) • § CV : 0.90384 最終:0.8203 – E: 2.5D CNN with epoch(10epoch、前後と該当フレーム利用, EEG fpz EOGの2ch) • § CV : 0.88588 最終:0.8041 – F: 1D CNN with epoch(10epoch, EEG fpz EOGの2ch) • § CV : 0.87265 最終:0.8108 – 参考:2d cnn ベースライン • § CV : 0.775007 最終:0.783303
  9. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    9/xx 取り組み内容について 4/5 • 後処理 – average アンサンブル • その他 – EEG fpzのみを利用したモデルも作ったが微妙。 – 1Dだと、EEG EOG EMG入れると学習がうまくできなかった。 • 試したが利かなかったこと – 全然実験してないから無し、、、
  10. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    10/xx 取り組み内容について 5/5 • 取りくみ方 – ◦ 序盤 • § ドメインの知識収集 – □ 論文を調査。EEG、EOG、EMGなどは何かをざっくり調査。また、最新の論文のアプローチも調査。 • § チュートリアル着手 – □ ドメインの理解 • § ベースライン作成(パトリオットさんの2D CNN。感謝) – □ 自分のいつもの書き方にリファクタしながら作成。 – □ tf_efficientnetb0で性能が出ていたので、差異化ポイントは入力の入れ方とアンサンブルと判断。 – ◦ 中盤 • § 類似コンペ調査 – □ G2Netと鳥コンペを調査。あんまり参考にできなかった。 • § あるある性能改善着手 – □ パラメータ探索、交差検証、、、など。 • § ドメイン特化のアイディア検討 – □ 2.5D CNN化 ® do not sleep on traditional ...で、前後の時間を使うとよさそうな感じをしたので。 – □ 睡眠経過時間(エポック)を同時入力 ® 時間方向に眠りの深さが依存してそうだったので。そのまま入れると崩壊しそうなので100エポッ ク単位で切り下げ。 – ◦ 終盤 • § 全モデルのアンサンブル。
  11. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    11/xx 参考資料 • 論文: – Frontiers | A Novel Sleep Staging Network Based on Data Adaptation and Multimodal Fusion (frontiersin.org) – リンク – ycq091044/ContraWR: SSL: EEG dataset processing and EEG Self-supervised Learning (github.com) – 2207.07753v3.pdf (arxiv.org) • 東大資料:音声処理について – hil.t.u-tokyo.ac.jp/~kameoka/SAP/Kameoka2011__Speech_and_Audio_Processing__05.pdf • 鳥コンペ: – 1位:BirdCLEF 2022 | Kaggle – 5位:BirdCLEF 2022 | Kaggle – 7位:BirdCLEF 2022 | Kaggle – 鳥コンペ反省会資料 - Speaker Deck • G2Net – https://www.kaggle.com/code/scaomath/g2net-1d-cnn-gem-pool-pytorch-train-inference – https://qiita.com/anonamename/items/5b7fa5d9d5d7f9970e06
  12. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    12/xx ドメイン知識収集 利用するデータ Do not sleep on traditional machine learning: Simple and interpretable techniques are competitive to deep learning for sleep scoring - ScienceDirect 最新論文を見てみると、どうやらEEGとEOG(+EMG)を使うのが良いのかもしれない 調査
  13. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    13/xx ドメイン知識収集 画像化方法 • サーベイ論文リンク 左:脳波の取り方はこんな感じ。 右:画像化方法は色々あるみたい。組み合わせの性能が良い模様。 調査
  14. Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE

    16/xx 分析? • 被験者(延べ)の人数と、被り有無 • 人数 – 訓練被験者数 55 – テスト被験者数 23 count 108.000000 mean 1496.388889 std 142.721272 min 840.000000 25% 1450.000000 50% 1530.000000 75% 1588.250000 max 1673.000000 • Trainの1人当たりのデータ数 • Testの1人当たりのデータ数 count 45.000000 mean 1162.133333 std 330.059196 min 699.000000 25% 964.000000 50% 1064.000000 75% 1195.000000 max 2027.000000
  15. 脳波の周波数に着目 • デルタ:0.5~4.5Hz • シータ:4.5~8.5Hz • アルファ:8.5~11.5Hz • シグマ:11.5~15.5Hz •

    ベータ:15.5~30Hz • これらを特徴量としてラベルとの関連を学習させる • ここではランダムフォレストを使用