[レポート] Amazon Lookout for Equipmentで健康状態の異常検知を監視するBreakout Sessionを聴講しました! #reinvent #COM303

本エントリはAWS re:Invent 2022のセッション「Monitor and predict health data using AWS AI services (COM303)」のレポートです。
2022.12.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんちには。

データアナリティクス事業本部 機械学習チームの中村です。

re:Invent 2022に現地で参加し、機械学習系のセッションをメインに回っていました。

本記事では「Monitor and predict health data using AWS AI services」というセッションに参加しましたので、そのレポートをします。

セッションについて

  • タイトル
    • Monitor and predict health data using AWS AI services
  • 登壇者
    • Luca Bianchi, CTO, Neosperience
  • セッション情報
    • 日時: 2022-11-28 (Mon) 16:00-17:00
    • 形式: Breakout Session
    • 番号: COM303
    • 会場: Mandalay Bay (Level 2 South, Oceanside D, Mandalay Bay)
    • レベル: 300 - Advanced

内容は、AWSの機械学習サービスを活用したパーソナルヘルスケア向けのソリューションの構築方法を紹介しています。

セッション概要

事前の案内としては以下の通りです。

Health systems often lack the capability to account for comprehensive population health monitoring, yet collecting data like oxygenation, temperature, blood tests, and glucose can identify the signs of underlying conditions early. Many home devices are connected and capable of acquiring and monitoring a vast number of vital signs to track a person's health across many relevant metrics. This session demonstrates how to build a serverless personal health solution leveraging AWS AI services to provide insight extraction, monitoring, and forecasting. Learn how to collect a time-variant dataset, use Amazon Lookout for Equipment to spot anomalies, and predict metrics levels.

(日本語訳)

医療システムは、多くの場合、包括的な集団健康モニタリングを考慮する能力が不足していますが、酸素化、体温、血液検査、グルコースなどのデータを収集すれば、基礎疾患の兆候を早期に発見することができます。多くの家庭用デバイスは接続されており、膨大な数のバイタルサインを取得して監視することができるため、多くの関連メトリクスにわたって人の健康状態を追跡することができます。このセッションでは、インサイト抽出、モニタリング、予測を提供するためにAWS AIサービスを活用したサーバーレスパーソナルヘルスソリューションの構築方法を実演します。時間的に変化するデータセットを収集し、Amazon Lookout for Equipmentを使用して異常を発見し、メトリクスレベルを予測する方法を学びます。

セッション動画

YouTubeで公開されていました。

セッション聴講内容

アジェンダ

アジェンダは以下のようになっています。

課題

始めに健康に関する問題について触れ、理想はスクリーニングを全員に対して実施することだが、 実際はコスト・時間の観点で難しいため、ウェアラブルデバイスで個々に管理しようという話がありました。

より具体的には、ウェアラブルデバイスから得られる時系列センサーのデータを使ったソリューションとなります。 着目されている病気は、メタボリック症候群です。

健康状態をモニタするためのセンサー

使用する主なセンサーとしては、GCM(Glucose Continuous Monitoring)が挙げられ、重点的に説明されていました。

グルコース測定が大事な理由として、1日の傾向を見ることで、将来的に糖尿病のリスクがあるか、または日々の変化でそのリスク検知できる指標などが挙げられていました。

その他のセンサーで取得可能なデータとしては血圧や脈拍などがあり、血圧や脈拍などからは、緊張度合い(ストレス)などが可視化できると紹介されていました。

データの前処理

次にセンサーデータの前処理についての情報と、そのコツが述べられていました。

基本的には、データをtimestampと値のペアに整形しますが、前処理としてエラーや異常値の除去などが必要になってきます。

エラーや異常値は、例えばセンサーを装着していない時間帯、あるいはセンサーをぶつけてしまった場合などに発生します。

実際にはこの判別が難しい部分で、センサーが異常かそうでないかを判断する場合にはセンサーに関するドメイン知識が必要(例えば、グルコースが50mg/dLは有効な値ではない等)で、確かにその通りだなと納得感がありました。

またそれらに加えて、時系列データとして分析する際の以下の課題が挙げられていました。

内容としては以下です。

  • データがスパース
    • 欠損が多いこと
    • サンプリング間隔が異なる場合があること
  • 異常データが極端に少なくアンバランスなデータセットであること
  • 全ての患者について異常値があるわけではないことなど

使用する機械学習のサービス

これらの課題を踏まえた上で、セッションでは、Amazon Lookout for Equipmentが分析に使用されていました。

Lookout for Equipmentは産業用センサーの異常検知を行うサービスで、産業機器の挙動を監視するものを、ヘルスケア向けに応用している点がとても興味深かったです。

sensorsには、各センサーで取得される値(metrics)を割り当て、assetsには、peoplesを割り当てて考えていました。

Amazon Lookout for Metricsを使用しない理由も述べられており、特定の時系列点にしか対応しない(そこまでのパターンを分析しない)、多変量解析ができない点などから採用していないようです。

センサーには実際は、グルコース、血圧、血中酸素濃度、心拍数に関連するデータを使用されていました。

データの取り込み

データ取り込み方法についても紹介があり、Lookout for Equipmentには詳しくなかったのですが、スキーマの自動検出などにも対応していて便利な印象を持ちました。

また、データ品質(データ期間、無効なデータの塊が無いかなど)に関するチェックも行ってくれるようです。これも良さそうですね。

モデルの学習

モデル学習の概要が示されていました。

様々な教師無しの異常検知モデルを、ハイパーパラメータを最適化しながら学習することが述べられています。

ひとつ興味深かったのは、データをラベリングすることができる点です。(正解ラベル付けとは異なる)

例えば1日目から11日目まで旅行をしていた、2日目から4日目までフィットネスをしていたなどと付けることで、Neural Networkをベースとしたモデルが使用され、 このラベリングにより、データセットがサブグループ化され、各サブグループ内でモデルを最適化するような動作となると説明されていました。

これは実際に使用する際に、キーとなりそうなポイントだと感じました。

アーキテクチャ

これらをシステム化するためのアーキテクチャが以下のように紹介されました。

データはIoT Topicを用いて取り込み、IoT Ruleでフィルタリング・整形して、Kinesis Data Firehoseを使ってS3にアップロードしています。

出力は、異常検出時にAmazon EventBridgeを発火させる形となっているようです。

まとめ

いかがでしたでしょうか。ヘルスケアデータをAmazon Lookout for Equipmentで分析するという話も新鮮で面白かったですし、Amazon Lookout for Equipmentの詳細な内容についても触れられていてとても学びの多いセッションでした。

ウェアラブルデバイスも入手しやすい世の中ですので、今後機会があれば試してみたいです!