【论文阅读】MAMIL

news/2024/5/4 0:06:49/文章来源:https://blog.csdn.net/weixin_49592304/article/details/130091139

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:Rd→Rf:\mathbb{R} ^d→\mathbb{R}f:RdR,使其能够利用训练数据SSS来预测新包的输出值yyy

注意力机制背后的最初想法是取代使用简单的平均输出y∗=n−1∑i=1nyiy^*=n^{-1}\sum_{i=1}^{n}y_iy=n1i=1nyi来估计新输入特征向量的回归输出值yyy,而是使用Nadaraya Watson回归模型形式的加权平均值:
y∗=∑i=1nα(x,xi)yi,(1)y^*=\sum_{i=1}^{n}\alpha(x,x_i)y_i,\tag{1}y=i=1nα(x,xi)yi,(1)
其中,α(x,xi)\alpha(x,x_i)α(x,xi)表示输入值xxx与第iii个包的相关性。该相关性的计算方法由Nadaraya Watson核回归定义,它可以视为一个评分函数,用于估计xix_ixi有多接近xxx,其计算公式为:
α(x,xi)=K(x,xi)∑j=1nK(x,xj),(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=Wqxq=W_qxq=Wqxki=Wkxik_i=W_kx_iki=Wkxi表示为query嵌入与key嵌入,那么注意力权重能够表示为:
α(x,xi)=softmax(qTki)=exp⁡(qTki)∑j=1nexp⁡(qTkj).(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)
其中,WqW_qWqWkW_kWk是参数矩阵,可以通过前馈神经网络进行学习。

4.2、Method

在这里插入图片描述

考虑拥有mmm个子图像区域的组织学图像,将子图像区域视为实例xijx_{ij}xij,整张组织学图像视为包BiB_iBi。在上面的图中,子图像区域用IiI_iIiIjI_jIj表示。

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

对于每一个补丁,我们还选择由该补丁相邻的补丁构成的邻居集。用(xi,yi)(x_i,y_i)(xi,yi)表示第iii个补丁的整数坐标,用M={1,...,m}\mathcal{M}=\left \{ 1,...,m \right \}M={1,...,m}表示整个图像中所有补丁的索引集。那么第iii个补丁的邻居索引集可以表示为:
Ni={j∈M:0<max⁡(∣xi−xj∣,∣yi−yj∣)<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=1d=1d=1但也可以设置为任意值,主要取决于补丁的大小。

使用相邻补丁主要是为了利用图像结构的一些有用信息,同时也可以被视为某种数据增强,从而改善分类结果。本文通过注意力机制来计算补丁IiI_iIi的所有邻居的嵌入BiB_iBi,计算公式为:
Bi=∑j∈Niαj(i)Fj,(5)B_i=\sum_{j\in \mathcal{N}_i }\alpha_j^{(i)}F_j,\tag{5}Bi=jNiαj(i)Fj,(5)
其中,jjj代表补丁的jjj个邻居,FjF_jFj代表邻居在神经网络中对应的嵌入,而αj(i)\alpha_j^{(i)}αj(i)代表注意力权重,与公式(3)类似但又不同,其计算公式为:
αj(i)=softmax(si)=exp⁡(sj(i))∑texp⁡(st(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)
其中,sj(i)=scorenb(Fi,Fj)=FiTtanh⁡(VnbFj)s_{j}^{(i)}=score_{nb}(F_i,F_j)=F_i^{T}\tanh{(V_{nb}F_j)}sj(i)=scorenb(Fi,Fj)=FiTtanh(VnbFj)是计算嵌入FiF_{i}FiFjF_{j}Fj的注意力打分函数,VVV是学习率参数矩阵。
在这里插入图片描述
最后将第iii个补丁的嵌入与邻居的嵌入进行联合拼接,得到补丁的嵌入:
Ti=(Fi,Bj)(7)T_i=(F_i,B_j)\tag{7}Ti=(Fi,Bj)(7)

4.3、embedding templates

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

将模板集合表示为P={P1,...,PC}\mathcal{P}=\left \{ P_1,...,P_C \right \}P={P1,...,PC},第kkk个模板为PkP_kPk。每个模板注意力都产生相应的聚合嵌入EkE_kEk,计算公式为:
Ek=∑i=1mβi(k)Ti,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)=softmax(⟨score(Pk,Ti)⟩i)\beta_{i}^{(k)}=softmax(\left \langle score(P_k,T_i) \right \rangle_i )βi(k)=softmax(score(Pk,Ti)i)。可以看出第kkk个模板的聚合嵌入EkE_kEk是图像中有邻居的补丁的带权嵌入平均值,即第kkk个模板聚合嵌入了整个包。关于所有补丁以及它们邻居的信息都包含在了向量E1,...,ECE_1,...,E_CE1,...,EC中。

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

其中,γk=softmax(⟨scorefin(G,Ek)⟩k)\gamma_k=softmax(\left \langle score_{fin}(G,E_k) \right \rangle_k )γk=softmax(scorefin(G,Ek)k)GGG是作为训练向量的全局模板。模板GGG和相应的最终注意力共同决定了哪些聚合嵌入EkE_kEk和模板PkP_kPk是重要的。

4.4、loss function

在这里插入图片描述
其中,BCEBCEBCE是标准二分类交叉熵损失函数,YkY_kYk是真实标签,f(Xk)f(X_k)f(Xk)是通过神经网络输出的预测值。BCE损失函数具体公式为:
在这里插入图片描述
xxx是网络输出值,yyy是真实标签。

4.5、Computing the patch importance

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

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

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

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

相关文章

【记录】Git连接gitee、新建仓库

学习记录1.连接gitee2.新建仓库1.连接gitee https://www.cnblogs.com/cokefentas/p/14727592.html git安装与卸载 apt-get install git apt-get remove gitgit配置 配置用户名 git config --global user.name "your name" 配置邮箱 git config --global user.email…

学习安全攻防技能30讲-开篇|别说你没有被安全困扰过

文章目录学习安全攻防技能30讲-开篇|别说你没有被安全困扰过研读开篇安全重要吗&#xff1f;安全难学吗&#xff1f;学习安全攻防技能30讲-开篇|别说你没有被安全困扰过 研读开篇 文中说到一个竞赛叫CTF&#xff0c;这个之前从来没有听过的&#xff0c;作为开发人员涨知识了。…

5V的LDO电源的WCCA分析-可靠性分析计算过程

WCCA(WorstCase Circuit Analysis)分析方法是一种电路可靠性分析设计技术&#xff0c;用来评估电路中各个器件同时发生变化时的性能&#xff0c;用于保证设计电路在整个生命周期的都可以可靠工作。通过WCCA分析&#xff0c;验证在上述参数在其容差范围内发生变化时&#xff0c;…

springboot+thymeleaf实现发Html邮件自由

2019年&#xff0c;我刚接触测试架构和测试开发类的工作时&#xff0c;经常会有自动化发邮件的功能&#xff0c;大都是从各个平台自动化统计一些数据出来&#xff0c;每周定时发一封邮件给领导交差&#xff0c;回过头来再看看我发的邮件&#xff0c;不美观&#xff0c;不专业。…

JUC并发编程之AQS原理

1. AQS 原理 1.1 概述 全称是 AbstractQueuedSynchronizer&#xff0c;是阻塞式锁和相关的同步器工具的框架 特点&#xff1a; 用 state 属性来表示资源的状态&#xff08;分独占模式和共享模式&#xff09;&#xff0c;子类需要定义如何维护这个生态&#xff0c;控制如何获…

医院不良事件报告系统源码:基于PHP+vue2+element+laravel8技术开发

医院不良事件报告系统源码 文末获取联系&#xff01; 技术架构&#xff1a;前后端分离&#xff0c;仓储模式&#xff0c; 开发语言&#xff1a;PHP 开发工具&#xff1a;vscode 前端框架&#xff1a;vue2element 后端框架&#xff1a;laravel8 数 据 库&#xff1a;mysql5…

Vue3 关于setup与自定义指令

setup语法糖 最大好处就是所有声明部分皆可直接使用&#xff0c;无需return出去 注意&#xff1a;部分功能还不完善&#xff0c;如&#xff1a;name、render还需要单独加入script标签按compositionAPI方式编写 // setup 下还可以附加<script> setup语法糖独有 &…

用SSH登陆Centos系统时,命令行最前面显示“的提示符[root@www myapp]”是什么意思?

用SSH登陆Centos系统时&#xff0c;命令行最前面显示“的提示符[rootwww myapp]”是什么意思&#xff1f; 在SSH登录到CentOS系统时&#xff0c;提示符 [rootwww myapp] 中的 www 表示当前登录的主机名&#xff08;hostname&#xff09;&#xff0c;也就是指当前运行的CentOS系…

《程序员面试金典(第6版)》面试题 10.03. 搜索旋转数组(二分法,分钟思想,入门题目)

题目描述 搜索旋转数组。给定一个排序后的数组&#xff0c;包含n个整数&#xff0c;但这个数组已被旋转过很多次了&#xff0c;次数不详。请编写代码找出数组中的某个元素&#xff0c;假设数组元素原先是按升序排列的。若有多个相同元素&#xff0c;返回索引值最小的一个。 示例…

4.12~(小组成员对话预习)

注意我们这里观察的是XP的kernel32.dll&#xff0c;到win10是有变化的 看了这个函数&#xff0c;似乎是让BasepExeLdrEntry不存在的时候初始化一遍&#xff0c;然后进行对比是否已经加载过这个dll&#xff0c;那么如果加载下一个dll的时候&#xff0c;BasepExeLdrEntry是不是还…

SM59 RFC 目标 SAP_PROXY_ESR 设置到服务资源库连接的检查列表

设置到服务资源库连接的检查列表 1. 企业服务资源库的地址必须在 SAP 系统中已知 检查报表 SPROX_CHECK_IFR_ADDRESS。2. 要连接到企业服务资源库&#xff0c;必须维护 RFC 目标 "SAP_PROXY_ESR"。此 RFC 目标将由代理生成 / 事务 SPROXY 使用。必须使用事务 SM59 进…

规模化敏捷框架:Scrum@Scale

Scrum 敏捷方法有助于团队成员之间更有效地合作&#xff0c;实现共同的业务目标。但是当一个组织想要扩展 Scrum 方法到更多的团队时&#xff0c;应该如何实施&#xff1f;Scrum 仅为单团队开发、交付和运维产品提供了一个框架&#xff0c;而 ScrumScale&#xff08;SS&#xf…

Ubuntu20.04 安装QGIS

qgis的git&#xff1a; GitHub - qgis/QGIS: QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS) qgis的官网:Welcome to the QGIS project! qgis插件包下载地址&#xff1a;https://plugins.qgis.org/plugins/ 1.Prerequisi…

【LeetCode每日一题: 1039. 多边形三角剖分的最低得分 | 暴力递归=>记忆化搜索=>动态规划 | 区间dp 】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

【从零开始学Skynet】基础篇(七):Mysql数据库常用API

在上一篇中我们完成了对Mysql数据库的准备工作之后&#xff0c;这一篇我们写一个程序测试一下。 1、Mysql API 在写程序之前&#xff0c;我们先学习一下Mysql数据库常用API的使用&#xff1a; API说明mysql.connet(args)连接数据库&#xff0c;参数args是一个Lua表&#xff0c…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 1 题目 电商物流网络由物流场地&#xff08;接货仓、分拣中心、营业部等&#xff09;和物流场 地之间的运输线路组成&#xff0c;如图 1 所示。受节假日和“双十一”、“618”等…

octave安装使用——吴恩达机器学习

下载octave 解压后双击octave.vbs进行安装 配置 pkg rebuildpkg list 使用基础命令 使用矩阵命令 移动数据 size&#xff1a;矩阵的行和列length&#xff1a;行和列的最大值 读取和存储数据 load&#xff1a;加载文件who&#xff1a;所有变量whos&#xff1a;更详细的变量…

Java容器使用注意点

前置&#xff1a;问题 判空集合转map集合遍历集合去重集合转数组数组转集合 一&#xff1a;集合判空 《阿里巴巴 Java 开发手册》的描述如下&#xff1a; 判断所有集合内部的元素是否为空&#xff0c;使用 isEmpty() 方法&#xff0c;而不是 size()0 的方式。 我们在开发中也…

EightCap易汇:外汇投资入门需要了解哪些必要知识?

外汇市场是国际投资市场&#xff0c;日内交易量巨大&#xff0c;盈利机会极多。外汇是一种含有杠杆的投资产品&#xff0c;杠杆带来了高收益&#xff0c;也会带来高风险&#xff0c;对于外汇新手来说存在一定难度。新手投资者要如何交易&#xff0c;才能抓住外汇市场的盈利机会…

金三银四没把握住,凉了...

大家好&#xff0c;前两天跟朋友感慨&#xff0c;今年的铜三铁四、裁员、疫情导致好多人都没拿到offer!现在互联网大厂终于迎来了应届生集中求职季。 对于想跳槽的软件测试人来说&#xff0c;绝对是个找工作的好时机。这时候&#xff0c;很多高薪技术岗、管理岗的缺口和市场需…