TransMIL:基于Transformer的多实例学习

MIL是弱监督分类问题的有力工具。然而,目前的MIL方法通常基于iid假设,忽略了不同实例之间的相关性。为了解决这个问题,作者提出了一个新的框架,称为相关性MIL,并提供了收敛性的证明。基于此框架,还设计了一个基于Transformer的MIL (TransMIL)。TransMIL可以有效地处理不平衡/平衡和二元/多分类,具有良好的可视化和可解释性。在CAMELYON16数据集上,二元肿瘤分类的测试AUC高达93.09%。在TCGANSCLC和TCGA-RCC数据集上,癌症亚型分类的AUC分别高达96.03%和98.82%。

来自:TransMIL: Transformer based Correlated Multiple Instance Learning for Whole Slide Image Classification

目录

  • 背景概述
  • 方法
    • 如何应用Transformer到相关性MIL

背景概述

WSI将活检切片上的组织转换成完全保留原始组织结构的十亿像素图像。然而,WSI中基于深度学习的活检诊断由于像素空间庞大导致缺乏像素级标注。为了解决这个问题,通常采用MIL将诊断分析作为一个弱监督学习问题。

在基于深度学习的MIL中,一个简单的想法是对CNN提取的instance特征嵌入进行pooling操作。Ilse等人提出了一种基于注意力的聚合算子,通过可训练的注意力为每个实例提供额外的贡献信息。此外,Li将非局部注意力引入了MIL问题。通过计算得分最高的实例与其他实例之间的相似度,赋予每个实例不同的注意力权重,从而得到可解释的注意力图。

然而,所有这些方法都基于这样的假设:每个bag中的所有实例都是独立且同分布的。虽然在许多任务中取得了一些改进,但在许多情况下,这种假设并不完全有效。实际上,在做出诊断决定时,病理学家通常会同时考虑单个区域周围的环境信息和不同区域之间的相关信息。因此,在MIL诊断中考虑不同instance之间的相关性是可取的。

目前,Transformer由于具有较强的描述序列中不同token之间的相关性以及对远距离信息建模的能力,被广泛应用于视觉任务中。如图1所示,Transformer采用自注意力机制,可以关注序列内每个token之间的两两相关性。然而,传统的Transformer受到其计算复杂性的限制,只能处理较短的序列(例如,小于1000或512)。因此,它不适合WSI等大尺寸图像。
fig1

  • 图1:决策过程图示。MIL注意力机制:遵循iid假设。自注意机制:属于相关性MIL。

方法

以二元MIL为例,我们想要预测target value Y i ∈ { 0 , 1 } Y_{i}\in\left\{0,1\right\} Yi{0,1},给定一个bag X i X_{i} Xi(instance为 { x i , 1 , x i , 2 , . . . , x i , n } \left\{x_{i,1},x_{i,2},...,x_{i,n}\right\} {xi,1,xi,2,...,xi,n}),其中 i = 1 , . . , b i=1,..,b i=1,..,b,实例级标签是未知的: { y i , 1 , y i , 2 , . . . , y i , n } \left\{y_{i,1},y_{i,2},...,y_{i,n}\right\} {yi,1,yi,2,...,yi,n},bag标签是已知的,并且与实例标签有联系:
eq1
b b b是袋的总数, n n n是第 i i i个袋里的实例数, n n n的个数可以根据不同的袋而变化。

关于相关性MIL的优势,文中给出了证明,但是在此略过。主要意思是:

  • 考虑实例相关性可以具有更小的信息熵,从而减少不确定性,为MIL带来更多有效信息。TransMIL与过去方法的主要区别如图2

fig2

  • 图2:不同pooling矩阵 P P P的差异。假设从a中的WSI采样5个instance, P ∈ R 5 × 5 P\in\R^{5\times 5} PR5×5是对应的pooling矩阵,其中对角线内的值表示instance自身的注意力权重,其余值表示不同instance之间的相关性。b,c,d 都忽略了相关信息,因此 P P P是对角矩阵。在b中,第一个实例是由Max-pooling算子选择的,所以在对角线位置只有一个非零值。在c中,由于Mean-pooling运算符,对角线内的所有值都是相同的。在d中,由于引入的是bypass注意力,对角线内的值可能会发生变化。但其余位置为0(独立同分布假设)。e服从相关性假设,因此在非对角线位置存在非零值,表示不同实例之间存在相关性。

对于MIL的pooling,这里有一个通用的三步法:
ag1

  • 形态信息:morphological,空间信息:spatial

