CLAM用于弱监督WSI分析

news2024/12/23 14:20:16

计算病理学(computational pathology)下的深度学习方法需要手动注释大型 WSI 数据集,并且通常存在领域适应性和可解释性较差的问题。作者报告了一种可解释的弱监督深度学习方法,只需要WSI级标签。将该方法命名为聚类约束注意力多实例学习 (CLAM,clustering-constrained-attention multiple-instance learning),它使用注意力来识别具有高诊断价值的子区域,以准确对整个WSI进行分类,并在已识别的代表性区域上进行实例级聚类以约束和细化特征空间。通过将 CLAM 应用于肾细胞癌和非小细胞肺癌的亚型分类以及淋巴结转移的检测,表明它可用于定位 WSI 上的形态特征,其性能优于标准弱监督分类算法。

来自:Data-efficient and weakly supervised computational pathology on whole-slide images, Nature Biomedical Engineering, 2021
工程地址:https://github.com/mahmoodlab/CLAM

目录

  • CLAM概述
  • 方法
    • Instance-level clustering
    • Smooth SVM loss
    • 训练细节

CLAM概述

fig1a

  • 图1a:分割后,我们可以从WSI中提取patches。

fig1b

  • 图1b:patches被预训练的CNN编码成特征表示,在训练和推理过程中,每个WSI中提取的patch作为特征向量传递给CLAM。使用注意力网络将patch信息聚合为WSI级表示,用于最终的诊断预测。

fig1cd

  • 图1c:对于每个类,注意力网络对WSI中的每个patch进行排名,根据其对WSI诊断的重要性分配注意力分数(左)。注意力pooling根据每个patch的注意力得分对其进行加权,并将patch级别的特征总结为WSI级别的表示(右下)。在训练过程中,给定GT标签,强参与(红色)和弱参与(蓝色)patch可以额外用作代表性样本以监督聚类层,聚类层学习丰富的patch级特征空间,可在不同类别的正实例和负实例之间分离(右上)。
  • 图1d:注意力得分可以可视化为热图,以识别ROI(解释用于诊断的重要形态学)。

方法

CLAM是一个高通量的深度学习工具箱,旨在解决计算病理学中的弱监督分类任务,其中训练集中的每个WSI是具有已知WSI级别的单个数据点,但对于WSI中的任何像素或patch都没有类别特定的信息或注释。CLAM建立在MIL框架之上,该框架将每个WSI(称为bag)视为由许多(多达数十万)较小的区域或patch(称为instance)组成的集合。MIL框架通常将其范围限制在一个正类和一个负类的二元分类问题上,并基于这样的假设:如果至少有一个patch属于正类,那么整个WSI应该被分类为正类(阳性),而如果所有patch都属于负类,则WSI应该被分类为负类(阴性)。这一假设体现在max-pooling聚合函数上,它简单地使用正类预测概率最高的patch进行WSI级预测,这也使得MIL不适合多类分类问题。

除了Max-pooling之外,虽然可以使用其他聚合函数,但它们依然不能提供简单、直观的模型可解释性机制。相比之下,CLAM通常适用于多类别分类,它是围绕可训练和可解释的基于注意力的pooling函数构建的,从patch级表示中聚合每个类别的WSI级表示。在多分类注意力pooling设计中,注意力网络预测了一个多类分类问题中对应于 N N N个类别的 N N N个不同的注意力分数集。这使得网络能够明确地了解哪些形态学特征应该被视为每个类的积极证据(类相关的特征)和消极证据(非信息性的,缺乏类定义的特征),并总结WSI级表示。

具体来说,对于表示为 K K K个实例(patch)的WSI,我们将对应于第 k k k个patch的实例级嵌入表示为 z k z_{k} zk。在CLAM中,第一个全连接层 W 1 ∈ R 512 × 1024 W_{1}\in\R^{512\times 1024} W1R512×1024进一步将每个固定的patch级表示 z k ∈ R 1024 z_{k}\in\R^{1024} zkR1024压缩为 h k ∈ R 512 h_{k}\in\R^{512} hkR512。注意力网络由几个堆叠的全连接层组成;如果将注意力网络的前两层 U a ∈ R 256 × 512 U_{a}\in\R^{256\times 512} UaR256×512+ V a ∈ R 256 × 512 V_{a}\in\R^{256\times 512} VaR256×512 W 1 W_{1} W1共同视为所有类共享的注意力主干的一部分,注意力网络将分为 N N N个平行分支: W a , 1 , . . . , W a , N ∈ R 1 × 256 W_{a,1},...,W_{a,N}\in\R^{1\times 256} Wa,1,...,Wa,NR1×256。同样, N N N个并行独立分类器 W c , 1 , . . . , W c , N W_{c,1},...,W_{c,N} Wc,1,...,Wc,N对每个特定类的WSI表示进行评分。

