2023.06.04 学习周报

news2024/11/23 13:32:24

文章目录

  • 摘要
  • 文献阅读
    • 1.题目
    • 2.背景
    • 3.方案
    • 4.本文贡献
    • 5.模型
      • 5.1 图注意力形式
      • 5.2 superGAT
    • 6.实验
    • 7.结论
  • 有限元
  • 数学建模
  • 深度学习
    • 1.高斯扩散
    • 2.原理
  • 总结


摘要

This week, I read a computer science about GNN. At present, the attention mechanism of graph neural network is not well understood, especially the graph noise problem. In this paper, self-supervised graph attention Network is proposed, which is an improved noise graph attention model. Specifically, edges are predicted using two forms of attention compatible with self-supervised tasks, whose presence and absence contain inherent information about the importance of the relationship between nodes. By encoding the edges, SuperGAT gains more attention when it comes to distinguishing errant chain neighbors. Experiments on real data sets show that the performance of the designed model is significantly better than that of the most advanced baseline. In addition, I learn the weighted residual value method of finite element, realize the shortest circuit algorithm with python, and learn and think about the principle of Gaussian diffusion equation.

本周,阅读了一篇与GNN相关的文章。目前,大家对图神经网络的注意力机制还没有很好地理解,特别是图噪声问题。对此,提出了自监督图注意网络(SuperGAT),即一种改进的噪声图注意力模型。具体来说,利用与自监督任务兼容的两种注意力形式来预测边缘,其存在和不存在包含了节点之间关系重要性的固有信息。通过对边缘进行编码,SuperGAT在区分错链邻居时获得了更多的注意力。通过在真实数据集上的实验表明,所设计模型的性能明显优于最先进的基线。此外,我学习了有限元的加权残值法内容,用python实现最短路算法以及学习并思考了高斯扩散方程的原理内容。


文献阅读

1.题目

文献链接:How to Find Your Friendly Neighborhood: Graph Attention Design with Self-Supervision

2.背景

最近,图神经网络通过聚合其邻居节点的特征来生成中心节点的特征,从而显示出显著的性能提升。然而,现实世界的图通常是有噪声的,不相关节点之间的连接(节点之间的类别不同),阻碍了GNN模型的性能。图注意力网络(GATs) , 采用自注意力机制来缓解这个问题。类似于序列数据中的注意力,图注意力捕获了图的关系重要性。换句话说,每个邻居对表示中心节点的重要性程度。GATs在节点分类方面表现出了性能的提高,但它们在不同数据集中改进的程度不一致,而且对图注意力实际学习的内容很少。

3.方案

根据明确的分析,提出了SuperGAT的两种变体:scaled dot- product (SD)和mixed GO and DP (MX),以强调GO和DP的优势。这两种图注意力关系重要性取决于图的平均度和同质性,因此生成具有不同度和同质性的合成图数据集,并分析注意力的选择对节点分类性能的影响。基于这个结果,提出了一种具有边自监督的图注意力的方法,该方法对给定的图特征最有效。在17个真实数据集上进行了实验,并表明所提出的方法可以在这些数据集上进行推广,所提出的模型性能优于基线。

4.本文贡献

1)提出了利用边信息的自监督注意力模型;
2)使用标签一致性和链接预测任务对经典的注意力形式GO和DP进行分析,发现GO在标签一致性和DP在链接预测方面表现更好;
3)提出了基于同质性和平均度的图注意力设计方法,并通过在真实数据集上的实验验证了其有效性。

5.模型

5.1 图注意力形式

在两种广泛使用的注意力机制中,原始的GAT (GO)通过以 al+1 ∈ R2^Fl+1为参数的单层前馈网络来计算系数。另一个是点积(DP)注意力,受到之前关于节点表示学习的工作的启发,它采用了相同的数学表达式用于链路预测得分。本文进一步扩展了注意力机制,除了层注意力(GO),提出了点积(DP)注意力,形式如下:
在这里插入图片描述

5.2 superGAT

提出了用节点对之间的边的存在或不存在来引导注意力的模型–SuperGAT。利用链接预测任务使用来自边的标签来自我监督注意力:对于一对 i 和 j,如果存在边,则为1,否则为0。引入带 aφ 和sigmoid函数σ,推导出 i 和 j 之间一条边的概率φij:
在这里插入图片描述
基于GO和DP注意力,采用了四种SuperGAT类型(GO、DP、SD和MX)。对于更高级的版本,用 i 和 j 之间存在边的非归一化注意力 eij 和概率 φij 来描述 SuperGATSD和SuperGATMX:
在这里插入图片描述
SuperGATSD将节点的点积除以一个维度的平方根,这可以防止一些较大的值在softmax后主导整个注意力。 SuperGATMX用sigmoid乘GO和DP注意,这种形式的动机来自于门控循环单元的门控机制。由于DP注意力的sigmoid表示边的概率,它可以轻轻地删除不太可能链接的邻居,同时隐式地分配其余节点的重要性。

