关于多模态的两篇论文笔记

目录

写在前面

这篇文章的存在是记录自所项目时看的论文。因为要同时handle沙盘影像和文本的输入,所以要研究一下多模态。抱歉用了LLM来总结这些论文,不过效率确实很高。

A Multimodal Generative AI Copilot for Human Pathology

这是一篇比较新的工作,A Multimodal Generative AI Copilot for Human Pathology;有一篇比较通俗的中文搬运见 机器之心

主要内容是哈佛大学和 MIT 的研究团队提出了一种用于人类病理学的视觉语言通才 AI 助手:PathChat。

训练和构建

为了构建一个可以对视觉和自然语言输入进行推理的 MLLM,从一款最先进的 (SOTA) 纯视觉编码器 (vision-only encoder) UNI 开始,使用自监督学习对来自 10 万多张切片的超过 1 亿个组织学图像块进行了预训练。使用 118 万个病理图像字幕 (image caption pairs) 对 UNI 编码器进行进一步的视觉语言预训练,以使其图像表示空间 (image representation space) 与病理文本 (pathology text) 的表示空间对齐。

随后,生成的视觉编码器通过多模态投影仪模块连接到具有 130 亿个参数的预训练 Llama 2 LLM,以形成完整的 MLLM 架构。MLLM 最终通过超过 45 万条指令(包括 999,202 个问答轮次)的精选数据集进行微调,以构建 PathChat,它可以理解病理图像和文本并响应复杂的病理相关查询。

训练方式:

(对应原论文 PathChat model design and training 后半部分)

  1. 两阶段训练:PathChat的训练包括两个阶段。第一阶段是预训练,冻结大型语言模型(LLM)的权重,只更新多模态投影模块的参数,以学习将图像标记投影到文本标记共享嵌入空间的合适方式。第二阶段是指令微调,在此阶段,LLM和投影模块端到端训练,以生成对包括自然语言和视觉输入的多样化指令的响应。
  2. 指令微调:使用专门针对病理学领域的指令数据集进行微调,包含多种格式(例如多轮对话、多项选择问题、简短回答)。
  3. 损失函数:使用最大似然函数来优化模型参数,即最大化参考答案中每个标记的预测概率。

训练用数据:

  1. 数据集规模:PathChat使用了一个由456,916条指令组成的数据集,总共包含999,202个问答转换。
  2. 数据多样性:数据集覆盖了多种不同的指令格式,包括开放式多轮对话、详细的图像描述、简短回答问题、多项选择问题以及仅文本问题。
  3. 数据来源:使用了多个数据源来生成指令数据集,包括图像字幕、PubMed Open Access上的教育文章、病理案例报告以及从WSI中提取的兴趣区域。
  4. 数据过滤:对每个数据源单独进行过滤,以确保数据质量和相关性,例如去除过于简短或过于通用的图像字幕。
  5. 数据去标识化:所有病理图像在计算分析和模型开发前都进行了去标识化处理。

多模态实现方式:

(对应原论文 PathChat model design and training)

  1. 组件构成:(Inspired by LLaVa) PathChat由三个关键组件构成:视觉编码器 (vision encoder)、多模态投影模块 (multimodal projector module) 和大型语言模型 (large language model)。
  2. 视觉编码器:负责将高维RGB像素空间中的图像编码为低维特征表示,以供下游模块处理。
  3. 多模态投影模块:将视觉编码器的输出连接到大型语言模型,通过将视觉标记投影到与LLM的文本标记相同的嵌入空间维度。
  4. 大型语言模型(LLM):采用Meta Llama 2的13亿参数变体,这是一个基于Transformer的自回归语言模型,具有40个Transformer层,支持最大上下文长度为4,096。
  5. 自回归预测:LLM接收自然语言指令作为输入,结合文本标记和图像标记,通过自回归下一个词预测来预测期望的响应。
  6. 交互式多轮对话:支持交互式、多轮对话,使PathChat能够处理更复杂的诊断工作流程。

A General-Purpose Self-Supervised Model for Computational Pathology

因为前一篇论文的编码器使用的是这里的UNI,所以来了解一下。

UNI是一个通用自监督模型,用于计算病理学(CPath)。UNI通过在超过100万个组织切片图像(WSIs)上预训练,涵盖了20种主要的组织类型,以学习组织病理生物标记物的客观特征。以下是对论文内容的总结:

