Bag Graph: Multiple Instance Learning Using Bayesian Graph Neural Networks文献笔记

news2024/11/17 2:08:41

基本信息

原文链接:[2202.11132] Bag Graph: Multiple Instance Learning using Bayesian Graph Neural Networks

方法概括:用图(贝叶斯GNN框架)来建模袋之间的相互作用,并使用图神经网络(gnn)来促进端到端学习。

具体方法

将基于深度学习的MIL模型应用于每个包中的实例以生成集合表示。然后使用贝叶斯图神经网络将这些表示聚合起来,为每个袋子提供最终的标签。

1.MIL结构

MIL框架由两个模块组成。(1)对包中的实例进行特征提取    (2)池化层:对包中的实例进行聚合,得到包的特征

包表示为使用GNN进行聚合,其目的是利用图结构指定的关系。

2.贝叶斯图网络

在许多基于图的学习问题中,观察到的图是由有噪声的数据构建的,或者是基于启发式和/或不完善的建模假设得出的。因此,观察到的图可能不能代表其节点上数据之间真正的潜在关系。

在贝叶斯图网络中,我们的输入是节点的特征(也就是包的特征),我们的预期是使得预测未知数据集得到的后验分布接近已知数据集的分布。

算法流程如下:

(1)输入:包特征,标签,观察到的图  输出:后验概率

(2)训练一个基础模型,来学习z(包级表示矩阵)的表示,并计算距离矩阵D

(3)

使用MAP优化图

其中A_s是指对称邻接矩阵,超参数α和β控制的尺度和稀疏度

(4)假设p(W)为W的高斯先验分布,用一个合适的损失函数去训练与GNN结合起来的MIL模型,去得到最佳的模型参数和W

(5)模型参数不变,计算提取的包的特征Z_v

(6)对GNN模型权重采用MC dropout去采样  得到W_s

(7)计算

实验

1.数据集

5个MIL基准数据集、20个newsgroups语料库中的文本数据集和2016年美国大选数据进行了分类实验

2.设置

  • 考虑使用池(rFF+pool) (Zaheer et al 2017)作为基础模型的逐行前馈架构。我们为这个架构配备了深度监督(Wang et al . 2018)。
  • 10倍交叉验证。
  • 一旦体系结构和其他超参数(如学习率、训练epoch数和权值衰减)固定,只用GCN层替换基本模型的最后一个线性层,形成GCN变体。提出的贝叶斯方法使用相同的体系结构。该方法确保GCN和BGCN变体具有与基本模型相同的可学习参数数量、相同的超参数和相似的训练复杂度。
  • GCN和BGCN变体之间的唯一区别是GCN使用观察到的图,而贝叶斯方法从数据中估计到的图。
  • 用启发式方法来创建观察到的图。使用一个简单的k近邻方法,基于从基本模型获得的嵌入之间的欧几里得距离。在相邻嵌入的节点之间添加边,每个节点向其最近的k个邻居添加一条边。

3.Baselines

实例空间方法:mi-SVM and MI-SVM (Andrews,Tsochantaridis, and Hofmann 2002), EM-DD (Zhang andGoldman 2001), MI-VLAD and mi-FV (Wei, Wu, and Zhou2017).

包空间方法:mi- kernel (Gartner et al . 2002), mi- Graph (Zhou, Sun, and Li, 2009)。

嵌入空间方法(这些方法使用神经网络和注意力来学习袋子的嵌入)mi-Net和mi-Net (Wang et al . 2018),注意力神经网络和门控注意力神经网络(Ilse, Tomczak, and Welling 2018)

3.实验结果

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

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

相关文章

Spark 共享变量:广播变量与累加器解析

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…

前海华海金融创新中心的工地餐点探寻

​前海的工地餐大部分都是13元一份的哈。我在前海华海金融创新中心的工地餐点吃过一份猪杂饭,现做13元一份。我一般打包后回公司吃或直接桂湾公园找个环境优美的地方吃饭。 ​我点的这份猪杂汤粉主要是瘦肉、猪肝、肉饼片、豆芽和生菜,老板依旧贴心问需要…

借助Excel实现Word表格快速排序