将层 l 的优化目标定义为二元交叉熵损失:
在这里插入图片描述
其中:1是指标函数,在每次训练迭代中,从随机性中获得正则化效果。最后,我们结合了节点标签上的交叉熵损失、所有 L 层的自监督图注意损失和L2正则化损失,混合系数为 λE 和 λ2:
在这里插入图片描述
下图中虚线框中的部分代表了原始的GAT模型(单层):
在这里插入图片描述

6.实验

在多个真实数据集上,SuperGAT都得到了更好的结果。
在这里插入图片描述

7.结论

1)根据输入图的特征,提出了一种新的图神经结构设计来自监督图的注意力。
2)首先评估了什么是图注意学习,并分析了边缘自我监督对链接预测和节点分类性能的影响。
3)通过分析表明,两种广泛应用的注意力机制(原始GAT和点积)在同时编码标签一致性和边缘存在性方面存在困难。
4)针对这一问题,提出了几种平衡这两种因素的图注意形式,并认为应该根据输入图的平均度和同质性来设计图注意。
5)实验结果证明,图形注意力可以在各种真实世界的数据集上推广,因此设计出的模型优于其他基线模型。

有限元

通过上周对加权残值法的学习,现在我们知道试函数高度够了,怎样才能让它更加贴近真实解,所以再引入一个自由度:
在这里插入图片描述
因此两个方程,两个未知数,可以求解,引入两个自由度就如此贴近真实值:
在这里插入图片描述
再来看得到的近似解在 (0, 1) 各处的残差,有:
在这里插入图片描述
如下图所示,取的试函数越多,残差就会越小,因此我们需要有序且密集地分布的试函数:
在这里插入图片描述

数学建模

python实现最短路径算法:

import numpy as np


# 找到一条从start到end的路径
def findPath(graph, start, end, path=[]):
    path = path + [start]
    if start == end:
        return path
    for node in graph[start]:
        if node not in path:
            newpath = findPath(graph, node, end, path)
            if newpath:
                return newpath
    return None


# 找到所有从start到end的路径
def findAllPath(graph, start, end, path=[]):
    path = path + [start]
    if start == end:
        return [path]

    paths = []  # 存储所有路径
    for node in graph[start]:
        if node not in path:
            newpaths = findAllPath(graph, node, end, path)
            for newpath in newpaths:
                paths.append(newpath)
    return paths


# 查找最短路径
def findShortestPath(graph, start, end, path=[]):
    path = path + [start]
    if start == end:
        return path

    shortestPath = []
    for node in graph[start]:
        if node not in path:
            newpath = findShortestPath(graph, node, end, path)
            if newpath:
                if not shortestPath or len(newpath) < len(shortestPath):
                    shortestPath = newpath
    return shortestPath


# 以字典的形式构建有向图
graph = {'A': ['B', 'C', 'D'],
         'B': ['E'],
         'C': ['D', 'F'],
         'D': ['B', 'E', 'G'],
         'E': [],
         'F': ['D', 'G'],
         'G': ['E']}

onepath = findPath(graph, 'A', 'G')
print('一条路径:', onepath)

allpath = findAllPath(graph, 'A', 'G')
print('\n所有路径:', allpath)

shortpath = findShortestPath(graph, 'A', 'G')
print('\n最短路径:', shortpath)

查看程序输出:

一条路径: ['A', 'C', 'D', 'G']

所有路径: [['A', 'C', 'D', 'G'], ['A', 'C', 'F', 'D', 'G'], ['A', 'C', 'F', 'G'], ['A', 'D', 'G']]

最短路径: ['A', 'D', 'G']

深度学习

1.高斯扩散

高斯扩散是一种常用的大气污染物传输模型,基于高斯分布原理,可以用于描述大气中污染物的传播和扩散过程。该模型假设大气中的污染物传输是在平稳、均匀的大气环境条件下进行的。

2.原理

