
拓海先生、お忙しいところすみません。部下から「ウェアラブルで不整脈を見つけられるようにしよう」と言われまして、何から手を付けて良いのか見当が付きません。要点だけ教えていただけますか。

素晴らしい着眼点ですね!大丈夫、一緒にやれば必ずできますよ。まず要点を3つで言うと、1) センサー生データをそのまま学習する「エンドツーエンド」方式、2) 時系列の特徴を捉える畳み込み-再帰モデル(convolutional-recurrent neural network, CRNN)(畳み込み再帰型ニューラルネットワーク)、3) 実運用を見据えた低誤報率設計、です。まずは全体像を押さえましょう。

生データをそのまま学習するというのは、要するに現場で取った波形をそのままAIに投げるということですか。従来のようにまず心拍を数値化して……という手順を省くという理解で良いですか。

おっしゃる通りです!素晴らしい理解です。従来は人が特徴量(例えば心拍間隔)を作ってから分類していたのに対し、今回の方法は波形そのもの(photoplethysmography, PPG)(光電容積脈波)をネットワークに入れて、内部でフィルタリングやピーク検出まで自動で学習します。つまりエンジニアリング工数を減らし、機器や個人差に強い設計が可能になるのです。

なるほど。ただ、うちの現場では誤検出が多いと現場が混乱します。投資対効果(ROI)という観点で、誤報はどの程度抑えられるものなのでしょうか。

素晴らしい着眼点ですね!この研究では、0.8秒ごとに判定を出してReceiver Operating Characteristicの面積(area under ROC curve, AUC)(ROC曲線下面積)で評価し、AUCはほぼ1に近い0.9999を報告しています。さらに誤陽性・誤陰性率を共に2×10−3未満に抑えたと示しています。実務では絶対値ではなく閾値調整や後段の人の確認を組み合わせて運用することが現実的です。

技術的にはどの部分が一番重要でしょうか。モデルの構成とか、データの量とか、そのへんが気になります。

素晴らしい質問です!要点を3つでお伝えします。1) アーキテクチャは畳み込み層で局所特徴を抽出し、長短期記憶(long short-term memory, LSTM)(長短期記憶)を用いて時間依存性を扱う点、2) 生データのノイズやラベル誤りに対するロバスト化、3) 実時間判定のための計算効率と閾値設計、です。特にLSTMは時間的なパターン、例えば発作の断続性を捉えるのに有効です。

要するに、モデルが勝手にフィルタやピーク検出を学び、時間の流れも見て判定するから、従来の手間が減り運用が楽になるということですか。

その通りです!素晴らしい要約力ですね。加えて、センサーや個人差で出る雑音をモデル内部で吸収できるため、異なるデバイスでの適用性が上がります。ただしデータ量とラベル品質は重要で、良いラベルがなければ学習は進みません。

ラベル品質というと、人が正確に注釈を付ける必要があるということでしょうか。大量のデータを見る余裕が現場にはありません。

素晴らしい着眼点ですね!この研究はおよそ180時間のPPGデータを用い、そのうち36時間がAFibラベルになっています。人手で全件注釈する代わりに、まず代表例をしっかりラベルしてから半教師ありやアクティブラーニングを活用することで効率化できます。ここは現場と工夫次第でコストを抑えられますよ。

現場導入のステップ感も教えてください。うちのような中小でも始められますか。

素晴らしい着眼点ですね!導入は段階的に進めれば中小でも可能です。まずはパイロットで少数デバイスを配り、データ収集と簡易ラベル付けでモデルを作る。次に閾値運用と人による確認フローを入れて誤報の影響を抑える。最終的に運用ルールを定めてスケールする。要点は小さく始めて試行錯誤することです。

分かりました。私の言葉で確認しますと、要するに「生のPPGをそのまま学習する深層モデルが、フィルタやピーク検出まで学習して非常に高精度に心房細動を検出できるため、手作業の特徴作りを減らしつつ現場でのスクリーニングが現実的になる」ということでよろしいでしょうか。

その通りです!素晴らしいまとめで、実務で伝える際の言い回しとしても完璧ですよ。さあ、まずは小さなパイロットから始めましょう。大丈夫、一緒にやれば必ずできますよ。


