气道狭窄筛查:呼吸声贡献近零,说话声才是关键信号

查一个喉咙里的毛病,为什么会漏诊九成

想象一个最不像医疗检查的医疗检查。患者不用躺上检查床,不用被麻醉,只需要对着一台手机说一段话,比如描述一张图片里画了什么。几分钟后,AI 给出一个判断:你的气道是不是变窄了。这背后是亚琛大学医院与 Télécom Paris 研究团队的实验:他们从 Bridge2AI-Voice 数据集里取出 748 名受试者,让每个人完成一整套语音录音任务,再训练模型从录音里判别谁是狭窄患者、谁不是。患者级判断的区分度 AUROC 达到 0.952。AUROC 是"能不能把患者和健康人分开"的指标,随机猜是 0.5,完美是 1.0,0.952 意味着接近"很可靠"。而这项研究最反常的结论是:模型几乎不靠呼吸声。让患者自然说一段话,贡献最大;刻意做的呼吸动作,贡献贴零。标题里那个反差,就是这篇论文最核心的发现,也引出了本节唯一的问题:一段自然说话,凭什么能填补气道狭窄的初筛缺口?

一个查气道的模型,放着深呼吸不用,偏从"描述一张图"这种闲聊录音里听出毛病,这怎么可能?又是谁、用什么录音做出的判断?做出判断的是 Jean Groeninger、Zihao Zhao 等来自亚琛大学医院放射科与 Télécom Paris 的研究者,论文以预印本形式挂在 arXiv 上。AirwayStenosis 要弄懂"自然说话凭什么能补缺口",先回到这个病本身的处境。

这到底是一种什么样的病?气管或喉部的管腔变窄,就是气道狭窄(airway stenosis)。最常见的病因是医源性的,也就是医疗操作造成的:长期气管插管之后,插管留下的瘢痕把气道慢慢收窄。它不像感冒那样自报家门,症状只是声嘶、喘鸣(stridor)、运动一多就喘不上气。这些症状太普通,很容易被当成更常见的呼吸疾病,一拖就是几个月。更麻烦的是病程不一定缓慢,严重时可以走到完全梗阻,病人需要在脖子上开一个气管造口才能呼吸。NICE HTG614

确诊这条路本身是可靠的,缺口出在不可及。金标准是喉镜加支气管镜检查(microlaryngoscopy and bronchoscopy),医生在全麻下把内镜伸进气道直接看,CT 能补充看狭窄段的长度。这套流程侵入、费时、依赖专科医生,不是每个怀疑的患者都够得着。漏诊有多普遍,一篇 2025 年发表在 Scientific Reports 上的论文给出一个触目惊心的数字:特发性声门下狭窄患者 Facebook 群组的非正式调查显示,96% 的患者报告自己曾被初次误诊。要说明的是,这不是同行评审的流行病学数据,但它和临床观察指向同一件事:金标准可靠,却远够不着所有病人。Anibal 2025

研究团队的答案里,判断的门槛从"全麻下伸内镜"变成了"说一段话"。这张概念图把论文要做的"范式转换"一眼讲清。

范式转换概念图

图注:论文 Fig 1 概念图。左侧是传统路径:患者先做喉镜、支气管镜、CT 等专科检查,医生读图后出报告。右侧是语音路径:录音交给基础模型提取特征,再做患者级聚合出判断。两侧由语音声学 AI 桥接,强调快速、可及的检测。图中没有数字,也没有内部模块。AirwayStenosis

把两条路径并排看,落差是明显的:一边是全麻内镜,一边是一段录音。但有一个根本问题先于一切:声音里,当真藏得住狭窄的信号吗?缺口能不能被说话声补上,全看这个先决条件成不成立。前人证明了一部分,但也只证明了一部分。这件事为什么拖到现在才变得靠谱,顺序也很关键:把"学会听人说话"做成的语音基础模型,是这几年才成熟的基础设施。

听呼吸确实能测,但前人只走到了半路

声音里藏信号,物理上说得通。气流通过一段变窄的管腔时会产生湍流,湍流会在呼吸音里留下可辨识的痕迹。狭窄越重,气流越紊乱,留下的声学痕迹也就越明显。这个直觉其实有一百多年的历史,临床医生用听诊器分辨喘鸣本来就是基本功,AI 做的只是把"听"变成可复现、可规模化的计算。这个直觉驱动了此前最有代表性的一次尝试。

