【论文阅读】MAMIL

news2025/1/19 14:27:41

1、基本信息

@misc{Konstantinov_Utkin,  
 title={Multi-Attention Multiple Instance Learning}, 
 author={Konstantinov, AndreiV. and Utkin, LevV.} 
 }

2、摘要

本文提出了基于多注意力的MIL问题求解方法,该方法考虑了包中每个被分析实例的相邻实例。在该方法中,一个注意力模块考虑相邻的实例,使用几个注意力机制来获得实例的不同特征表示,并使用一个注意力模块来联合不同的实例特征表示,提供每个实例和整个包的准确分类。MAMIL以小维度嵌入的形式实现了实例及其邻居的组合表示,以达到简单分类的目的。此外,算法也有效处理了不同类型的实例,使用几个注意力机制模块来实现包中实例的不同特征表示。

3、介绍

基于注意力的深度多示例学习(Attention-based Deep Multiple Instance Learning, AbDMIL)能够有效改进MIL模型,然而现有的基于注意力的MIL方法都有一些缺点。首先它们没有考虑可能对预测产生重大影响的相邻实例,尤其是将图像视为一个包时。

本文的实验表明实例的邻居能够视为实例本身的附加信息,这也是为什么本文建议与k个邻居一起分析每个实例,并将k视为参数。此外,本文建议将所有邻居转换为嵌入向量,该嵌入向量将邻居的所有特征信息收集到一个向量中,并且嵌入是通过注意力来实现的。本文只考虑相邻的实例,并且选择尽可能小的实例,每个实例与邻居联合就可以覆盖整个图像增加的区域,小的实例也具有较简单的处理过程。

本文提出了一种解决MIL问题的多注意力方法,其中一个注意力模块考虑相邻的实例(邻域注意力),使用几个注意力模块(模板注意力)来获得每个实例的不同特征表示,并且使用一个注意力(最终注意力)来联合不同的特征表示,并对每个实和整个包进行分类。

4、MAMIL

4.1、Basics of the attention mechanism

注意力机制可以被视为一种工具,通过它神经网络可以自动区分特征的相对重要性,并对特征进行加权,以提高分类精度。

输入训练包以及对应标签,回归的目标是构造回归函数 f : R d → R f:\mathbb{R} ^d→\mathbb{R} f:RdR,使其能够利用训练数据 S S S来预测新包的输出值 y y y

注意力机制背后的最初想法是取代使用简单的平均输出 y ∗ = n − 1 ∑ i = 1 n y i y^*=n^{-1}\sum_{i=1}^{n}y_i y=n1i=1nyi来估计新输入特征向量的回归输出值 y y y,而是使用Nadaraya Watson回归模型形式的加权平均值:
y ∗ = ∑ i = 1 n α ( x , x i ) y i , (1) y^*=\sum_{i=1}^{n}\alpha(x,x_i)y_i,\tag{1} y=i=1nα(x,xi)yi,(1)
其中, α ( x , x i ) \alpha(x,x_i) α(x,xi)表示输入值 x x x与第 i i i个包的相关性。该相关性的计算方法由Nadaraya Watson核回归定义,它可以视为一个评分函数,用于估计 x i x_i xi有多接近 x x x,其计算公式为:
α ( x , x i ) = K ( x , x i ) ∑ j = 1 n K ( x , x j ) , (2) \alpha(x,x_i)=\frac{K(x,x_i)}{\sum_{j=1}^{n}K(x,x_j)},\tag{2} α(x,xi)=j=1nK(x,xj)K(x,xi),(2)
通常上述评分函数可以通过合并可学习参数进行扩展,如果将 q = W q x q=W_qx q=Wqx k i = W k x i k_i=W_kx_i ki=Wkxi表示为query嵌入与key嵌入,那么注意力权重能够表示为:
α ( x , x i ) = s o f t m a x ( q T k i ) = exp ⁡ ( q T k i ) ∑ j = 1 n exp ⁡ ( q T k j ) . (3) \alpha(x,x_i)=softmax(q^Tk_i)=\frac{\exp(q^Tk_i)}{\sum_{j=1}^{n}\exp(q^Tk_j)}.\tag{3} α(x,xi)=softmax(qTki)=j=1nexp(qTkj)exp(qTki).(3)
其中, W q W_q Wq W k W_k Wk是参数矩阵,可以通过前馈神经网络进行学习。

4.2、Method

在这里插入图片描述

考虑拥有 m m m个子图像区域的组织学图像,将子图像区域视为实例 x i j x_{ij} xij,整张组织学图像视为包 B i B_i Bi。在上面的图中,子图像区域用 I i I_i Ii I j I_j Ij表示。

