HuggingFace镜像/BiomedVLP-BioViL-T
模型介绍文件和版本分析
下载使用量0

BioViL-T

BioViL-T 是一种特定领域的视觉语言模型,旨在分析胸部 X 光片(CXR)和放射学报告。它采用时间多模态预训练流程进行训练,这使其有别于其前身模型(BioViL)。具体而言,BioViL-T 利用了数据点之间的时间结构,在使用与前身模型相同的训练数据集的情况下,在多个基准测试中实现了更优的下游性能。特别是,生成的模型在嵌入图像和文本模态中存在的时间信息方面(参见结果)以及在联合空间中均表现出显著改进。该标准模型可适应单图像和多图像下游应用,包括:自然语言推理、短语定位、图像/文本分类以及语言解码。

相应的 BERT 语言模型分两个阶段进行训练:首先,我们通过掩码语言模型(MLM)在 PubMed 摘要以及公开可用的 MIMIC-III 和 MIMIC-CXR 中的临床笔记上,从随机初始化的 BERT 模型预训练出 CXR-BERT-general。通过调整特定于目标领域的参数,该通用模型可针对其他临床领域的研究进行微调。在第二阶段,通过利用放射学报告和胸部 X 光片序列,采用多模态预训练流程,从 CXR-BERT-general 继续预训练 BioViL-T。我们利用 [CLS] 标记的潜在表示来对齐文本和图像嵌入。

语言模型变体

模型在 openmind 上的模型标识符词汇表说明
CXR-BERT-generalmicrosoft/BiomedVLP-CXR-BERT-generalPubMed & MIMIC针对生物医学文献和临床领域进行预训练
CXR-BERT-specializedmicrosoft/BiomedVLP-CXR-BERT-specializedPubMed & MIMIC针对 CXR 领域的静态预训练
BioViL-Tmicrosoft/BiomedVLP-BioViL-TPubMed & MIMIC针对 CXR 领域的静态和时间预训练

图像模型

图像模型与文本模型在多模态对比学习框架中联合训练。它是一种混合图像编码器,由视觉Transformer和ResNet-50组成,其中ResNet-50作为骨干网络,用于从每个时间点的图像中提取特征。设计中包含Transformer,用于聚合和比较跨时间维度提取的图像特征。这种联合图像和文本模型,即BioViL-T,可用于短语定位应用,如本Python笔记本示例所示。此外,请查看MS-CXR基准,以更系统地评估联合图像和文本模型在短语定位任务中的表现。

模型使用

预期用途

本模型仅用于(I)未来视觉语言处理研究和(II)复现参考论文中报告的实验结果。

主要预期用途

主要预期用途是支持AI研究人员在此工作基础上进行拓展。CXR-BERT及其相关模型应有助于探索各种临床NLP和VLP研究问题,尤其是在放射学领域。

超出范围的用途

任何模型的部署用例——无论是商业性的还是其他性质的——目前均超出范围。尽管我们使用了一系列广泛的公开研究基准对模型进行了评估,但这些模型和评估并非旨在用于部署场景。在特殊情况下,模型可能会做出不准确的预测并显示出局限性,这可能需要额外的缓解策略。因此,我们不鼓励将该模型用于自动诊断或医疗设备中。更多详情请参考相关论文。

使用方法

以下是如何使用此模型提取放射学句子嵌入并在联合空间(图像和文本)中获得其余弦相似度的方法:

import argparse
import torch
from openmind import AutoModel, AutoTokenizer

device = "npu:0"
# Load the model and tokenizer
def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--model_name_or_path",type=str,help="Path to model",default=None,)
    args = parser.parse_args()
    return args

args = parse_args()
model_path = args.model_name_or_path
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModel.from_pretrained(model_path, trust_remote_code=True).to(device)

# Input text prompts (e.g., reference, synonym, contradiction)
text_prompts = ["There is no pneumothorax or pleural effusion",
                "No pleural effusion or pneumothorax is seen",
                "The extent of the pleural effusion is constant."]

# Tokenize and compute the sentence embeddings
tokenizer_output = tokenizer.batch_encode_plus(batch_text_or_text_pairs=text_prompts,
                                               add_special_tokens=True,
                                               padding='longest',
                                               return_tensors='pt').to(device)
embeddings = model.get_projected_text_embeddings(input_ids=tokenizer_output.input_ids,
                                                 attention_mask=tokenizer_output.attention_mask).to(device)

# Compute the cosine similarity of sentence embeddings obtained from input text prompts.
sim = torch.mm(embeddings, embeddings.t())
print(sim)

性能表现

本研究提出的模型通过在训练阶段更高效地利用语义和语篇特征,在放射学自然语言推理任务上取得了最先进的结果。 实验在RadNLI和MS-CXR-T基准数据集上进行,这两个数据集分别从静态语义和时间语义角度衡量文本嵌入的质量。 我们将BioViL-T与其他常用的领域内最先进BERT模型(包括PubMedBERT和CXR-BERT)进行了基准测试。 以下结果表明,BioViL-T不仅能更好地捕捉静态内容(RadNLI),还提高了句子嵌入对时间内容(MS-CXR-T)的敏感性。

MS-CXR-TMS-CXR-TRadNLI(2类)RadNLI(2类)
准确率ROC曲线下面积准确率ROC曲线下面积
PubMedBERT60.39.54281.38.727
CXR-BERT-General62.60.60187.59.902
CXR-BERT-Specialized78.12.83789.66.932
BioViL-T87.77.93390.52.947

这种新颖的预训练框架还能产生更优的视觉-语言表征。以下是在MS-CXR基准数据集上获得的零样本短语定位性能,该数据集用于评估图像-文本潜在表征的质量。

视觉-语言预训练方法MS-CXR短语定位(平均CNR分数)MS-CXR短语定位(mIoU)
BioViL1.07 ± 0.040.229 ± 0.005
BioViL-L1.21 ± 0.050.202 ± 0.010
BioViL-T1.33 ± 0.040.240 ± 0.005

更多实验结果和讨论可参见相关论文:“Learning to Exploit Temporal Structure for Biomedical Vision–Language Processing”,CVPR'23。

局限性

本模型基于英文语料库开发,因此仅适用于英文场景。

训练数据集仅包含从重症监护病房(ICU)获取的医学图像和报告,其中纵向图像通常在数小时内或最多几天内采集。因此,当分析较长时间(例如数年)内采集的连续图像时,由于扫描之间存在显著的解剖结构变化,模型的性能可能会下降。

更多信息

有关模型训练和评估的其他详细信息,请参阅相关论文:"Learning to Exploit Temporal Structure for Biomedical Vision–Language Processing", CVPR'23。