2025 年 Anibal 等人的工作发表在 Scientific Reports 上,是这篇论文的直接前身。它召集了 267 人:94 名狭窄患者、45 名喘鸣患者,另有 51 名其他呼吸/嗓音疾病对照和 77 名一般对照(两组间有重叠)。录音任务精心设计了两个。FIMO 是用力张嘴吸气,DB 是正常深呼吸。选呼吸任务有物理理由:强迫气流掠过声带,能把轻症的喘鸣音抬到可听的程度,同时排除鼻腔气流的干扰。还有两个容易被忽略的设计细节。录音设备刻意用了三种,从专业麦克风到 iPad 内置麦克风,论文把设备差异当成一种数据增强,训练时不加区分,这正是低成本可及性取向的体现。Transformer 编码器有意不设位置编码,以保持对时间平移的不变性。数据流过一条明确的流水线:2.5 秒一段切窗,转成 Mel 频谱图,交给预训练的 YAMNet 提取嵌入,按声音类别过滤掉噪声段,最后送进一个 Transformer 出预测。Anibal 2025

Anibal 2025 流水线

图注:Anibal 等 2025 年的处理流水线:录音音频进入预训练的 YAMNet 模型提取嵌入矩阵,再按声音类型分类过滤噪声段,送入 Transformer 编码器,最终输出预测。图中 0.2、0.3、0.1、0.6 是示意数字,不是实验结果。Anibal 2025

结果证明这条路能跑通:狭窄检测 AUC 0.875,喘鸣检测也有 0.864。但细看特异性只有 0.725,也就是说在能抓住 85% 患者的阈值下,每 4 个健康人里就有 1 个被误报。对"初筛"来说这个误报率太高了,会把医院涌进来的转诊淹没。筛查和确诊的账要分开算:确诊可以慢,筛查必须又准又轻省,否则没人愿意先过这一道门。更重要的是,这项工作在三个维度上都有明显的升级空间。输入窄:只有两种呼吸任务,还要求患者配合特定动作。模型是通用音频分类器 YAMNet,预训练时没专门"听过"说话。粒度是段级的:每条 2.5 秒的录音各自打分,同一个人的多次录音没有整合成整体判断。

三个维度都换掉会怎样?把呼吸任务换成自然说话,把通用音频模型换成语音专精的基础模型,把段级打分换成患者级聚合。下一章要讲的,就是这篇论文的方法主体。

一条语音如何变成"一个患者"的判断:冻结模型与患者级聚合

方法的第一个选择是不训练新模型。医学标注数据太少,从头训练一个语音模型不现实。论文直接用 WavLM,一个在 94k 小时语音上预训练好的基础模型(Large 档 24 层、约 3.16 亿参数),把它的权重冻结(frozen),只当特征提取器用。冻结的意思是权重一动不动,预训练学到的东西原样保留。微调整个大模型容易在小样本上过拟合,还可能把预训练已经学会的语音知识带偏,所以学习分类的任务全部交给下游轻量的聚合层。每段录音送进去,取出某一层的表示,再按时序平均池化,压成一个定长的 embedding。embedding 就是把一段声音浓缩成的固定长度数值向量。WavLM

到这里,一个患者不再是"一条录音",而是一组录音。Bridge2AI-Voice 协议给每位受试者录了 16 组声音任务:描述图片、朗读段落、复述故事、发元音、做呼吸动作,等等。这 16 组任务覆盖了从持续元音到连续讲话的完整声带活动谱系。协议这样设计,是为了在多种说话条件下捕捉同一个人的声音。同一组任务的多条录音先拼接起来,于是每个患者变成一个由 16 个 embedding 组成的集合,论文管它叫 bag。接下来的问题变成:怎么把一个 bag 变成"这个患者有没有狭窄"的一个判断?这恰好是计算机视觉里多实例学习(MIL)的标准设定:一组实例,一个整体标签。AirwayStenosis

