【intro】GNN中异构图(heterogeneous graph)综述

本篇博客内容是读两篇论文,两篇论文连接如下:

Heterogeneous graph neural networks analysis: a survey of techniques, evaluations and applications

A Survey on Heterogeneous Graph Embedding: Methods, Techniques, Applications and Sources

Heterogeneous graph neural networks analysis: a survey of techniques, evaluations and applications

Abstract

大多数GNN的目的是学习只包含单一类型的节点和边的同构图的嵌入向量。然而,现实世界中的实体及其相互作用往往具有多种类型,自然形成具有丰富结构和语义信息的异构图。现有的异构图表示学习的调查论文总结了所有可能的图嵌入技术,对深度神经网络模型的分析不足。为了解决这一问题,本文系统地总结和分析了现有的异构图神经网络(hgnn),并根据其神经网络结构对其进行了分类。同时,收集了常用的异构图数据集,并总结了它们的统计信息。此外,还比较了HGNN和浅嵌入模型的性能,以显示其强大的特征。

1. Introduction

图被广泛用于建模复杂实体及其在各种现实场景中的关系,例如,蛋白质相互作用网络,社会网络,交通网络,学术网络以及知识图。

现有的图嵌入方法可分为浅嵌入模型(shallow embedding models)和深嵌入模型(deep embedding models)。

Shallow embedding methods

通常使用矩阵分解(Matrix Factorization,MF)或随机漫步(Random Walk,RW)来学习图表示。基于MF的模型通过构造矩阵并根据节点对相似度对其进行分解来学习嵌入向量。然而,由于时间和空间成本的原因,它们相当有限。基于RW的方法通过采样节点序列来学习节点的表示。但是基于RW的方法需要选择合适的步行长度,这是模型性能的关键。此外,基于MF的模型和基于RW的模型都不能捕获高阶非线性相互作用特征。

Deep embedding methods

为了克服浅嵌入模型存在的问题,提出了图形神经网络(GNN),通过先进的深度神经网络获得满意的表示。GNN通过聚合每个节点的本地邻居的特征来学习节点表示,而不需要设置节点序列。通过非线性激活函数叠加多个网络层,GNN可以捕获重要的高阶交互信息并获得表达性表示。

🌰

DBLP学术网络

(a) A1和A2是论文P1点共同作者,A1和A3是论文P3的共同作者,A2单独写了论文P2

(b) P1和P2有相同的术语T1,P3用到术语T2

(c) P1和P2在V1发表,P3在V2发表

(d) 结合在一起

此时homogeneous graph(即a-c)-> heterogeneous graph

2. Related works

Shallow graph embedding methods,浅嵌入方法

旨在学习图的表示,同时保持图的连通性。常用的方法即为MF和RW

MF

对于异构图数据-> 投影度量嵌入(Projected Metric Embedding,PME),根据其关系类型将异构图分解为几个二部图。然后,PME将每个二部图投影到具有特定关系的语义空间中,在保留多个关系的情况下捕获一阶和二阶近似。

-> 预测文本嵌入(Predictive Text embedding,PTE)的嵌入框架,将文本异构网络分解为三个子网。然后可以使用LINE来学习三个子网的节点向量表示

-> 嵌入的嵌入(Embedding of Embedding,EOE)模型,该模型可以将学术异构网络分为两个子网。一种是词共现网络,另一种是作者合作网络。它分别在子网内和子网之间嵌入节点对。

RW

DeepWalk对样本节点序列进行随机行走,然后将节点序列作为句子输入到Skip-Gram中学习节点嵌入。

Node2Vec定义了对样本节点的偏差随机漫步策略,以适应不同的图数据。Node2Vec使用随机梯度下降(SGD)来获得最优的图嵌入。

对于异构图,Metapath2Vec,它使用异构Skip-Gram来最大化给定节点及其异构上下文的共现概率。基于社区的问答(Community- based Question Answering,CQA)网络,使用LSTM模型做嵌入。

深度图嵌入方法通常由多层神经网络结构组成,用于提取深度非线性表示,这些方法可以分为基于卷积的模型和基于自编码器的模型(Convolution-based,Autoencoder-based)。

