论文《Mixture of Weak Strong Experts on Graphs》笔记
【Mowst 2024 ICLR】论文提出了一种新的图神经网络架构,称为Mixture of weak and strong experts(Mowst),通过将轻量级的多层感知机(MLP)作为弱专家和现成的GNN作为强专家相结合,以处理图中的节点特征和邻域结构。引入了基于弱专家预测结果离散度的“置信度”机制,以适应不同目标节点的专家协作。论文分析了置信函数对损失的影响,并揭示了训练动态,表明训练算法通过软分割图来鼓励专家的专门化。Mowst易于优化,表达能力强,计算成本与单一GNN相当,在多个节点分类基准测试中显示出显著的准确性提升。
发表在2024年ICLR会议上,作者学校:Meta AI和University of Rochester,引用量:2。
ICLR会议简介:全称International Conference on Learning Representations(国际学习表征会议),深度学习顶会。
查询会议:
-
会伴:https://www.myhuiban.com/
-
CCF deadline:https://ccfddl.github.io/
原文和开源代码链接:
- paper原文:https://openreview.net/forum?id=wYvuY60SdD
- 开源代码:https://github.com/facebookresearch/mowst-gnn
0、核心内容
现实的图包含(1)丰富的节点自特征和(2)邻域的信息结构,在典型的设置中由GNN共同处理。
我们建议通过弱专家和强专家的混合(Mowst)来解耦这两种模式,其中弱专家是一个轻量级的多层感知机(MLP),而强专家是一个现成的GNN。
为了使专家的协作适用于不同的目标节点,我们提出了一种基于弱专家预测日志的离散度(base on the dispersion of the weak expert’s prediction logits)的“置信度”机制(“confidence” mechanism)。当节点的分类依赖于邻域信息,或弱专家的模型质量较低时,强专家在低置信度区域被有条件地激活。通过分析置信函数对损失的影响,我们揭示了有趣的训练动力学:我们的训练算法通过有效地生成图的软分裂来鼓励每个专家的专门化。此外,我们的“confidence”设计对强专家施加了一个可取的偏好,以受益于GNN更好的泛化能力。
Mowst易于优化,并实现了强大的表达能力,其计算成本与单一GNN相当。根据经验,Mowst在4个主干GNN架构上,在6个标准节点分类基准上显示了显著的精度提高,包括同配图和异配图。
(引自摘要)