这一步值得一个类比。体检时医生不会只凭单项指标下结论,单看一项可能偏高偏低,熬夜就可能让某项指标异常。把同一个人所有项目放到一起互相印证,判断才稳。这里的 16 段录音就是 16 个项目:描述图片时的发音习惯,朗读时的气息控制,发元音时的嗓音质量。单一一段都可能受当时状态影响,合起来看才是这个人稳定的发声特征。论文用来做聚合的是 TransMIL,一个基于 Transformer 的多实例学习器。它的关键设计和简单平均、注意力加权都不一样:它显式建模录音与录音之间的相关性。具体说,自注意力让每段录音能"参考"同一位患者的其他段落,再据此加权融合,而不是把每段当成孤立的投票。消融实验证明这不只是理论偏好。换成 Non-MIL 基线,AUROC 从 0.952 掉到 0.932。换成 GatedAttention 或 DSMIL,AUROC 停在 0.944 到 0.945 之间。TransMIL 是最优解。值得一提的是,论文里的 Non-MIL 基线并不是对整袋录音求平均,而是拿最有信息量的单个任务(图片描述)单独训练分类器,这样也拿到了 0.932。单凭一个任务就快摸到 0.95,已经预示了后面任务贡献度实验的结论。顺带一提,TransMIL 在病理领域要处理上万个 patch,靠 Nyström 近似把注意力的平方复杂度压成线性。到了这里的患者级场景,一个 bag 只有 16 项,计算根本不是问题。TransMIL

把流程在脑子里过一遍:一位患者录完 16 组任务,每段录音被冻结的 WavLM 压成一个 embedding。16 个 embedding 装进一个 bag,TransMIL 先让段落之间互相"看"一遍,再把相关性加权后的信息聚合成一个患者级概率。单条录音可能又短又嘈杂,但 16 个来自不同说话条件的片段互相补位,噪声被抵消,真实的发声特征浮出来。

TransMIL 原本是为病理切片设计的,下面的架构图是它的原始形态。

TransMIL 架构

图注:TransMIL 原始架构:patch 序列经过 ResNet50 提取特征并降维,进入 TPT 模块完成平方化、相关性建模、位置编码与深度聚合,最后输出一个 bag 级预测。本论文把图中的 ResNet50 换成了冻结的 WavLM,输入也从病理切片换成了一段段语音录音。TransMIL

还有一个值得知道的工程细节。Bridge2AI-Voice 公开发布的只有频谱图这类衍生特征,而 WavLM 这类模型吃的是原始波形,论文用 Griffin-Lim 算法把频谱图近似重构回波形再喂给模型。这是有损近似,论文自己承认可能损失一部分性能。方法整体可以压缩成一句话:冻结的语音基础模型提特征,患者级 TransMIL 聚合。但有个细节吊着胃口:为什么偏偏是 WavLM,而且偏偏取第 15 层,而不是最后一层?

8 个模型拉出来比:会"听说话"的模型赢了,还赢在中间层

论文把选型做成了系统对比:9 个候选,三个阵营。手工特征基线一组。通用音频基础模型五组,它们在大规模多域音频上预训练,任务目标是音乐、环境音一类。语音专精基础模型三组,预训练时"听过"海量人说话。全部走同一套协议:患者级 5 折交叉验证,每个 encoder 配自己表现最好的聚合头。同一份数据、同一套分割,谁强谁弱一目了然。需要说明,聚合头的配法来自论文配套的 GitHub README 补充,正文表格本身没有逐行列出。

方法阵营预训练路线(一句话)AUROC
Mel + MFCC + F0手工特征无,直接手工声学特征0.792 ± 0.030
AST通用音频频谱图切 patch 喂纯注意力 Transformer0.886 ± 0.017
AudioMAE通用音频掩掉 80% 的 patch 再重建0.806 ± 0.042
OpenBEATs通用音频token 化掩码语言建模,训练数据不含语音0.751 ± 0.054
SSAST通用音频掩码预测之外再加判别性任务0.818 ± 0.032
YAMNet通用音频521 类通用音频事件分类器0.816 ± 0.047
HuBERT (L10)语音专精聚类伪标签 + 掩码预测0.943 ± 0.032
Whisper (L32)语音专精680k 小时弱监督语音识别0.925 ± 0.009
WavLM (L15)语音专精掩码预测 + 语音去噪双任务0.952 ± 0.033