因此,第 i i i类的第 k k k个patch的注意力分数记为 a i , k a_{i,k} ai,k,并且根据第 i i i类注意力分数聚合WSI表示记为 h s l i d e , i ∈ R 512 h_{slide,i}\in\R^{512} hslide,iR512
eq12
分类层 W c , i W_{c,i} Wc,i给出相应的非归一化WSI级分数 s s l i d e , i s_{slide,i} sslide,i s s l i d e , i = W c , i h s l i d e , i s_{slide,i}=W_{c,i}h_{slide,i} sslide,i=Wc,ihslide,i。我们在模型的注意力主干的每一层后使用dropout( P = 0.25 P=0.25 P=0.25)进行正则化。

对于推理,通过对WSI级预测分数应用softmax函数来计算每个类的预测概率分布。

Instance-level clustering

为了进一步鼓励学习特定于类的特征,我们在训练期间加入一个额外的二值聚类目标。对于 N N N个类中的每一个,在第一个层 W 1 W_{1} W1之后加一个全连接层。将第 i i i个类对应的聚类层权重记为 W i n s t , i ∈ R 2 × 512 W_{inst,i}\in\R^{2\times 512} Winst,iR2×512,则第 k k k个patch预测的聚类分数为 p i , k p_{i,k} pi,k p i , k = W i n s t , i h k p_{i,k}=W_{inst,i}h_{k} pi,k=Winst,ihk

鉴于我们无法访问patch级标签,我们使用注意力网络的输出在每次训练迭代中为每张WSI生成伪标签,以监督聚类。聚类中只优化最强参与和最弱参与的区域。为了避免混淆,对于给定的WSI,对于GT标签 Y ∈ { 1 , . . . , N } Y\in\left\{1,...,N\right\} Y{1,...,N},我们将GT类别对应的注意力分支 W a , Y W_{a,Y} Wa,Y称为"in-the-class",其余的 N − 1 N-1 N1个注意力分支称为"out-the-class"。如果将in-the-class的注意力分数的排序列表(升序)表示为 a ~ Y , 1 , . . . , a ~ Y , K \widetilde{a}_{Y,1},...,\widetilde{a}_{Y,K} a Y,1,...,a Y,K,我们将注意力得分最低的 B B B个patch分配给负类标签 ( y Y , b = 0 ) (y_{Y,b}=0) (yY,b=0),其中, 1 ≤ b ≤ B 1\leq b\leq B 1bB。注意力得分最高的 B B B个patch分配给正类标签 ( y Y , b = 1 ) (y_{Y,b}=1) (yY,b=1),其中, B + 1 ≤ b ≤ 2 B B+1\leq b\leq 2B B+1b2B。直观地说,由于在训练过程中每个注意力分支都受到WSI级别标签的监督,因此高注意力分数的 B B B个patch被期望成为 Y Y Y类别的强参与阳性证据,而低注意分数的 B B B个patch被期望成为 Y Y Y类别的强参与阴性证据。聚类任务可以直观地解释为约束patch级特征空间 h k h_k hk,使每个类别的强参与特征证据与其阴性证据线性可分。

对于癌症亚型问题,所有类别通常被认为是互斥的(也就是说,它们不能出现在同一张WSI中),因为将in-the-class注意力分支中最受关注和最不受关注的片段分别聚类为正证据和负证据,因此对N−1个out-the-class注意力分支施加额外的监督是有意义的。也就是说,给定GT的WSI标签 Y Y Y,任取类别 i i i不属于 Y Y Y,如果我们假设WSI上的patch都不属于 i i i类,那么注意力得分最高的 B B B个patch就不能成为 i i i类的正证据(由于互斥性)。

因此,除了对从in-the-class注意力分支中选择的 2 B 2B 2B个patch进行聚类外,还将所有out-the-class注意力分支中最受关注的前 B B B个patch分配为负聚类标签,因为它们被认为是假阳性证据。另一方面,如果互斥性假设不成立(例如,癌症与非癌症问题,其中一张WSI可以包含来自肿瘤组织和正常组织的patch),那么就不会监督来自out-the-class分支的高注意力的patch的聚类,因为我们不知道它们是否为假阳性。

实例级聚类算法如下:
ag1

Smooth SVM loss

对于实例级聚类任务,我们使用平滑的top-1 SVM loss,它是基于多分类SVM loss的,神经网络模型输出一个预测分数向量 s s s,其中 s s s中的每个条目对应于模型对单个类的预测。给定所有GT标签 y ∈ { 1 , . . . , N } y\in\left\{1,...,N\right\} y{1,...,N},多类别SVM loss对分类器进行线性惩罚,仅当该差值大于指定的裕度 α α α时,对GT类的预测分数与其余类的最高预测分数之间的差值进行惩罚。Smooth变体(公式5)在多分类SVM损失中加入了温度标度 τ τ τ,它已被证明具有非稀疏梯度的无限可微性,并且在有效实现算法时适用于深度神经网络的优化。平滑支持向量机损失可以看作是广泛使用的交叉熵分类损失的一种推广,适用于不同的边界有限值选择和不同的温度尺度

经验表明,当数据标签有噪声或数据有限时,向损失函数引入margin可以减少过拟合。在训练过程中,创建的用于监督实例级聚类任务的伪标签必然是有噪声的。也就是说,强参与的patch可能不一定对应于GT类,同样,弱参与的patch也不能保证是该类的负证据。因此,代替广泛使用的交叉熵损失,将二进制top-1平滑SVM损失应用于网络聚类层的输出。在所有的实验中, α α α τ τ τ都被设置为1.0。
eq45

训练细节

在训练过程中,WSI被随机采样。每张WSI的多项采样概率与GT类的频率成反比(来自代表性不足的类的WSI相对于其他类更有可能被采样),以减轻训练集中的类不平衡。注意力模块的权重参数随机初始化,并使用WSI标签和模型其余部分端到端训练,总的损失是WSI级损失 L s l i d e L_{slide} Lslide和instance-level损失 L p a t c h L_{patch} Lpatch之和。

为了计算 L s l i d e L_{slide} Lslide,使用标准交叉熵损失将 s s l i d e s_{slide} sslide与真实的WSI级标签进行比较,为了计算 L p a t c h L_{patch} Lpatch,使用二元Smooth SVM损失将每个采样patch的实例级聚类预测分数 p k p_k pk与相应的伪聚类标签进行比较(回想一下,对于非亚型问题,从in-the-class分支中总共采样了 2 B 2B 2B个patch。而对于亚型问题,从in-the-class分支中采样 2 B 2B 2B个patch,从 N − 1 N−1 N1个out-the-class注意力分支各采样 B B B个patch)。

数据集摘要见补充表8:
sptab8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1893757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

商务视频推广8个增加用户转化率的技巧-华媒舍

商务视频推广是一种有效的营销策略,可以帮助企业吸引更多的潜在客户并增加用户转化率。我们将介绍8个提高商务视频推广效果的技巧,帮助您更好地利用视频来促进业务增长。 技巧一:制作高质量的内容 成功的商务视频推广首先要有高质量的内容。…

达梦数据库 页大小与数据库字段长度的关系

对于达梦数据库实例而言,页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改;如果过程中发现这些数据设置的不对,只能是重新新建数据库实例,而不…

Linux服务器上安装CUDA11.2和对应的cuDNN 8.4.0

一、检查 检查本机是否有CUDA工具包,输入nvcc -V: 如图所示,服务器上有CUDA,但版本为9.1.85,版本过低,因此博主要重装一个新的。 二、安装CUDA 1.查看服务器最高支持的CUDA版本 在命令行输入nvidia-smi查看显卡驱动…

航空数据管控系统-①项目准备阶段:任务2:项目技术预研(技术架构)

任务描述 掌握项目的总体功能,及实现流程。预习项目中所使用到的技术和知识点。 任务指导 一、项目效果展示 图1-数据统计大屏页面 图2-航空实时监控页面 二、项目架构 1、总体架构: 2、技术架构 技术清单: 功能 组件 说明 消息中间件…

MySQL 三大日志 ( binlog、redo log 和 undo log ) 的作用?

MySQL是一个功能强大的关系型数据库管理系统,它的高可靠性、高性能和易用性使得它成为众多企业和开发者的首选。在MySQL内部,为了保证数据的完整性、恢复能力和并发性能,设计了一套复杂的日志系统。其中,redo log、bin log和undo …

数据开发人员如何真正理解业务、并构建业务模型?

问题背景 最近有同学在问,新到一家公司,如何去深入理解业务?并高于业务视角呢? 针对这个问题 ,我们将问题进行拆分以下几点进行回答,首先懂业务的标准是什么? 根据笔者的经验将懂业务标准进行如…

百度出品_文心快码Comate提升程序猿效率

1.文心快码 文心快码包含指令、插件 和 知识三种功能, 1)指令包含Base64编码、Base64解码、JSON转TS类型、JSON转YAML、JWT解码喂JSON。 2)插件包含 3)指令包含如下功能: 官网链接

2024最全前端面试系列(计算机网络)(非科班出身最薄弱的环节)

2020最全前端面试系列(CSS) 2020最全前端面试系列(VUE) 2020最全前端面试系列(浏览器原理) 2020最全前端面试系列(数据结构) 常见状态码 | | 类别 | 原因短语 | | — | — | —…

Laravel 谨慎使用Storage::append()

在 driver 为 local 时,Storage::append()在高并发下,会存在丢失数据问题,文件被覆写,而非尾部添加,如果明确是本地文件操作,像日志写入,建议使用 Illuminate\Filesystem\Filesystem或者php原生…

window下git bash设置启动后默认路径进入自己的工程

方法一:更改快捷方式 方法二:修改~/.bashrc

香港即将“放松”加密货币监管!加密牌照制度备受批评!全球主力军无法进入香港市场?动摇了香港Web3的信心!

2024年7月3日,香港金融服务及库务局局长许正宇在立法会会议上表示,香港金融管理局(HKMA)和证券及期货事务监察委员会(SFC)将根据市场发展情况,适时检讨虚拟资产相关活动的监管要求。 这一表态引发了人们对香港加密货币监管框架可能进行调整的…

Android Studio 大作业--学生信息管理系统

欢迎光临: 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼 ---------------🍎------------🍉-------------- 🐼学编程的bird的博客,邀您一起学习🦌 ----------------&am…

面试篇-Redis-3+分布式锁+集群部署

文章目录 前言一、你们项目中使用Redis 作为分布式锁吗1.1 将余券存入到Redis 中,当有人抢券进行-1操作并存回:1.2 分布式锁的使用1.3 Redis 分布式锁是怎么实现的:1.4 Redisson 分布式锁是可重入的吗:1.5 Redis 出现脑裂时如何保…

Java项目:基于SSM框架实现的班主任助理管理系统【ssm+B/S架构+源码+数据库+开题报告+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的班主任助理管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功…

防水头灯在户外探险的应用_鼎跃安全

随着我国民众生活品质的显著提升,人们对户外探险的热爱与参与度也日益高涨。在这一充满挑战与未知的旅途中,拥有一件可靠的照明设备成为了确保安全与探索乐趣的关键。面对户外多变的自然环境,包括突如其来的降雨、潮湿的森林小径等恶劣条件&a…

c++ primer plus 第15章友,异常和其他:友元类

c primer plus 第15章友,异常和其他:友元类 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:友元类 提示:写完文章后,目录可以自动生成,如何生成可参考右边的…

阳光倒灌试验太阳辐射系统日光模拟器

太阳光模拟器概述 太阳光模拟器是一种能在实验室环境下模拟太阳光照射特性的设备,广泛应用于材料科学、能源研究、环境科学等领域。通过模拟太阳光的光谱分布和辐射强度,太阳光模拟器可以为科研和工业提供稳定且可重复的光照条件,进而对材料…

如何隐藏和保护Excel表格中的敏感数据?

日常办公过程中,我们难免会遇到一些涉及个人隐私或商业机密等数据,那么该如何保护这些数据?现在,我将告诉你如何保护这些数据。 一、障眼法 我们选中要保护的数据,然后点击鼠标右键,选择设置单元格格式。选…

【WEB前端】---HTML---结构---笔记

目录 1.标签---单标签和双标签 1.1单标签 1.2双标签 2.基本结构标签 2.1HTML标签 2.2文档头部标签 2.3文档标题标签 2.4文档的主题标签 3.常用的标题标签 (n∈[1,6]) 4.段落标签 5.换行标签 6.文本格式化标签 6.1粗体 6.2倾斜 6.3删除线 6.4下划线 7.div和spa…

9.x86游戏实战-汇编指令mov

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…