1)高斯分布,也称为正态分布,是一种常见的连续概率分布。它的特点是在分布的中心具有一个峰值,两侧呈对称的形状。高斯分布的概率密度函数可以用以下公式表示:
在这里插入图片描述
其中,μ是均值,σ是标准差,x是变量。
2)根据高斯分布的特性,可以将大气中污染物的传输过程近似为高斯扩散过程。假设污染物的源释放在某一点上,根据风向和风速等大气运动参数,可以计算出不同位置处的污染物浓度。根据高斯扩散模型,离源点越远的位置,污染物浓度逐渐减小,呈现出高斯分布的形状。
3)高斯扩散模型中的关键参数是扩散系数,它描述了污染物在大气中的传输和扩散速度。扩散系数受到风速、大气稳定度等因素的影响。一般来说,风速越大、大气稳定度越差,污染物传输的速度越快,扩散范围越广。
4)高斯扩散模型基于一些简化假设,例如,假设大气环境是均匀的、平稳的,并且污染物的源释放是稳定的。实际情况中,大气环境具有复杂的非均匀性和动态性,还会受到地形、建筑物等因素的影响。因此,高斯扩散模型在复杂的大气环境中的应用存在一定的限制。


总结

通过本周对有限元中加权残值法的补充学习,我体会到有限元的本质就是系统化地定义试验函数T和试函数以高效地求解试验函数中的未知系数。在有限元中,有限元网格就提供了一个高效且系统化建立试函数和试验函数的方法。此外,还补充学习了高斯扩散的原理内容,以及用python实现最短路径算法。下周,我将继续思考论文的大致思路,争取有所突破。

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

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

相关文章

Go Web下GORM框架使用(二)

〇、前言 本文将会写一个前后端分离的的小项目&#xff0c;本文将会只实现后端。 一、定义全局变量与模型 本文需要一个数据库&#xff0c;因此将这个数据库定义为全局变量将会非常轻松。 var (DB *gorm.DB )type Todo struct {ID int json:"id"Title s…

【C#图解教程】第六章 方法(下)

输出参数 函数的输出只有返回值有时不太够&#xff0c;此时需要用到输出参数&#xff0c;用修饰词out声明 输出参数的要求与引用参数类似&#xff0c;需要是变量&#xff0c;此外&#xff0c;输出参数也是实参的别名&#xff0c;指向堆中同一对象。 输出参数与引用参数的不同在…

【实用篇】Elasticsearch03

文章目录 分布式搜索引擎031.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小结 1.3.RestAPI实现聚合1.3.1.API语法1.3.2.业务需求1.3.3.业务实现 2.自动补全2.1.拼音分词器2.2.自定义分词器2.3.…

【人工智能】— Support Vector Machines 支持向量机

【人工智能】— Support Vector Machines 支持向量机 支持向量机概述支持向量机支持向量机原理介绍分类间距&#xff08;Classification Margin&#xff09; 支持向量机概述 找到使间隔最大化的超平面>B1比B2更好 支持向量机 研究起因&#xff1a;如何找到最优的切分面 分…

制作酷炫可视化大屏利器--分享10种比较流行的开源免费的图表库

在开发可视化项目的过程中往往涉及到可视化图表, 多酷炫的报表, 大屏, 都用了非常多的图表, 接下来我和大家分享一些比较流行的开源免费的图表库. 分享10种比较流行的开源免费的图表库 1&#xff0c;Frappe Charts2&#xff0c;Recharts3&#xff0c;Protovis4&#xff0c;dygr…

Docker快速入门(分分钟钟就能上手)

Docker的思想 集装箱&#xff1a;会将所有需要的内容放到不同的集装箱中&#xff0c;谁需要这些环境就直接拿到这个集装箱就可以了。标准化&#xff1a; 运输的标准化&#xff1a;Docker有一个码头&#xff0c;所有上传的集装箱都放在了这个码头上&#xff0c;当谁需要某一个环…

设计模式-01.设计思想

设计思想 此系列文章非本人原创&#xff0c;是学习笔记。 下面讲一些常见的设计思想 基于接口而非实现编程 这个原则非常重要&#xff0c;是一种非常有效的提高代码质量的手段&#xff0c;在平时的开发中特别经常被用到。 如何解读原则中的“接口”二字&#xff1f; “基于…

python面向对象操作1(速通版)

目录 一、高阶函数 1.lambda函数 2.lambda函数注意事项 3.map用法 4.map和lambda函数配合 二、reduce函数 1.reduce基本应用 2.reduce和匿名函数配合 三、filter()函数 1.简单用法 2.高阶应用 四、列表排列方法&#xff08;key和lambda问题&#xff09; 1.正常排序…

Node服务器和常见模块

1 Node服务器开发 2 fs模块-文件系统 3 event模块-事件处理 4 认识二进制和buffer 5 Buffer的创建方式 6 Buffer的源码解析 node 的fs模块操作&#xff1a; 这里主要讲node如何进行读取文件&#xff0c;操作文件。服务器该有的操作node都有。 node的fs读取文本文件内容的d…

