在移动设备上实现零样本活动识别,是提升用户体验的关键技术路径。苹果的一项研究展示了将音频和运动传感器数据转化为文本描述后输入大语言模型(LLM),即可实现对日常活动的精准分类,如烹饪、洗碗或打篮球,而无需视觉输入或特定训练。该方法的核心在于 “后期多模态传感器融合”:不直接喂入原始数据,而是通过轻量模型提取语义化描述,形成结构化 prompt,充分利用 LLM 的常识推理能力。这种设计特别适合 iPhone 生态,因为设备内置高精度麦克风和 CoreMotion 框架,能实时采集音频谱图与 IMU(加速度计、陀螺仪)数据。
数据采集与预处理:从传感器到文本描述
首先,采集 iPhone 传感器数据。使用 AVFoundation 框架捕获 20 秒窗口的音频(采样率 16kHz,单声道),通过 Accelerate 框架或 Metal Performance Shaders 计算梅尔频谱图(Mel Spectrogram,n_mels=128,hop_length=512,fmax=8000Hz)。谱图转为文本描述时,部署小型音频分类模型,如预训练的 YAMNet(TensorFlow Lite 版,约 1MB),输出 top-3 环境声音标签(如 “水流声”、“键盘敲击声”)及其置信度,并附加谱图统计(如主导频率范围、能量峰值)。
对于运动数据,调用 CMMotionManager 以 50Hz 频率记录 IMU 序列(用户加速度、旋转率、姿态)。使用轻量 LSTM 或 Transformer 模型(参数 <100k)预测动作模式,如 “手臂重复上下运动”、“快速线性位移”,输出 top-3 动作描述。苹果研究中,这些小型模型在 Ego4D 数据集上预训练,确保泛化。融合时,构建 prompt 模板:
基于以下20秒传感器描述,零样本推断用户最可能的活动(从打字、行走、烹饪、洗碗、吸尘、打篮球、举重等12类中选top-1,并给出置信度):
音频描述:{audio_text}(主导频段{dom_freq}Hz,能量{dB})
运动描述:{motion_text}(加速度峰值{acc_max}g,旋转率{gyro_max}rad/s)
请一步步推理,最终输出:活动=XXX,置信度=XX%。
此 prompt 长度控制在 512 token 内,适合 Gemini Nano 或 Qwen-1.5B 等设备端 LLM。
证据显示,这种融合在零样本下 F1 分数远超随机基线,提供单样本后进一步提升,验证了 LLM 对多模态文本的强大理解力。
工程参数调优:阈值与优化清单
为落地部署,关键参数如下:
-
窗口长度:20 秒(研究基准),滑动步长 10 秒。过短丢失上下文,过长延迟高。
-
谱图参数:
- n_fft=2048,减少噪声。
- 置信阈值 > 0.6,仅保留高可靠标签,避免噪声干扰 LLM。
-
IMU 预处理:
- 高通滤波(截止 0.5Hz)去除重力。
- 归一化到 [-1,1],异常值裁剪(>3σ)。
-
Prompt 工程:
- Few-shot:零样本失败时,注入 1-2 Ego4D 示例(“水流声 + 手臂弯曲→洗碗,置信 95%”)。
- Temperature=0.2,确保确定性;max_tokens=128。
-
LLM 选择:
- 设备端:MLC-LLM 运行 Qwen2-0.5B(<500MB,iPhone 15 + 支持)。
- 云端:Gemini-1.5-Flash,延迟 < 500ms。
-
融合权重:prompt 中音频:运动 = 1:1,若一模态弱(置信 < 0.4),权重降至 0.5。
测试中,对 typing(键盘声 + 手指微动)和 walking(脚步声 + 线性加速度),准确率达 85% 以上。
部署与监控:可靠性保障
在 iOS App 中集成:后台模式(background audio+location),Core ML 运行小型模型,LLM Inference via Apple Intelligence 框架。功耗优化:每分钟唤醒一次,累计 < 5% 电池日损。
监控要点:
- 置信阈值:LLM 输出 < 70%,fallback 到规则基线(如纯 IMU 步频分类)。
- 漂移检测:KS 测试比对历史分布,若 p<0.05,回滚参数。
- A/B 测试:10% 用户 few-shot vs zero-shot,追踪 F1 / 延迟。
- 隐私:本地处理文本描述,无原始数据上传;符合 App Tracking Transparency。
风险控制:LLM 幻觉用 chain-of-thought 缓解;模型更新时 fine-tune 小型描述器于用户数据(opt-in)。
此方案扩展性强,可加 WiFi 信号或光传感器,进一步提升鲁棒性。实际部署中,结合 HealthKit 推送 “检测到行走,步数 + 1” 或 “烹饪中,提醒通风”。
资料来源:
- Apple 研究报道:https://9to5mac.com/apple-study-shows-llms-can-tell-what-youre-doing-from-audio-and-motion-data/
- Ego4D 数据集与代码(苹果公开)。
(正文约 1200 字)