卷积

受卷积神经网络(CNN)的启发,图卷积网络被设计用来学习用密集低维向量表示的图特征。现有的基于卷积的方法可以分为三类:基于频谱的、基于空间的和基于双曲的方法(spectral-based,spatial-based,hyperbolic-based)。

对于基于频谱方法,从图信号处理的角度出发,通过发展滤波器来定义图卷积,通过寻找拉普拉斯矩阵对应的特征向量作为傅里叶基,卷积可以推广到广义图。

ChebyNet的卷积过程是将拉普拉斯矩阵变换为拉普拉斯矩阵的k次幂,而不是将拉普拉斯矩阵分解以减少计算量。半监督节点分类任务->图卷积网络(GCN)。GCN是一阶ChebyNet的近似,其最大特征值为2。由于参数较少,它比ChebyNet更有效地聚合邻居节点的特征。

对于基于空间方法,通过聚合k-hop邻居获得节点的特征表示。例如,GraphSAGE(空间图卷积方法),通过聚合局部邻域特征来嵌入节点。为了区分相邻节点的重要性,图注意网络(Graph Attention Network, GAT),通过注意机制对不同权重的相邻节点特征进行聚合。同构图分类的图同构网络(GIN),使用简单的MLP学习节点嵌入并读出所有节点进行图分类。

基于双曲方法(学习更复杂的pattern),利用双曲图卷积网络(Hyperbolic GraphConvolutional Networks, HGCN)扩展了GNN的可表达性。利用指数变换将欧几里德空间中的输入特征映射到双曲空间,然后利用洛伦兹模型和切线空间对图在双曲空间中的特征传播进行建模(这里妹懂数学上的含义)。双曲图神经网络(Hyperbolic Graph Neural Networks, HGNN)使用对数映射将输入特征转换到双曲空间。双曲图注意网络(Hyperbolic Graph Attention Network)扩展了双曲空间中图学习的自注意。利用指数变换进行双曲特征投影,并在双曲空间中设计基于距离的自注意机制来度量节点间的重要性。然后,它通过加权聚合更新节点嵌入。

自编码器

图自动编码器(Graph Auto Encoder,GAE)通常使用深度全连接神经网络,目的是将图投影到以低维向量表示的潜在空间中。映射向量通过将自身解码到输入空间来保持原始图形特征,以最小化构造错误。一个典型的工作是结构深度网络嵌入(SDNE)。SDNE采用带有非线性激活函数的堆叠自编码器捕获高度非线性的图表示。它通过使用两个损失函数来保持节点的一级和二级逼近。第一种方法最小化节点与其相邻节点之间的距离,以保持一阶接近性。第二种方法旨在最小化原始和重构节点表示之间的差异,使具有相似邻域结构的节点具有相似的潜在表示。

变分图自动编码器(Variational Graph Auto-Encoders,VGAE)用于学习节点的低维表示。它的核心思想是将变分自动编码器(VAE) 扩展到图形结构化数据。VGAE使用两层GCN作为编码器来学习节点潜在表示的分布,表示为经验分布。利用内积作为解码器重构图邻接矩阵,优化模型参数。

通过将多层神经网络与非线性激活函数叠加,基于神经网络的方法能够在图中提取深度表示。

3. Preliminary

一些基础定义

参数定义:

G=(V,E), v \in V, e \in E

G:图。V:节点集合。E:边的集合。v:图G中的一个节点。e:图G中的一条边。

\phi (v): V \rightarrow A

节点类型映射函数,A表示节点类型的集合

\varphi (e): E \rightarrow R

边类型映射函数,R表示边的类型

因此对于同构图,有\left | A \right | = \left | R \right | = 1

对于异构图,有\left | A \right | > 1 or \left | R \right | > 1

network schema:异构图网络G=(V,E)的一个meta template。定义为S=(A,R)。用于描述异构图中所有节点类型和边缘类型的范式。

