【论文阅读】Attention-based Deep Multiple Instance Learning

news2024/9/24 11:24:34
 @misc{Ilse_Tomczak_Welling_2018,   
 title={Attention-based Deep Multiple Instance Learning},  
 journal={International Conference on Machine Learning},  
 author={Ilse, Maximilian and Tomczak, JakubM. and Welling, Max},  
 year={2018},  
 month={Jul}  }

1、摘要与引言

本文提出了一种基于神经网络的置换不变聚合算子,该算子与注意力机制相关。值得注意的是,所提出的基于注意力算子的应用提供了每个实例对包标签贡献的观察。实现表明本方法在基准MIL数据集上有着很好的性能。

本文提出的新方法旨在将可解释性纳入MIL方法中,并增加其灵活性。利用包标签的伯努利分布建立MIL模型,并通过优化对数似然函数对模型进行训练。文章表明对数函数基本定理为包标签概率(包得分函数)模型的建立提供了一个程序,主要包含三个步骤:

· 将实例从高维度到低维度的转换;
· 置换不变聚合函数;
· 对包概率的转换;

本文使用神经网络(卷积层和全连接层的组合)将所有转换进行参数化,这能够提升算法的灵活性,并通过优化无约束目标函数以端到端的方式对模型进行训练。本文使用可训练的加权平均值来代替置换不变算子,权重值由双层神经网络(与注意力机制相关)给出。注意力机制能够帮助我们找到关键实例(就是决定包标签的那些实例),这些实例可以进一步用于突出显示可能的ROIs(Region Of Interest)。

2、方法论

2.1、定理

定理1:

得分函数 S ( X ) S(X) S(X)对一组示例 X X X进行打分,当该函数能够分解为以下形式时,该函数为对称函数:
S ( X ) = g ( ∑ x ∈ X f ( x ) ) S(X)=g(\sum_{x\in X}f(x)) S(X)=g(xXf(x))
其中, f f f g g g是合适的转换函数。也可以将上述公式中的sum替换为max。


定理2:

豪斯多夫连续对称函数 S ( X ) S(X) S(X)与函数 g ( max ⁡ x ∈ X f ( x ) ) g(\max_{x\in X}f(x)) g(maxxXf(x))能够无限接近任何的 ε > 0 \varepsilon>0 ε>0
∣ S ( X ) − g ( max ⁡ x ∈ X f ( x ) ) ∣ < ε |S(X)-g(\max_{x\in X}f(x))|<\varepsilon S(X)g(xXmaxf(x))<ε


定理1与定理2的区别在于:前者是普遍分解,后者提供了任意近似。尽管如此,它们都使用三步方法来分类由实例组成的包:
· 使用函数 f f f实现将实例从高维度到低维度的转换;
· 使用置换不变聚合函数 σ \sigma σ将转换后的实例组合起来;
· 使用函数 g g g f f f变换实现对包概率的转换;

得分函数的表现取决于函数 f f f g g g的选择。两个定理的得分函数都是概率 θ ( X ) \theta(X) θ(X),置换不变函数 σ \sigma σ也被称为MIL池化。函数 f f f g g g σ \sigma σ的选择决定了对标签概率建模的具体方法,具体而言有两种主要方法:

(1)实例级方法:转换函数 f f f是一个实例级分类器,它为每个实例返回分数。然后通过MIL池化对每个实例的得分进行汇总,得到 θ ( X ) \theta(X) θ(X),函数 g g g是恒等函数。

(2)嵌入级方法:转换函数 f f f将实例嵌入到低维度,MIL池化用于获得与包中实例数量无关的包表示。包表示又由包级分类器进一步处理以获得 θ ( X ) \theta(X) θ(X)

后一种方法更可取(很多论文都是这么说的)。

2.2、带神经网络的多示例学习

我们考虑使用一类由神经网络 f ψ ( ⋅ ) f_{\psi }(·) fψ()参数化的转换:将第 k k k个实例转换为低维嵌入 h k = f ψ ( x k ) h_k=f_{\psi }(x_k) hk=fψ(xk),其中 h K ∈ H h_K\in \mathcal{H} hKH,实例级方法中 H = [ 0 , 1 ] \mathcal{H}=[0,1] H=[0,1]、嵌入级方法中 H = R M \mathcal{H}=\mathbb{R}^M H=RM

最终,参数 θ ( X ) \theta(X) θ(X)由变换函数转换函数 g ϕ : H K → [ 0 , 1 ] g_\phi:\mathcal{H}^K→[0,1] gϕ:HK[0,1]所决定。在实例级方法中转换函数 g ϕ g_\phi gϕ只是恒等式,而在嵌入级方法中它可以是具有参数 ϕ \phi ϕ的参数化神经网络。

使用神经网络对所有变换进行参数化非常有吸引力,因为该方法任意灵活,并可以通过反向传播进行端到端训练。

2.3、MIL池化

