站点图标 高效码农

Apple 的全新 AI 模型怀孕检测准确率达 92%

用可穿戴设备的行为数据做健康预测:一篇“看得懂”的技术笔记

原文:Beyond Sensor Data: Foundation Models of Behavioral Data from Wearables Improve Health Predictions


写在前面:为什么又聊可穿戴健康?

你手上那块 Apple Watch,除了看时间、收消息,其实每天都在记录 27 种“行为-生理”指标——步数、心率、睡眠效率、步行速度、甚至摔倒次数。
过去大家主要盯着原始传感器波形(PPG、ECG、加速度),但这篇苹果与哈佛团队的新研究告诉我们:用更高层、更贴近日常行为的数据做大规模预训练,反而能把健康预测这件事做得更准、更广


一、研究到底做了什么?

维度 具体做法
数据 Apple Heart & Movement Study(AHMS),161 855 人,15 亿小时记录
输入 27 个从传感器算出的“行为指标”,例如每日步数、VO₂max、夜间呼吸频率
模型 自研 WBM(Wearable Behavior Model),用 Mamba-2 架构 + 对比学习
任务 57 个真实临床与健康场景,既有“你今年几岁”这类静态标签,也有“这周是否感冒”这类动态状态
结论 行为数据预训练模型 → 在多数任务里优于/互补于纯 PPG 模型

二、把复杂技术拆成 5 个“人话”问题

1. 为什么不用原始 PPG,而要用行为指标?


  • PPG 断断续续:一天只采几次波形,夜间、洗澡、充电都会缺数。

  • 行为指标全天候:步数、站立时间、夜间心率——只要戴表就有。

  • 医学专家已验证:VO₂max、6 分钟步行距离等,本来就和疾病强相关,省得模型再费劲学。

2. 27 个指标长什么样?

类别 举例 采集频率 备注
活动 步数、爬楼层、锻炼分钟 每小时 Apple Watch & iPhone 双来源
心血管 静息心率、步行心率、心率变异性 日或小时 夜间心率变异性更能反映恢复
生命体征 夜间呼吸率、血氧、腕温 每天一次或更少 血氧需 Series 6 以上
步态 步行速度、步长、步态对称性 每次步行 跌倒次数极少,仅 2.85 % 用户
身体 体重、BMI 手动或第三方设备 最稀疏
体能 VO₂max、6 分钟步行距离 每周一次 需户外锻炼触发

3. 模型怎么学?——WBM 训练流水线

  1. 切窗口:每人每周 168 小时,生成 168 × 54 的矩阵(27 变量 + 27 缺失掩码)。
  2. tokenize:用 TST(Time Series Transformer)思路,把每小时压成一个向量。
  3. backbone:双向 Mamba-2,比 Transformer 省内存,适合长序列。
  4. 自监督:同一个人的两周互为正样本,随机 token drop 做增广,InfoNCE + KoLeo 正则化。
  5. 下游:线性探针(ridge 回归),不做端到端微调,保持公平。

4. 57 个任务都测了什么?

类型 任务举例 数据量 说明
静态 年龄、性别 16 万人 验证模型是否学到基本人口学
静态疾病 糖尿病、高血压、抑郁、癌症… 2–3 万人/任务 来自入组问卷
静态用药 β 受体阻滞剂、抗抑郁药、抗凝药… 1.5–1.6 万人/任务 同上
动态 本周是否怀孕、是否感染、是否受伤 数千–数万周 用问卷或 EHR 时间戳打标
睡眠 本周总睡眠时长、深睡时长、睡眠效率 35 万人-周 Apple Watch 算法导出

5. 结果一句话总结


  • WBM 单独用 已打败“均值+方差”这种传统特征 39/47 次。

  • WBM + PPG 联合 在 42/47 次任务里拿到第一,最高把房颤预测 AUROC 从 0.826 拉到 0.860。

  • 行为数据更擅长 睡眠、受伤、怀孕等“行为驱动”场景;PPG 在糖尿病、抑郁等“生理主导”场景仍领先。

三、技术细节 FAQ

Q1:缺失值那么多,模型不崩吗?

A:TST tokenization 直接全局均值填充 + 缺失掩码,简单粗暴但有效;论文也试了 mTAN、Tuple 等花哨方法,结果反而略差,可能因为噪声高。

Q2:Mamba-2 是什么?

A:一种「选择型状态空间模型」,相比 Transformer 省显存,仍能双向看全局。论文在 8×A100 上 16 小时训完 2.5 亿参数模型,推理只需毫秒级。

Q3:为什么不用 Masked AutoEncoder?

A:试了,年龄预测 MAE 从 4.05 → 6.39,因为稀疏且噪声大,重建任务让模型只关注高频变量(步数、热量),忽略了 VO₂max 等关键但稀少的指标。

Q4:隐私怎么保障?

A:研究基于 Apple Research app 的知情同意,数据不公开;模型权重因合规原因未开源,但论文给出了完整超参与实现细节,方便复现思路。


四、真实场景落地指南

场景 行为数据怎么用 预期收益
远程康复 连续监测步态对称性、6 分钟步行距离 提前 1-2 周发现功能退化
孕期管理 结合心率、步数、睡眠轨迹 自动识别孕早期,减少漏检
企业健康 用周报形式展示员工睡眠效率、活动量 低成本筛查高压力人群
保险风控 把 WBM 嵌入评分卡,与 PPG 互补 提升糖尿病、抑郁识别率 3-5 %

五、局限 & 下一步


  • 人群偏倚:样本多为美国、中高收入的 Apple 用户,外推到 Android 或其他国家需谨慎。

  • 标签噪声:多数疾病标签来自问卷自报,未来与 EHR 交叉验证会更可靠。

  • 时间窗口:目前只做到“周级”预测,若要做小时级预警,需要更细粒度建模。

六、快速体验:如何自己试玩?

由于原始数据与权重受合规限制,个人无法直接下载,但你可以用公开数据集(如 UK Biobank 加速度子集)复现思路。

最小可复现 pipeline(伪代码)

# 1. 准备数据
# 每行:user_id, week_start, variable_name, hourly_value
df = pd.read_parquet('my_wearable_weekly.parquet')

# 2. 构造 168×54 矩阵
def make_matrix(week_df):
    mat = np.zeros((168, 54))
    for hour in range(168):
        for v, idx in VAR2IDX.items():
            val = week_df.query('hour==@hour & var==@v')['value']
            if val.empty:
                mat[hour, idx] = 0          # 均值填充
                mat[hour, idx+27] = 0       # 缺失掩码
            else:
                mat[hour, idx] = val.values[0]
                mat[hour, idx+27] = 1
    return mat

# 3. 用开源 Mamba-2 实现 + InfoNCE 训练
# 参考:https://github.com/state-spaces/mamba

七、结论

这篇研究告诉我们两件事:

  1. 把“行为”本身当成信号,比死磕原始波形更接地气、更连续。
  2. 大模型时代,数据类型决定天花板——选对指标、选对架构,才能在真实健康场景里拿到看得见的效果。

如果你正在做可穿戴算法、数字疗法或保险科技,不妨把这篇论文加入阅读清单。下一步,你可以思考:


  • 我的用户群体与 AHMS 有多大差异?

  • 现有指标里,有没有 VO₂max 这样“稀疏却高价值”的变量?

  • 能否用 Mamba-2 替换掉当前 Transformer,换来 30 % 的显存节省?

参考文献:
Erturk E. et al., “Beyond Sensor Data: Foundation Models of Behavioral Data from Wearables Improve Health Predictions”, ICML 2025.

退出移动版