metapath(似乎译作元路径)是在network schema上的路径P。元路径连接的节点对可以看作是具有特定语义的高阶邻居,不同的元路径表示不同的语义关系。

4. Methods taxonomy

HGNN方法通过高级神经网络从异构图的图结构和/或节点属性信息中学习重要信息,并将这些信息保存在节点嵌入中。根据学习模式中使用的技术,现有的HGNN模型可以分为三类,即基于卷积的模型、基于自编码器的模型和基于对抗的模型。

4.1 Static heterogeneous graph learning

现有的HGNN模型大多旨在捕获静态异构图中没有时间演化的复杂结构和语义信息,并希望在嵌入向量中有效地保留这些关键信息。静态异构图的hgnn模型可分为基于卷积的、基于自编码器的和基于对抗的三种方法。

基于卷积

基于卷积的HGNN的核心思想是消息传递机制,邻居节点的信息以消息的形式传递给中心节点,并聚合形成中心节点的嵌入。基于卷积的模型的关键问题是如何设计合适的异构保持策略来捕获邻居中包含的语义信息。

Metapath-based

基于元路径的模型主要是通过构造基于元路径的邻居来保持图的异构性。异构图注意网络(Heterogeneous graph Attention Network,HAN)是一种分层注意模型,学习异构图中的节点嵌入。

HAN设计节点级和语义级关注来计算节点和元路径的重要性分数,以捕获结构和语义特征。节点关注的目的是学习元路径邻居的重要性分数:

\alpha _{ij}^m=\frac{exp(\sigma (\mathbf{a}_m^T \cdot \left [ \mathbf{h}_i || \mathbf{h}_j \right ]))}{\sum_{k \in \mathcal{N}_i ^m}^{} exp(\sigma (\mathbf{a}_m^T \cdot \left [ \mathbf{h}_i || \mathbf{h}_j \right ]))}

此处\mathcal{N}_i ^m指的是元路径m中几点i的邻居集合,\alpha _{ij} ^m是在元路径m中的节点j对节点i的重要性分数。

\mathbf{a}_m是重要性计算的attention vector

节点级的aggregation(聚合)定义为:

\mathbf{h}_i ^m = \sigma \left ( \sum_{j \in \mathcal{N}_i ^m}^{} \alpha _{ij} ^m \cdot \mathbf{h}_j \right )

\mathbf{h}_i ^m是元路径m中的节点i嵌入的更新。每个元路径在异构图中捕获一定的语义信息,HAN设计语义级聚合来融合多个元路径的语义特征。给定一个元路径集合\left \{ m_0, m_1, ..., m_p \right \},在节点级的聚合(aggregation)上,HAN得到P个不同的语义节点嵌入\left \{ \mathbf{H}_{m_0}, \mathbf{H}_{m_1}, ..., \mathbf{H}_{m_p} \right \},计算重要性:

w_{m_i}=\frac{1}{\mathcal {V} } \sum_{i \in \mathcal{V}}^{} \mathbf{q}^T \cdot tanh \left ( \mathbf{W} \cdot \mathbf{h}_i ^m + \mathbf{b} \right )

此处,\mathbf{W} \in \mathbb{R}^{d \times d}\mathbf{b} \in \mathbb{R}^{d \times 1}表示投影矩阵和偏置。\mathbf{q}^T \in \mathbb{R}^{d \times 1}是语义级的注意力向量。语义级聚合表示为:

\mathbf{H} = \sum_{P}^{i=1} \beta _{m_i} \cdot \mathbf{H}_{m_i}

此处,\beta _{m_i}是normalized的w_{m_i},目的是防止节点嵌入过于庞大。\mathbf{H} \in \mathbb{R}^{N \times d}表示可用于不同任务(如节点分类、节点聚类和链接预测)的最终节点嵌入。HAN是第一个将注意力网络应用于异构图嵌入任务的模型。

进一步->异构图嵌入的元路径聚合图神经网络(Metapath Aggregation Graph Neural Network ,MAGNN)模型。当使用元路径维护异构性时,元路径上的所有中间节点也都有有用的语义信息。因此,与HAN中的节点级聚合不同,MAGNN中的节点级聚合聚合元路径中的所有节点,而不是路径的两个端点节点。