图:Mowst模型的总体设计框架
整个系统由一个弱专家(weak expert)、一个强专家(strong expert)和一个门控模块组成(gating module)。由于门控模块的协调,强弱专家之前出现了不同的协作行为。门控函数可以手动定义,也可以自动学习(通过一个额外的紧凑的MLP),根据弱专家预测日志的离散度计算置信分数(base on the dispersion of only the weak expert’s prediction logits)。置信度得分在不同的目标节点上,根据专家在局部图区域上的相对强度而不同。分数还直接控制了每个专家自己的日志如何组合到系统的最终预测中。
1、先验知识
① base on the dispersion of only the weak expert’s prediction logits是什么?
base on the dispersion of only the weak expert’s prediction logits指的是基于弱专家(在这个模型中是一个轻量级的多层感知器,MLP)的预测结果的分散程度。这里的“分散程度”(dispersion)是一个统计学术语,用于衡量一组数值的分布范围或离散程度。在机器学习模型的上下文中,它可以用来衡量模型预测的不确定性或信心水平。
具体来说,在Mowst模型中,弱专家(MLP)首先对节点进行预测,生成一组预测结果(logits),这些结果可以被视为一个概率分布,表示模型对不同类别的置信度。然后,模型计算这个概率分布的分散度,这通常可以通过方差或熵等统计量来衡量。
- 如果分散度较高,意味着模型对其预测不是很有信心,因为概率分布比较分散。
- 如果分散度较低,意味着模型对其预测非常有信心,因为概率分布比较集中。
这个分散度被用来计算置信度(confidence)分数,该分数决定了在最终预测中,弱专家的预测结果应该被赋予多少权重。如果置信度分数较高,表示弱专家的预测被信任,那么它的预测结果将在最终的模型输出中占据较大比重;如果置信度分数较低,则表示强专家(GNN)的预测将被更多地依赖。
这种方法允许模型动态地根据每个节点的特定情况来调整不同专家的协作方式,从而提高整体模型的性能和泛化能力。
② The training should minimize the expected loss incurred in inference(训练节点应该尽量减少推理过程中产生的预期损失),如何理解这句话?
这句话的意思是,在训练机器学习模型时,应该尽量减少在推理(Inference)阶段预期会发生的损失(loss)。这里的“损失”通常指的是模型预测值与实际值之间的差异,这种差异可以通过特定的损失函数来量化。在机器学习中,模型训练的目标就是通过优化算法调整模型的参数,使得这个损失函数的值最小化。
简单来说,这句话强调了模型训练的一个重要目标:确保模型在实际应用中(即在推理阶段)能够尽可能准确地预测或分类,从而减少预测错误或分类错误带来的损失。
③ L M o w s t L_{Mowst} LMowst is fully differentiable( L M o w s t L_{Mowst} LMowst是完全可微分的),如何理解这句话?
在数学和机器学习领域,如果一个函数在某点可微分,那么它在该点的导数存在,这意味着函数在该点的局部可以用切线来近似。当一个函数是“完全可微分”的,这通常意味着它不仅在某个点可微分,而且在整个定义域内都可微分,并且其导数也是连续的。
在深度学习的上下文中,如果一个模型或其组成部分是完全可微分的,这意味着可以通过反向传播算法来计算模型参数的梯度,这是训练过程中优化模型的关键步骤。完全可微分的模型允许使用标准的梯度下降方法来更新参数,从而最小化损失函数。
④ 什么是standard (n-1)-simplex, S n − 1 S_{n-1} Sn−1?
在机器学习和统计学中,标准(n-1)单纯形(standard (n-1)-simplex)经常用来表示概率分布,因为概率分布的和必须为1,且每个概率值必须是非负的。在这种情况下, S n − 1 S_{n-1} Sn−1可以用来表示一个n类分类问题中的概率分布,其中 p i p_i pi表示第i类的预测概率,且所有概率之和为1。
2、引言
① 研究发现:图的不同部分可能出现不同的模式——同配模式和异配模式。
参考论文:
- 局部同配和局部异配区域可能在一个图中共存:《Graph Neural Networks with Heterophily》
- 根据局部连通性,图信号可以以不同的方式混合,通过节点级分类进行量化:《Breaking the Limit of Graph Neural Networks by Improving the Assortativity of Graphs with Local Mixing Patterns》
- 图卷积迭代的次数应该根据每个目标节点周围邻域的拓扑结构进行调整:《Node Dependent Local Smoothing for Scalable Graph Learning》
② 现有GNN的局限性:许多被广泛使用的GNNs都有一个基本的局限性,因为它们是基于图的全局属性而设计的。
例如:
- GCN和SGC使用全局拉普拉斯算子进行信号平滑;
- GIN在所有目标节点上模拟具有相同k的k-hop子图同质检验;
- GraphSAGE和GAT聚集了来自k跳邻居的特征,同样具有全局k。
③ 结论:通过在每个节点的基础上进行多样化对待来提高GNN的能力有很大的潜力。
④ 模型能力可以通过两种方式得到增强:
1)为单个GNN开发更高级的层架构,目的是使模型能够自动适应不同目标节点的独特特征。
- 《How Attentive are Graph Attention Networks?》
- 《Finding the missing-half:Graph complementary learning for homophily-prone and heterophily-prone graphs》
- 《On the expressive power of geometric graph neural networks》
2)将现有的GNN模型纳入专家混合(Mixture-of-Experts,MoE)系统,考虑到MoE有效地改进了许多领域的模型能力。
- 《Adaptive mixtures of local experts》
- 《Graphdive:Graph classification by mixture of diverse experts》
- 《Mixture of experts:a literature survey》
- 《GLaM:Efficient scaling of language models with mixture-of-experts》
- 《GShard:Scaling giant models with conditional computation and automatic sharding》
⑤ 本文的研究
在这项研究中,我们遵循MoE的设计理念,但后退一步,混合了一个简单的多层感知机(MLP)和一个现成的GNN——这是传统MoE中看到的故意不平衡的组合。
其主要动机是MLP和GNN模型可以专门解决图中两种最基本的模态:节点本身的特征及其邻域的结构。
MLP虽然比GNN弱得多,但是在各种情况下都可以发挥重要作用。
- 例如,在节点特征相似的同型区域,利用MLP关注单个节点的丰富特征可能比通过GNN层聚合邻域特征更有效。
- 相反,在高度异配的区域,信息传递可能会引入噪声,可能造成的危害大于利。(refer to《Beyond homophily in graph neural networks:Current limitations and effective designs》)
MLP专家可以帮助“清理”GNN的数据集,使强大的专家能够专注于更复杂的节点,这些节点的邻域结构为学习任务提供了有用的信息。
3、Mowst模型
① 整体模型
关键的挑战是设计混合模块,考虑到不平衡专家之间的微妙互动。
- 一方面,弱专家应谨慎激活,以避免准确性下降。
- 另一方面,对于能够真正被MLP掌握的节点,弱专家应该做出有意义的贡献,而不是被其更强的对应专家所掩盖。

