Slide 1

Slide 1 text

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種類分類したい コンペ 概要 結果

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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に設定

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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)

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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エポッ ク単位で切り下げ。 – ○ 終盤 • § 全モデルのアンサンブル。

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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)を使うのが良いのかもしれない 調査

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 14/xx 調査

Slide 15

Slide 15 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 15/xx 調査

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 17/xx

Slide 18

Slide 18 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 18/xx

Slide 19

Slide 19 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 19/xx

Slide 20

Slide 20 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 20/xx

Slide 21

Slide 21 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 21/xx

Slide 22

Slide 22 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 22/xx チュートリアル内容まとめ

Slide 23

Slide 23 text

使用するデータのAASM形式への変更 • 今回使用するのはMNEのデータ • MNEの分類はR&Kという方式→今回のAASMの分類に変更 ここは見ない 1つにする

Slide 24

Slide 24 text

使用するデータ構造とセンサデータ このセンサのモニタデータがカギ

Slide 25

Slide 25 text

センサデータの加工 1つのデータにセンサデータは 100Hz約22時間の7,890,000行分 1epoch=30sのためデータ結合 (ラベルもこれに合わせて紐づけ処理)

Slide 26

Slide 26 text

アノテーションと波形データは時間で紐づけ • アノテーションは元から1epoch(30s)毎に割り振り • 波形データも1epoch(30s)区切りに変更 ⇒経過時間とアノテーションの間隔時間から睡眠段階を紐づけ (MNEにメソッドあり)

Slide 27

Slide 27 text

チュートリアルでは脳波データに着目 • 処理を簡単にするためにという理由らしい ✓ Epochとラベル ✓ Epochと脳波

Slide 28

Slide 28 text

脳波の周波数に着目 • デルタ:0.5~4.5Hz • シータ:4.5~8.5Hz • アルファ:8.5~11.5Hz • シグマ:11.5~15.5Hz • ベータ:15.5~30Hz • これらを特徴量としてラベルとの関連を学習させる • ここではランダムフォレストを使用

Slide 29

Slide 29 text

改善のヒントとして • 他のセンサデータも使ってみよう • 前後の時間のデータを使ってみよう • 特徴量を自動生成するライブラリを作ってみよう • Sleep-EDF Benchmark (Sleep Stage Detection) | Papers With Code ここを参考にしてみよう • 深層学習してみよう みたいな話でした

Slide 30

Slide 30 text

Platform Technology Division Copyright 2020 Sony Semiconductor Solutions Corporation DATE 30/xx