模型介绍:

  • UNI:一个基于Vision Transformer(ViT-Large)的自监督视觉编码器,专门针对病理学设计。
  • 预训练数据集:使用超过100万个组织切片图像,这些图像来自超过10万个诊断性的H&E染色WSIs。

主要特点:

  • 自监督学习:采用DINOv2自监督学习方法,无需标记数据即可学习特征表示。
  • 多任务学习能力:在33个不同的CPath临床任务上进行评估,包括ROI级别的分类、分割、检索和幻灯片级别的分类任务。
  • 高分辨率特征提取:能够处理不同分辨率的图像,保持特征提取的质量。

研究结果:

  • 性能提升:在多个任务上,UNI超越了先前的最先进模型,例如CTransPath和REMEDIS。
  • 新建模能力:展示了如分辨率无关的组织分类、少样本类别原型的幻灯片分类,以及在OncoTree代码分类系统中对多达108种癌症类型的疾病亚型泛化。

技术细节:

  • 数据集:构建了Mass-100K,一个大规模和多样化的预训练数据集,用于自监督学习。
  • 模型架构:使用Vision Transformer作为基础架构,通过DINOv2方法进行预训练。
  • 评估:在多种机器学习设置中评估UNI的多样性,包括ROI级别的分类、分割和图像检索,以及幻灯片级别的弱监督和半监督学习。

讨论与限制:

  • 转移学习:讨论了在CPath中使用转移学习的重要性,尤其是在数据稀缺或难以获取的任务中。
  • 数据污染:指出了在公共数据集上训练的模型可能存在的数据污染问题,并强调了UNI在不同数据源上的泛化能力。
  • 模型限制:尽管UNI在多个任务上表现出色,但在密集预测任务(如细胞分割)上可能存在限制,需要进一步改进。

未来工作:

  • 多模态能力:UNI目前是单模态模型,未来的工作可能会探索图像和文本的多模态能力。
  • 更广泛的临床任务:考虑将UNI应用于更广泛的临床任务,如血液病理学。

作者和贡献:

  • 论文由Richard J. Chen、Tong Ding、Ming Y. Lu等人撰写,Faisal Mahmood为通讯作者。

致谢:

  • 研究得到了BWH & MGH Pathology、Massachusetts Life Sciences Center、NIGMS R35GM138216等的支持。

数据和代码可用性:

  • 论文承诺在发表后公开下游评估使用的预训练编码器代码。
  • 使用的公共数据集包括TCGA、CPTAC、GTEx等,而部分机构数据可能因隐私和知识产权问题无法公开。

这篇论文展示了UNI模型在计算病理学领域的广泛应用潜力,特别是在自监督学习和多任务学习方面。

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

这篇论文讲的是 Vision Transformer (ViT)。

这篇论文《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》由Google Research的团队发表在2021年的ICLR会议上,主要探讨了将Transformer架构直接应用于大规模图像识别任务的可行性和效果。以下是对论文的主要内容总结:

核心观点:

  • Transformer架构:在自然语言处理(NLP)领域取得巨大成功后,作者探讨了Transformer在计算机视觉(CV)领域的应用潜力。
  • 图像处理:传统的CV任务通常依赖于卷积神经网络(CNN),而Transformer在CV中的应用通常与CNN结合使用或替代CNN的某些部分。
  • Vision Transformer (ViT):作者提出将图像分割成固定大小的小块(patches),并将这些小块视为序列数据输入到Transformer中,与NLP中的词序列类似。

主要贡献:

  1. 模型设计:提出了一种新的模型——Vision Transformer,它直接将图像分割成小块,并通过Transformer进行处理,几乎不修改Transformer的标准结构。
  2. 大规模预训练:在大规模数据集(如ImageNet-21k和JFT-300M)上预训练ViT,然后在较小的数据集(如ImageNet和CIFAR-100)上进行微调,取得了优异的结果。
  3. 性能对比:与现有的最先进的CNN架构相比,ViT在多个图像识别基准测试中达到了或超越了最先进的性能,同时在训练时需要的计算资源更少。

实验结果:

  • 在ImageNet数据集上,ViT的最佳模型达到了88.55%的准确率,在CIFAR-100上达到了94.55%的准确率。
  • 在VTAB(包含19个任务的套件)上,ViT的准确率达到了77.63%。