如何应用Transformer到相关性MIL

Transformer使用自注意力机制对序列中所有令牌之间的交互进行建模,位置信息的添加进一步增加了顺序信息。因此,将Transformer引入相关性MIL问题是合理的,其中函数 h h h对实例之间的空间信息进行编码,pooling矩阵 P P P使用自注意力进行信息聚合。为了说明这一点,进一步给出一个正式的定义。

给定一个bag集合 { X 1 , . . . , X b } \left\{X_{1},...,X_{b}\right\} {X1,...,Xb},每个bag对应一个标签 Y i Y_{i} Yi。目标是学习映射: X → T → Y \mathbb{X} \rightarrow \mathbb{T}\rightarrow \mathbb{Y} XTY,即从bag空间,到Transformer空间,再到标签空间。

为了更好地描述 X → T \mathbb{X} \rightarrow \mathbb{T} XT的映射,作者设计了一个包含两个Transformer层和一个位置编码层的TPT模块,其中Transformer层用于聚合形态信息,PPEG (Pyramid position encoding Generator)用于编码空间信息。所提出的基于MIL (TransMIL)的Transformer的概述如图3所示。

fig3

  • 图3:每个WSI被裁剪成patch(背景被丢弃),并被ResNet50嵌入到特征向量中。然后用TPT模块对序列进行处理:1)序列的平方;2)序列相关性建模;3)条件位置编码与局部信息融合;4)深度特征聚合;5) T → Y \mathbb{T}\rightarrow \mathbb{Y} TY的映射。

序列来自每个WSI中的特征嵌入。TPT模块的处理步骤如算法2所示,其中MSA表示多头自注意力,MLP表示多层感知机,LN表示 Layer Norm。
ag2

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

昇思MindSpore学习总结六——函数式自动微分