HAHE模型,采用与HAN相同的层次结构来学习节点的嵌入。不同的是,HAHE使用余弦相似度代替注意机制来计算两种重要性。

Relation-based

基于关系的方法可以通过聚合一跳邻居的特征来学习节点表示,而不需要人为设置元路径。为了避免设置元路径和自动学习有用的语义信息 -> Graph Transformer Networks(GTN)的嵌入方法,通过自动寻找有用的元路径来学习节点嵌入。根据关系类型将异构图划分为若干子图,并将子图邻接矩阵馈送到多通道GCN中学习节点嵌入。

另一种无元路径嵌入模型称为异构图结构注意神经网络(Heterogeneous Graph Structural Attention Neural Network ,HetSANN),通过聚合具有关系重要度的邻居来学习每个节点的嵌入。首先,HetSANN选择与其相邻的节点,并将相邻节点投影到所选节点空间中。随后,HetSANN设计了一个类型感知的关注层,通过聚合具有不同关系重要度的邻居特征来学习每个节点的嵌入。

异构图转换器(Heterogeneous Graph Transformer ,HGT)学习异构图表示。HGT的框架如图7所示。HGT使用与多类型节点和边相关的可学习参数来记录异构性。定义了一种元关系三重关注机制,以边缘信息作为传递消息的权重来计算邻居的重要性得分。

HetSANN和HGT本质上都使用分层注意机制来学习节点的表示。但与基于元路径的模型不同的是,它们在节点级聚合中聚合的是同一关系下的节点特征,而不是同一元路径下的节点特征。然而,HetSANN和HGT需要堆叠更多的神经网络层来提取有用的高阶交互,并生成更多的模型参数。

可解释且高效的异构图卷积网络(Interpretable and Efcient Heterogeneous Graph Convolutional Network ,ie-HGCN)利用节点类型区分的GCN学习异构图嵌入。首先,ie-HGCN将不同类型邻居节点的表示投影到一个公共语义空间中。它考虑了由多个二部图组成的异构图,并将GCN用于二部图的节点级聚合。在类型级聚合中,ie-HGCN利用注意力对不同类型的相邻节点进行聚合,最终获得节点嵌入。ie-HGCN有效地减少了计算量。

Others

为了学习稳健的节点嵌入 -> 异质图结构学习(Heterogeneous Graph Structure Learning, HGSL),首次尝试研究异质图结构。通过节点和语义特征的相似性来学习图的结构。将学习到的三种图结构特征相似图、特征传播图和语义图与原始图进行聚合,形成最优异构图。

HHNE用于嵌入异构属性超图。HHNE使用全连通层和图卷积层将多类型节点投影到一个共同的低维空间中。并定义了一个基于元组的相似性函数来保持超边的结构。

为了解决边缘连接的异构性问题 -> 关系结构感知异构图神经网络。与设置元路径或提取关系以保持边缘的异质性不同,RSHN将原始异构图转换为线形图,并将其输入神经网络以嵌入边缘特征。然后,RSHN将学习到的边缘嵌入与原始节点特征结合,输入到异构GNN中学习完整的节点嵌入。RSHN是一种关系结构感知的HGNN,但在RSHN中忽略了多类型节点。

基于卷积的方法遵循消息传递来更新节点的表示。与人工定义元路径的方法相比,基于关系的方法可以通过比较每个网络层中不同类型节点之间的重要性得分来选择当前任务和数据集最有用的元路径,从而为模型的可解释性提供支持。然而,基于关系的方法有更多的模型参数,这增加了空间消耗。

基于编码器

基于自编码器的方法的主要目的是利用神经网络作为编码器,从节点结构和/或属性中学习节点嵌入,并设计解码器,最大程度地保留原始图中的结构和/或属性信息。根据异构图中包含的信息不同,基于自编码器的方法可分为结构保留和结构属性保留两种。

Structure only

结构保留模型通常嵌入不含节点属性信息的异构图。他们只需要维护图的拓扑信息。例如HIN2Vec,如图8所示。HIN2Vec采用元路径解决异构性问题,通过前馈神经网络融合元路径和节点one-hot向量,学习节点和元路径的表示。它通过最大化节点对中发生关系的概率来优化神经网络。

这里的条件概率定义为:

P\left ( r|i,j \right ) = sigmoid\left ( \sum \mathbf{W}_I \vec{i} \odot \mathbf{W}_J \vec{j} \odot \mathbf{W}_I \vec{i}\mathbf{W}_R \vec{r} \right )

此处,\vec{i}, \vec{j} \ and \ \vec{r} \in \mathbb{R}^{N \times 1}分别是节点和边的one-hot 向量,\mathbf{W}_I, \mathbf{W}_J \ and \ \mathbf{W}_R表示投影矩阵。融合向量的所有维度之和,形成一个标量。目标函数是交叉熵损失函数:

Loss = L(i,j,r) log P(r|i,j) + \left [ 1- L(i,j,r) \right ] log \left [ 1- P(r|i,j) \right ]

此处,L(i,j,r)是正连接的集合。HIN2Vec可以通过最小化目标函数来学习节点嵌入和元路径。

超图嵌入模型,即深度超网络嵌入(Deep Hyper-Network embedding, DHNE)。DHNE的目的是学习不可分解超边的超图表示。由于超边缘节点之间有很强的关联性,分解后的节点不能表示有用的信息,因此DHNE将每个超边送入自编码器中,并用这些自编码器学习节点的嵌入。->二元相似性函数来保持局部和全局的接近性,并优化神经网络。

签名异构信息网络嵌入(Signed Heterogeneous Information Network Embedding,SHINE)用于预测社交网络中用户未观察到的情感。它使用异构图来表示复杂的用户关系,并将构造的异构图分成三个子图来获得不同的语义信息。然后,SHINE利用三个自编码器将三个子图嵌入到低维向量中,并将三个嵌入聚合为异构图表示用于链接预测。最后,利用解码器最小化重构误差对神经网络进行优化。

Structure and attributes

在属性异构图中,属性信息通常附加在节点上。由于每个节点具有不同的属性特征,使得同一类型的节点可能具有不同的嵌入向量。因此,属性异构图嵌入既保留了图的拓扑信息,又区分了节点上属性的差异。语义感知异构网络嵌入(Semantic-aware Heterogeneous Network Embedding,SHNE)如图9所示。SHNE旨在嵌入节点,聚合文本数据中的结构信息和语义信息。SHNE利用元路径和GRU提取异构结构和文本属性信息。它使用异构Skip-Gram模型作为编码器来学习节点嵌入。

异构网络嵌入(HNE)是一种以图像和文本为节点的异构图嵌入技术。由于每个图像和文本的内容是排他性的,HNE需要保留每个节点的内容。因此,HNE采用CNN和全连接层来提取图像和文本特征。它使用两个变换矩阵作为编码器,将不同维度的特征作为节点嵌入投影到公共空间中。然后,HNE设计节点相似度函数作为损失函数来优化模型。

为了在不设置元路径的情况下保持图的异质性 -> 网络模式保持异构信息网络嵌入(Network Schema preserving Heterogeneous information Network Embedding, NSHE),首次尝试利用网络模式同时保持两两结构和网络模式结构来嵌入异构图。NSHE利用GCN学习节点嵌入以保持一阶接近。然后,设计了多任务学习,使用多个自编码器从网络模式实例中学习节点嵌入,并通过预测任务对学习到的嵌入进行优化。

DIME将用户嵌入到稀疏的社交网络中。为了解决新兴社交网络中的稀疏性问题,DIME定义了多个属性增强元路径来捕获用户之间的各种语义信息。它使用自编码器学习用户在每个元路径上的嵌入,并将所有基于元路径的嵌入融合在一起以获得完整的用户表示。

正则化图形编码器(Regularized Graph Auto-Encoders,RGAE)模型将异构图形转换为多个视图,并基于每个视图学习节点嵌入。RGAE使用多个GCN层作为编码器来学习每个视图的嵌入,并将它们聚合在一起作为异构图嵌入。然后,RGAE通过内部生成操作重建每个视图的邻接矩阵,以最小化原始邻接矩阵与每个视图的邻接矩阵之间的差异。

与基于卷积的模型不同,基于自编码器的模型不使用任何监督信号,它们学习无监督编码器-解码器架构中节点的表示,并通过重构误差来优化模型。这使得基于自编码器的模型能够比基于卷积的模型应用于更多的任务和应用场景。

基于对抗

基于对抗的方法主要利用生成式对抗网络(GAN)通过生成器和鉴别器之间的对抗训练来学习鲁棒节点嵌入。将GAN扩展到异构图嵌入任务中。现有的基于对抗性的方法利用节点对之间的关系来判断节点的真假。这意味着基于对抗的方法只维护异构图中的交互信息,而忽略节点属性。

异构图嵌入框架(HeGAN),基于对抗性原理嵌入异构图。为了适应异构环境,它扩展了鉴别器和生成器与关系感知相关联。具体来说,对于给定的关系,一个节点是真还是假是由鉴别器决定的,生成器可以生成一个假节点来模拟真节点。

多视图对抗性完井模型(MV-ACM)。根据多视图架构,MV-ACM应用对抗学习,通过不同类型的关系捕获每个节点的互补信息,以获得完整和鲁棒的节点表示。其中,生成器试图生成互补最多的视图,以完成每个视图中每个节点的信息;判别器试图区分生成的视图是否与每个视图中每个节点互补。在生成器和鉴别器之间进行极大极小博弈后,生成器可以学习每个关系的潜在互易性。最后,MV-ACM将学习到的互向性与原始视图表示融合在一起,得到互补表示。

AGA2Vec使用元路径捕获节点之间具有语义信息的高阶接近性。它通过融合基于元路径的邻居和相应的元路径重要性来初始化每个节点的嵌入。

AGNE-HIN,利用GAN获得保持关系的节点嵌入。AGNE-HIN从高斯分布中采样节点,并整合扰动形成对抗性输入数据,以提高节点表示的鲁棒性。

与上述两种方法都是判别方法不同,基于对抗的方法属于深度生成模型,其目的是通过对抗训练生成节点嵌入。这样,基于对抗的方法可以通过迭代生成对抗优化获得更鲁棒的表示。

4.2 Dynamic heterogeneous graph learning

动态异构图会随着时间的推移而变化,即图中的实体和相互作用会随着时间的变化而变化。根据处理时间属性的策略不同,动态异构图学习可以大致分为基于独立学习的模型和基于增量学习的模型两大类。

基于独立学习的模型

与HAN类似,DyHAN也利用层次关注来提取复杂的异质性。但是HAN和DyHAN的主要区别在于DyHAN使用了一个额外的注意层来学习动态异构图随时间的演化信息。首先,DyHAN提出节点级聚合,通过自关注收集具有相同类型邻居的邻居特征。

与DyHAN类似,DyHATR 也使用分层注意来保持图中的异质性。然而,DyHATR和DyHAN之间的主要区别在于DyHATR使用RNN来发现重要的进化信息。

DyHGCN模型,学习动态异构图表示,用于信息扩散预测。利用GCN学习每个关系下的节点嵌入,并通过启发式策略聚合来自不同关系的嵌入,而不是使用DyHAN和DyHATR中的分层关注。

基于独立学习的模型本质上是利用层次注意来学习动态异构图表示。与han、HGT等静态图的分层注意模型相比,基于自主学习的模型增加了额外的注意机制来捕捉时间演化的信息。但是这种架构会导致高的计算消耗。

基于增量学习的模型

DyHNE是一种基于增量学习的方法,该方法基于矩阵摄动理论,在考虑异构性和进化信息的同时学习节点嵌入。DyHNE通过保留一阶和二阶元路径近似来维持异质性。DyHNE利用基于元路径的邻接矩阵的扰动,捕捉异构图的动态变化。

Change2Vec 将Metapath2Vec中使用的异构Skip-Gram扩展到动态异构图学习。它设计了四个节点演化场景来建模动态变化,并利用Metapath2Vec来学习变化节点的嵌入。

基于增量学习的模型通常通过几种传统技术来学习表示,例如矩阵分解或基于随机游动的浅学习框架。严格来说,这种学习方法不涉及HGNN模型。因此,如何将增量学习框架扩展到深度HGNN模型是实现高效学习模式的重要研究问题。

5. Metrics, datasets and evaluations

不同下游任务的评价指标、数据集

(见原文)

6. Applications

应用

Linkage identifcation and recommendation

Recommendation and identifcation on academic network

E‑commerce recommendation and security

Anomaly detection

A Survey on Heterogeneous Graph Embedding: Methods, Techniques, Applications and Sources

Abstract

异构图(HGs)也被称为异构信息网络,在现实世界中无处不在;因此,HG嵌入,其目的是在低维空间中学习表征,同时为下游任务(例如,节点/图分类,节点聚类,链接预测)保留异构结构和语义,近年来引起了相当大的关注。

1. Introduction

HG是一种功能强大的模型,它能够在现实世界的数据中包含丰富的语义和结构信息。

传统上,为了学习HG嵌入,已经提出了矩阵(例如邻接矩阵)分解方法来生成HG中的潜在维特征。然而,分解大规模矩阵的计算成本通常非常昂贵,并且还存在统计性能缺陷。

异构图嵌入(即异构图表示学习),旨在学习映射输入空间的函数

2. Preliminary

基础定义

3. Method Taxonomy

内容差不多

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

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

相关文章

瓦罗兰特国际服 外服游玩教程 瓦罗兰特外服下载注册游玩指南

瓦罗兰特国际服 外服游玩教程 瓦罗兰特外服下载注册游玩指南 瓦罗兰特作为当今游戏圈顶流的一款热门FPS。游戏,作为拳头游戏公司划时代的一款游戏。游戏不仅延续了传统FPS游戏的玩法,还添加许多新玩法,这也是游戏可以吸引大批量玩家的原因之…

基于电导增量MPPT控制算法的光伏发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于电导增量MPPT控制算法的光伏发电系统simulink建模与仿真。输出MPPT跟踪后的系统电流,电压以及功率。 2.系统仿真结果 3.核心程序与模型 版本:MAT…

cocos creator 3.x实现手机虚拟操作杆

简介 在许多移动游戏中,虚拟操纵杆是一个重要的用户界面元素,用于控制角色或物体的移动。本文将介绍如何在Unity中实现虚拟操纵杆,提供了一段用于移动控制的代码。我们将讨论不同类型的虚拟操纵杆,如固定和跟随,以及如…

视频汇聚平台EasyCVR对接GA/T 1400视图库结构化数据:人员/人脸、非/机动车、物品

在信息化浪潮席卷全球的背景下,公安信息化建设日益成为提升社会治理能力和维护社会稳定的关键手段。其中,GA/T 1400标准作为公安视频图像信息应用系统的核心规范,以其结构化数据处理与应用能力,为公安信息化建设注入了强大的动力。…

【图解IO与Netty系列】Reactor模型

Reactor模型 Reactor模型简介三类事件与三类角色Reactor模型整体流程 各种Reactor模型单Reactor单线程模型单Reactor多线程模型主从Reactor模型 Reactor模型简介 Reactor模型是服务器端用于处理高并发网络IO请求的编程模型,与传统的一请求一线程的同步式编程模型不…

翼龙面板是什么,如何进行搭建

翼龙面板是一个开源的,用于游戏服务器管理的程序,可以方便地在网页界面中创建Minecraft,起源引擎游戏和Teamspeak3 服务器。 它使用前后端程序,因此可以创建多后端节点,对游戏服务器和服务器节点进行统一管理。 对游戏…

Vue进阶之Vue无代码可视化项目(二)

Vue无代码可视化项目 项目初始化路由子路由错误示范正确示范App.vuerouter/index.tsAboutView.vueAboutAboutview.vuerouter/index.ts项目路由router/index.tsApp.vueActionsView.vueDataSourceView.vueLayoutView.vue路由样式App.vue进一步的App.vue项目初始化 路由 router i…

synchronized 锁的到底是什么?

通过8种情况演示锁运行案例,看看我们到底锁的是什么 1锁相关的8种案例演示code package com.bilibili.juc.lock;import java.util.concurrent.TimeUnit;/*** 题目:谈谈你对多线程锁的理解,8锁案例说明* 口诀:线程 操作 资源类* 8…

LeetCode875爱吃香蕉的阿珂

题目描述 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从…

IntelliJ IDEA / Android Studio 方法显示Git提交人

显示方法: 设置 > 编辑器 > 嵌入提示 > Code Vision > 代码作者(勾选) IntelliJ IDEA Android Studio

springboot编写日志环境搭建过程

AOP记录日志 AOP记录日志的主要优点包括: 1、低侵入性:AOP记录日志不需要修改原有的业务逻辑代码,只需要新增一个切面即可。 2、统一管理:通过AOP记录日志可以将各个模块中需要记录日志的部分进行统一管理,降低了代…

神经网络的工程基础(二)——随机梯度下降法|文末送书

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch06_optimizer/stochastic_gradient_descent.ipynb 本文将讨论利用…

WinApp自动化测试之辅助工具介绍

前篇文章中,我们简单介绍了部分WinApp自动化测试脚本常规操作,今天我们来讲剩余的部分。 文件批量上传 文件批量上传和文件单个上传原理是相同的,单个上传直接传入文件路径即可,批量上传需要进入批量上传的文件所在目录&#xf…

uniapp创建支付密码实现(初始密码,第二次密码)

示例: 插件地址:自定义数字/身份证/密码输入框,键盘密码框可分离使 - DCloud 插件市场 1.下载插件并导入HBuilderX,找到文件夹,copy number-keyboard.vue一份为number-keyboard2.vue(number-keyboard.vue是…

C++ STL map容器erase操作避坑

map容器的erase方法有三种重载形式: //1.删除迭代器所指向的元素 //返回值是指向下一个节点的迭代器 iterator erase(iterator it); //2.区间删除 iterator erase(iterator first, iterator last); //3.根据键值删除 //返回值为删除的元素个数 size_type erase(con…

民国漫画杂志《时代漫画》第37期.PDF

时代漫画37.PDF: https://url03.ctfile.com/f/1779803-1248636302-c017ee?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

C++基础编程100题-002 OpenJudge-1.1-04 输出保留3位小数的浮点数

更多资源请关注纽扣编程微信公众号 002 OpenJudge-1.1-04 输出保留3位小数的浮点数 http://noi.openjudge.cn/ch0101/04/ 描述 读入一个单精度浮点数,保留3位小数输出这个浮点数。 输入 只有一行,一个单精度浮点数。 输出 也只有一行,…

07.爬虫---使用session发送请求

07.使用session发送请求 1.目标网站2.代码实现 1.目标网站 我们以这个网站作为目标网站 http://www.360doc.com/ 注册用户 注册后从登录界面获取到这些信息 2.代码实现 import requestssession requests.Session() url http://www.360doc.com/ajax/login/login.ashx u…

深入剖析Java线程池的核心概念与源码解析:从Executors、Executor、execute逐一揭秘

文章目录 文章导图前言Executors、Executor、execute对比剖析Executors生成的线程池?线程池中的 execute 方法execute 方法的作用execute的工作原理拒绝策略 源码分析工作原理基本知识线程的状态线程池的状态线程池状态和线程状态总结线程池的状态信息和线程数量信息…

RedisSearch与Elasticsearch:技术对比与选择指南

码到三十五 : 个人主页 数据时代,全文搜索已经成为许多应用程序中不可或缺的一部分。RedisSearch和Elasticsearch是两个流行的搜索解决方案,它们各自具有独特的特点和优势。本文简单探讨一些RedisSearch和Elasticsearch之间的技术差异。 目录…