方法和技术:

  • 模型架构:ViT模型遵循原始Transformer架构,将图像分割成小块,并添加位置嵌入以保留位置信息。
  • 预训练和微调:在大型数据集上进行预训练,然后在特定任务上进行微调。
  • 自监督学习:进行了初步的自监督学习实验,通过遮蔽图像块并预测这些块的像素值。

讨论和未来工作:

  • 模型泛化:ViT在大规模数据集上的表现优于小规模数据集,表明数据规模对于模型性能至关重要。
  • 自监督学习:尽管自监督学习在NLP领域取得了成功,但在CV领域仍需进一步探索。
  • 模型扩展:作者提出进一步扩展ViT模型,以应用于其他CV任务,如目标检测和分割。

结论:

作者成功地展示了Transformer架构在图像识别任务中的潜力,证明了其在大规模数据集上的有效性,并指出了未来研究的方向。

Visual Instruction Tuning

重要的多模态模型 LLaVA。详见 https://llava-vl.github.io/

这篇论文介绍了一种名为LLaVA(Large Language and Vision Assistant)的新型大型多模态模型,该模型通过指令微调(instruction tuning)的方式,提高了在新任务上的零样本(zero-shot)能力。下面是对论文的主要内容总结:

  1. 背景与动机:为了开发能够理解视觉和语言指令的通用助手,研究者们一直在探索如何结合视觉模型和大型语言模型(LLMs)。
  2. 指令微调:在自然语言处理(NLP)领域,指令微调已被证明可以提高模型遵循自然语言指令完成任务的能力。本研究将这一概念扩展到多模态领域,使用语言模型GPT-4生成语言-图像指令遵循数据。
  3. LLaVA模型:LLaVA是一个端到端训练的大型多模态模型,它连接了一个视觉编码器和语言模型,用于通用的视觉和语言理解。该模型在两个新构建的评估基准上展现出了卓越的多模态聊天能力和视觉推理能力。

模型结构

LLaVA的模型结构是一个大型多模态模型(Large Multimodal Model, LMM),它通过结合视觉编码器和语言模型来实现对视觉和语言信息的理解和处理。下面是LLaVA模型结构的主要组成部分:

  1. 视觉编码器(Vision Encoder)
    • LLaVA使用预训练的CLIP视觉编码器(具体是ViT-L/14版本),它能够将输入图像转换成视觉特征表示($Z_v$)。
  2. 投影层(Projection Layer)
    • 为了将视觉特征与语言模型的词嵌入空间相连接,使用了一个可训练的投影矩阵 $W$。这个投影层将视觉特征($Z_v$)转换成与语言模型嵌入维度相同的语言嵌入令牌($H_v$)。
  3. 语言模型(Language Model, LMM)
    • 选择了Vicuna作为语言模型,它是根据公开可用的检查点在语言任务上具有最佳指令跟随能力的语言模型。
  4. 网络架构
    • LLaVA的网络架构设计为将视觉编码器的输出和语言模型结合起来,形成一个端到端的模型,可以处理图像和语言的输入,并生成语言响应。
  5. 指令跟随序列(Instruction-Following Sequence)
    • 模型训练时,将多轮对话数据组织成一个序列,其中所有的答案被视为助手的响应,而每一轮的指令被视为当前预测令牌的输入。
  6. 训练目标
    • 在训练过程中,模型被训练为预测给定图像和指令序列的目标答案。这使用了语言模型原始的自回归训练目标。
  7. 两阶段训练过程
    • 第一阶段(预训练特征对齐):在这个阶段,模型使用简化的图像-文本对数据集进行训练,目的是将图像特征与预训练的语言模型的词嵌入对齐。在这个阶段,视觉编码器和语言模型的权重被冻结,只训练投影矩阵 $W$。
    • 第二阶段(端到端微调):在这个阶段,继续更新投影层和语言模型的预训练权重,进行端到端的微调。这包括多模态聊天机器人和Science QA数据集的微调。
  8. 模型集成
    • 在某些应用场景中,LLaVA的输出可以与GPT-4的输出集成,以提高性能,例如在Science QA数据集上,通过模型集成达到了新的最佳准确率。

LLaVA的模型结构设计允许它有效地利用预训练模型的能力,并在此基础上通过指令微调来提高对新任务的适应性,尤其是在多模态视觉和语言理解方面。