将所有的实例通过向前传播输入到神经网络中以得到其对应的嵌入 F i = C o n v ( I i ) , i = 1 , . . . , m F_i=Conv(I_i),i=1,...,m Fi=Conv(Ii),i=1,...,m,嵌入是为了降低实例维度

对于每一个补丁,我们还选择由该补丁相邻的补丁构成的邻居集。用 ( x i , y i ) (x_i,y_i) (xi,yi)表示第 i i i个补丁的整数坐标,用 M = { 1 , . . . , m } \mathcal{M}=\left \{ 1,...,m \right \} M={1,...,m}表示整个图像中所有补丁的索引集。那么第 i i i个补丁的邻居索引集可以表示为:
N i = { j ∈ M : 0 < max ⁡ ( ∣ x i − x j ∣ , ∣ y i − y j ∣ ) < d } , (4) \mathcal{N}_i=\left \{ j\in \mathcal{M}:0<\max {(\left | x_i-x_j \right |,\left | y_i-y_j \right | )} <d \right \} ,\tag{4} Ni={jM:0<max(xixj,yiyj)<d},(4)
其中, d = 1 d=1 d=1但也可以设置为任意值,主要取决于补丁的大小。

使用相邻补丁主要是为了利用图像结构的一些有用信息,同时也可以被视为某种数据增强,从而改善分类结果。本文通过注意力机制来计算补丁 I i I_i Ii的所有邻居的嵌入 B i B_i Bi,计算公式为:
B i = ∑ j ∈ N i α j ( i ) F j , (5) B_i=\sum_{j\in \mathcal{N}_i }\alpha_j^{(i)}F_j,\tag{5} Bi=jNiαj(i)Fj,(5)
其中, j j j代表补丁的 j j j个邻居, F j F_j Fj代表邻居在神经网络中对应的嵌入,而 α j ( i ) \alpha_j^{(i)} αj(i)代表注意力权重,与公式(3)类似但又不同,其计算公式为:
α j ( i ) = s o f t m a x ( s i ) = exp ⁡ ( s j ( i ) ) ∑ t exp ⁡ ( s t ( i ) ) . (6) \alpha_j^{(i)}=softmax(s^{i})=\frac{\exp{(s_j^{(i)})}}{\sum_{t}\exp{(s_t^{(i)})}}.\tag{6} αj(i)=softmax(si)=texp(st(i))exp(sj(i)).(6)
其中, s j ( i ) = s c o r e n b ( F i , F j ) = F i T tanh ⁡ ( V n b F j ) s_{j}^{(i)}=score_{nb}(F_i,F_j)=F_i^{T}\tanh{(V_{nb}F_j)} sj(i)=scorenb(Fi,Fj)=FiTtanh(VnbFj)是计算嵌入 F i F_{i} Fi F j F_{j} Fj的注意力打分函数, V V V是学习率参数矩阵。
在这里插入图片描述
最后将第 i i i个补丁的嵌入与邻居的嵌入进行联合拼接,得到补丁的嵌入:
T i = ( F i , B j ) (7) T_i=(F_i,B_j)\tag{7} Ti=(Fi,Bj)(7)

4.3、embedding templates

该算法提出的另一个重要概念是一组嵌入模板(embedding templates),这些模板被视为学习向量。此外,模板数量是 C C C,其值决定分类质量。模板可以视为多注意力应用到嵌入 T i T_i Ti的实现方式。

将模板集合表示为 P = { P 1 , . . . , P C } \mathcal{P}=\left \{ P_1,...,P_C \right \} P={P1,...,PC},第 k k k个模板为 P k P_k Pk。每个模板注意力都产生相应的聚合嵌入 E k E_k Ek,计算公式为:
E k = ∑ i = 1 m β i ( k ) T i , k = 1 , . . . , C (8) E_k=\sum_{i=1}^{m}\beta_{i}^{(k)}T_i,k=1,...,C\tag{8} Ek=i=1mβi(k)Ti,k=1,...,C(8)
其中, β i ( k ) = s o f t m a x ( ⟨ s c o r e ( P k , T i ) ⟩ i ) \beta_{i}^{(k)}=softmax(\left \langle score(P_k,T_i) \right \rangle_i ) βi(k)=softmax(score(Pk,Ti)i)。可以看出第 k k k个模板的聚合嵌入 E k E_k Ek是图像中有邻居的补丁的带权嵌入平均值,即第 k k k个模板聚合嵌入了整个包。关于所有补丁以及它们邻居的信息都包含在了向量 E 1 , . . . , E C E_1,...,E_C E1,...,EC中。

进一步,将 C C C个模板的聚合嵌入整合到整体向量 Z Z Z中,该整体向量对应整个包和所有模板,并考虑了包中所有的特性:
Z = ∑ k = 1 C γ k E k (9) Z=\sum_{k=1}^{C}\gamma_k E_k\tag{9} Z=k=1CγkEk(9)

