2025/7/4の輪読会で発表する内容を考える
メリハリをつける
特に重要な箇所とそうでない箇所に割く時間を変える
説明する量や質などで,特に聞いて欲しい箇所を強調しよう
聴衆が聞きやすいよう山場を作るイメージ
前提を共有する
認識をすり合わせる
僕と聴衆の意識をある程度整理する
丁寧に段階を踏んで説明し,理解してもらう
アウトライン
初めに
これまでに大まかな道筋は立った
これからは実現可能性などを詰めたい
まず改めて研究の目的を共有
その後以下を共有:
研究計画の具体化のためどう行動するか
現時点の進捗
最後に今後の展望を述べる
研究背景
これまで
少子高齢化で介護負担増
安価で手軽な見守りシステムを導入
迅速な対応 + 監視の負担軽減
これまでに足りない要素
施設での運用を前提にしているが,それで本当に負担は減る?
安価+手軽だけで差別化できるか?
他のセンサに比べて本当に手軽?
音を選ぶ理由が必要
なぜ機械学習するのか
HARはより古典的で,範囲は狭いが確実な方法がある
これから
ICT技術で自立した生活を支援
行動認識で実現
少子高齢化で介護/医療負担が増大
在宅での介護/医療が重要
高齢者の自立した生活のため,施設ではなくその場が良い
異常行動から早期に病気などを発見,対応
介護/医療負担の軽減
音独特の異常行動兆候を探す
呼吸音,咳き込みなど
機械学習をする理由
サーベイ中
HARでは環境の変動に適応する必要がある
従来の閾値での判断より,機械学習の方が柔軟に対応できる
要調査: 従来法でも適応的に閾値を操作する手法がある
特定の環境だけでなく,他の環境に適応させるのに機械学習を使う
特に連合学習
ローカルで稼働させてデータを収集
そのデータでモデルを学習...できると理想的
在宅を視野に入れた見守りだと,説明できるかも
高齢者の中でも支援によって自立した生活が可能な方向けに使用
支援自体を効率化するため,柔軟に異常行動を検知できるシステムが欲しい
単一の目的に沿うより,色々拾える方が望ましい
これらを追加のサーベイでより明確にする
全体ロードマップ
今後2週間でもう少し見当をつけたい
7: 基礎を準備
背景サーベイ
8: 必要な施策を実行
簡単なFL適用
シミュレーションの方法を調査/検討
9: 異常検知層を追加
方法を検討
異常検知を実装/実験
10: FLの実装/実験
集約法を工夫?
この計画の実現可能性が微妙
やること
モデル実装
データ収集
データ不均衡対策
半教師あり連合学習
異常検知モデルの構築
シミュレーションの検討
現在の進捗
実装
最低限のマルチラベル音響検知モデルを実装
最初はCNNの簡単なモデル
現在は先輩の実装を参考に,Transformerベースのモデル
CNNによる最低限のマルチラベルモデルを作成
マルチラベルデータ生成
code: label.py
allowed_categories = [
"rain","door_wood_knock", "door_wood_creaks", "glass_breaking", "sneezing", "breathing", "coughing",
"footsteps", "laughing", "brushing teeth", "snoring", "drinking_sipping", "pouring_water", "toilet_flush"
]
音二つの組み合わせを全パターン作成し,csv化
この時点で12000くらい
csvからランダムに,かつラベル組が均衡になるようデータを取得
この時点で現在は9048データ使用
モデル定義の説明はslack
モデル定義
code: mermaid
graph TD
Input --> BatchNorm
BatchNorm --> Permute1
Permute1 --> Linear
Linear --> Encoder
Encoder --> Permute2
Permute2 --> GlobalAvgPool
GlobalAvgPool --> Classifier
Classifier --> Sigmoid
subgraph EncoderBlock
MHA --> AddNorm1
AddNorm1 --> FFN
FFN --> AddNorm2
end
Encoder -. contains N×EncoderBlock .-> EncoderBlock
学習
作成したモデルを訓練
事前に選定した9048データで学習
code: hyper.py
model = MelSpectrogramTransformer(
input_dim=n_mels,
embed_dim=128, # 埋め込み次元
nhead=4, # Attenstionのヘッド数
nhid=256, # FFNの隠れ層
nlayers=2, # エンコーダ層数,ブロック数
n_classes=num_classes,
).to(device)
code: train
python train.py \
--data ./dataset/esc50_multilabel.npz \
--batch 32 \
--epochs 20 \
--lr 1e-3 \
--val-split 0.1 \
--device cuda \
--save-model ./checkpoints/esc50_cnn.pth
評価
間違えて訓練時と同じデータを読み込んでいる
現在は各クラス10データ貰っている
ひとまず936データ選定し,そこからさらに選択する形
後ほど修正する
一応修正したが未検証
code: eval
python eval.py \
--data ./dataset/esc50_multilabel.npz \
--model ./checkpoints/esc50_cnn.pth \
--batch 64 \
--device mps \
--threshold 0.5
研究目的を再考/サーベイ
研究目的の深掘りのため調査中
技術ありきで話を進めていた
研究意義の説明が不足
現在,関連論文を読んで確認中
後で再考するのパラグラフを要約し,いい感じの説明を作る
一応サーベイ論文を3本くらいざっとみている
サーベイ論文からいくつか論文を選んで読む予定
音特有の異常に関してデータを集めたい
呼吸
咳き込み
悲鳴
など
データセットを捜索中
現在見つけたのが微妙なため
確認した
作者に連絡を取る必要があるみたい
咳や呼吸
デジタル聴診器で取った音もあるらしい
それは行動認識に使えないかも
AKG C417L Microphone (AKGC417L)の音だけ使えそう
ライセンスがない
異常な呼吸音や咳
未確認
転倒音
Chronic Pain Audio Dataset
痛みに関連
データの中身がよくわからない
多分呼吸音
咳分類
まず咳や呼吸で捜索中
今後のステップと課題
各種対応を簡単に試す
目的: 何をすればいいか,どのくらい時間がかかるかを把握する
損失関数を変えるだけと思われる
実施せずとも良いかも
半教師あり連合学習
異常検知モデルの構築
シミュレーション
AALサーベイ
見守りの方向に変わりはない
施設自体の方向性もひとまず維持
AAL自体がそういった研究分野だった
今一度関連論文を漁り,類似研究がないか探す
探しながら研究目的を考える
データ収集
各種データセットを分析/確認
データセット探すため,音ならではの異常の兆候を考える
仮にデータセットを構築したとする
どうやってそれで学習したモデルを評価するのか?
どうすれば実用に耐えうるモデルと示せる?
評価の方法を考える必要がある
現実的な想定のデータが見つかればそもそもそれを使う
あるいはデータセットの論文を見て確認
現実的なラベルの組み合わせを考え,時間をかけてデータを構築すれば問題ない?
データセット構築段階が鍵になりそう
補足
目的意識
行動が難しいレベルの人に適用するかは不明
担当の方が見守る中でしか歩くのが許されていない方など
骨粗鬆症とか
以前まではなんとなく施設を対象に考えていた
AALの研究目的を踏まえると,施設だけでなく,普遍的に使えそう
在宅介護,医療を目的にできるかも
センサについて
カメラではなくマイクを使う理由
安価
生活への干渉が低い,受容されやすそう
他のセンサではなくマイクを使う理由
マイクの設置や導入が手軽
これは理由にならないセンサがあるかも
音特有の異常行動の兆候を検出できる
こちらがメインの理由
咳き込みや呼吸音など
これまでは技術的な部分ばかり見ていた
論文の最初の方はあまり真面目に読んでいなかった
この研究をなぜ行うのか問うた時,答えられない問題がある
なぜ音による見守りシステムが必要なのか
既存の単純なシステムではいけないのか
AALの理解が足りないと気づいた
分野で共有されている目的意識の認識が足りない
僕の場合,基礎となるAALが該当
AALのサーベイが必要!
研究計画など,説得力を増すために目的意識を理解する