KnoBo:从医书中学习知识,辅助图像分析,解决分布外性能下降问题
- 提出背景
- KnoBo 流程图
- KnoBo 详解
- 问题构成
- 结构先验
- 瓶颈预测器
- 参数先验
- 解法拆解
- 逻辑链
- 对比 CLIP、Med-CLIP
- CLIP
- Med-CLIP
- KnoBo
- 训练细节
- 预训练过程
- OpenCLIP的微调
- 构建医学语料库
- 文档收集
- 文档管理
- KnoBo实施细节
- 概念生成
- 概念固定
- 训练与评估
论文:A Textbook Remedy for Domain Shifts: Knowledge Priors for Medical Image Analysis
代码:https://yueyang1996.github.io/knobo/
提出背景
在医学成像领域应用深度学习模型时面临的主要问题:当数据来源(如不同的医院或患者群体)发生变化时,模型的表现往往会大幅下降,这种现象被称为“域移动”。
由于医学数据集通常规模较小,且存在许多未被标识的混淆因素,这些都可能导致模型预测性能急剧下降,从而减弱了医疗专业人员对这些模型的信任。
为了解决这个问题,研究人员提出了一种新的模型设计方法,灵感来源于医学教育过程。
在医学教育中,学生首先通过教科书学习基础知识,然后在实际操作中进一步学习。
模型的设计模仿了这一学习过程:首先利用医学文献来识别和整合关键的医学知识,然后通过实例数据进行学习。
具体来说,研究者开发了一种名为“知识增强瓶颈”(KnoBo)的模型结构,它在概念瓶颈模型(CBMs)的基础上进行扩展。
KnoBo的模型,它不仅分析图像的视觉特征,还结合了从医学教科书中提取的具体医学知识来提高其准确性和可靠性。
这种模型使用从医学教科书中提取的概念(如“图像中是否存在玻璃磨砂阴影?”)来帮助模型判断X光片是否显示出呼吸道感染的特征。
在一系列测试中,KnoBo模型在处理数据来源变化时显示出较传统模型更好的性能,尤其是在“分布外”(OOD,即模型未见过的新场景)的情况下,性能提升明显。
此外,研究还发现使用PubMed等医学数据库作为知识来源可以进一步提高模型的预测性能和信息多样性。
这项研究显示,将深入的医学知识整合到模型中,可以显著提高医学成像模型在面对数据变化时的鲁棒性,有助于在医疗实践中更广泛地应用这些先进的人工智能工具。
传统的方法(事后可解释性)可能无法提供真实可靠的解释。本研究采用了一种固有的可解释方法,即通过概念瓶颈模型(CBMs),这种模型通过组合预先定义的概念来作出预测,这些概念是由人类设计的,更易于理解。
本研究不是为每个案例单独检索知识,而是构建了一个全局的知识先验,这个先验是基于一个广泛的医学文档语料库,可以在所有案例中共享使用。
KnoBo 流程图
这幅图是一个关于“知识增强瓶颈”(KnoBo)系统的示意图,这是一种用于医学图像分类的模型。
-
结构先验(Structure Prior):
- 这部分涉及利用医学文献(如PubMed、教科书等)构建一个可信的知识瓶颈。
- 例如,它会从文献中提取出与COVID-19相关的胸部X光特征,如“玻璃磨砂阴影”。
-
瓶颈预测器(Bottleneck Predictor):
- 这部分使用上述结构先验中的概念来评估输入的医学图像。
- 系统会询问诸如“肺部是否有塌陷?”、“气管是否在中线位置?”等问题,通过这些问题的回答来分析图像。
-
参数先验(Parameter Prior):
- 这里,线性层的学习受到预定义参数的约束,这些参数可能由医生或语言模型(LLMs)提前定义,以确保模型的预测与医学专业知识一致。
总体流程是:
- 首先,对于一个具体的查询(如诊断X射线图中的COVID-19),系统从医学文献库中检索相关文档。
- 使用这些文档来生成和确认关于图像中可能存在的病理特征的问题。
- 输入的医学图像将被评估这些特征,如图中的X光图示例。
- 最后,系统基于评估结果生成一个临床报告,表明测试是阳性还是阴性。
这种方法的目的是通过结合丰富的医学知识和深度学习技术,提高医学图像分析的准确性和可靠性。
没问题,我会尽量简化解释:
KnoBo 详解
整体概念:
- **知识增强瓶颈(KnoBo)**是一种机器学习模型,它将医学知识以“概念”的形式直接融入模型中,使得模型在处理医学图像时更加精准和可靠。
问题构成
-
基本理念:模型通过两个步骤进行预测。
首先,它将图像转换成一系列的“概念”,然后基于这些概念来预测图像的标签(如病情分类)。
-
目标:目标是通过加入关于概念结构的先验知识(即在建模前就已知的信息)来优化模型的学习过程。
结构先验
- 操作方法:首先定义需要的概念(如肺炎、肿瘤等医学特征),然后使用大型语言模型从大量文档中寻找与这些概念相关的信息,迭代地精细化这些概念。
- 迭代过程:通过不断地从文档中提取信息并更新概念库,模型逐步构建一个能够高效识别和分类医学图像的概念结构。
瓶颈预测器
- 功能:将输入的医学图像映射到概念空间(即识别图像中的医学概念),然后这些概念被用来预测图像的医学标签。
- 概念固定:这一步骤涉及训练模型识别图像中是否存在特定的医学概念,比如通过分析图像与文本描述(如临床报告)之间的关系来学习。
参数先验
- 目的:调整模型的参数以确保它们反映出医学知识中的概念与疾病标签之间的正确关联。
- 实现方式:通过设定参数的先验分布,并在训练过程中调整参数使其不仅符合数据特征,也符合这些先验知识。
总结:
通过这种方式,KnoBo模型不仅基于图像的视觉特征进行学习,还整合了丰富的医学知识,使得模型在进行医学图像分析时更为准确和可解释。
这种方法特别适用于需要高度精确诊断的医学领域。
解法拆解
KnoBo(知识增强瓶颈)模型旨在提高医学图像分类的准确性和鲁棒性,特别是在面对数据集中的混淆因素时。为达到这一目的,KnoBo采用了一系列子解法,结合了多个技术和方法来构建和优化模型。下面根据逻辑关系拆解KnoBo的具体解法和子解法:
-
概念瓶颈构建(子解法1)
- 特征:需要一种方法来将医学专业知识直接整合到模型中,增强模型对医学图像的理解。
- 原因:通过构建概念瓶颈,模型可以在预测时显式地参考医学领域的关键知识,这提高了模型的解释性和准确性。
- 例子:如果模型识别出X光图像中的“肺部阴影”这一概念,它可以更准确地判断是否为肺炎。
-
知识驱动的特征提取(子解法2)
- 特征:模型需要在处理图像时能够辨识出与医学诊断直接相关的视觉特征。
- 原因:使用从医学文献中提取的知识来指导特征提取,可以使模型更好地识别与病理状态相关的图像特征,从而提高分类的精确度。
- 例子:通过分析与“骨折”相关的医学文献,模型可以学习到在X光图像中识别特定类型的骨折线的视觉特征。
-
鲁棒性优化(子解法3)
- 特征:需要提高模型对于数据集中混淆因素的抵抗能力。
- 原因:通过在模型训练中考虑和评估混淆因素,可以让模型在遇到变化或异常情况时仍保持高准确率,即提高其鲁棒性。
- 例子:在混淆数据集上训练时,模型学习区分年龄、性别等因素与疾病标签之间的假相关,从而在实际应用中减少误诊。
逻辑链
逻辑链结构如下:
- 主解法:KnoBo模型
- 子解法1:概念瓶颈构建
- 引入医学领域知识,提高模型的专业准确性和解释性。
- 子解法2:知识驱动的特征提取
- 利用医学知识指导图像特征的提取,关注与医学诊断直接相关的视觉特征。
- 子解法3:鲁棒性优化
- 在模型设计中考虑混淆因素,提高模型对异常情况的适应性和鲁棒性。
- 子解法1:概念瓶颈构建
这些子解法形成一个链条结构,每个解法都是为了解决模型在医学图像处理中可能遇到的具体问题,共同作用以提升最终的模型性能和可靠性。
对比 CLIP、Med-CLIP
KnoBo(Knowledge-enhanced Bottlenecks)在特定场景中可以表现得比CLIP或Med-CLIP更优,尤其是在需要高度医学知识整合和强解释性的医学图像分析任务中。
CLIP
- 设计与目标:CLIP(Contrastive Language–Image Pre-training)由OpenAI开发,旨在通过自然语言描述学习视觉概念。它是为了广泛的图像理解而设计,不特定于医学图像。
- 优势:CLIP强在处理大范围的图像类型和大量未标注数据,能够通过文本描述与图像内容之间的关联来进行分类和识别。
- 局限:在专业性较强的领域(如医学图像分析),CLIP可能不如专门针对该领域优化的模型表现出色,因为它缺乏具体领域的深入知识。
Med-CLIP
- 设计与目标:Med-CLIP是CLIP的一个变种,针对医学图像进行了优化,通过在医学图像和相关文本上进行预训练来改进。
- 优势:在处理医学图像时,相比于标准的CLIP,Med-CLIP通过利用医学专业的数据集提高了模型对医学内容的理解和精度。
- 局限:虽然比普通的CLIP模型更适用于医学图像,但Med-CLIP可能还是缺乏足够的医学知识深度,特别是在具体病理特征的识别和解释方面。
KnoBo
- 设计与目标:KnoBo专为解决医学图像分析中的高复杂性问题而设计,通过集成明确的医学知识(概念瓶颈)来增强模型的解释能力和准确性。
- 优势:KnoBo在处理需要高度专业知识和高度解释性的医学图像分析任务时,能够提供更准确的诊断支持。它通过直接利用医学文献中的知识来改善诊断结果的相关性和准确性。
- 局限:KnoBo的设计和实现可能比CLIP或Med-CLIP更为复杂,需要更多的定制化开发和维护。
KnoBo在需要深度医学知识和高度解释性的医学图像分析任务上可能比CLIP和Med-CLIP更强,特别是在准确性和用户信任方面。
然而,在通用图像识别任务或少量标注数据的场景中,CLIP和Med-CLIP可能更具优势。
训练细节
知识增强瓶颈(KnoBo)模型进行医学图像分类的全流程训练步骤,包括预训练、构建医学语料库和实施KnoBo细节。
预训练过程
预训练是训练深度学习模型之前的一个重要步骤,特别是在处理需要大量专业知识的领域如医学图像时。
OpenCLIP的微调
- 模型选择:选择OpenCLIP模型,这是一个基于Transformer的大规模视觉-语言预训练模型,原本在多种数据集上训练,能理解图像内容与文本描述之间的关联。
- 数据准备:收集医学相关的图像与其对应的临床报告。这些报告通常包含了描述图像内容的详细信息,如病变特征、诊断结果等。
- 文本预处理:与其使用完整的临床报告,不如提取关键短语或重要信息,因为这样更能突出对图像内容的直接描述,减少噪声数据的干扰。
- 微调:在医学专用的预训练数据上进行OpenCLIP的微调,使模型更好地适应医学图像的解读。
构建医学语料库
医学语料库是进行概念生成和检索的基础,包括以下步骤:
文档收集
- 来源:从PubMed等医学数据库下载大量医学文章,涵盖各种医学主题和病例分析。
- 文档整理:将下载的文章分割成较小的文本片段或摘要,以便于后续处理和检索。
文档管理
- 索引构建:使用信息检索技术如BM25对文档片段进行索引,便于快速准确地检索相关内容。
KnoBo实施细节
KnoBo模型的实施是整个过程的核心,具体包括:
概念生成
- 语言模型选择:采用GPT-4作为概念生成的底层语言模型。GPT-4因其强大的语言理解能力和生成能力,适合此任务。
- 概念检索与生成:使用从医学语料库检索到的相关文档作为输入,让GPT-4生成与医学图像相关的概念。这些概念后续将用于训练和预测。
概念固定
- 工具选择:使用Flan-T5-XXL模型来标注每个概念在具体临床报告中的存在与否,此步骤对应于从语言模型生成的文本中提取与图像对应的具体概念。
- 成本效率:选择Flan-T5-XXL也考虑到了成本效率,以实现高效的标注。
训练与评估
- 训练:在上述生成的概念和固定的基础上,训练KnoBo模型对医学图像进行分类。
- 评估:在训练集、验证集和测试集上评估模型的性能,特别是在混淆和非混淆数据集上的表现。