其中, γ k = s o f t m a x ( ⟨ s c o r e f i n ( G , E k ) ⟩ k ) \gamma_k=softmax(\left \langle score_{fin}(G,E_k) \right \rangle_k ) γk=softmax(scorefin(G,Ek)k) G G G是作为训练向量的全局模板。模板 G G G和相应的最终注意力共同决定了哪些聚合嵌入 E k E_k Ek和模板 P k P_k Pk是重要的。

4.4、loss function

在这里插入图片描述
其中, B C E BCE BCE是标准二分类交叉熵损失函数, Y k Y_k Yk是真实标签, f ( X k ) f(X_k) f(Xk)是通过神经网络输出的预测值。BCE损失函数具体公式为:
在这里插入图片描述
x x x是网络输出值, y y y是真实标签。

4.5、Computing the patch importance

本文算法的一个关键点为哪些补丁对包的预测具有最大的影响。由于整体嵌入 Z Z Z与补丁嵌入 T i T_i Ti之间的关系,这个问题能够得以解决。公式(9)中的 E k E_k Ek可以通过补丁对应嵌入的加权和来表示,即变为:
在这里插入图片描述

通过这种方式,权值 w i = ∑ k = 1 C γ k β i ( k ) w_{i}=\sum_{k=1}^{C}\gamma_k\beta_{i}^{(k)} wi=k=1Cγkβi(k)就可以视为补丁的重要性。最后再将第 i i i个补丁 I i I_i Ii的第 j j j个邻居的重要性 α j ( i ) \alpha_j^{(i)} αj(i)纳入补丁重要性中,就能够得到最终的第 i i i个补丁的重要性计算公式:
v i = w i + ∑ j ∈ N i α j ( i ) w j v_i=w_i+\sum_{j\in N_i}\alpha_j^{(i)}w_j vi=wi+jNiαj(i)wj

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

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

相关文章

如何还原min.js文件

最近在看别人给的一个代码包&#xff0c;但是有一些文件是 xx.min.js ,这种文件在vscode中打开后是这样的 这种怎么阅读&#xff0c;太难了&#xff0c;于是全选&#xff0c;右键格式化文档&#xff0c;不管用 通过咨询群友&#xff0c;学到了&#xff1a; 回答一&#xff1…

vscode开发常用的工具栏选项,查看源码技巧以及【vscode常用的快捷键】

一、开发常用的工具栏选项 1、当前打开的文件快速在左侧资源树中定位&#xff1a; 其实打开了当前的文件已经有在左侧资源树木定位了&#xff0c;只是颜色比较浅 2、打开太多文件的时候&#xff0c;可以关闭 3、设置查看当前类或文件的结构 OUTLINE 相当于idea 查看当前类或接…

【计算机网络-数据链路层】流量控制与可靠传输机制

文章目录1 停止-等待协议1.1 无差错情况1.2 有差错情况——数据帧出错或丢失1.3 有差错情况——ACK 丢失1.4 有差错情况——ACK 迟到1.5 性能分析1.6 相关例题2 后退 N 帧协议&#xff08;GBN&#xff09;2.1 无差错情况2.2 超时重传、回退 N 帧2.3 相关例题3 选择重传协议&…

AX7A200教程(6): 串口接收图片数据,通过hdmi接口输出显示

本章节主要使用uart接收图片数据&#xff0c;然后通过ddr3缓存&#xff0c;最后通过hdmi接口显示输出&#xff0c;功能框图如下图所示 uart接收的图片数据位1024*768*3分辨率大小的数据&#xff0c;一共2359296个字节&#xff0c;输入图片如下图所示 图片属性 串口接收数据&…

基于matlab分析卫星星座对通信链路的干扰

一、前言此示例说明如何分析从中地球轨道 &#xff08;MEO&#xff09; 中的卫星星座到位于太平洋的地面站的下行链路上的干扰。干扰星座由低地球轨道&#xff08;LEO&#xff09;的40颗卫星组成。此示例确定下行链路闭合的时间、载波噪声加干扰比以及链路裕量。此示例需要卫星…

锚框+ssd v2 整合笔记

13.4. 锚框 — 动手学深度学习 2.0.0 documentation 13.7. 单发多框检测&#xff08;SSD&#xff09; — 动手学深度学习 2.0.0 documentation 锚框 一.归一化推导公式 目标检测SSD | Lee的个人博客 之前笔记有点错误 https://mp.csdn.net/mp_blog/creation/editor/129528…

输入电阻、输出电阻、特性阻抗、阻抗匹配

一、输入阻抗和输出阻抗 1.输入阻抗 输入阻抗&#xff08;input impedance)是指一个电路输入端的等效阻抗。在输入端上加上一个电压源U&#xff0c;测量输入端的电流I&#xff0c;则输入阻抗Rin就是U/I。你可以把输入端想象成一个电阻的两端&#xff0c;这个电阻的阻值&#…

