编辑推荐:
为解决传统听诊及现有呼吸音分类模型的问题,韩国天主教大学医学院的研究人员开展基于 Transformer 的哮鸣音分类研究。结果显示该模型准确率达 91.1%。此研究为儿科呼吸疾病诊断提供新方案,极具科研价值,推荐一读!
韩国天主教大学医学院儿科(Department of Pediatrics, College of Medicine, The Catholic University of Korea)的研究人员 Beom Joon Kim 等人在《Scientific Reports》期刊上发表了题为 “An explainable and accurate transformer-based deep learning model for wheeze classification utilizing real-world pediatric data” 的论文。这篇论文在儿科呼吸系统疾病诊断领域意义重大,它为临床医生提供了一种更精准、客观的辅助诊断工具,有望改善儿科呼吸疾病的诊疗现状,推动人工智能在医学领域的应用发展。
一、研究背景
听诊(Auscultation)作为一种常用的疾病诊断方法,主要借助听诊器聆听患者身体发出的声音来判断病情。它具有非侵入性和实时诊断的优势,在呼吸道疾病诊断和急救场景中发挥着重要作用。然而,听诊也存在明显的局限性。一方面,依靠听诊器对呼吸音的准确解读高度依赖临床医生的专业知识和经验,不同医生的判断可能存在较大差异,缺乏客观性。例如,经验不足的医生可能难以准确辨别一些细微的呼吸音变化,从而影响诊断的准确性。另一方面,传统听诊器无法用于远程医疗,在全球医疗资源分布不均以及像 COVID-19 疫情这样的公共卫生事件影响下,远程医疗服务需求激增,传统听诊器的局限性愈发凸显。
肺部疾病是全球范围内极为常见的健康问题,也是导致死亡的第三大常见原因。目前,医生诊断肺部疾病的方法多样,如动脉血气分析、肺活量测定和放射成像等,但听诊器因其简单、经济、安全的特点,仍然是重要的诊断工具。
哮鸣音(Wheezes)是一种由于气道狭窄或阻塞导致气流受限而产生的高调、持续的附加音,其频率范围通常在 100 至 5000Hz,持续时间至少 80 至 100 毫秒 ,在声音分析中呈现正弦波模式。与哮鸣音类似的干啰音(rhonchi)则是低调的,与较大气道中黏液积聚有关,其主导频率一般低于 200Hz。从机器学习的角度来看,分析这些呼吸音需要开发预测模型并提取相关特征。
近年来,深度学习在呼吸音分类研究中取得了一定进展,但仍存在诸多问题。许多研究使用公开数据库,在实际临床场景中验证深度学习模型的研究较少。针对儿科患者的研究更是稀缺,现有研究样本量往往较小,异常呼吸音类型也不够丰富。并且,大多数研究采用基于卷积神经网络(Convolutional Neural Network,CNN)的模型。CNN 模型在卷积层后添加池化层以提高计算效率,但池化层会丢失重要信息,且无法编码特征图之间的相对空间关系,难以准确解读需要较长时长和详细背景信息的病情。
二、研究方法
- 研究设计与数据收集:研究人员开展了一项前瞻性研究,收集了 2019 年至 2020 年韩国两所大学医院儿科就诊儿童的呼吸音数据。在获得患者自愿同意后,由儿科肺科医生使用电子听诊器在门诊采集呼吸音。每位患者的双侧肺部前后区域各记录两个周期,共获取四个呼吸音样本。采集的听诊音由专科医生分类为哮鸣音和其他呼吸音,并经过两名儿科肺科医生的双盲验证,确保分类准确后存储在数据库中。
- AI 算法评估:构建二元分类模型来判断记录的呼吸音中是否包含哮鸣音。将数据库中 80% 的数据作为训练数据,20% 作为测试数据。以预处理过程中从音频数据提取的梅尔频谱图(Mel spectrograms)作为输入数据。深度学习模型采用预训练的音频频谱图变压器(Audio Spectrogram Transformer,AST)模型,该模型包含超过 100 万个来自 ImageNet 的 1000 类数据。通过该模型和多层感知器(Multilayer Perceptron,MLP)层对数据进行训练。具体来说,将音频输入转换为 128 维对数梅尔滤波器组(log mel filter bank,fbank),频谱图被划分为 16×16 的补丁(patches) ,利用线性投影层将每个补丁扁平化为 768 维的一维向量,再添加位置嵌入(positional embedding),最终输出用于判断是否存在哮鸣音。
- 预处理
- 数据增强:运用白噪声添加、时间移位、拉伸、反转、取反和拟合变换等六种数据增强技术对训练数据进行扩充。使用 librosa 包将 580 个训练数据样本扩充到 4060 个,然后提取梅尔频谱图。
- 特征提取:从呼吸音音频数据中提取梅尔频谱图,过程中使用 1024 点快速傅里叶变换处理器和 64 位梅尔滤波器组,并将所有声音数据的采样率转换为 44,100Hz。由于数据包含 1 通道和 2 通道,为避免数据丢失,将所有数据转换为 2 通道。针对长度不一的声音数据,采用重复填充的方式,使较短样本达到最大样本长度。同时,运用 SpecAugment 进行时间掩蔽和频率掩蔽,防止模型过拟合。
- AI 模型的优化构建与验证:深度学习过程中使用交叉熵损失函数和 Adam 优化器。通过五折交叉验证和网格搜索方法确定最优超参数,应用模型训练 150 个 epoch,批次大小为 10,学习率为 0.000005。采用随机权重平均技术进一步提升模型性能。使用测试数据集评估模型性能,获取准确率、精确率、召回率、F1 分数和曲线下面积(Area Under the Curve,AUC)等指标,并将所提模型与其他模型进行比较。整个深度学习过程基于 PyTorch 框架,该框架与预处理中使用的 torchaudio 兼容。
- 使用 Score-CAM 验证 AI 模型:Score-CAM 是一种用于可视化模型图像分类预测效果的工具,能展示模型在图像中哪些区域特别活跃。由于本研究模型基于梅尔频谱图图像进行分析,因此使用 Score-CAM 可视化分类结果,判断哪些噪声会影响模型,以及模型是否能基于哮鸣音做出准确预测。选择最后一个注意力块的第一个归一化层作为目标层。
- 统计分析:运用 Mann–Whitney U 检验比较记录的呼吸音特征,通过箱线图、直方图和四分位数比较呼吸音长度。采用准确率、精确率、召回率、F1 分数和 AUC 等指标评估模型性能。
三、研究结果
- 呼吸音数据库特征:研究共收集到 194 个哮鸣音(时长 11.85 ± 5.33 秒)和 531 个其他呼吸音(时长 11.64 ± 5.71 秒)。记录文件的采样率有 48,000Hz 和 44,100Hz 两种,为统一处理,将所有文件下采样至 44,100Hz。文件通道类型包括单声道和立体声,所有声音数据均转换为 2 通道。由于呼吸音长度不同,通过重复填充将其统一设置为 21.72 秒。
- 所提模型性能及与其他模型的比较:与其他实验模型相比,所应用的基于 ImageNet 预训练的 AST 模型表现出色。具体数据如下表所示:
| 模型 | 通过网格搜索选择的超参数 | 准确率 | AUC | 精确率 | 召回率 | F1 分数 |
|----|----|----|----|----|----|----|
| 主要研究结果(ResNet34 + CBAM)|Epoch:120 / 批次大小:32 / 学习率:1e-3|0.912|0.891|0.944|0.810|0.872|
| 使用主要研究数据的 AST 模型 | Epoch:100 / 批次大小:16 / 学习率:1e-4|0.930|0.944|0.840|1.000|0.913|
| 后续研究数据的 ResNet34 + CBAM|Epoch:120 / 批次大小:32 / 学习率:1e-3|0.836|0.758|0.742|0.590|0.657|
| 使用后续研究数据的 AST 模型 | Epoch:150 / 批次大小:10 / 学习率:5e-6|0.911|0.866|0.882|0.769|0.822|
- 使用 Score-CAM 对所提模型的验证结果:通过 Score-CAM 可视化结果发现,在正确分类的案例中,模型在听到哮鸣音时会强烈激活,对噪声和正常呼吸音的激活较弱;在错误分类的案例中,当音频文件中噪声过多,且哮鸣音相对其他声音较微弱时,模型容易误判。例如,将包含医院医疗设备蜂鸣声和类似哮鸣音的未知声音样本误判为哮鸣音,但模型对医疗设备通知音未产生激活,仅对类似哮鸣音的未知声音有微弱激活。
四、研究结论与讨论
研究人员构建的基于 ImageNet 预训练 AST 模型的人工智能模型,在从儿科呼吸音中分类哮鸣音的任务上表现出色,准确率达到 91.1%,F1 分数为 82.2%,超越了之前基于 CNN 的模型以及研究团队之前开发的基于 ResNet 的模型。
该研究的优势显著。一方面,使用了从实际临床环境中儿科患者收集的呼吸音数据,相较于公开数据库,数据质量更高,更能反映真实临床情况。公开数据库存在样本类别不平衡、样本长度和采样率差异大、标注不严格等问题,而本研究的数据是由两名经验丰富的儿科呼吸科医生按照特定协议双盲记录的,有效避免了这些问题。另一方面,AST 模型本身具有独特优势。它是一种无卷积、纯注意力机制的音频分类模型,能够直接应用于音频频谱图,在底层就能捕捉长距离全局上下文信息,并且支持可变长度输入,适用于多种任务。通过使用预训练模型,一定程度上克服了 Transformer 模型训练需要大量数据的缺点。
然而,研究也存在一些局限性。首先,尽管样本量比以往研究有所增加,但绝对数量仍然较少,这可能影响模型的泛化能力。其次,训练数据集存在不平衡问题,研究虽采用 F1 分数作为衡量标准,但后续研究仍需探索更多技术来解决这一问题,如 SMOTE 技术。最后,该模型只是一个区分哮鸣音的二元分类模型,在临床应用中,需要能够同时对哮鸣音、湿啰音(rale)和喘鸣音(stridor)等多种呼吸音进行分类的高性能模型。
未来研究将聚焦于构建更强大的儿科呼吸音数据集,确保标注更准确、样本量更大。同时,探索基于 Transformer 的各种模型组合,以优化模型性能、提高便携性和可用性,更好地服务于临床诊断和治疗决策,为儿科呼吸系统疾病的诊疗带来新的突破。