表格里最扎眼的不是冠军,而是断层的位置。最好的通用音频模型 AST 是 0.886,仍然低于最弱的语音专精模型 Whisper 的 0.925。0.04 的差距在医学任务上不小,何况 AST 已经是通用阵营里最强的。这组数支持语音专精预训练更适合捕捉与狭窄相关的线索这一解释,也给其他可能的原因留了余地。换个指标看更明显:F1 从手工特征的 0.484 一路涨到 WavLM 的 0.783。AUROC 看的是排序能力,F1 看的是实际阈值下的取舍,两者同时抬升,说明这不是靠调阈值刷出来的区分度。三个语音专精模型的路线各不相同。WavLM 在掩码预测之外加了一个语音去噪任务,让模型在预测被掩码片段时还要对抗噪声,逼它保留说话人身份这类非语义信息。HuBERT 用离线 k-means 聚类造出伪标签再预测。Whisper 走的是大规模弱监督语音识别路线。WavLM HuBERT Whisper

五种通用音频模型的预训练路线南辕北辙。AST 把频谱图切成 patch 喂给纯注意力模型,AudioMAE 掩掉 80% 的 patch 再重建,SSAST 还在掩码预测之外加判别性任务。OpenBEATs 走 token 化掩码语言建模,训练数据显式排除语音。YAMNet 则是一个 521 类音频事件的通用分类器。放在一起看,有没有"听过多语言人声"成了分水岭。AST AudioMAE SSAST OpenBEATs

模型选定了,还留下一层悬念:取哪一层的表示?直觉上越深的层表示越"高级",但层选实验给出一条越深反而变差的曲线:L6 是 0.930,L15 冲到 0.952,L20 回落到 0.926,最后一层 L24 只有 0.923。反常在哪?最后一层专门为语义内容优化过,而气道狭窄的信号不在"说了什么",在"怎么说的"。把 WavLM 的 24 层想成一条竖直的色带。底部是说话人信息,也就是谁在说话。顶部是语义内容,也就是说了什么。中部夹着副语言(paralinguistic)信息,也就是语调、发音细节、嗓音品质这些"怎么说"的层面。喘鸣和发音吃力,正好落在副语言这一层。底层表示还在纠结"这是谁",顶层已经把注意力放在字词内容上,只有中部保留了副语言细节。WavLM 论文在 SUPERB 基准上的层加权观察早已印证:中间层对副语言类任务贡献最大。WavLM 在 SUPERB 的整体分比 HuBERT 高 2.4 个点,14 个子任务更优,它的识别精度只是追平 HuBERT,真正拉开差距的是说话人与副语言这类非语义任务,去噪预训练目标正是为此设计的。取第 15 层不是玄学,是与副语言线索相关的经验性选择。WavLM

到这里,模型在听什么已经很清楚了:它听的不是字面语义,而是"怎么说话"。那最后一个问题是:该让患者做哪个任务,才能把这种信号最大程度暴露出来?呼吸动作?持续元音?还是自然说话?下一章的答案出乎意料。

最反直觉的一课:最有用的不是呼吸声,而是让患者描述一张图

论文用一个很干净的实验回答任务选择问题,方法叫 leave-one-task-out。对最优模型(WavLM L15 + TransMIL),逐个把某个任务的 embedding 替换成训练集阴性样本的平均 embedding,然后测量模型输出的 logit 变化了多少。logit 是进入概率函数之前的原始分数。置换的材料也有讲究:用阴性样本的均值属于"分布内"扰动,避免拿离谱数值制造假的大变化。某个任务被换掉后预测变化越大,说明模型越依赖这个任务。

任务贡献度

图注:论文 Fig 2。横轴是逐个任务置换引起的 logit 变化量,纵轴是 16 个录音任务。最顶端是图片描述任务,往下是朗读段落、复述故事等连续说话任务,最底端贴零的是持续元音与呼吸类任务。横轴单位是 logit 变化量,不是准确率。AirwayStenosis