云原生助力数字原生企业业务快速迭代|阿里云峰会精彩回顾

导语&#xff1a; 4月11日&#xff0c;2023 阿里云峰会如期举行。一直以来&#xff0c;阿里云都积极融入企业数字原生创新发展的新浪潮&#xff0c;是中小企业走向数字原生坚实的支持者。阿里云坚持以数据和智能驱动&#xff0c;与合作伙伴、企业客户一起专注于技术创新&#x…

《Scikit Learn | MorvanZhou 》learning notes

学习资源 https://scikit-learn.org/stable/https://morvanzhou.github.io/tutorials/machine-learning/sklearn/ 文章目录1 Why Scikit Learn2 通用学习模式&#xff08;牛刀小试 pipeline&#xff09;3 sklearn 强大数据库&#xff08;Loaders / Sample Generator&#xff0…

new/delete内存分配操作符

目录 一、C/C的内存分布 二、new与delete操作符 1.new/delete 的使用 2.new申请失败抛异常 3.new/delete操作内置类型 4.new/delete 操作自定义类型 三、operator new与operator delete函数 四、new和delete的实现原理 1.对于内置类型 2.对于自定义类型 ①new的实现…

Prophet学习(四)趋势Changepoints

目录 趋势Changepoints&#xff08;Trend Changepoints&#xff09; Prophet中的自动更改点检测&#xff08;Automatic changepoint detection in Prophet&#xff09; 调整趋势灵活性&#xff08;Adjusting trend flexibility&#xff09; 指定变更点的位置&#xff08;Spe…

DnCNN-pytorch版本代码运行环境配置

一、DnCNN-pytorch相关下载 (1)DnCNN-pytorch版本代码下载 https://download.csdn.net/download/qq_41104871/87457414 (2)GPU版本的torch0.4.1下载 https://download.csdn.net/download/qq_41104871/87658469 (3)相对应的torchvision0.2.1下载 https://download.csdn…

Redis多级缓存搭建(结合案例学习)

文章目录一. JVM进程缓存1. 在docker中安装Mysql服务2. 向数据库中导入数据和导入案例代码3. 在dokcer中部署nginx服务器实现方向代理4. 在nginx目录下导入主页面5. 配置nginx实现反向代理6. 初步认识Caffine7. 使用Caffeine实现本地进程缓存8. 总结二. LUA语法1. 初识Lua2. 基…

TCP并发服务器模型

文章目录1. 循环服务器2. 并发服务器2.1 多进程并发服务器2.2 多线程并发服务器3. 基于TCP的文件传输服务(目前只有下载)1.tftp下载模型2.TFTP通信过程总结3.tftp下载协议分析1. 循环服务器 一次只能处理一个客户端&#xff0c;等这个客户端退出后&#xff0c;才能处理下一个客…

vue大坑:v-for的key以及props传参不当导致的闭包

为什么props传参在模版中使用没问题&#xff0c;在函数中使用不变化 场景 当我们点击上方的月份时&#xff0c;会改变下方加载的卡片信息 代码&#xff1a; 父组件&#xff1a; <divv-for"(item, index) in vocalStore.getCardMonthData":key"index"…

电梯导航案例

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>小兔鲜儿 - 新鲜 惠民 快捷!</title><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"render…

WPS关闭不了后台一直运行的解决办法(wpscloudsvr.exe)

问题描述 前几天&#xff0c;发现每次打开wps时机箱风扇就转得厉害&#xff0c;把WPS界面叉掉后&#xff0c;桌面的任务栏—就是桌面最下面得黑框框—显示Windows图标和时间日期的那个地方也没有WPS任务&#xff0c;但是机箱还是响的厉害&#xff0c;检查了任务管理器发现一直…

SpringBoot自动配置的原理是什么?

自动配置的核心就在SpringBootApplication注解上&#xff0c;SpringBootApplication这个注解底层包含了3个注解&#xff0c;分别是&#xff1a; SpringBootConfiguration ComponentScan EnableAutoConfiguration EnableAutoConfiguration这个注解才是自动配置的核心。 它封…

速Raysync v6.6.8.0版本发布

最近镭速发布了v6.6.8.0版本&#xff0c;已经发布上线了。主要更新内容有服务器下发任务支持指定客户端&#xff0c;客户端增加日志清理和日志压缩&#xff0c;自动删除源文件保持源目录结构&#xff0c;支持将文件投递给其他成员等功能&#xff0c;详细的更新内容如下&#xf…

Flink DataStream读写Hudi

一、pom依赖 测试案例中&#xff0c;pom依赖如下&#xff0c;根据需要自行删减。 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-ins…