实例需求:Word中的表格如下图所示,为了强化记忆,希望能够将表格内容随机排序,表格第一列仍然按照顺序编号,即编号不跟随表格行内容调整。 乱序之后的效果如下图所示(每次运行代码的结果都不一定相同&#x…

【C语言指南】C语言内存管理 深度解析

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C语言指南》 期待您的关注 引言 C语言是一种强大而灵活的编程语言,为程序员提供了对内存的直接控制能力。这种对内存…

【Linux网络编程】简单的UDP网络程序

目录 一,socket编程的相关说明 1-1,sockaddr结构体 1-2,Socket API 二,基于Udp协议的简单通信 一,socket编程的相关说明 Socket编程是一种网络通信编程技术,它允许两个或多个程序在网络上相互通信&…

Kafka入门:Java客户端库的使用

在现代的分布式系统中,消息队列扮演着至关重要的角色,而Apache Kafka以其高吞吐量、可扩展性和容错性而广受欢迎。本文将带你了解如何使用Kafka的Java客户端库来实现生产者(Producer)和消费者(Consumer)的基…

STM32设计学生宿舍监测控制系统

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 随着科技的飞速发展和智能化时代的到来,学生宿舍的安全、舒适…

HTML5实现俄罗斯方块小游戏

文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面1.3 游戏结束界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/143788449 HTML5实现俄罗斯方块小游戏&#x…

自由学习记录(22)

最后再总结一下吧 虽然过程里很多细节也许我没有去管,毕竟现在就已经存在更好的解决方案了 但大致思想是了解了 A星是一种网格上的遍历方式,为了找到一个目标点和起点之间的要经过的最短节点组 里面更像是动态规划 每一次的遍历,都是当前…

UNIX网络编程-TCP套接字编程(实战)

概述 TCP客户端/服务器程序示例是执行如下步骤的一个回射服务器: 客户端从标准输入读入一行文本,并写给服务器。服务器从网络输入读入这行文本,并回射给客户端。客户端从网络输入读入这行回射文本,并显示在标准输出上。 TCP服务器…

『VUE』27. 透传属性与inheritAttrs(详细图文注释)

目录 什么是透传属性(Forwarding Attributes)使用条件唯一根节点禁用透传属性继承总结 欢迎关注 『VUE』 专栏,持续更新中 欢迎关注 『VUE』 专栏,持续更新中 什么是透传属性(Forwarding Attributes) 在 V…

408模拟卷较难题(无分类)

模拟卷特别是大题还是很有难度的,而且有些题有错,还是先把真题吃透,后面没时间的话就不整理了。 一棵树转化为二叉树,那么这棵二叉树一定为右子树为空的树 计算不同种形态,即计算6个结点的二叉树有几种形态&#xff0c…

【JavaScript】LeetCode:96-100

文章目录 96 单词拆分97 最长递增子序列98 乘积最大子数组99 分割等和子集100 最长有效括号 96 单词拆分 动态规划完全背包:背包-字符串s,物品-wordDict中的单词,可使用多次。问题转换:s能否被wordDict中的单词组成。dp[i]&#x…

安全见闻1-5

涵盖了编程语言、软件程序类型、操作系统、网络通讯、硬件设备、web前后端、脚本语言、病毒种类、服务器程序、人工智能等基本知识,有助于全面了解计算机科学和网络技术的各个方面。 安全见闻1 1.编程语言简要概述 C语言:面向过程,适用于系统…

相亲小程序(源码+文档+部署+讲解)

最近我在挖掘一些优秀的开源项目时,无意间发现了一个相当给力的系统——相亲小程序管理系统。这个系统不仅功能实用,而且代码结构清晰,易于二次开发。作为一名技术爱好者,我觉得有必要把这个好东西推荐给我的读者们。接下来&#…

RabbitMQ介绍和快速上手案例

文章目录 1.引入1.1同步和异步1.2消息队列的作用1.3rabbitMQ介绍 2.安装教程2.1更新软件包2.2安装erlang2.3查看这个erlang版本2.4安装rabbitMQ2.5安装管理页面2.6浏览器测试2.7添加管理员用户 3.rabbitMQ工作流程4.核心概念介绍4.1信道和连接4.2virtual host4.3quene队列 5.We…

aws(学习笔记第十二课) 使用AWS的RDS-MySQL

aws(学习笔记第十二课) 使用AWS的RDS 学习内容: AWS的RDS-MySQL 1. 使用AWS的RDS 什么是RDS RDS就是Relation Database Service的缩写,是AWS提供的托管关系型数据库系统。让用户能够在 AWS Cloud 云中更轻松地设置、操作和扩展关系数据库。 数据库和we…

跳房子(弱化版)

题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一。 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 n 个格子,这些格子都在同一条直线上。每个格子内…

A029-基于Spring Boot的物流管理系统的设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

Spring系统框架

Spring Framework系统架构 1.Spring核心概念 代码书写现状 耦合度偏高 解决方案 使用对象时,在程序中不要主动使用new产生对象,转换为外部提供对象 IOC(Inversion of Control)控制反转 对象的创建控制权由程序移到外部,这种思想称为控制…