神经网络的训练主要使用反向传播算法,模型预测值(logits)与正确标签(label)送入损失函数(loss function)获得loss,然后进行反向传播计算,求得梯度(gradients&…

怎么使用MarkDown画矩阵

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 今天写文章需要用到矩阵,记录一下 画矩阵需要用到特殊的语法 (1)画普通矩阵,不带括号的 $$be…

SHA1算法

什么是SHA1算法(Secure Hash Algorithm) SHA1算法也是一种哈希算法,也称单向散列算法,不可逆,适用于数字签名标准。与MD5大同小异。 算法流程 (1)明文处理,对明文进行填充&#x…

一文揭秘:CRM如何助力家居建材企业可持续发展?

01、家居建材行业业务高速发展,对数字化转型提出越来越高诉求 家居建材行业是国民经济的重要基础产业,是改善人居条件、治理生态环境和发展循环经济的重要支撑。家居建材是土木工程和建筑工程中使用材料的统称,包括天花板、瓷砖、门、窗、锁…

【Rust基础入门】Hello Cargo

文章目录 前言Cargo是什么?Cargo的作用查看cargo版本使用cargo创建项目Cargo.toml文件cargo build命令cargo runcargo check为发布构建 总结 前言 在Rust编程中,Cargo扮演着至关重要的角色。它是Rust的包管理器,负责处理许多任务&#xff0c…

echarts用pictorialBar实现3D柱状图

先看下效果 实现思路 描绘一个普通的柱状图通过象形柱图&#xff08;pictorialBar&#xff09;在柱状图的顶部添加一个图形类型&#xff08;symbol&#xff09;菱形 代码实现 <template><div id"symbolBar"></div> </template> <scrip…

[数据集][目标检测]金属架螺栓螺丝有无检测数据集VOC+YOLO格式857张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;857 标注数量(xml文件个数)&#xff1a;857 标注数量(txt文件个数)&#xff1a;857 标注类别…

代码随想录Day67(图论 part04)

110.字符串接龙 题目&#xff1a;110. 字符串接龙 (kamacoder.com) 思路&#xff1a;没有思路 答案 import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();String beginStr sc…

简单分享 for循环,从基础到高级

1. 基础篇&#xff1a;Hello, For Loop! 想象一下&#xff0c;你想给班上的每位同学发送“Hello!”&#xff0c;怎么办&#xff1f;那就是for循环啦&#xff0c; eg&#xff1a;首先有个名字的列表&#xff0c;for循环取出&#xff0c;分别打印 names ["Alice", …

Firefox 编译指南2024 Windows10篇- 编译Firefox(三)

1.引言 在成功获取了Firefox源码之后&#xff0c;下一步就是将这些源码编译成一个可执行的浏览器。编译是开发流程中的关键环节&#xff0c;通过编译&#xff0c;我们可以将源代码转换为可执行的程序&#xff0c;测试其功能&#xff0c;并进行必要的优化和调试。 对于像Firef…

Datawhale - 角色要素提取竞赛

文章目录 赛题要求一、赛事背景二、赛事任务三、评审规则1.平台说明2.数据说明3.评估指标4.评测及排行 四、作品提交要求五、 运行BaselineStep1&#xff1a;下载相关库Step2&#xff1a;配置导入Step3&#xff1a;模型测试Step4&#xff1a;数据读取Step5&#xff1a;Prompt设…

不要再被骗了!电脑无法进入系统的原因可能是这个硬件坏了而已……

前言 前段时间小白在抖音上发了很多很多很多的视频&#xff0c;其中应该是有很多商家关注了小白。 然后就会出现很多很多很多的赚钱小门道…… 电脑开机没有显示&#xff1f;换显卡&#xff01; 电脑还是不开机&#xff1f;换CPU 电脑还是一样不开机…… 经过了一番大折腾…

电脑录音方法:电脑怎么录音?5招轻松搞定录音!

想要从麦克风或系统音频录制电脑声音吗&#xff1f;这是一项简单的任务。本文将为您介绍5种最佳且最简单的方法&#xff0c;包括使用Windows系统自带的录音工具来录制电脑音频&#xff0c;在线音频录音软件和专业的第三方电脑录音软件。这些工具都能够很好地帮助您完成电脑怎么…

【深度学习】循环神经网络RNN、LSTM、GRU

李宏毅深度学习笔记 https://www.bilibili.com/video/BV1qM4y1M7Nv RNN 在 RNN 里面&#xff0c;每一次隐藏层的神经元产生输出的时候&#xff0c;该输出会被存到记忆元。下一次有输入时&#xff0c;这些神经元不仅会考虑输入 x1, x2&#xff0c;还会考虑存到记忆元里的值。 …

高危行业的安全守护者,顶坚防爆手机无惧挑战

高危行业的安全守护者&#xff0c;防爆手机以卓越性能&#xff0c;无惧极端挑战&#xff0c;为每一位前线工作者筑起坚不可摧的安全防线。石油勘探的深邃海洋、化工生产的复杂车间、矿山的幽深隧道……这些高危行业中&#xff0c;每一步都需谨慎前行&#xff0c;每一刻都需安全…

技术成神之路:设计模式(二)建造者模式

1.定义 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;它允许你分步骤创建复杂对象&#xff0c;而不必直接调用构造函数。建造者模式特别适合那些包含多个组成部分并且构造过程复杂的对象。 2. 结构 建造者模式的主要组成部分包括&#…

TensorRT动态形状(Dynamic Shape)出错,官方demo+自己模型运行时出错

(2024.7.2) 使用TensorRT处理动态输入形状推理时出现的错误&#xff0c;本案基于官方demo文件&#xff0c;已解决&#xff1a; TensorRT版本10.0&#xff0c;官方例子使用的是这个https://github.com/NVIDIA/trt-samples-for-hackathon-cn/blob/master/cookbook/01-SimpleDem…

数据文件传输连接超时?镭速教你如何解决!

Mysql作为一个广泛使用的开源关系型数据库管理系统&#xff0c;以快速、可靠、易于使用、开源的特色闻名&#xff0c;使用 MySQL 来存储和管理数据&#xff0c;已经广泛应用于各个领域、各类大小型应用中。 图片源于网络 使用 MySQL 来存储和管理数据的应用中&#xff0c;与数…

Windows打开redis以及Springboot整合redis

目录 前言Windows系统打开redisSpringboot整合redis依赖实体类yml配置文件config配置各个数据存储类型分别说明记录string数据写入redis&#xff0c;并查询通过命令行查询 list插入数据到redis中从redis中读取命令读取数据 hash向redis中逐个添加map键值对获取key对应的map中所…

【ubuntu18.04】 局域网唤醒 wakeonlan

ai服务器经常因为断电,无法重启,当然可以设置bios 来电启动。 这里使用局域网唤醒配置。 自动开关机设置 工具:ethtool 端口 : enp4s0 Wake-on: d 表示禁用Wake-on: g 激活 ,例如:ethtool -s eth0 wol g 配置/etc/rc.local ,这个文件不存在,自己创建工具下载 tengxun W…