结果的反差大得惊人。贡献最大的是图片描述任务,就是让患者看着一张图说它画了什么。往下是朗读 Rainbow Passage 段落、复述故事,都是自然的连续说话。而持续元音、滑音这类"发一个音"的任务,加上呼吸、五次深呼吸、咳嗽,全部贴零。DDK 的 /pataka/ 快速音节切换任务排在中等,没有像呼吸任务那样贴零。论文正文只给出了这个排序,配套的 GitHub README 补了具体量级:图片描述贡献 +0.58,朗读段落 +0.24,复述故事 +0.15。该实验表明模型的有效线索主要出现在连续说话任务;至于具体生理来源,论文尚未用这项分析证实。AirwayStenosis

这个结果为什么可信,论文给了两个支撑。其一,同样的置换在阴性对照患者上几乎不改变预测。如果模型依赖的是录音条件、设备差异这些表面线索,阴性样本也会跟着大幅波动。实际不动,说明模型学的是和狭窄相关的真实模式,不是伪相关。其二,这个发现直接推翻了前人对呼吸录音的强调。Anibal 当年特意设计用力吸气来强迫气流掠过声带,这个直觉不能说没有道理,但在 16 个任务的全景下,呼吸任务被证明远不是最有效的入口。论文据此推测,狭窄改变的是说话时精细的声门控制与气流调节,而不是孤立的呼吸音,但这个解释只是点到即止:置换实验证实的是任务的贡献度,并没有直接证实这个生理机制。结论的画面感依然很强:一个人平常怎么说话,比他刻意做一次呼吸动作更诚实。Anibal 2025

这也回头解释了题目的反差:为什么"手机录一段话"就能当筛查入口,因为不需要患者做任何特殊动作,自然说话就是最好的暴露。那么最后的问题落到现实:这个 0.952,到底能不能放进临床?

0.952 能干什么、不能干什么:筛查的边界与这条路的前方

先看边界。0.952 是"有没有狭窄"的二分类成绩。论文把同一个模型挪到三个更细的任务上:狭窄定位(狭窄在哪个位置,三分类)、喘鸣检测(二分类)、严重度分级(三分类)。

表型任务形式macro-AUROC一句话解读
狭窄定位三分类0.820 ± 0.060中等可分
喘鸣检测二分类0.669 ± 0.189弱,折间波动大
严重度分级三分类0.604 ± 0.063弱

三行数字讲了一个清楚的故事:语音信号对"有没有"判别很准,对"在哪、多重"明显不足,喘鸣任务的折间波动高达 ±0.189。这个系统在临床路径里的定位是初筛:把可疑的人筛出来转诊给专科,而不是替代支气管镜去确诊或分期。换句话说,如果把它放进就医流程,它应该站在支气管镜前面,回答"这个患者值不值得去做一次全麻内镜",而不是站在它的位置上。把它当成确诊工具用,会出问题。

论文自己把话说得很谨慎。这些数字来自单一队列、没有外部验证,只能当作开发期估计(development-stage estimate)。134 例狭窄子集偏小,喘鸣等表型任务的样本更少,加上 Griffin-Lim 重构有损,从"论文里的 0.952"到"诊所里能用的初筛",还差跨语言、跨设备、更大更多样队列的验证。还要泼一盆冷水:"手机就能录"是愿景,真实数据要走 PhysioNet 注册加数据使用协议(DUA)的受控访问,不是下载即用。不过代码本身以 MIT 协议开源,想复现的人至少不用猜实现细节。AirwayStenosis

那 0.952 的可信度底座是什么?数据来自 Bridge2AI-Voice,一个由 NIH 资助的多中心语音健康数据集。官方最新版共 833 名成人受试者,横跨北美 5 个中心,包含 32249 条录音、158.52 小时。论文实际用的是其中 748 人的子集:134 名狭窄患者,614 名对照。一个容易被忽略但重要的设计是:对照组不全是健康人,混入了其他喉、神经、精神、呼吸疾病的患者。这比在小样本纯健康对照上刷出来的分数更接近真实筛查场景,因为真实世界里来筛查的人本来就五花八门。所有受试者的数据都经过去标识化和伦理审查,采集协议本身也是结果可信度的一部分。数据集的规模可以从官方仪表盘直观看到。Bridge2AI

Bridge2AI-Voice 数据规模