MIL的定义要求MIL池化函数 σ \sigma σ是置换不变量,定理1与定理2可以利用利用最大算子平均算子来确保得分函数(包概率函数)是对称函数
∀ m = 1 , . . . , M : z m = max ⁡ k = 1 , . . . , k { h k m } \forall _{m=1,...,M}:z_m=\max _{k=1,...,k}\left \{ h_{km} \right \} m=1,...,M:zm=k=1,...,kmax{hkm}
z = 1 K ∑ k = 1 K h k z=\frac{1}{K}\sum_{k=1}^{K}h_k z=K1k=1Khk
同样也可以使用其他可微的算子,作为深度神经网络中的MIL池化层。

2.4、基于注意力机制的MIL池化

MIL池化方法:最大算子或平均算子都不能很好的计算包概率,因此需要灵活和自适应的MIL池,通过调整来获得更好的结果。


注意力机制:

本文提出使用实例(低维嵌入)的加权均值,其中权值是由神经网络决定的,且权值之和必须为1。若使用 H = { h 1 , . . . , h K } H=\left \{ h_1,...,h_K \right \} H={h1,...,hK}表示 K K K个嵌入的包,那么本文提出以下MIL池化:
z = ∑ k = 1 K a k h k z=\sum_{k=1}^{K}a_kh_k z=k=1Kakhk
其中,权值 a k a_k ak的计算公式为:
在这里插入图片描述
其中, w ∈ R L × 1 \mathbf{w} \in \mathbb{R}^{L×1} wRL×1 V ∈ R L × M \mathbf{V} \in \mathbb{R} ^{L×M} VRL×M都是参数。并使用 t a n h ( ) tanh() tanh()来计算梯度流的负值和正值,该公式能够衡量实例之间的相似性。


门注意力机制:

由于 t a n h ( ) tanh() tanh()在学习非线性复杂关系时可能效率低下,因此提出使用门控机制与非线性 t a n h ( ) tanh() tanh()共同决定权值:
在这里插入图片描述
其中, w ∈ R L × M \mathbf{w} \in \mathbb{R}^{L×M} wRL×M是参数, ⊙ \odot 是元素乘法, s i g m ( ) sigm() sigm()是非线性sigmoid函数。


灵活性:
所提出的基于注意力的MIL池允许将不同的权重分配给包内的实例,因此包的最终表示对于包级分类器来说可以是高度有信息的。换句话说,它应该能够找到关键实例。此外,基于注意力的MIL池以及由神经网络参数化的变换 f f f g g g的应用使得整个模型完全可微和自适应。这两个事实使所提出的MIL池成为一个潜在的非常灵活的算子,可以对任意置换不变的分数函数进行建模。


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

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

相关文章

CodeForces..走路的男孩.[简单].[时间间隔]

题目描述&#xff1a; 题目解读&#xff1a; 数学上的遛狗问题。 大意就是需要遛狗&#xff0c;一天至少两次&#xff0c;每次至少120分钟&#xff0c;题中所给的时间轴是从0-1440分钟&#xff0c;表示一整天。 然后它的主人正在不断接收信息&#xff08;在工作&#xff09;…

作用域 (局部作用域和全局作用域) 详细介绍

作用域 (局部作用域和全局作用域) 详细介绍 作用域是当前的执行上下文&#xff0c;值和表达式在其中“可见”或可被访问。 常见的作用域为&#xff1a; 全局作用域&#xff1a;脚本模式运行所有代码的默认作用域 函数作用域&#xff1a;由函数创建的作用域 局部作用域&#xff…

附录1-小程序常用标签

目录 1 view 2 scroll-view 3 swiper与swiper-item 4 text 5 rich-text 6 button 7 image 1 view 相当于html的div 2 scroll-view scroll-view是一个有滚动条的div scroll-y是允许纵向滚动&#xff0c;scroll-x是允许横向滚动 3 swiper与swiper-item swipe…

文盘Rust -- tokio绑定cpu实践 | 京东云技术团队

tokio 是 rust 生态中流行的异步运行时框架。在实际生产中我们如果希望 tokio 应用程序与特定的 cpu core 绑定该怎么处理呢&#xff1f;这次我们来聊聊这个话题。 首先我们先写一段简单的多任务程序。 use tokio::runtime; pub fn main() {let rt runtime::Builder::new_mu…

华为OD机试真题 Java 实现【通信误码】【2022Q4 100分】,附详细解题思路

一、题目描述 信号传播过程中会出现一些误码&#xff0c;不同的数字表示不同的误码ID&#xff0c;取值范围为1~65535&#xff0c;用一个数组记录误码出现的情况。 每个误码出现的次数代表误码频度&#xff0c;请找出记录中包含频度最高误码的最小子数组长度。 二、输入描述 …

Nginx+花生壳实现个人网站

下载Nginx Windows版本&#xff0c;目前稳定版1.24&#xff0c;Mainline的版本是1.25 Nginx下载后是一个zip文件&#xff0c;选择适当的位置解压。 首先修改一下Nginx的配置文件nginx.conf&#xff0c;位于conf目录下面&#xff1a; 配置文件我只修改了访问的端口号&#xff…

