当前位置: 首页 > news >正文

济南网站建设培训班邢台企业做网站找谁

济南网站建设培训班,邢台企业做网站找谁,泸州网站公司,做网站 怎么赚钱Graph Neural Network(GNN)图神经网络#xff0c;是一种旨在对图结构数据就行操作的深度学习算法。它可以很自然地表示现实世界中的很多问题#xff0c;包括社交网络#xff0c;分子结构和交通网络等。GNN旨在处理此类图结构数据#xff0c;并对图中的节点和边进行预测或执…Graph Neural Network(GNN)图神经网络是一种旨在对图结构数据就行操作的深度学习算法。它可以很自然地表示现实世界中的很多问题包括社交网络分子结构和交通网络等。GNN旨在处理此类图结构数据并对图中的节点和边进行预测或执行任务。 GNN中节点的信息 通过节点和节点之间连接的边 在节点之间传递。其中每个节点都可以从其和它相邻的节点中接收信息并相应地更新自己的信息这个过程通常会重复多次以使信息充分地沿着边流动和在节点出聚合。然后这些更新的节点可以用于对节点的分类(node classification)、节点之间边的预测(两个节点之间是否存在边)、对于整个图的分类、生成一个新的图比如VAE或GAN等等。这些已经应用于化学社交网络和推荐系统等各个领域。 1.Graph 图 在计算机科学中图是一种抽象的数据类型旨在实现数学图论领域中的无向图和有向图概念。图类型的数据结构由一组有限的可能是可变的顶点也称为节点或点组成对于无向图这些顶点在一组无序对内对于有向图这些顶点在一组有序对内。这些对被称为边也称为链接或线对于有向图这些对也被称为边但有时也称为箭头或圆弧。顶点可以是图形结构的一部分也可以是由整数索引或引用表示的外部实体。 例如我们使用图来表示社交网络如下图所示图中的每个节点代表一个人每两个节点之间的边则代表了这两个人互相认识比如Person A 分别和Person B和Person C是好朋友B又和D是好朋友但是C和D却互不认识。如果这条边是无向的可以表示较为平等的关系比如友谊同学等如果是有向的可以用来表示上下级或是师生等关系。 2.Graph neural network 图神经网络 图神经网络是一类用于处理可以表示为图的数据的人工神经网络。在A Comprehensive Survey on Graph Neural Networks https://arxiv.org/pdf/1901.00596.pdf 中提出了将图神经网络进一步地分为Recurrent graph neural networks (RecGNNs)递归图神经网络、Convolutional graph neural networks (ConvGNNs)卷积图神经网络、Graph autoencoders (GAEs)图自动编码器 和 Spatial-temporal graph neural networks (STGNNs)时空图神经网络。 2.1 Recurrent graph neural networks (RecGNNs)循环图神经网络: 它是传统图神经网络的一种衍生具有循环结构。循环图神经网络用来处理一系列图结构的数据在这个过程中图随着时间而改变。在RecGNN中图结构和图节点在每个时间步上面更新并且更新后的信息用于做预测或者完成一些其他任务。循环图神经网络和传统的图神经网络主要区别是循环图神经网络在一个时间步上处理图一次并且会用之前时间步的信息来更新图。其实就是递归神经网络和普通网络的区别然后传入的数据为图结构。 递归神经网络相关介绍可以参看之前的文章 https://mp.weixin.qq.com/s/tvvXyCEox-BA-Ox65v1IXQ 2.2 Convolutional graph neural networks (ConvGNNs)卷积图神经网络 它结合了卷积运算来处理图结构数据。ConvGNN旨在用于具有固定、已知结构的图其目标是学习节点和边的表示这种表示对于他们在图中的相对位置不变。 在ConvGNN中卷积运算应用于图结构和节点特征以及更新节点和边。被更新的节点和边被传入下一层在下一层中重复该过程。通过堆叠多层卷积层ConvGNN可以学习图中节点和边之间越来越复杂的关系。 ConvGNN中的卷积运算被设计为置换不变的这意味着无论图中节点和边的顺序如何输出都是相同的。这使得ConvGNN非常适合用于节点分类、连接预测和图生成等任务。这类任务中图的结构是固定的但是节点特征可能会发生变化。 ConvGNNs已应用于各种现实世界的问题例如药物探索、蛋白质折叠和社交网络分析。他们特别适合需要从图结构数据中提取局部低维特征的任务因为卷积运算旨在捕获节点和边之间的局部关系。 一个具体的例子如下图Graph G为一个图结构数据它有ABCDE五个节点这五个节点每个节点有一个自己的特征向量这里是1x3的一个向量那么特征矩阵如图中Feature vector X 所示对于每两个节点之间是否存在边相连我们用邻接矩阵来表示如下图中的Adjacency matrix A因为整个图的边是没有方向的所以这个图的邻接矩阵为对称矩阵A --E 和 E -- A对应的位置为1而不相关的节点A --B 则为0同时这个图中没有一个节点存在self-loop所以它的邻接矩阵的对角线上的值全为0A–A为0从图中我们还可以发现有些节点与周围的节点产生的联系比较强而有些节点却很少我们用度矩阵来表示节点的这种属性图Degree matrix D中可以看到E它与周围四个点产生了连接所以它的degree为4而A只与E这一个节点产生连接所以A的degree为1。 那么这些节点是如何互相影响的呢也就是每个节点的特征如何通过边来影响到周围节点的特征的这个过程简易地表示为下图。通过将邻接矩阵和特征矩阵进行叉乘在邻接矩阵中A只与E产生连接所以相乘后A从临近节点得到的特征全部来自于E节点。对于B它和D、E相连那它从临近节点得到的特征来自于D和E这里来自D和E的权重均为1也就是B受D和E的特征影响一样。 对于上面这个过程我们可以看到一些不合理的地方例如缺少了来自节点自身的特征对于上图中得到的A结果矩阵也应该包括节点A的特征才合理而不是只包含了来自于E节点的特征。 对于这个问题我们可以通过向邻接矩阵A添加一个单位矩阵I来解决得到新的邻接矩阵Ã。 当lambda1(来自自身的特征和来自相连节点的特征一样重要)Ã A I。注意到这里我们可以将lambda作为一个可以训练的参数现在这里给lambda赋值为1得到新的邻接矩阵Ã在新的邻接矩阵中就有self-loop了。 另外一个问题是我们从相连的节点中的到特征不应该是简单的直接相加比如对于B节点直接相加从D和E节点的特征以形成自己的特征不合理假如我们使用直接求和的方式那么对于Degree很大的节点也就是和周围节点连接比较强的时候会造成该节点得到的值很大而deree很低的节点得到的矩阵中值却很小并且会在后期产生梯度爆炸或者消失。所以或许我们可以采取求均值或者使用更好的方法。此外神经网络似乎对输入数据的规模很敏感。因此我们需要对这些向量进行归一化以消除潜在问题。 对于矩阵缩放通常乘上一个对角矩阵。在这个例子中我们试图去采取对特征求和再求均值更为数学的表达就是说根据节点的degree来缩放向量矩阵X。对于单个节点如果与它连接的节点越多那么每个节点对它造成的影响越小如果它只与一个节点相连那么与它相连的那个节点就会对这个节点造成较大的影响。这个就像当你心里只在乎一个人的时候那个这个人就很容易影响到你的心理状态当你拥有大爱心怀的是全地球上的居民那么单个人对你的影响就小。 如下图中新的邻接矩阵中包含self-loop那么对于这个新的graph中的每一个节点的degree都加1然后取倒数就是与之相连的节点对该节点的平均权重。例如节点A它与自身和E相连那么degree为2所以对于求和得到的矩阵需要除以2对于E它的degree为5那么对于它的求和得到的矩阵需要除以5。 因此通过将新的邻接矩阵和特征矩阵相乘的结果 与 新的度矩阵的逆矩阵相乘得到所有相邻的特征向量包括它自己的平均。 上图中的邻接矩阵Ã为对称矩阵这意味着它的行数和列数相同上图的过程仅是对矩阵中的每一行进行了处理那么直观地来说应该对每一列也做相同地处理。那么上图的过程中就需要再乘一个矩阵进行列变换公式由原来的的 D ̃^(-1) A ̃X 变为 D ̃^(-1) A ̃D ̃^(-1) X 示意图如下图所示 这种新的缩放给我们加权均值。我们这里现在在做的是放更多的权重在那些有更低的degree的节点上以减少拥有高degree节点的影响。这个加权均值的想法是我们假设低degree的节点对他们的对它们相连的节点有更大的影响而高degree节点产生低的影响因为它们将影响分散给太多的邻居了。就像退休在家的父母当他们渐渐地脱离了与集体的连接家人变成了他们主要的连接点所以他们会花较多的时间在家人身上家人也因此会比之前更受影响这个影响的性质取决于退休父母的属性特征比如乐观积极会照顾家人又或是爱攀比爱面子三天两头折腾子女等等。 虽然对行和列都进行了处理也就是对于邻接矩阵的左右两边都乘以了 D ̃^(-1) 这个过程相当于归一化了两次所以我们这里应该使用 D ̃^(-1/2) 如下图而不是D ̃^(-1)即公式 D ̃^(-1/2) A ̃D ̃^(-1/2) X 。 综上所述一个2层的GCN的前向模型的公式如下 其中 网络层的数量决定了可以获取的最远的节点特征例如只有一层GCN那么每个节点仅可以获得来自它相邻节点的特征。收集信息的过程是相互独立的同时适用于所有节点。当在第一层上堆叠另外一层时我们重复之前的步骤收集信息但是这次相连节点的信息早已经有了它们自身相连的节点的信息。所以层数即为每个节点可以跳跃到的最远的节点数。也可以认为节点应该从网络中获取信息的距离。我们可以为层配置适当的数量。通常我们不希望距离太远根据六度分隔理论(Six Degrees of Separation)当一个节点一直向外层走了6步时那么它将可以得到来自整个图的信息这会使得整个模型没有意义。 那我们需要多少层呢一般两三层就行了。 这个例子来自下面连接 https://ai.plainenglish.io/graph-convolutional-networks-gcn-baf337d5cb6b 2.3 Graph autoencoders (GAEs)图自动编码器: 图自动编码器Graph AutoencoderGAE是一种用于图结构数据的无监督学习模型主要用于将图结构数据压缩成低维向量表示并进行重构。 在GAE中目标是学习可用于重建原始图的图表示。GAE由两个主要成分组成一个编码器和一个解码器。编码将图中的节点和边映射到低维表示解码器将低维表示还原到原始的图结构。 GAE中的encoder编码器和decoder解码器通常为神经网络并且对这些神经网络进行训练以最小化原始图和重建图之间的重建误差。通过训练GAE编码器学习图形的低维表示捕捉节点和边之间最重要的关系。 GAEs 已经应用于各种现实世界的问题例如图分类图重构和图生成等。下图是一个图重构的例子。 自动编码是一种人工神经网络用于对无标签数据学习有效的编码。一个自动编码器学习两个函数一个编码函数转换输入数据一个解码函数从被编码的表现中重建输入的数据。 变体的存在是为了强制学习到表示具有有用的属性。例如regularized autoencoders正则自编码器稀疏、去噪和收缩可以有效学习后续分类任务的表示以及变分自动编码器作为生成模型来应用。自编码器应用于许多问题包括人脸识别、特征检测、异常检测和获取单词的含义。自动编码器也是生成模型可以随机生成与输入数据训练数据相似的数据。 数学原理 自编码器由下列成分定义 两个集合解码消息空间 χ编码消息空间Ζ。χ和Ζ均几乎总是欧拉空间也就是 χR^m, ZR^n对于任意给定m,n R为实数集。 两个参数化函数族编码族Ε_ϕ: χ→ Ζ , 被 ϕ 参数化解码族 D_θ: Ζ→ χ 被 θ 参数化。 对于任意的 x ϵ χ我们通常写 zΕ_ϕ (x) 并将其称为code潜在变量潜在表示隐层表示本真向量等。相反的对于任何 z ∈ Ζ 我们通常写 x^‘D_θ (z) 并把它称为解码信息。 通常编码和解码被定义为多层感知器。例如一层MLP编码器 Ε_ϕ 为 Ε_ϕ (Χ) σ(Wxb) 其中 σ 为element-wise激活函数例如sigmoid函数或者rectified linear unit整流线性单元, W 是一个叫做权重的矩阵b为一个向量称为bias (偏置类似于线性拟合那个截距b)。 训练一个自动编码器 一个自动编码器它自身是一个简单的两个function组成的数组。为了判断它的性能我们需要一个任务。该任务被定义为在χ上的参考概率分布 μ_ref 和一个重建质量函数d: χ×χ→[0,∞]例如d(x,x’) 测量x’距离x有多远。综上我们可以为自编码器定义损失函数为 L(θ,ϕ)≔ Ε_(x~μ_ref ) [d(x,D_θ (E_ϕ (x))) 对于给定的任务μ_refd的最优自动编码器是 . 寻找最优自动编码器的过程可以通过如何数学优化技术来完成但是该技术通常为梯度下降。这个搜索的过程称为训练自动编码器。在大多数情况下参考分布只是对于给定数据集 {x_1,…,x_N}⊂χ 的经验分布因此 并且质量函数为L2loss: 然后最优自动编码器的问题就变为最小二乘优化 一个自动编码器由两个主要部分组成一个编码器将消息映射到code解码器又将code重建为message。一个最优自动编码器应该表现得尽可能接近完美的重建尽可能完美地被定义为重构质量函数 d。 最简单的方法来完美地执行复制任务就是重复信号。为了抑制这种行为code空间 Ζ 通常比message 空间 χ 少一些维度。 这种自动编码器被叫做undercomplete欠完成它可以被理解为压缩message或者减少它的维度。 在一个理想欠完全自动编码器的极限每个可能的在code空间的code z 用于编码一个真实出现在 μ_ref 分布的message x 并且解码器也同样是完美的D_θ (E_ϕ (x))x。理想的自动编码器可以用于生成messages 和真实的message相同。 如果code 空间Z的维度大于或等于message空间 χ 或者隐藏单元被给定足够空间一个自动编码器可以学习恒等函数并变得无效的。然而实验结果发现overcomplete自动编码器可能仍然学习到有用的特征。 在理想设置中可以基于要建模的数据分布的复杂度来设置code维度和模型容量。一个标准的方法是对基本的自动编码器进行修改。比如下面的各种变体 该自动编码器可以有多种变体。下图就是它的各种变体然后从上面链接的网站上可以看到。 https://en.wikipedia.org/wiki/Autoencoder#Variational_autoencoder_(VAE) 2.4 Spatial-temporal graph neural networks (STGNNs)时空图神经网络: 时空图神经网络是一种图神经网络旨在处理具有空间和时间依赖性的图结构数据。与传统的图神经网络仅考虑节点和图的关系不同STGNN还考虑了不同时间步长的节点之间的关系。 STGNN通常实现为递归神经网络其中网络在每个时间步的隐藏状态根据前一个时刻的隐藏状态和当前图结构进行更新。通过考虑节点之间的时间依赖性STGNN可以随时间捕获数据中的复杂模式和趋势。 STGNN 可以将图神经网络与循环神经网络的优势结合起来从而有效地利用时空图数据中的空间和时间信息。STGNN 主要有两个部分空间卷积神经网络 (Spatial GNN) 和时间递归神经网络 (Temporal RNN)。 空间卷积神经网络 (Spatial GNN) 是用于对时空图中的节点进行空间上的特征提取和表示的神经网络。该模型在考虑节点之间的空间关系时可以使用常规的图卷积神经网络。但由于节点的特征和位置在时间上是变化的因此需要在此基础上扩展模型来处理时序性。 时间递归神经网络 (Temporal RNN) 是用于处理时空图中的时间序列信息的神经网络。该模型在处理时间序列信息时通常采用递归神经网络 (Recurrent Neural Networks, RNNs) 或长短时记忆网络 (Long Short-Term Memory, LSTM) 等以捕捉时间上的依赖性。 STGNN已应用于各种现实问题中例如交通预测气候建模和金融市场分析。它们特别适合需要分析具有空间和时间依赖性的图结构数据任务例如预测网络随时间的演变或分析随时间变化的实体之间的关系。 举个例子下面示意图中的输入视频同时包含了姿势的空间和时间信息。因此隐藏层中的节点表示取决于空间和时间方向上的相邻节点。 上图为ST-GCNS应用的一个示意图比STGNN多了卷积运算ST-GCN在一个时空图上面工作它不是分别在时间和空间上进行独立的卷积运算而是对附近的节点同时在时间和空间上进行卷积运算如下图所示 更为详细的内容可以打开下面连接查看 https://medium.com/axinc-ai/st-gcn-a-machine-learning-model-for-detecting-human-actions-from-skeletons-46a95b31b5db
http://www.dnsts.com.cn/news/18080.html