算法1是模型的推理(预测)阶段,算法2是模型的训练阶段。在训练阶段,训练节点应该尽量减少推理过程中产生的预期损失。
损失函数:

训练策略:
- 交替优化:通过交替固定一个专家的参数并优化另一个专家的参数,可以确保每个专家都能在不影响对方的情况下充分优化自己。
- 置信度学习:如果置信度函数C是可学习的,那么在训练过程中也会更新它的参数。
总的来说,Mowst的训练过程是一个迭代的、交替优化的过程,旨在最小化整体损失,同时通过置信度机制来平衡两个专家的贡献,从而提高模型在节点分类任务中的性能。
② 协作行为
当优化公式1中的训练损失时,置信度C会在一些节点上积累,而在其他节点上减少。C的不同分布对应于两位专家可以专门化和协作的不同方式。
下面,我们从理论上揭示了控制C值的三个因素:自我特征信息的丰富度、两位专家之间的相对强度,以及置信函数的形状。对专家的相对强度的分析也揭示了为什么基于confidence的门是有偏差的。由于C和MLP的损失都是MLP预测 p p p的函数,我们分析了在给定一个固定GNN专家的情况下,最小化 L M o w s t L_{Mowst} LMowst的最优 p p p。

定理2.4:

定理2.4是论文中提出的一个理论结果,它描述了在特定的优化问题中,如何根据置信度函数C和损失函数L的性质来确定模型参数的最优值。
这个定理是关于Mowst模型中专家(MLP和GNN)的协作行为和训练动态的分析。
这个定理的直观理解是:
- 当MLP的预测损失大于GNN的平均预测损失时,MLP应该完全不参与预测,这意味着我们完全信任GNN的预测。
- 当MLP的预测损失等于GNN的平均预测损失时,MLP可以参与预测,但最终的预测可能完全由MLP或GNN决定。
- 当MLP的预测损失小于GNN的平均预测损失时,MLP应该参与预测,并且其预测应该接近最优预测,或者在置信度函数C的约束下足够接近 L μ α L_μ^α Lμα的水平集。
这个定理为Mowst模型的训练提供了理论支持,说明了如何通过调整MLP和GNN的协作来优化整体模型的性能。它揭示了置信度函数C如何影响模型在不同情况下的预测行为,以及如何通过训练动态来调整这种协作。
③ Mowst的一种变体

4、实验部分



