CN116171435A - 用于生成节点嵌入的系统、方法和计算机程序产品 - Google Patents
用于生成节点嵌入的系统、方法和计算机程序产品 Download PDFInfo
- Publication number
- CN116171435A CN116171435A CN202280006022.1A CN202280006022A CN116171435A CN 116171435 A CN116171435 A CN 116171435A CN 202280006022 A CN202280006022 A CN 202280006022A CN 116171435 A CN116171435 A CN 116171435A
- Authority
- CN
- China
- Prior art keywords
- polar angle
- value
- embedding
- node
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 title claims abstract description 23
- 238000010801 machine learning Methods 0.000 claims abstract description 97
- 239000013598 vector Substances 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims description 42
- 238000009826 distribution Methods 0.000 claims description 32
- 230000007423 decrease Effects 0.000 claims description 11
- 230000001131 transforming effect Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Abstract
提供用于生成节点嵌入的系统、方法和计算机程序产品。所述系统包括至少一个处理器,所述至少一个处理器被编程或配置成:生成包括多个节点的图形;针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
Description
相关申请的交叉引用
本申请要求2021年5月25日提交的第63/192,721号美国临时专利申请的优先权,其公开内容以全文引用的方式并入本文中。
技术领域
所公开的实施例或方面大体上涉及机器学习,并且在一个特定实施例或方面中,涉及用于生成用于机器学习模型的节点嵌入的系统、方法和计算机程序产品。
背景技术
降低用于机器学习模型的图形嵌入训练过程的计算复杂性和存储器要求是有利的。越来越多地将非自然连接的数据表示为图形,以便理解例如车辆网络设计到物联网流量管理等多个应用。机器学习在对象与邻近世界相关的图形和网络上的使用激增,而不仅仅是孤立地观察它们。利用图形的机器学习模型随着图形大小的增大而增加了其嵌入的计算时间。增加的计算时间使得机器学习模型的训练时间增加。增大的图形大小还产生可能增加数据偏斜的大量节点和边。因此,本领域需要一种改进的系统和方法以用于使用快速、可缩放、存储器高效和高质量的图形表示学习来生成用于机器学习模型的节点嵌入。
发明内容
因此,通常提供一种改进的系统、方法和计算机程序产品以用于机器学习中的节点嵌入。
根据非限制性实施例或方面,提供一种用于节点嵌入的方法,包括:用至少一个处理器生成包括多个节点的图形;用至少一个处理器针对多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;用至少一个处理器将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理图形,将多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
在非限制性实施例或方面中,每个嵌入的矢量长度为相同的值。在非限制性实施例或方面中,每个嵌入的至少一个极角用最大值与最小值之间的整数范围表示,所述方法还包括:将最大值和最小值关联,使得当等于最小值的极角值减小值一时,极角值变为等于最大值,并且当极角值等于最大值且增加值一时,极角值变为等于最小值。在非限制性实施例或方面中,至少一个极角由2字节有符号整数表示。在非限制性实施例或方面中,其中将多个嵌入中的至少一个嵌入转换为笛卡尔坐标包括将所述嵌入的每个极角变换为两个不同的笛卡尔坐标。在非限制性实施例或方面中,使用均匀随机分布来初始化基于极坐标表示的嵌入,这意味着使用平均值为零且方差为0.5的正态分布来初始化所述嵌入的对应笛卡尔表示。在非限制性实施例或方面中,还包括:预训练包括图形的机器学习模型;训练机器学习模型,产生训练过的嵌入;以及导出训练过的嵌入。在非限制性实施例或方面中,预训练机器学习模型包括基于负样本来组织图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
根据非限制性实施例或方面,提供一种用于节点嵌入的系统,包括至少一个处理器,所述至少一个处理器被编程或配置成:生成包括多个节点的图形;针对多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理图形,将多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
在非限制性实施例或方面中,每个嵌入的矢量长度为相同的值。在非限制性实施例或方面中,每个嵌入的至少一个极角用最大值与最小值之间的整数范围表示,至少一个处理器还被编程或配置成:将最大值和最小值关联,使得当等于最小值的极角值减小值一时,极角值变为等于最大值,并且当极角值等于最大值且增加值一时,极角值变为等于最小值。在非限制性实施例或方面中,至少一个极角由2字节有符号整数表示。在非限制性实施例或方面中,将多个嵌入中的至少一个嵌入转换为笛卡尔坐标包括将所述嵌入的每个极角变换为两个不同的笛卡尔坐标。在非限制性实施例或方面中,使用均匀随机分布来初始化基于极坐标表示的嵌入,这意味着使用平均值为零且方差为0.5的正态分布来初始化所述嵌入的对应笛卡尔表示。在非限制性实施例或方面中,至少一个处理器还被编程或配置成:预训练包括图形的机器学习模型;训练机器学习模型,从而产生训练过的嵌入;以及导出训练过的嵌入。在非限制性实施例或方面中,预训练机器学习模型包括基于负样本来组织图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
根据非限制性实施例或方面,提供一种用于节点嵌入的计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括程序指令,所述程序指令在由至少一个处理器执行时使所述至少一个处理器:生成包括多个节点的图形;针对多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理图形,将多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
在非限制性实施例或方面中,每个嵌入的矢量长度为相同的值。在非限制性实施例或方面中,每个嵌入的至少一个极角用最大值与最小值之间的整数范围表示,程序指令还使至少一个处理器:将最大值和最小值关联,使得当等于最小值的极角值减小值一时,极角值变为等于最大值,并且当极角值等于最大值且增加值一时,极角值变为等于最小值。在非限制性实施例或方面中,至少一个极角由2字节有符号整数表示。在非限制性实施例或方面中,将多个嵌入中的至少一个嵌入转换为笛卡尔坐标包括将所述嵌入的每个极角变换为两个不同的笛卡尔坐标。在非限制性实施例或方面中,图形是使用均匀随机分布生成的,并且其中笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。在非限制性实施例或方面中,程序指令还使至少一个处理器:预训练包括图形的机器学习模型;训练机器学习模型,从而产生训练过的嵌入;以及导出训练过的嵌入。在非限制性实施例或方面中,预训练机器学习模型包括基于负样本来组织图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
条款1:一种用于节点嵌入的方法,包括:用至少一个处理器生成包括多个节点的图形;用所述至少一个处理器针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;用所述至少一个处理器将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
条款2:根据条款1所述的方法,其中每个嵌入的所述矢量长度为相同的值。
条款3:根据条款1或2所述的方法,其中每个嵌入的所述至少一个极角用最大值与最小值之间的整数范围表示,所述方法还包括:将所述最大值和所述最小值关联,使得当等于所述最小值的极角值减小值一时,所述极角值变为等于所述最大值,并且当所述极角值等于所述最大值且增加值一时,所述极角值变为等于所述最小值。
条款4:根据条款1至3中任一项所述的方法,其中所述至少一个极角由2字节有符号整数表示。
条款5:根据条款1至4中任一项所述的方法,其中将所述多个嵌入中的所述至少一个嵌入转换为笛卡尔坐标包括将所述嵌入的每个极角变换为两个不同的笛卡尔坐标。
条款6:根据条款1至5中任一项所述的方法,其中所述图形是使用均匀随机分布生成的,并且其中所述笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。
条款7:根据条款1至6中任一项所述的方法,还包括:预训练包括所述图形的机器学习模型;训练所述机器学习模型,从而产生训练过的嵌入;以及导出所述训练过的嵌入。
条款8:根据条款1至7中任一项所述的方法,其中预训练所述机器学习模型包括基于负样本来组织所述图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
条款9:一种用于节点嵌入的系统,包括至少一个处理器,所述至少一个处理器被编程或配置成:生成包括多个节点的图形;针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
条款10:根据条款9所述的系统,其中每个嵌入的所述矢量长度为相同的值。
条款11:条款9或10所述的系统,其中每个嵌入的所述至少一个极角用最大值与最小值之间的整数范围表示,所述至少一个处理器还被编程或配置成:将所述最大值和所述最小值关联,使得当等于所述最小值的极角值减小值一时,所述极角值变为等于所述最大值,并且当所述极角值等于所述最大值且增加值一时,所述极角值变为等于所述最小值。
条款12:根据条款9至11中任一项所述的系统,其中所述至少一个极角由2字节有符号整数表示。
条款13:根据条款9至12中任一项所述的系统,其中将所述多个嵌入中的所述至少一个嵌入转换为笛卡尔坐标包括将所述嵌入的每个极角变换为两个不同的笛卡尔坐标。
条款14:根据条款9至13中任一项所述的系统,其中所述图形是使用均匀随机分布生成的,并且其中所述笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。
条款15:根据条款9至14中任一项所述的系统,所述至少一个处理器还被编程或配置成:预训练包括所述图形的机器学习模型;训练所述机器学习模型,从而产生训练过的嵌入;以及导出所述训练过的嵌入。
条款16:根据条款9至15中任一项所述的系统,其中预训练所述机器学习模型包括基于负样本来组织所述图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
条款17:一种用于节点嵌入的计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括程序指令,所述程序指令在由至少一个处理器执行时使所述至少一个处理器:生成包括多个节点的图形;针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;将多个嵌入中的每个嵌入存储在存储器中;以及响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
条款18:根据条款17所述的计算机程序产品,其中每个嵌入的所述矢量长度为相同的值。
条款19:根据条款17或18所述的计算机程序产品,其中每个嵌入的所述至少一个极角用最大值与最小值之间的整数范围表示,所述程序指令还使所述至少一个处理器:将所述最大值和所述最小值关联,使得当等于所述最小值的极角值减小值一时,所述极角值变为等于所述最大值,并且当所述极角值等于所述最大值且增加值一时,所述极角值变为等于所述最小值。
条款20:根据条款17至19中任一项所述的计算机程序产品,其中所述至少一个极角由2字节有符号整数表示。
条款21:根据条款17至20中任一项所述的计算机程序产品,其中将所述多个嵌入中的所述至少一个嵌入转换为笛卡尔坐标包括将所述嵌入的每个极角变换为两个不同的笛卡尔坐标。
条款22:根据条款17至21中任一项所述的计算机程序产品,其中所述图形是使用均匀随机分布生成的,并且其中所述笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。
条款23:根据条款17至22中任一项所述的计算机程序产品,所述程序指令还使所述至少一个处理器:预训练包括所述图形的机器学习模型;训练所述机器学习模型,从而产生训练过的嵌入;以及导出所述训练过的嵌入。
条款24:根据条款17至23中任一项所述的计算机程序产品,其中预训练所述机器学习模型包括基于负样本来组织所述图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
在参考附图考虑以下描述和所附权利要求书之后,本公开的这些和其它特征和特性以及相关结构元件和各部分的组合的操作方法和功能以及制造经济性将变得更加显而易见,所有附图形成本说明书的部分,其中相似附图标号在各图中标示对应部分。然而,应明确地理解,图式仅用于说明及描述的目的,且不希望作为对本公开的限制的定义。除非上下文另外明确规定,否则在本说明书和权利要求书中使用时,单数形式“一”和“所述”包括多个指示物。
附图说明
下文参考所附示意图中示出的示例性实施例更详细地解释本公开的额外优点和细节,在附图中:
图1是根据非限制性实施例或方面的用于生成节点嵌入的系统的示意图;
图2是根据非限制性实施例的用于实施和执行本文中所描述的系统和方法的计算装置的示例组件的示意图;
图3是根据非限制性实施例或方面的用于生成节点嵌入的方法的流程图;并且
图4A和4B是根据非限制性实施例或方面的用于生成节点嵌入的实施方案的图。
具体实施方式
为了进行以下描述,术语“上”、“下”、“右”、“左”、“竖直的”、“水平的”、“顶部”、“底部”、“橫向”、“纵向”以及其派生词应如其在附图中的定向那样与非限制性实施例相关。然而,应理解,除非明确指定为相反情况,否则非限制性实施例可采用各种替代变化和步骤顺序。还应理解,附图中所示的以及在以下说明书中描述的特定装置和过程仅仅是示例性实施例。因此,与本文所公开的实施例有关的特定尺寸和其它物理特性不应被视为限制性的。
本文所使用的方面、组件、元件、结构、动作、步骤、功能、指令等都不应当被理解为关键的或必要的,除非明确地如此描述。且,如本文所使用,冠词“一”希望包括一个或多个项目,且可与“一个或多个”和“至少一个”互换使用。此外,如本文中所使用,术语“集合”希望包括一个或多个项目(例如,相关项目、不相关项目、相关项目与不相关项目的组合等),并且可与“一个或多个”或“至少一个”互换使用。在希望仅有一个项目的情况下,使用术语“一个”或类似语言。且,如本文所使用,术语“具有”等希望是开放式术语。另外,除非另外明确陈述,否则短语“基于”希望意味着“至少部分地基于”。
如本文所使用,术语“通信”和“传送”可指信息(例如,数据、信号、消息、指令、命令等)的接收、接受、发送、传送、提供等。一个单元(例如,装置、系统、装置或系统的组件、其组合等)与另一单元通信意味着所述一个单元能够直接或间接地从所述另一单元接收信息和/或向所述另一单元发送信息。这可以指代在本质上有线和/或无线的直接或间接连接(例如,直接通信连接、间接通信连接等)。另外,尽管所发送的信息可以在第一单元与第二单元之间被修改、处理、中继和/或路由,但这两个单元也可以彼此通信。例如,即使第一单元被动地接收信息且不会主动地将信息发送到第二单元,第一单元也可以与第二单元通信。作为另一实例,如果至少一个中间单元(例如,位于第一单元与第二单元之间的第三单元)处理从第一单元接收的信息并且将处理后的信息传送到第二单元,则第一单元可以与第二单元通信。在一些非限制性实施例中,消息可以指代包括数据的网络包(例如,数据包等)。可使用任何已知的电子通信协议和/或算法,例如TCP/IP(包括HTTP和其它协议)、WLAN(包括802.11和其它基于射频的协议和方法)、模拟发送、蜂窝网络(例如,全球移动通信系统(GSM)、码分多址(CDMA)、长期演进全球微波接入互操作性/>等)等。应当理解,可能有许多其它布置。
如本文所使用,术语“计算装置”可以指被配置成处理数据的一个或多个电子装置。计算装置可以是移动装置。作为实例,移动装置可包括蜂窝电话(例如,智能手机或标准蜂窝电话)、便携式计算机、可穿戴装置(例如,手表、眼镜、镜片、衣物等)、个人数字助理(PDA),和/或其它类似装置。计算装置可以不是移动装置,例如桌上型计算机。此外,术语“计算机”可指包括用于接收、处理和输出数据的必要组件且通常包括显示器、处理器、存储器、输入装置和网络接口的任何计算装置。
如本文所使用,术语“服务器”或“服务器计算机”可指或包括一个或多个处理器或计算机、存储装置,或由例如因特网之类的网络环境中的多方操作或促进多方进行通信和处理的类似计算机布置,但应了解,可通过一个或多个公共或专用网络环境促进通信,并且各种其它布置是可能的。此外,在网络环境中直接或间接通信的例如服务器的多个计算机,或例如销售点(POS)装置的其它计算机化装置可以构成“系统”,例如商家的POS系统。如本文中所使用对“服务器”、“处理器”、“至少一个处理器”和“所述至少一个处理器”的提及可以指陈述为执行先前步骤或功能的先前陈述的服务器和/或处理器、不同的服务器和/或处理器,和/或服务器和/或处理器的组合。例如,如在说明书和权利要求书中所使用,陈述为执行第一步骤或功能的第一服务器和/或第一处理器可以指陈述为执行第二步骤或功能的相同或不同服务器和/或处理器。
本公开的非限制性实施例或方面涉及用于机器学习中的节点嵌入的系统、方法和计算机程序产品。使用本文中所描述的技术来训练使用极坐标的图形的节点嵌入,非限制性实施例允许生成、训练高效图形结构并将其存储在存储器中,而不使处理和存储器能力负担过重。极坐标中的节点嵌入允许在训练期间对图形进行更高效的处理,从而使得使用更少的处理器循环,因为关于特定矢量的信息可以被压缩为低维表示。此外,非限制性实施例允许通过使用极坐标矢量以高效方式实行计算密集的过程,例如同位符号相似性确定。以此方式,非限制性实施例可以允许使用单个计算装置而非分布式系统(例如,计算装置的网络)。
此外,非限制性实施例还通过改进用于训练机器学习模型的图形的负样本的质量来提供效率的提高。例如,通过本文中所描述的技术,负样本的质量得到改进,并且因此需要训练的负样本更少,从而获得高质量节点嵌入。例如,改进的负采样改进对偏斜图形的处理。非限制性实施例提供高效的基于相似性的图形组织技术,其有助于产生用于具有较大偏斜的图形的高质量负样本。
现在参考图1,示出了根据非限制性实施例的用于生成节点嵌入的系统1000。在一些非限制性实施例或方面中,系统1000可包括节点嵌入系统100、机器学习模型102、数据库104和网络环境106。例如一个或多个计算装置的可由用户操作的系统和/或装置可以经由一个或多个网络环境106与例如节点嵌入系统100、机器学习模型102和/或数据库104的系统通信。在一些非限制性实施例或方面中,节点嵌入系统100可包括一个或多个计算装置(例如,服务器),其提供接口以供一个或多个计算装置与其交互。例如,节点嵌入系统100可包括服务器、服务器群组和/或其它类似装置。在一些非限制性实施例或方面中,节点嵌入系统100可以与提供接口的一个或多个计算装置相关联,使得用户可以经由所述一个或多个计算装置与节点嵌入系统100交互。
继续参考图1,机器学习模型102可包括被配置成经由网络环境106与节点嵌入系统100和/或数据库104通信的计算装置。例如,机器学习模型102可包括服务器、服务器群组和/或其它类似装置。在一些非限制性实施例或方面中,机器学习模型102可以与提供接口的一个或多个计算装置相关联,使得用户可以经由所述一个或多个计算装置与机器学习模型102交互。机器学习模型102可以与节点嵌入系统100通信,使得机器学习模型102与节点嵌入系统100分开。替代地,在一些非限制性实施例中,机器学习模型102可以是节点嵌入系统100的部分(例如,组件)。在一些非限制性实施例或方面中,机器学习模型102可以在与节点嵌入系统100相同的计算装置上执行,或在与节点嵌入系统100分开的计算装置上执行。
机器学习模型102可以生成(例如,训练、验证、再训练等)、存储和/或实施一个或多个机器学习模型(例如,操作一个或多个机器学习模型、将输入提供到一个或多个机器学习模型和/或从一个或多个机器学习模型提供输出等)。在一些非限制性实施例或方面中,机器学习模型102可包括至少一个机器学习算法(例如,监督学习、无监督学习、表示学习等)。在一些非限制性实施例或方面中,训练机器学习模型102可以提供一个或多个训练过的机器学习模型。在一些非限制性实施例或方面中,机器学习模型102可包括未训练的机器学习模型或训练过的机器学习模型。
继续参考图1,数据库104可包括被配置成经由网络环境106与节点嵌入系统100和/或机器学习模型102通信的计算装置(例如,数据库装置)。例如,数据库104可包括服务器、服务器群组和/或其它类似装置。在一些非限制性实施例或方面中,数据库104可以与提供接口的一个或多个计算装置相关联,使得用户可以经由所述一个或多个计算装置与数据库104交互。数据库104可以与节点嵌入系统100和/或机器学习模型102通信,使得数据库104与节点嵌入系统100和/或机器学习模型102分开。替代地,在一些非限制性实施例中,数据库104可以是节点嵌入系统100和/或机器学习模型102的部分(例如,组件)。
在一些非限制性实施例或方面中,数据库104可包括能够存储数据的装置(例如,储存装置)。在一些非限制性实施例或方面中,数据库104可包括由一个或多个计算装置存储和存取的数据的集合。数据库104可包括文件系统存储装置、云存储装置、存储器中存储装置等。数据库104可包括非易失性存储装置(例如,闪存存储器、磁介质等)、易失性存储装置(例如,随机存取存储器等),或非易失性和易失性存储装置两者。在一些非限制性实施例中,数据库104可以是节点嵌入系统100和/或机器学习模型102的部分(例如,组件)。在一些非限制性实施例或方面中,数据库104可以在与节点嵌入系统100和/或机器学习模型102分开的计算装置上托管(例如,存储并且允许其它计算装置经由网络环境存取)。
网络环境106可包括一个或多个有线和/或无线网络。例如,网络环境106可包括蜂窝网络(例如,长期演进网络、第三代(3G)网络、第四代(4G)网络、第五代(5G)网络、码分多址接入(CDMA)网络等)、公用陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN)等)、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等,和/或一些或所有这些或其它类型的网络的组合。
现在参考图2,示出了根据非限制性实施例的用于实施和执行本文中所描述的系统和方法的计算装置900的示例组件的图。在一些非限制性实施例中,与图2中所示的那些组件相比,装置900可包括额外组件、更少组件、不同组件或以不同方式布置的组件。装置900可包括总线902、处理器904、存储器906、存储组件908、输入组件910、输出组件912和通信接口914。总线902可以包括准许装置900的组件之间的通信的组件。在一些非限制性实施例中,处理器904可在硬件、固件或硬件与软件的组合中实施。例如,处理器904可包括处理器(例如中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器、数字信号处理器(DSP)和/或可被编程以执行功能的任何处理组件(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、虚拟或扩增实境描绘系统及装置等)。存储器906可包括随机存取存储器(RAM)、只读存储器(ROM),和/或存储供处理器904使用的信息和/或指令的另一类型的动态或静态存储装置(例如,闪存存储器、磁存储器、光学存储器等)。
继续参考图2,存储组件908可以存储与装置900的操作和使用有关的信息和/或软件。例如,存储组件908可以包括硬盘(例如磁盘、光盘、磁光盘、固态磁盘等)和/或另一类型的计算机可读介质。在一些非限制性实施例或方面中,存储组件908可以与数据库104相同或类似。输入组件910可包括准许装置900例如通过用户输入(例如触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)接收信息的组件。另外或替代地,输入组件910可包括用于感测信息的传感器(例如全球定位系统(GPS)组件、加速度计、陀螺仪、致动器等)。输出组件912可以包括从装置900提供输出信息的组件(例如显示器、扬声器、一个或多个发光二极管(LED)等)。通信接口914可包括使装置900能够例如通过有线连接、无线连接或有线和无线连接的组合与其它装置通信的收发器类组件(例如,收发器、单独的接收器和发射器等)。通信接口914可准许装置900从另一装置接收信息和/或提供信息给另一装置。例如,通信接口914可包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、接口、蜂窝网络接口,和/或其类似者。
装置900可执行本文中所述的一个或多个过程。装置900可基于处理器904执行由存储器906和/或存储组件908等计算机可读介质存储的软件指令来执行这些过程。计算机可读介质可包括任何非瞬态存储器装置。存储器装置包括位于单个物理存储装置内部的存储器空间或散布于多个物理存储装置上的存储器空间。软件指令可通过通信接口914从另一计算机可读介质或从另一装置读取到存储器906和/或存储组件908中。在被执行时,存储在存储器906和/或存储组件908中的软件指令可使处理器904执行本文中所描述的一个或多个过程。另外或替代地,硬接线电路系统可替代软件指令或与软件指令结合使用以执行本文中所描述的一个或多个过程。因此,本文所描述的实施例不限于硬件电路系统和软件的任何特定组合。本文所使用的术语“被编程或配置”是指一个或多个装置上的软件、硬件电路系统或其任何组合的布置。
现在参考图3,示出了根据非限制性实施例或方面的用于生成节点嵌入的方法的流程图。所述方法可以由节点嵌入系统100、机器学习模型102和/或其它计算装置的一个或多个处理器执行。在一些非限制性实施例或方面中,可以由节点嵌入系统100(例如,节点嵌入系统100的一个或多个计算装置)(例如,完全、部分地等)执行所述方法的一个或多个步骤。在一些非限制性实施例或方面中,可以由与节点嵌入系统100(例如,节点嵌入系统100的一个或多个计算装置)、机器学习模型102(例如,机器学习模型102的一个或多个计算装置)、数据库104(例如,数据库104的一个或多个计算装置)和/或网络环境106(例如,网络环境106的一个或多个计算装置)分开或包括它们的另一装置或装置群组执行所述方法的一个或多个步骤。
继续参考图3,在步骤300,可以生成图形。例如,节点嵌入系统100可以生成包括多个节点的图形。在一些非限制性实施例或方面中,图形(例如,图形数据结构)可以指一组(例如,多个)节点(例如,顶点、点等)连同一组(例如,多个)边(例如,对、链接、线等)。边可以将第一节点与第二节点连接,使得第一节点和第二节点可以被称为相关的。图形可包括无向图(例如,边不定向或边无序)或有向图(例如,边定向或边有序)。在一些非限制性实施例或方面中,图形可以被定义为G=(V,E),其中G为图形,V为一组节点,并且E为一组边。在一些非限制性实施例或方面中,边可以连接图形中的一对节点。例如,边可以表示为e=(u,v),其中u为第一节点,v为第二节点,并且e为连接第一节点和第二节点的边。在一些非限制性实施例或方面中,图形可包括多个节点和多个边。图形可用于表示对象(例如,节点)之间的关系。
在一些非限制性实施例或方面中,节点嵌入系统100可以使用均匀随机分布生成图形。例如,节点嵌入系统100可以使用均匀随机分布生成图形,从而使用平均值为零(0)且方差为0.5的正态分布来得到笛卡尔坐标系中的嵌入。作为另一实例,节点嵌入系统100可以使用均匀随机分布来初始化图形和/或基于极坐标表示的嵌入(例如,包括至少一个极角和矢量长度的嵌入、基于图形生成的嵌入)。在一些非限制性实施例或方面中,当节点嵌入系统100使用均匀随机分布来初始化图形和/或基于极坐标表示的嵌入时,节点嵌入系统可以使用平均值为零且方差为0.5的正态分布来初始化对应的基于笛卡尔表示的嵌入(例如,对应于基于极坐标表示的嵌入的基于笛卡尔表示的嵌入)。以此方式,与使用正态分布相比,均匀随机分布可以降低生成图形的复杂性。
在一些非限制性实施例或方面中,节点嵌入系统100可以使用均匀随机分布来初始化基于极坐标表示的嵌入(例如,包括至少一个极角和矢量长度的嵌入)。例如,节点嵌入系统100可以使用均匀随机分布来初始化基于极坐标表示的嵌入,从而使得对应的基于笛卡尔表示的嵌入(例如,笛卡尔坐标系中的嵌入)由节点嵌入系统100使用平均值为零(0)且方差为0.5的正态分布来初始化。以此方式,与使用正态分布相比,均匀随机分布可以降低初始化嵌入的复杂性。
在一些非限制性实施例或方面中,节点嵌入系统100可以预训练包括图形的机器学习模型(例如,机器学习模型102)。例如,节点嵌入系统100可以通过用机器学习模型102处理图形并使用嵌入训练机器学习模型102来预训练机器学习模型102。在一些非限制性实施例或方面中,节点嵌入系统100可以通过基于负样本组织图形来预训练机器学习模型102,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。在一些非限制性实施例或方面中,两跳邻节点可包括图形中在所述节点与顶点之间具有至少两个边和一个其它节点的节点。换句话说,相对于顶点(例如,顶点节点)的两跳邻节点为经由第一边连接到第二节点的第一节点,并且其中第二节点经由第二边连接到顶点。第一节点被称为顶点的两跳邻点。
在一些非限制性实施例或方面中,节点嵌入系统100可以通过在输入图形中读取来预训练机器学习模型102。节点嵌入系统100可以将多个节点中的所有节点映射到连续数字标识符(例如,1、2、3等)。在一些非限制性实施例或方面中,连续数字标识符可以表示到多个嵌入的索引。例如,映射到为“2”的数字标识符的节点可以对应于多个嵌入中在嵌入阵列中索引为“2”的嵌入。
在一些非限制性实施例或方面中,节点嵌入系统100可以训练机器学习模型102。例如,节点嵌入系统100可以训练机器学习模型102以产生(例如,得到)训练过的嵌入。节点嵌入系统100可以导出训练过的嵌入。在一些非限制性实施例或方面中,节点嵌入系统100可以基于损失函数来训练机器学习模型102。在一些非限制性实施例或方面中,损失函数可以由以下等式定义:
其中,为损失,u为第一节点,v为第二节点,ε′为一组负边(例如,在图形中未观察到边),ε为一组观察到的边(例如,在图形中观察到边),d为嵌入的维度(例如,嵌入空间的维度),Ru为第一d维嵌入,Rv为第二d维嵌入,SG(Ru,Rv)为第一嵌入与第二嵌入之间的角相似性,V为一组节点,/>为第i维度的嵌入Rv,并且λ为正则化因子。
在一些非限制性实施例或方面中,节点嵌入系统100可以基于异步随机梯度算法(ASGD)来训练机器学习模型102。在一些非限制性实施例或方面中,节点嵌入系统100可以将机器学习模型102训练为多线程应用程序。在一些非限制性实施例或方面中,在每个步骤,节点嵌入系统100可以使用ASGD来拾取一批边(例如,一组边)、计算梯度,并且使用梯度来更新嵌入。在一些非限制性实施例或方面中,对于负采样,节点嵌入系统100可以拾取一批负样本。在一些非限制性实施例或方面中,节点嵌入系统100可以从当前批次的边获得负样本。在一些非限制性实施例或方面中,节点嵌入系统100可以使用每个节点的自适应学习速率,所述自适应学习速率随着每次梯度更新而线性减小。例如,在训练期间节点u的学习速率可以由以下等式定义:
在步骤302,可以生成嵌入。例如,节点嵌入系统100可以针对多个节点中的每个节点生成嵌入。在一些非限制性实施例或方面中,节点嵌入系统100可以针对多个节点中的每个节点生成嵌入,使得嵌入在低维空间(例如,矢量表示、嵌入空间等)中表示。在一些非限制性实施例或方面中,每个嵌入可包括至少一个极角和矢量长度。以此方式,图形和连接性方面的网络结构可以保存在嵌入中。
在一些非限制性实施例或方面中,多个节点中的每个节点的嵌入的矢量长度可为相同的值。例如,第一节点的第一嵌入的矢量长度可为与多个节点中的每个其它节点的每个其它嵌入的矢量长度相同的值。以此方式,每个嵌入的矢量长度可以等于多个节点中的每个节点的所有其它嵌入的矢量长度。在一些非限制性实施例或方面中,多个节点中的每个节点的每个嵌入的矢量长度可以等于一(1)。以此方式,可以不需要权重正则化,从而降低训练过程的复杂性,并且允许使用更高学习速率进行训练。在一些非限制性实施例或方面中,每个嵌入的极角可以界定为-180≤θ<180。例如,嵌入Ru可以表示为其中/>为对应于d维度的极角。
在一些非限制性实施例或方面中,角距离的梯度(例如,在极坐标中、在嵌入空间中)可包括分别对应于第一节点的第一嵌入矢量和第二节点的第二嵌入矢量的第一极角与第二极角之间的差。对于训练样本e=(u,v),损失可以由以下等式定义:
其中u为第一节点,v为第二节点,n为维度,为对应于第一节点的第一极角,/>为对应于第二节点的第二极角,并且Δln为第n维度训练样本的损失。在一些非限制性实施例或方面中,第一极角与第二极角之间的差可以基于第一嵌入矢量与第二嵌入矢量之间的较小角度(例如,由-180≤θ<180限定的角度)。以此方式,第一嵌入矢量与第二嵌入矢量之间的角距离可以由以下等式限定:
其中ΔSG(u,v)n为梯度的第n维度极坐标表示,为第一节点u的第n维度极坐标表示,并且/>为第二节点v的第n维度极坐标表示。在一些非限制性实施例或方面中,当在计算装置上执行用于计算梯度的上述等式时,条件语句可能影响计算装置的性能。这可能妨碍计算装置在训练时的性能。为了消除对性能的可能影响,在某些非限制性实施例中,可以通过将嵌入的极角和矢量长度表示为2字节有符号整数(例如,当由计算装置读取或写入到存储器和/或存储装置等时,在二进制数字系统中表示嵌入)来在计算装置上不使用条件语句。
在一些非限制性实施例或方面中,多个节点中的每个节点的每个嵌入的至少一个极角可以用最大值与最小值之间的整数范围表示。例如,每个嵌入的至少一个极角可以用包括最小值-32,768和最大值32,767的整数范围表示。在一些非限制性实施例或方面中,至少一个极角可以由2字节有符号整数(例如,16位整数的数据类型)表示。
在一些非限制性实施例或方面中,可以为用整数范围表示的每个嵌入的至少一个极角分配整数值。在一些非限制性实施例或方面中,分配给每个嵌入的至少一个极角的整数值可以表示为2字节有符号整数。以此方式,且在一些非限制性实施例中,嵌入的极角值可存储在存储器中,使得当在计算装置上执行用于计算梯度的上述等式时,可以消除条件语句。这可以改进计算装置在使用嵌入训练机器学习模型时的性能。
在一些非限制性实施例或方面中,节点嵌入系统100可以将整数范围中分配给至少一个极角的整数值线性地缩放到-180到180的范围。以此方式,可以获得笛卡尔表示。
在一些非限制性实施例或方面中,用于梯度计算的等式可以由以下等式定义,其中每个嵌入的至少一个极角表示为2字节有符号整数:
在一些非限制性实施例或方面中,节点嵌入系统100可以将最大值和最小值关联,使得当极角值等于最小值(例如,极角表示整数范围的最小值)减小值一(1)时,极角值变为等于最大值(例如,极角表示整数范围的最大值)。另外,节点嵌入系统100可以将最大值和最小值关联,使得当等于最大值的极角值增加值一(1)时,极角值变为等于最小值。
在一些非限制性实施例或方面中,节点嵌入系统100可以更新用于训练的梯度。例如,节点嵌入系统100可以使用以下等式更新梯度:
在一些非限制性实施例或方面中,嵌入空间中的嵌入之间的距离可以由角相似性表示。在一些非限制性实施例或方面中,角相似性可以由SG=1-cos-1(余弦相似性)/π定义,其中SG为两个节点的两个嵌入之间的角相似性。在一些非限制性实施例或方面中,两个嵌入(例如,节点的嵌入)之间的较接近1.0的角相似性表示节点之间存在边。在一些非限制性实施例或方面中,两个嵌入(例如,节点的嵌入)之间的较接近0.0的角相似性表示节点之间不存在边。在一些非限制性实施例或方面中,第一节点的第一嵌入Ru与第二节点的第二嵌入Rv之间的角相似性可以由以下等式定义:
其中Ru为第一嵌入,Rv为第二嵌入,u为第一节点,v为第二节点,并且SG(Ru,Rv)为第一嵌入与第二嵌入之间的角相似性。在一些非限制性实施例或方面中,角相似性可以在针对多个节点中的每个节点生成嵌入时保存在嵌入空间中。以此方式,图形中通过边连接的节点将在嵌入空间中具有较接近1.0的角相似性,而图形中不通过边连接的节点将在嵌入空间中具有较接近0.0的角相似性。
继续参考图3,在步骤304,可以存储嵌入。例如,节点嵌入系统100可以将多个嵌入中的每个嵌入存储在存储器中。在一些非限制性实施例或方面中,节点嵌入系统100可以将图形存储在数据库(例如,数据库104)和/或存储器中。在一些非限制性实施例或方面中,节点嵌入系统100可以将一批边(例如,包括节点的一组边)加载到存储器中以供处理。例如,节点嵌入系统100可以将一批边(其中边e=(u,v))加载到存储器中,以处理这批边以针对多个节点中的每个节点生成嵌入。在节点嵌入系统100生成嵌入之后,节点嵌入系统100可以将嵌入存储在存储器(例如,主存储器)中。
在步骤306,可以处理图形。例如,机器学习模型102可以处理包括多个节点的图形。在一些非限制性实施例或方面中,机器学习模型102可以由节点嵌入系统100使用图形进行训练。在一些非限制性实施例或方面中,机器学习模型102可以基于处理图形来生成预测(例如,标签等的预测)。
继续参考图3,在步骤308,可以转换嵌入。例如,节点嵌入系统100可以将多个嵌入中的至少一个嵌入转换为笛卡尔坐标。笛卡尔坐标中的嵌入可以由表示,其中/>为对应于d维度的浮点权重。在一些非限制性实施例或方面中,节点嵌入系统100可以响应于用机器学习模型102处理包括多个节点的图形而转换多个嵌入中的至少一个嵌入。
在一些非限制性实施例或方面中,节点嵌入系统100可以使用以下等式将多个嵌入中的至少一个嵌入转换为笛卡尔坐标:
x1=cos(θ1)x2=sin(θ1)
x3=cos(θ2)x4=sin(θ2)
.
.
.
x2d-1=cos(θd)x2d=sin(θd)
其中集合{x1,x2,...,x2d}为d维极坐标表示{θ1,θ2,...,θd}的2d维笛卡尔表示。以此方式,可以将用于训练的维度数目减半,从而减少训练所需的内存占用,并降低计算梯度和更新每个嵌入的计算复杂性。在一些非限制性实施例或方面中,与笛卡尔表示相比,使用具有2字节有符号整数的极坐标表示可以将所存储嵌入的内存占用减少高达75%。
在一些非限制性实施例或方面中,节点嵌入系统100可以通过将多个嵌入中的至少一个嵌入的每个极角变换为两个不同的笛卡尔坐标(例如,x坐标和y坐标、x1和x2坐标等)来将所述至少一个嵌入转换为笛卡尔坐标。在一些非限制性实施例或方面中,节点嵌入系统100可以使用平均值为零(0)且方差为0.5的正态分布来嵌入笛卡尔坐标。
现在参考图4A和4B,图4A和4B是根据非限制性实施例或方面的用于生成节点嵌入的实施方式的图。在一些非限制性实施例或方面中,图4A和4B中所示的实施方案可包括过程(例如,图3中所示的过程)的一个或多个步骤的实施方案。
如图4A中标号400所示,节点嵌入系统100可以生成包括多个节点的图形。例如,节点嵌入系统100可以生成包括包括连续数字标识符的多个节点的图形。在一些非限制性实施例或方面中,节点嵌入系统100可以将多个节点中的所有节点映射到连续数字标识符(例如,1、2、3等)。在一些非限制性实施例或方面中,连续数字标识符可以表示到多个嵌入的索引。在一些非限制性实施例或方面中,多个节点中的每个节点可以经由边连接到至少一个第二节点。在一些非限制性实施例或方面中,边可以表示通过边连接的节点之间的关系。在一些非限制性实施例或方面中,节点嵌入系统100可以生成包括多个节点和多个边的图形。
如图4A中标号402所示,节点嵌入系统100可以针对多个节点中的每个节点生成嵌入。在一些非限制性实施例或方面中,如标号404所示,节点嵌入系统100可以生成每个嵌入,使得每个嵌入包括至少一个极角和矢量长度。例如,节点嵌入系统100可以针对多个节点中的节点4生成嵌入。节点4的嵌入可包括极角θ4和矢量长度r4。
在一些非限制性实施例或方面中,节点嵌入系统100可以将多个嵌入中的每个嵌入存储在存储器中。例如,节点嵌入系统100可以将节点4的嵌入存储在存储器中作为极角θ4。在一些非限制性实施例或方面中,节点嵌入系统100可以存储表示为2字节有符号整数的极角。在一些非限制性实施例或方面中,节点嵌入系统100可以生成第一嵌入与第二嵌入之间的角相似性和角距离(例如,梯度)。例如,节点嵌入系统100可以基于θ4和θ5生成节点4的嵌入与节点5的嵌入之间的角相似性。节点嵌入系统100可以基于θ4和θ5生成节点4的嵌入与节点5的嵌入之间的角距离。在一些非限制性实施例或方面中,角距离可以基于较小角度(例如,基于由θ45所示的角度)而生成。
在一些非限制性实施例或方面中,节点嵌入系统100可以响应于用机器学习算法处理图形,将多个嵌入中的至少一个嵌入转换为笛卡尔坐标。例如,响应于用机器学习模型102处理图形,节点嵌入系统100可以将节点4的嵌入转换为笛卡尔坐标。在一些非限制性实施例或方面中,节点嵌入系统100可以在将嵌入转换为笛卡尔坐标之前,将多个嵌入中的至少一个嵌入的2字节整数表示缩放为极角(例如,-180≤θ<180)。在一些非限制性实施例或方面中,节点嵌入系统100可以通过将多个嵌入中的至少一个嵌入的每个极角变换为两个不同的笛卡尔坐标(例如,x坐标和y坐标)来将所述至少一个嵌入转换为笛卡尔坐标。
现在参考图4B,如附图标号406所示,节点嵌入系统100可以存储如由2字节有符号整数表示的至少一个极角。在一些非限制性实施例或方面中,节点嵌入系统100可以用最大值与最小值之间的整数范围呈现每个嵌入的至少一个极角。在一些非限制性实施例或方面中,2字节有符号整数的范围可包括最大值32,767和最小值-32,768。在一些非限制性实施例或方面中,节点嵌入系统100可以基于从最小值到最大值的范围将由2字节有符号整数表示的至少一个极角存储在计算装置的存储器和/或存储装置中。
如附图标号408所示,节点嵌入系统100可以将最大值和最小值关联,使得当等于最小值的极角值减小值一时,极角值变为等于最大值,并且当极角值等于最大值且增加值一时,极角值变为等于最小值。在一些非限制性实施例或方面中,当最大值和最小值关联时,节点嵌入系统100可以基于值范围用最大值与最小值之间的整数范围表示每个嵌入的至少一个极角。例如,节点嵌入系统100可以将值为90°的极角表示为等于16,383的2字节有符号整数,并且将值为-90°的极角表示为等于-16,384的2字节有符号整数。当最大值和最小值关联时,节点嵌入系统100可以基于具有极角的矢量在值范围中的位置来将2字节有符号整数值分配给至少一个极角。
尽管已出于说明的目的而基于当前被认为是最实用和优选的实施例详细描述了本公开,但应理解,此类细节仅用于所述目的,且本公开不限于所公开实施例,而相反,旨在涵盖在所附权利要求书的精神和范围内的修改和等效布置。例如,应理解,本公开预期,尽可能地,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
Claims (24)
1.一种用于节点嵌入的方法,包括:
用至少一个处理器生成包括多个节点的图形;
用所述至少一个处理器针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;
用所述至少一个处理器将多个嵌入中的每个嵌入存储在存储器中;以及
响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
2.根据权利要求1所述的方法,其中每个嵌入的所述矢量长度为相同的值。
3.根据权利要求1所述的方法,其中每个嵌入的所述至少一个极角用最大值与最小值之间的整数范围表示,所述方法还包括:
将所述最大值和所述最小值关联,使得当等于所述最小值的极角值减小值一时,所述极角值变为等于所述最大值,并且当所述极角值等于所述最大值且增加值一时,所述极角值变为等于所述最小值。
4.根据权利要求1所述的方法,其中所述至少一个极角由2字节有符号整数表示。
5.根据权利要求1所述的方法,其中将所述多个嵌入中的所述至少一个嵌入转换为笛卡尔坐标包括将所述至少一个嵌入的每个极角变换为两个不同的笛卡尔坐标。
6.根据权利要求1所述的方法,其中所述图形是使用均匀随机分布生成的,并且其中所述笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。
7.根据权利要求1所述的方法,还包括:
预训练包括所述图形的机器学习模型;
训练所述机器学习模型,从而产生训练过的嵌入;以及
导出所述训练过的嵌入。
8.根据权利要求7所述的方法,其中预训练所述机器学习模型包括基于负样本来组织所述图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
9.一种用于节点嵌入的系统,包括至少一个处理器,所述至少一个处理器被编程或配置成:
生成包括多个节点的图形;
针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;
将多个嵌入中的每个嵌入存储在存储器中;以及
响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
10.根据权利要求9所述的系统,其中每个嵌入的所述矢量长度为相同的值。
11.根据权利要求9所述的系统,其中每个嵌入的所述至少一个极角用最大值与最小值之间的整数范围表示,所述至少一个处理器还被编程或配置成:
将所述最大值和所述最小值关联,使得当等于所述最小值的极角值减小值一时,所述极角值变为等于所述最大值,并且当所述极角值等于所述最大值且增加值一时,所述极角值变为等于所述最小值。
12.根据权利要求9所述的系统,其中所述至少一个极角由2字节有符号整数表示。
13.根据权利要求9所述的系统,其中将所述多个嵌入中的所述至少一个嵌入转换为笛卡尔坐标包括将所述至少一个嵌入的每个极角变换为两个不同的笛卡尔坐标。
14.根据权利要求9所述的系统,其中所述图形是使用均匀随机分布生成的,并且其中所述笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。
15.根据权利要求9所述的系统,其中所述至少一个处理器还被编程或配置成:
预训练包括所述图形的机器学习模型;
训练所述机器学习模型,从而产生训练过的嵌入;以及
导出所述训练过的嵌入。
16.根据权利要求15所述的系统,其中预训练所述机器学习模型包括基于负样本来组织所述图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
17.一种用于节点嵌入的计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括程序指令,所述程序指令在由至少一个处理器执行时使所述至少一个处理器:
生成包括多个节点的图形;
针对所述多个节点中的每个节点生成嵌入,每个嵌入包括至少一个极角和矢量长度;
将多个嵌入中的每个嵌入存储在存储器中;以及
响应于用机器学习算法处理所述图形,将所述多个嵌入中的至少一个嵌入转换为笛卡尔坐标。
18.根据权利要求17所述的计算机程序产品,其中每个嵌入的所述矢量长度为相同的值。
19.根据权利要求17所述的计算机程序产品,其中每个嵌入的所述至少一个极角用最大值与最小值之间的整数范围表示,所述程序指令还使所述至少一个处理器:
将所述最大值和所述最小值关联,使得当等于所述最小值的极角值减小值一时,所述极角值变为等于所述最大值,并且当所述极角值等于所述最大值且增加值一时,所述极角值变为等于所述最小值。
20.根据权利要求17所述的计算机程序产品,其中所述至少一个极角由2字节有符号整数表示。
21.根据权利要求17所述的计算机程序产品,其中将所述多个嵌入中的所述至少一个嵌入转换为笛卡尔坐标包括将所述至少一个嵌入的每个极角变换为两个不同的笛卡尔坐标。
22.根据权利要求17所述的计算机程序产品,其中所述图形是使用均匀随机分布生成的,并且其中所述笛卡尔坐标是使用平均值为零且方差为0.5的正态分布嵌入的。
23.根据权利要求17所述的计算机程序产品,其中所述程序指令还使所述至少一个处理器:
预训练包括所述图形的机器学习模型;
训练所述机器学习模型,从而产生训练过的嵌入;以及
导出所述训练过的嵌入。
24.根据权利要求23所述的计算机程序产品,其中预训练所述机器学习模型包括基于负样本来组织所述图形,对于顶点,所述负样本包括不与所述顶点共享边的两跳邻节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163192721P | 2021-05-25 | 2021-05-25 | |
US63/192,721 | 2021-05-25 | ||
PCT/US2022/030676 WO2022251178A1 (en) | 2021-05-25 | 2022-05-24 | Systems, methods, and computer program products for generating node embeddings |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116171435A true CN116171435A (zh) | 2023-05-26 |
Family
ID=84230215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006022.1A Pending CN116171435A (zh) | 2021-05-25 | 2022-05-24 | 用于生成节点嵌入的系统、方法和计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230196198A1 (zh) |
EP (1) | EP4348515A1 (zh) |
CN (1) | CN116171435A (zh) |
WO (1) | WO2022251178A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7242408B1 (en) * | 2003-01-31 | 2007-07-10 | Microsoft Corporation | Graphical processing of object perimeter information |
US20200250734A1 (en) * | 2019-02-01 | 2020-08-06 | Target Brands, Inc. | Item recommendations using convolutions on weighted graphs |
US20210049209A1 (en) * | 2018-08-24 | 2021-02-18 | Advanced New Technologies Co., Ltd. | Distributed graph embedding method and apparatus, device, and system |
CN112417633A (zh) * | 2020-12-01 | 2021-02-26 | 中国人民解放军国防科技大学 | 面向大规模网络的图布局方法以及装置 |
US20210064959A1 (en) * | 2019-08-27 | 2021-03-04 | Nec Laboratories America, Inc. | Flexible edge-empowered graph convolutional networks with node-edge enhancement |
US20210109995A1 (en) * | 2019-10-14 | 2021-04-15 | International Business Machines Corporation | Filtering spurious knowledge graph relationships between labeled entities |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3569958A (en) * | 1965-10-13 | 1971-03-09 | Burroughs Corp | Polar-to-cartesian, digital-to-analogue converter |
KR100757963B1 (ko) * | 2003-12-24 | 2007-09-11 | 삼성전자주식회사 | 통신시스템에서 부호화 방법 및 장치 |
US20220119871A1 (en) * | 2019-01-28 | 2022-04-21 | The Broad Institute, Inc. | In-situ spatial transcriptomics |
US11409958B2 (en) * | 2020-09-25 | 2022-08-09 | International Business Machines Corporation | Polar word embedding |
-
2022
- 2022-05-24 CN CN202280006022.1A patent/CN116171435A/zh active Pending
- 2022-05-24 WO PCT/US2022/030676 patent/WO2022251178A1/en active Application Filing
- 2022-05-24 EP EP22811957.4A patent/EP4348515A1/en active Pending
- 2022-05-24 US US18/015,976 patent/US20230196198A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7242408B1 (en) * | 2003-01-31 | 2007-07-10 | Microsoft Corporation | Graphical processing of object perimeter information |
US20210049209A1 (en) * | 2018-08-24 | 2021-02-18 | Advanced New Technologies Co., Ltd. | Distributed graph embedding method and apparatus, device, and system |
US20200250734A1 (en) * | 2019-02-01 | 2020-08-06 | Target Brands, Inc. | Item recommendations using convolutions on weighted graphs |
US20210064959A1 (en) * | 2019-08-27 | 2021-03-04 | Nec Laboratories America, Inc. | Flexible edge-empowered graph convolutional networks with node-edge enhancement |
US20210109995A1 (en) * | 2019-10-14 | 2021-04-15 | International Business Machines Corporation | Filtering spurious knowledge graph relationships between labeled entities |
CN112417633A (zh) * | 2020-12-01 | 2021-02-26 | 中国人民解放军国防科技大学 | 面向大规模网络的图布局方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230196198A1 (en) | 2023-06-22 |
WO2022251178A1 (en) | 2022-12-01 |
EP4348515A1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902186B (zh) | 用于生成神经网络的方法和装置 | |
CN102844771B (zh) | 用旋转不变特征描述符进行跟踪和识别的方法和设备 | |
CN111401406B (zh) | 一种神经网络训练方法、视频帧处理方法以及相关设备 | |
CN114391160A (zh) | 根据立体相机的手部姿势估计 | |
US20190385073A1 (en) | Visual recognition via light weight neural network | |
CN113947147B (zh) | 目标地图模型的训练方法、定位方法及相关装置 | |
EP3012803A1 (en) | Image processing method, image processing device, and image processing program | |
JP2022169743A (ja) | 情報抽出方法、装置、電子機器及び記憶媒体 | |
US11604963B2 (en) | Feedback adversarial learning | |
CN115147265A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN113822427A (zh) | 一种模型训练的方法、图像匹配的方法、装置及存储介质 | |
CN112668482A (zh) | 人脸识别训练方法、装置、计算机设备及存储介质 | |
WO2022100607A1 (zh) | 一种神经网络结构确定方法及其装置 | |
JP2014132377A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN113590857A (zh) | 键值匹配方法、装置、可读介质及电子设备 | |
CN111626311A (zh) | 一种异构图数据处理方法和装置 | |
CN116171435A (zh) | 用于生成节点嵌入的系统、方法和计算机程序产品 | |
CN113627421A (zh) | 一种图像处理方法、模型的训练方法以及相关设备 | |
WO2023207823A1 (zh) | 类别描述的特征信息的获取方法、图像的处理方法及设备 | |
CN117218507A (zh) | 图像处理模型训练方法、图像处理方法、装置及电子设备 | |
CN103839259B (zh) | 一种图像搜寻最优匹配块方法及装置 | |
WO2022052647A1 (zh) | 一种数据处理方法、神经网络的训练方法以及相关设备 | |
CN107845116B (zh) | 生成平面图像的压缩编码的方法和装置 | |
WO2022228060A1 (zh) | 数据处理方法、装置及系统 | |
CN112187388B (zh) | 一种对大规模天线阵列非平稳特性的建模方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |