CLAM用于弱监督WSI分析

计算病理学(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.mzph.cn/diannao/40633.shtml

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

相关文章

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十一)

课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 31 节) P31《30.数据持久化-关系型数据库》 上一节中学习了使用用户首选项的方式实现数据持久化,但用户首…

微机原理 选择题

D C MOV、PUSH、POP、XLAT(查表)、IN、OUT不影响标志位 D B D C D C D B 1. (单选题, 5分)8位无符号数(字节)表示的数值范围是( ), 16位无符号数(字)表示的数值范围是( )。 A. 0~128 0~32768B. 0~255 0~655…

Vscode快捷键崩溃

Vscode快捷键崩溃 Linux虚拟机下使用vscode写代码【ctrlA,CtrlC,CtrlV】等快捷键都不能使用,还会出现“NO text insert“等抽象的指令,问题就是不知道什么时候装了一个VIM插件,让他滚出电脑》》》

使用 pyecharts 渲染成图片程序报错: echarts is not defined问题处理

背景 之前写的使用 snapshot_selenium 来保存pyeacharts渲染成的网页截图,可以正常运行。程序搁置了半年,不知道动了电脑哪里,再次运行程序时,程序开始报错:JavascriptException: javascript error: echarts is not d…

【SQL】已解决:SQL分组去重并合并相同数据

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:SQL分组去重并合并相同数据 在数据库操作中,数据的分组、去重以及合并是常见需求。然而,初学者在编写SQL语句时,可能会遇到一…

正弦波与单位圆关系的可视化 包括源码

正弦波与单位圆关系的可视化 包括源码 flyfish 正弦波与单位圆的关系 正弦波可以通过单位圆上的点在直线(通常是 y 轴)上的投影来表示。具体来说,考虑一个单位圆,其半径为 1,圆心在原点。我们可以通过旋转一个角度 …

【全网最全流程+所有代码】企业微信回调联调,开通企微回调和收到企微回调

流程图: 只是这里的消息回调,仅作为提示,群内有消息了。不是具体的消息,而是类似这样的结构,: 如果需要获取消息,还需要拉取企微群内消息方法,这个后续再更新。 好了,我们开始吧。 开启消息回调和接收消息回调,地址是一样的,只是 开启消息回调,get请求, 接受消…

人工智能在日常生活中的十大应用:从医疗到智能家居

人工智能已成为当今人类日常生活的重要组成部分,无论您是否意识到,它几乎在所有场景中都能提供帮助。每次您进行网络搜索、在线预订旅行、接收来自京东等购物平台的产品推荐又或是打开您的新浪、抖音时,都能看到影子,这些只是一些…

JAVA案例模拟电影信息系统

一案例要求: 二具体代码(需要在同一个包下创建三个类) Ⅰ:实现类 package 重修;import java.util.Random; import java.util.Scanner;public class first {public static void main(String[] args) {javabean[]moviesnew javabean[4];movies[0] new ja…

加密与安全_ Jasypt (Java Simplified Encryption)不完全指北

文章目录 官网功能概述Code附 官网 http://www.jasypt.org/ 功能概述 Jasypt 是一个 Java 库,它允许开发人员以最小的努力添加基本的加密功能,并且不需要深入了解密码学的工作原理。 高安全性、基于标准的加密技术,适用于单向和双向加密。…

AIGC对设计师积极性的影响

随着科技的迅猛发展,生成式人工智能(AIGC)工具正逐渐深入设计的每个角落,对设计师的工作方式和思维模式产生了深远的影响。AIGC不仅极大提升了设计师的工作效率,更激发了他们的创新思维,为设计行业带来了翻…

Dungeonborne联机失败、延迟高、卡顿的解决方法

Dungeonborne将第一人称动作的即时性与经典的西幻RPG职业设计巧妙融合,为玩家带来了一场前所未有的游戏体验。在这款沉浸式第一人称PvPvE地下城探险游戏中,我们可以独自深入探索,也可以与值得信赖的伙伴并肩作战,共同揭开地下城的…

移动端UI风格营造舒适氛围

移动端UI风格营造舒适氛围

中服云数字孪生平台引领工业物联仿真新纪元!

中服云数字孪生平台3.0是基于中服云物联网平台和数据中台打造的一款实时数据2D/3D集成展示监控平台。 旨在解决工业物联网数据的直观展示、实虚互动、仿真模拟、故障诊断、告警、预警、预测、实时观测、实时监控等问题。提供了数据采集、数据底座、监控逻辑、建模工具、展示互…

数据结构 —— 图的遍历

数据结构 —— 图的遍历 BFS(广度遍历)一道美团题DFS(深度遍历) 我们今天来看图的遍历,其实都是之前在二叉树中提过的方法,深度和广度遍历。 在这之前,我们先用一个邻接矩阵来表示一个图&#…

220千伏变电站辅助设备智能监控平台 无人化与自动化升级改造工程

220千伏变电站特点 高电压等级:220千伏变电站的最大特点是其高压传输能力,能够将发电厂产生的电能高效地传输到较远的地区,满足大型城市及工业区域的用电需求。 输电能力大:220千伏变电站在输电能力上远大于普通的110千伏或更低…

Mybatis框架的集成使用

1_框架概述 框架是一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架时直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度,框架是一种经过校验、具有一定功能的半成品软件. 经过校验:指…

【超万卡GPU集群关键技术深度分析 2024】

文末有福利! 1. 集群高能效计算技术 随着大模型从千亿参数的自然语言模型向万亿参数的多模态模型升级演进,超万卡集群吸需全面提升底层计算能力。 具体而言,包括增强单芯片能力、提升超节点计算能力、基于 DPU (Data Processing Unit) 实现…

Mx Admin 基于react18的后台管理系统

前言 Mx Admin 基于React18 vite5 antd5的后台管理系统, 基于RBAC的权限控制系统,动态菜单和动态路由支持tab路由缓存嵌套菜单支持多种菜单布局模式亮暗色主题切换

Enzo Life Sciences热点分享:细胞治疗中的T细胞活化

细胞治疗(Cell Therapy)作为一种新近发展起来的癌症治疗方法,是一种利用患者自体(或异体)的成体细胞(或干细胞)对组织、器官进行修复的治疗方法。通常是由免疫细胞和相关的细胞产生调节细胞功能…