5、参考资料
- kimi:https://kimi.moonshot.cn/
- 作者主页:https://hanqingzeng.com/
相关文章:
论文《Mixture of Weak Strong Experts on Graphs》笔记
【Mowst 2024 ICLR】论文提出了一种新的图神经网络架构,称为Mixture of weak and strong experts(Mowst),通过将轻量级的多层感知机(MLP)作为弱专家和现成的GNN作为强专家相结合,以处理图中的节…...
【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】
【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】 1、前言说明2、流程说明3、现场提交(线下)4、网上提交1-起诉书样例2-起诉书编写(1)原告信息:&…...
数据结构(Day14)
一、学习内容 结构体 概念 引入:定义整数赋值为10 int a10; 定义小数赋值为3.14 float b3.14; 定义5个整数并赋值 int arr[5] {1 , 2 , 3 , 4 ,5}; 定义一个学生并赋值学号姓名成绩 定义一个雪糕并赋值名称产地单价 问题:没有学生、雪糕 数据类型 解决&…...
Paragon NTFS for Mac和Tuxera NTFS for Mac,那么两种工具有什么区别呢?
我们在使用Mac系统读取U盘的过程中往往会遇到一个问题,那就是U盘插进电脑无法显示,或者只能读取不能编辑。出现这种情况的原因就一般是格式错误。 很多小伙伴在解决这种问题的时候会选择使用U盘读写工具,那么哪一种读写工具比较好呢…...
HashTable结构体数组实现
写了个哈希表,底层逻辑基于结构体数组,核心结构:HashNode,结构外壳:HashTable_R,冲突处理以后会加的(QwQ)~ 目前代码: #ifndef PYIC_X #define PYIC_Xunsigned int PYIC_Hash(unsigned int Val, unsigned int Mov) {unsigned int Ht[4] { …...
Python 管理 AWS ElastiCache 告警
在 AWS 环境中,监控和管理 ElastiCache 集群的性能是至关重要的。本文将介绍如何使用 Python 和 AWS SDK (boto3) 来自动创建和删除 ElastiCache 集群的 CloudWatch 告警。我们将分两部分来讨论:创建告警和删除告警。 第一部分:创建 ElastiCache 告警 首先,让我们看看如何…...
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
摘要 为了克服常规PID控制方法在无人机俯仰姿态控制中的不足,本研究设计了一种基于模糊自适应PID控制的控制律。通过引入模糊控制器,实现了对输入输出论域的优化选择,同时解决了模糊规则数量与控制精度之间的矛盾。仿真结果表明,…...
[数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别
重要说明:数据集里面有2/3是增强数据集,请仔细查看图片预览,确认符合要求在下载,分辨率均为640x640 数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件…...
确保 App 跟踪透明度权限:Flutter 中的实践
确保 App 跟踪透明度权限:Flutter 中的实践 在数字广告领域,用户隐私保护已成为一个重要议题。随着 iOS 14 的发布,Apple 引入了 App Tracking Transparency (ATT) 框架,要求开发者在跟踪用户行为以提供个性化广告之前必须获得用…...
李沐 过拟合和欠拟合【动手学深度学习v2】
模型容量 模型容量的影响 估计模型容量 难以在不同的种类算法之间比较,例如树模型和神经网络 给定一个模型种类,将有两个主要因素: 参数的个数参数值的选择范围 VC维...
Go Testify学习与使用
文章目录 1. **安装 Testify**2. **Testify 的主要功能**3. **Testify 使用示例**3.1 断言 (Assertions)3.2 使用 require3.3 使用 Mock3.4 测试套件 (Test Suites) 4. **Testify 的其他功能**5. **总结**常用资源 Testify 是 Go 语言中一个常用的单元测试库,它为标…...
Word中引用参考文献和公式编号的方法
文章目录 应用参考文献对于单个文献引用多于多个文献同时引用 公式编号手动编号自动编号 参考: 应用参考文献 对于单个文献引用 word中的参考文献用交叉应用实现。 首先,将参考文献编号: 然后,在需要引用的地方用交叉引用插入…...
[数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3548 标注数量(xml文件个数):3548 标注数量(txt文件个数):3548 标注…...
Vision Transform—用于大规模图像分类的Transformers架构
VIT — 用于大规模图像识别的 Transformer 论文题目:AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE。 官方代码:https://github.com/google-research/vision_transformer 引言与概述 Vision Transformer(ViT&…...
内核驱动开发之系统移植
系统移植 系统移植:定制linux操作系统 系统移植是驱动开发的前导,驱动开发是系统运行起来之后,在内核中新增一些子功能而已 系统移植就四个部分: 交叉编译环境搭建好bootloader的选择和移植:BootLoader有一些很成熟…...
前端在网络安全攻击问题上能做什么?
前端在Web网络安全攻击问题上扮演着至关重要的角色,可以通过多种措施来增强Web应用的安全性。以下是前端在应对Web网络安全攻击时可以采取的具体行动: 1. 输入验证和过滤 严格验证用户输入:前端应对所有用户输入进行严格的验证,…...
IntelliJ IDEA 创建 HTML 项目教程
传送门 IntelliJ IDEA 是 JetBrains 提供的一款强大且多功能的集成开发环境(IDE),不仅可以用于 Java 开发,还支持多种其他编程语言和技术,包括 HTML、CSS 和 JavaScript 等前端开发工具。本文将带你逐步了解如何使用 IntelliJ IDEA 创建一个 HTML 项目,并配置适合前端开…...
YOLOv9改进系列,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
摘要 轻量级视觉变换器(ViTs)在资源受限的移动设备上表现出优越的性能和较低的延迟,相比之下轻量级卷积神经网络(CNNs)稍显逊色。研究人员发现了许多轻量级 ViTs 和轻量级 CNNs 之间的结构联系。然而,它们在块结构、宏观和微观设计上的显著架构差异尚未得到充分研究。在…...
VBS学习1 - 语法、内置函数、内置对象
文章目录 概述执行脚本语法转义字符文本弹框msgbx定义变量dim(普通类型)定义接收对象set字符拼接&用户自定义输入框inputbox以及输入判断ifelse数组(参数表最大索引,非数组容量)有容量无元素基于元素确定容量 循环…...
11 vue3之插槽全家桶
插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的<slot></slot>标签。 匿名插槽 1.在子组…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