文件操作之文件包含全解(31)

文件包含的作用就是将这个文件包含进去之后&#xff0c;会调用指定文件的代码。先将文件包含才能执行里面的一些相关代码&#xff0c;比如所想进行文件的链接&#xff0c;数据库的查询&#xff0c;就可以先包含一个数据库的配置文件&#xff0c; 再去链接的话就享有配置文件的一…

2023年6月北京/广州/深圳CDGA/CDGP数据治理认证招生

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

C#发送邮箱设置及源码

用C#调用发送邮箱代码之前需要邮箱开通SMTP/POP3及设置授权码&#xff0c;开通及获取方法如下&#xff1a; 1、打开邮箱&#xff0c;登录邮箱&#xff0c;进入设置&#xff0d;》帐户 2、在“帐户”设置中&#xff0c;找到服务设置项&#xff0c;进行设置&#xff0c;如下…

什么是软件测试?这份工作到底怎么样?

什么是软件测试&#xff1f;这份工作到底怎么样&#xff1f; 着人工智能时代的到来&#xff0c;IT行业受到了越来越多人的重视。软件测试作为把控软件质量必不可少的环节&#xff0c;其重要性可见一斑。 那么从事软件测试行业究竟有前途吗?今天我们就来详细的介绍一下软件测…

第34步 机器学习实战DLC:不平衡数据处理(上)

失踪人口回归的第一期&#xff0c;来说一说不平衡数据。 一、不平衡数据的概念 什么是不平衡数据&#xff1f;我们先来看看小Chat怎么说的&#xff1a; 顾名思义&#xff0c;就是你的因变量1和0的样本数差距有点大&#xff0c;大到影响了模型性能。举个栗子&#xff0c;一个盒…

详解CenterFusion损失函数初始化及前向传播过程

CenterFusion损失函数Loss初始化_get_losses函数以及计算过程forward函数 1. 损失函数初始化前序运行逻辑2. 损失函数初始化2.1 loss函数初始化——Trainer类中的_get_losses()函数2.2 model_with_loss的初始化 3. loss计算过程前序运行逻辑4. loss计算过程4.1 loss计算函数调用…

chatgpt赋能python:Python圆柱体积计算器:简单、高效、快速解决计算难题

Python圆柱体积计算器&#xff1a;简单、高效、快速解决计算难题 圆柱体积是一个在日常生活、工程学、数学等领域都十分普遍的概念&#xff0c;可以用来计算许多实际问题中的体积&#xff0c;比如容器的容量、建筑材料的用量等等。在本文中&#xff0c;我们将介绍如何使用Pyth…

部署和配置DHCP服务器实验:自动分配IP地址和网络配置

部署和配置DHCP服务器实验&#xff1a;自动分配IP地址和网络配置 【实验目的】 部署DHCP服务器。熟悉DHCP服务器的配置方法。验证拓扑。 【实验拓扑】 实验拓扑如图所示。 设备参数如下表所示。 设备 接口 IP地址 子网掩码 默认网关 DHCPSERVE F0/0 172.16.10.1 25…

大学生必知必会技能系列02--虚拟机安装

学习linux的时候&#xff0c;在自己的pc笔记本上安装Linux不太方便&#xff0c;解决方法是&#xff0c;在笔记本上安装 vmware虚拟机,然后再把计划要学习的Linux版本安装到虚拟机中&#xff0c;此时外部电脑能办公&#xff0c;虚拟机上的 代码也能正常运用。 一、VMware 17 虚拟…

2023年6月杭州/广州/东莞/深圳软考(中/高级)认证招生简章

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

09 【CLI 初始化脚手架 Vue零碎的一些知识】

09 【CLI 初始化脚手架 Vue零碎的一些知识】 1.Vue CLI 初始化脚手架 1.1具体步骤 1如果下载缓慢请配置npm淘宝镜像npm config set registry http://registry.npm.taobao.org 2全局安装 vue/cli npm install -g vue/cli 3切换到创建项目的目录&#xff0c;使用命令创建项目v…

递增子序列

1题目 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作递增序列的一种特殊情况。 示例 1…

苹果MacOS系统傻瓜式本地部署AI绘画Stable Diffusion教程

Stable Diffusion的部署对小白来说非常麻烦&#xff0c;特别是又不懂技术的人。今天分享两个一键傻瓜式安装包&#xff0c;对小白来说非常有用。下面两个任选一个安装就可以。 一、DiffusionBee 简单介绍 DiffusionBee是基于stable diffusion的一个安装包&#xff0c;有图形…

BIO NIO AIO之间的区别与联系

目录 前言五种I/O模型1.同步阻塞I/O, BIO2.同步非阻塞I/O, NIO3.多路复用IO4.信号驱动I/O5.异步I/O&#xff0c;AIO 同步阻塞&#xff1f;异步非阻塞&#xff1f;1.阻塞I/O 与 非阻塞I/O2.同步I/O 与 异步I/O Netty采用了哪种I/O模型? 前言 Unix系统下的五种基本I/O模型 blo…