相关文章:

  • vps 需刷新几次才能打开网站seo查询系统源码
  • 免费制作封面的网站建设网络平台交印花税
  • 服务器 多个网站广东建设安全质量协会网站
  • 网站维护一年一般多少钱网站上的二维码怎么做的
  • 太原有网站工程公司吗网络营销推广方法word
  • 外贸网站 万网flash源码网站
  • 镇江网站建设教程宁波室内设计公司排名
  • 农家乐网站建设营销方案模板网站系统
  • 内蒙古城乡建设网站网站标签名词
  • 苏州公司建设网站首页wordpress 调用qq头像
  • 大连推广网站搭建哪家好wordpress网站有哪些
  • 哈尔滨优化网站公司网站多条件筛选 html
  • 网站管理规范搜索引擎的关键词优化
  • 湖南网站推广wordpress 发布文章 自定义栏目
  • 怎样做触屏版手机网站wordpress导入xml失败
  • 云南建设投资集团网站首页看今天的新闻
  • 免费网站建站系统网站图标psd
  • 徐州做网站管理的公司wordpress工单系统
  • 建设部网站备案做网站好还是网店
  • 济南电商网站开发徐州招标投标信息网
  • it网站模板网站域名注册的相关证书证明文件
  • 网站建设 合优企业《30天网站建设实录》
  • 向客户介绍网站建设火车头wordpress4.7
  • wordpress发布站点找公司网站建设3
  • php手机网站开发免费小程序模板
  • 交做网贷的网站高古楼网站 做窗子
  • 禅城网站建设多少钱企业管理咨询管理公司在哪
  • 企业网站的建设水平直接关系到网络营销的效果wordpress当前文章标题
  • 关于asp网站模板下载襄阳网站建设开发
  • 一般做网站是用什么程序做的休闲咖啡厅网站开发目标