自定义starter

第一步、创建 xxx-spring-boot-starter 的spring Initializr模块 第二步、删除不需要的内容&#xff08;启动类、除下面spring-boot-starter的其它依赖&#xff0c;maven编译插件&#xff09; <dependency><groupId>org.springframework.boot</groupId><…

linux理解软硬链接

软硬连接 在linux下面链接文件有两种&#xff0c;一种是类似window的快捷方式功能的文件&#xff0c;可以让你快速链接到目标文件&#xff08;或目录&#xff09;&#xff0c;叫做软链接&#xff0c;另一种则是通过文件系统的inode链接来产生新的文件名&#xff0c;而不是产生…

Linux 常用开发工具(yum、vim)

绪论 耐心是一切聪明才智的基础。—— 柏拉图。本章进入到Linux下的一些常用的工具&#xff0c;这些工具能帮助我们去更好的使用Linux操作系统。 话不多说安全带系好&#xff0c;发车啦&#xff08;建议电脑观看&#xff09;。 附&#xff1a;红色&#xff0c;部分为重点部分&a…

[MAUI程序设计] 用Handler实现自定义跨平台控件

文章目录 Handler与Xamarin.Forms实现的区别为什么要用Handler代替Renderer解耦生命周期管理更细粒度的控制 用Effect来实现呢&#xff1f;自定义手势监听控件在各平台上实现TouchRecognizeriOS中的实现Android中的实现Windows中的实现 创建控件使用控件最终效果项目地址 今天来…

使用 Kubeadm 和 CRI-O 在 Rocky Linux 8 上安装 Kubernetes 集群

在 Rocky Linux 8 上安装 Kubernetes 集群。毫无疑问&#xff0c;Kubernetes 将继续改变我们大规模部署和管理业务应用程序的方式。无论用于部署应用程序的模型是手动还是通过 CI/CD 管道&#xff0c;Kubernetes 仍然是处理编排、管理和扩展应用程序的最佳选择。 对于那些不知…

一劳永逸的方法解决函数scanf报错问题

目录 scanf报错示例 代码 报错提醒 报错翻译 解决方案1&#xff08;不建议&#xff09;:将scanf换成scanf_s&#xff1b; 解决方案2&#xff08;临时解决&#xff09;&#xff1a; 解决方案3&#xff08;建议&#xff09;&#xff1a; 方法1&#xff08;建议&#xff09…

javaScript蓝桥杯----资讯接口

目录 一、介绍二、准备三、目标四、代码五、知识点1.res.end()2.res.end与res.send 六、完成 一、介绍 随着技术的发展&#xff0c;很多前端工程师已经不满足于只做诸如页面布局和交互这些开发工作了&#xff0c;很多人将目光逐渐转向了“大前端”范围&#xff0c;其中就包括不…

Vim学习笔记【Ch03】

Vim学习笔记 系列笔记链接Ch03 Searching FilesVim中打开和编辑文件用Find进行文件搜索用grep进行文件内搜索:vim搜索:grep搜索 通过Netrw浏览文件Fzffzf和ripgrep安装fzf配置fzf语法查找文件在文件内部查找用Rg代替Grep在多个文件中搜索和替换 小结 系列笔记链接 Ch00&#x…

【论文速览】根据人脑fMRI信号重建图像 Image Reconstruction from human brain activity

文章目录 前言文章一研究背景主要方法部分实验结果总结与思考参考资料 文章二研究背景主要方法部分实验结果总结与思考 前言 人类的视觉神经系统对于真实世界的视觉刺激有着非凡的感知与理解能力&#xff0c;比如我们能够准确地识别物体距离和三维几何关系等&#xff0c;这是当…

2023/6/4总结

CSS的学习&#xff1a; 2023-06-01 19-57-46-649 移动开发流式布局&#xff1a; 流式布局&#xff0c;是根据百分比布局&#xff0c;因为手机的尺寸会不一样&#xff0c;所以利用百分比布局可以很好的解决缩放以及尺寸问题&#xff1a; 这是跟着视频做的一个案例&#xff1a;…

Lecture 8 Deep Learning for NLP: Recurrent Networks

目录 Problem of N-gram Language Model N-gram 语言模型的问题Recurrent Neural Network(RNN) 循环神经网络RNN Language Model: RNN 语言模型Long Short-Term Memory Model (LSTM) 长短期记忆模型&#xff08;LSTM&#xff09;Gating Vector 门向量Forget Gate 忘记门Input G…