图注:Bridge2AI-Voice 数据仪表盘。上方五张卡片给出总览:833 名受试者、32249 条录音、9047 份问卷、12042 个声学任务、158.52 小时录音。下方环形图按诊断组展示 5 段分布,加和正好是 833。Bridge2AI

最后看一眼这条路的前方。同一数据家族里有一个平行方向:MARVEL 用一个模型同时筛查 9 种神经、呼吸和嗓音疾病,在 442 名受试者的子集上整体 AUROC 0.78,其中阿尔茨海默病和轻度认知障碍单病种能到 0.97。要注意它的评估目标是九病种整体,与本文单病种 0.952 不可直接比较。它走的也不是预训练基础模型路线,双分支卷积骨干全监督训练,但它证明的是同一件事的另一面:九种病共享的声学表征确实存在。顺带一提,MARVEL 里气道狭窄单病种也有 0.89,说明"语音能查狭窄"并不依赖某一种特定架构。下面这张图是它的框架总览。MARVEL

MARVEL 多病种框架

图注:MARVEL 框架总览。MFCC 与 log-Mel 频谱两条特征分支各过一个卷积骨干,拼接后投影到共享表征,再分出 9 个病种头,包括气道狭窄、哮喘、帕金森、阿尔茨海默病等。与本文单病种做深形成结构对照。MARVEL

两条路线放在一起,一幅图景浮现出来。一边把语音 AI 做深,单病种做到 0.95。另一边做广,一个共享表征带 9 个病种头。回到开头那个场景:患者对手机说了一段话,AI 给出判断。这篇论文告诉我们两件具体的事:这段话里确实有信号,而且最值钱的不是呼吸声,是自然说话的方式。0.952 是一张"存在性筛查"的成绩单,诚实、有边界、还缺外部验证。但它把一个过去要全麻内镜才能回答的问题,降到了录音初筛的档位。论文证明的不是"AI 能查喉咙",而是:你开口说话的方式本身,就是一份待读的筛查报告。

想深入可以读原文:Listening for Airway Stenosis: A Foundation Model-Based Method for Rapid and Accessible Detection — arXiv:2609.15453

参考文献

  1. Listening for Airway Stenosis: A Foundation Model-Based Method for Rapid and Accessible Detection(arXiv:2609.15453) — https://arxiv.org/abs/2609.15453
  2. NICE HealthTech guidance HTG614: Endoscopic balloon dilation for subglottic or tracheal stenosis, Chapter 2 — https://www.nice.org.uk/guidance/htg614/chapter/2-The-condition-current-treatments-and-procedure
  3. WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing(arXiv:2110.13900) — https://arxiv.org/abs/2110.13900
  4. HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units(arXiv:2106.07447) — https://arxiv.org/abs/2106.07447
  5. Robust Speech Recognition via Large-Scale Weak Supervision(Whisper,arXiv:2212.04356) — https://arxiv.org/abs/2212.04356
  6. AST: Audio Spectrogram Transformer(arXiv:2104.01778) — https://arxiv.org/abs/2104.01778
  7. TransMIL: Transformer based Correlated Multiple Instance Learning for Whole Slide Image Classification(arXiv:2106.00908) — https://arxiv.org/abs/2106.00908
  8. Transformers for rapid detection of airway stenosis and stridor(Anibal et al., Scientific Reports 15:15394, 2025) — https://pmc.ncbi.nlm.nih.gov/articles/PMC12048665/
  9. AudioMAE: Masked Autoencoders that Listen(arXiv:2207.06405) — https://arxiv.org/abs/2207.06405
  10. OpenBEATs: A Fully Open-Source General-Purpose Audio Encoder(arXiv:2507.14129) — https://arxiv.org/abs/2507.14129
  11. SSAST: Self-Supervised Audio Spectrogram Transformer(arXiv:2110.09784) — https://arxiv.org/abs/2110.09784
  12. Bridge2AI-Voice: An ethically-sourced, diverse voice dataset linked to health information(v3.1.0, PhysioNet) — https://physionet.org/content/b2ai-voice/3.1.0/
  13. MARVEL: Unified Acoustic Representations for Screening Neurological and Respiratory Pathologies from Voice(arXiv:2508.20717) — https://arxiv.org/abs/2508.20717
气道狭窄筛查:呼吸声贡献近零,说话声才是关键信号