CN107818176A - 面向大规模图挖掘的分布式网络表示学习方法 - Google Patents
面向大规模图挖掘的分布式网络表示学习方法 Download PDFInfo
- Publication number
- CN107818176A CN107818176A CN201711166875.9A CN201711166875A CN107818176A CN 107818176 A CN107818176 A CN 107818176A CN 201711166875 A CN201711166875 A CN 201711166875A CN 107818176 A CN107818176 A CN 107818176A
- Authority
- CN
- China
- Prior art keywords
- sub
- inner product
- sides
- corresponding node
- character pair
- 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.)
- Granted
Links
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及面向大规模图挖掘的分布式网络表示学习***,其中包括三种分别用于减少内存开销、加速模型训练和提高通信效率的核心优化技术,属于计算机大数据分析技术领域。该***以多进程的方式运行在集群中,按照性质将进程区分成客户端和服务端:客户端负责数据加载以及与服务端进行交互,而服务端负责存储特征矩阵和处理客户端的计算请求。本发明解决了分布式网络表示学习过程中内存占用大和传输数据量较大的问题。特别地,本文详细描述了基于数据块的边抽样方式、特征矩阵的列划分技术以及基于内积离散化和状态记录的高效通信机制。本发明具有训练速度快、内存占用小、特征表达能力强和能处理大规模图数据的特点。
Description
技术领域
本发明涉及网络表示学习技术领域,更具体地,涉及一种面向大规模图挖掘的分布式网络表示学习方法。
背景技术
为了对图结构进行数据挖掘,需要获取图结构中节点的特征向量以基于特征向量利用机器学习进行数据挖掘。
现有技术中,通常采用大规模信息网络嵌入方法(Large Scale InformationNetwork Embedding,简称LINE)抽取节点的特征向量。该方法的应用前提是图结构和大规模信息网络嵌入模型均存储于同一台机器中。但该方法在应用至大规模图结构中时,大规模图结构包含的网络边集E很大,节点很多,相应地,利用大规模信息网络嵌入模型获取的节点的特征向量数目众多,很难存储于同一台机器中,因此,该方法难以应用至大规模图结构进行节点的特征向量获取。
发明内容
本发明提供一种面向大规模图挖掘的分布式网络表示学习方法、客户端、服务端和***,以克服现有技术中,大规模信息网络嵌入方法难以应用至大规模图结构进行节点的特征向量获取的问题。
根据本发明的第一方面,提供一种面向大规模图挖掘的分布式网络表示学习方法,该方法包括:步骤11,分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集;所述第一预设数目的边集为对大规模图结构的所有边进行分组而得;步骤12,将所有所述子边集发送给第二预设数目的服务端,以使得所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量;步骤13,对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,以供所述第二预设数目的服务端根据所有所述子边集中每条边的内积,更新所有所述子边集中每条边的起点和终点对应节点分别作为边的起点和终点时对应特征向量的各向量分块;步骤14,若所述抽样的次数未达到预设次数,重复所述抽样以及内积的发送过程,直至所述抽样的次数达到预设次数。
其中,在步骤11中,所述分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集,具体包括:获取所述大规模图结构的所有边的权值之和,作为总权值,并获取所述第一预设数目的边集中每一边集内的所有边的权值之和,作为边集权值;根据所述总权值、边集权值和所述大规模图结构中边的数目,获取所述第一预设数目的边集中每一边集内待抽取边的数目;在所述第一预设数目的边集中每一边集内,根据该边集的待抽取边的数目,利用别名抽样法,抽取边获得子边集。
其中,在步骤12中,所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量的离散化值;相应地,在步骤13中,所述对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,具体包括:对所有所述子边集中每条边的内积的各分量的离散化值进行离散化反变换后求和,得到所有所述子边集中每条边的内积;将所有所述子边集中每条边的内积进行离散化,得到所有所述子边集中每条边的内积的离散化值并发送给所述第二预设数目的服务端。
根据本发明的第二方面,提供一种面向大规模图挖掘的分布式网络表示学习方法,该方法包括:步骤21,接收客户端发送的所有子边集并存储至本地,对于所有所述子边集中每条边,分别计算该边起点对应节点作为边的起点时对应特征向量的各向量分块和该边终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该边的内积的各分量,并将所有所述子边集中每条边的内积的各分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的内积;步骤22,对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的各向量分块,得到该边起点对应节点作为边的起点时对应特征向量的各梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的各向量分块,得到该边终点对应节点作为边的终点时对应特征向量的各梯度;步骤23,对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的各梯度更新该边起点对应节点作为边的起点时对应特征向量的各向量分块,并用该边终点对应节点作为边的终点时对应特征向量的各梯度更新该边终点对应节点作为边的终点时对应特征向量的各向量分块;步骤24,若所述更新的次数未达到预设次数,重复所述接收动作和所述更新过程,直至所述更新的次数达到预设次数。
其中,所述步骤21,具体包括:对于所有所述子边集中每条边的样本集中每一个样本,计算该样本起点对应节点作为边的起点时对应特征向量的各向量分块和该样本终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该样本的内积的各分量;所述每条边的样本集由所述每条边的一个正样本和第三预设数目的负样本构成;将所有所述子边集中每条边的样本集中每一个样本的内积的各分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的正样本和第三预设数目负样本的内积。
其中,所述步骤22具体包括:对于所有所述子边集中每条边的样本集中每一个样本,根据该样本的内积及该样本终点对应节点作为边的起点时对应特征向量的各向量分块,得到该样本起点对应节点作为边的起点时对应特征向量的各梯度,并根据该样本的内积及该样本终点对应节点作为边的终点时对应特征向量的各向量分块,得到该样本终点对应节点作为边的终点时对应特征向量的各梯度。
其中,所述步骤23包括:对于所有所述子边集中每条边的样本集中每一个样本,用该样本起点对应节点作为边的起点时对应特征向量的各梯度累加至该样本起点对应节点作为边的起点时对应特征向量的各向量分块,并用该样本终点对应节点作为边的终点时对应特征向量的各梯度累加至该样本终点对应节点作为边的终点时对应特征向量的各向量分块。
根据本发明的第三方面,提供一种客户端,所述客户端包括:抽样模块、发送模块、求和模块和循环模块;所述抽样模块,用于分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集;所述第一预设数目的边集为对大规模图结构的所有边进行分组而得;所述发送模块,用于将所有所述子边集发送给第二预设数目的服务端,以使得所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量;所述求和模块,用于对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,以供所述第二预设数目的服务端根据所有所述子边集中每条边的内积,更新所有所述子边集中每条边的起点和终点对应节点分别作为边的起点和终点时对应特征向量的各向量分块;所述循环模块,用于若所述抽样的次数未达到预设次数,重复所述抽样以及内积的发送过程,直至所述抽样的次数达到预设次数。
根据本发明的第四方面,提供一种服务端,所述服务端包括:内积分量获取模块、梯度获取模块、更新模块和循环模块;所述内积分量获取模块,用于接收客户端发送的所有子边集并存储至本地,对于所有所述子边集中每条边,计算该边起点对应节点作为边的起点时对应特征向量的一个向量分块和该边终点对应节点作为边的终点时对应特征向量的一个向量分块的内积,作为该边的内积的一个分量,并将所有所述子边集中每条边的内积的一个分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的内积;所述梯度获取模块,用于对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的一个向量分块,得到该边起点对应节点作为边的起点时对应特征向量的一个梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的一个向量分块,得到该边终点对应节点作为边的终点时对应特征向量的一个梯度;所述更新模块,用于对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的一个梯度更新该边起点对应节点作为边的起点时对应特征向量的一个向量分块,并用该边终点对应节点作为边的终点时对应特征向量的一个梯度更新该边终点对应节点作为边的终点时对应特征向量的一个向量分块;所述循环模块,用于若所述更新的次数未达到预设次数,重复所述接收动作和所述更新过程,直至所述更新的次数达到预设次数。
根据本发明的第五方面,提供一种***,包括如第三方面所述的客户端和第二预设数目的如第四方面所述的服务端。
本发明提出的面向大规模图挖掘的分布式网络表示学习方法、客户端、服务端和***,通过将大规模图结构对应的所有边划分为若干边集分布式存储于若干子客户端,通过子客户端将边集进行抽样,得到子边集并将子边集发送至第二预设数目的服务端,利用每个服务端多线程计算边集中每条边的内积的一个分量,并在客户端汇总第二预设数目的服务端分别计算出的边集中每条边的内积的分量得到每条边的内积,然后将边集中每条边的内积分别发送至第二预设数目的服务端,利用每个服务端更新边集中每条边的正样本和负样本的起点和终点的当前特征向量的一个向量分块,并重复上述抽样和更新过程直至抽样次数达到预设次数,可以获取大规模图结构的节点的特征向量,同时,避免了现有的大规模信息网络嵌入方法应用于大规模图结构时因总边集过大无法存储于一台机器中而无法进行节点的特征向量获取。此外,由于采用了多台服务端实现了多进程下的多线程,加快了获取节点的特征向量的速度。
附图说明
图1为根据本发明实施例的一种面向大规模图挖掘的分布式网络表示学习方法流程图;
图2为根据本发明实施例的一种面向大规模图挖掘的分布式网络表示学习方法流程图;
图3为根据本发明实施例的客户端结构示意图;
图4为根据本发明实施例的服务端结构示意图;
图5为根据本发明实施例的***工作流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,根据本发明的第一方面,提供一种面向大规模图挖掘的分布式网络表示学习方法,该方法包括:
步骤11,分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集;所述第一预设数目的边集为对大规模图结构的所有边进行分组而得;步骤12,将所有所述子边集发送给第二预设数目的服务端,以使得所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量;步骤13,对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,以供所述第二预设数目的服务端根据所有所述子边集中每条边的内积,更新所有所述子边集中每条边的起点和终点对应节点分别作为边的起点和终点时对应特征向量的各向量分块;步骤14,若所述抽样的次数未达到预设次数,重复所述抽样以及内积的发送过程,直至所述抽样的次数达到预设次数。
本发明提出的面向大规模图挖掘的分布式网络表示学习方法,通过分别对对大规模图结构的所有边进行分组而得的第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集,将所有所述子边集发送给服务端,实现了大规模图结构的节点的特征向量获取,同时,避免了现有的大规模信息网络嵌入方法应用于大规模图结构时会对所有边进行处理,导致处理数据量过大而难以实现节点的特征向量获取。
作为一种可选实施例,在步骤11中,所述分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集,具体包括:获取所述大规模图结构的所有边的权值之和,作为总权值,并获取所述第一预设数目的边集中每一边集内的所有边的权值之和,作为边集权值;根据所述总权值、边集权值和所述大规模图结构中边的数目,获取所述第一预设数目的边集中每一边集内待抽取边的数目;在所述第一预设数目的边集中每一边集内,根据该边集的待抽取边的数目,利用别名抽样法,抽取边获得子边集。
在本实施例中,假设大规模图结构所有边的集合为E,其划分为第一预设数目Nblock个边集E中所有边的权值和为esum,第i个边集中所有边的权值和为从该边集中需抽取的边的数目为其中,|E|为E中边的数目。
作为一种可选实施例,在步骤12中,所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量的离散化值;相应地,在步骤13中,所述对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,具体包括:对所有所述子边集中每条边的内积的各分量的离散化值进行离散化反变换后求和,得到所有所述子边集中每条边的内积;将所有所述子边集中每条边的内积进行离散化,得到所有所述子边集中每条边的内积的离散化值并发送给所述第二预设数目的服务端。
在本实施例中,对所有所述子边集中每条边的内积的各分量的离散化值进行离散化反变换的具体公式为:
其中,y为分量的离散化值,g(y)为离散化值对应的分量,BOUND为分量的预设边界,SIZE为离散化取值的上界。
在本实施例中,将所有所述子边集中每条边的内积进行离散化的公式为:
其中,x为分量,h(x)为分量对应的离散化值,BOUND为分量的预设边界,SIZE为离散化取值的上界,即x通过h(x)被映射到[0,SIZE]这个区间。
在经过离散化和离散化反变换后,分量的精度会有一定损失。但经实验表明,当BOUND=6和SIZE=255时,训练所得模型基本保持了原有模型的性能。由于在计算机中仅需要1个字节即可表示255个整数,所以将SIZE选取为255,因此占4字节的单精度浮点数只需要1字节的离散化整形值表示。这种情况下,内积传输的数据大小降为原来的1/4,提高了通信效率。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
如图2所示,根据本发明的第二方面,提供一种面向大规模图挖掘的分布式网络表示学习方法,包括:步骤21,接收客户端发送的所有子边集并存储至本地,对于所有所述子边集中每条边,分别计算该边起点对应节点作为边的起点时对应特征向量的各向量分块和该边终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该边的内积的各分量,并将所有所述子边集中每条边的内积的各分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的内积;步骤22,对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的各向量分块,得到该边起点对应节点作为边的起点时对应特征向量的各梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的各向量分块,得到该边终点对应节点作为边的终点时对应特征向量的各梯度;步骤23,对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的各梯度更新该边起点对应节点作为边的起点时对应特征向量的各向量分块,并用该边终点对应节点作为边的终点时对应特征向量的各梯度更新该边终点对应节点作为边的终点时对应特征向量的各向量分块;步骤24,若所述更新的次数未达到预设次数,重复所述接收动作和所述更新过程,直至所述更新的次数达到预设次数。
本发明提出的面向大规模图挖掘的分布式网络表示学习方法,通过接收客户端发送的所有子边集并存储至本地,供后续计算梯度使用而无需再次接收所有子边集,减小了通信数据传输量,提高了通信效率,通过对于所有所述子边集中每条边,分别计算该边起点对应节点作为边的起点时对应特征向量的各向量分块和该边终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该边的内积的各分量,加快了内积的计算速度,通过对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的各向量分块,得到该边起点对应节点作为边的起点时对应特征向量的各梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的各向量分块,得到该边终点对应节点作为边的终点时对应特征向量的各梯度,并对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的各梯度更新该边起点对应节点作为边的起点时对应特征向量的各向量分块,并用该边终点对应节点作为边的终点时对应特征向量的各梯度更新该边终点对应节点作为边的终点时对应特征向量的各向量分块,加快了对节点特征向量的更新和获取。
作为一种可选实施例,所述步骤21,具体包括:对于所有所述子边集中每条边的样本集中每一个样本,计算该样本起点对应节点作为边的起点时对应特征向量的各向量分块和该样本终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该样本的内积的各分量;所述每条边的样本集由所述每条边的一个正样本和第三预设数目的负样本构成;将所有所述子边集中每条边的样本集中每一个样本的内积的各分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的正样本和第三预设数目负样本的内积。
在本实施例中,为了方便存储所有所述子边集中每条边的内积的第s个分量,预可预先建立数组IP(s),其大小为Nedges×(K+1)。其中,Nedges为所有所述子边集中边的数目,前Nedges个元素是所有所述子边集中每条边的正样本的内积的第s个分量,后Nedges×K个元素是所有所述子边集中每条边的K个负样本的内积的第s个分量。
对于第index条边的正样本,根据如下公式计算该正样本的内积的第s个分量:
其中,为该正样本起点对应节点作为边的起点时对应特征向量的第s个向量分块,为该正样本终点对应节点作为边的终点时对应特征向量的第s个向量分块。
对于第index条边的第t个负样本,根据如下公式计算该负样本的内积的第s个分量:
其中,K为每条边负采样总次数,即第三预设数目。为该负样本起点对应节点作为边的起点时对应特征向量的第s个向量分块,为该正样本起点对应节点作为边的起点时对应特征向量的第s个向量分块。
作为一种可选实施例,所述步骤22具体包括:对于所有所述子边集中每条边的样本集中每一个样本,根据该样本的内积及该样本终点对应节点作为边的起点时对应特征向量的各向量分块,得到该样本起点对应节点作为边的起点时对应特征向量的各梯度,并根据该样本的内积及该样本终点对应节点作为边的终点时对应特征向量的各向量分块,得到该样本终点对应节点作为边的终点时对应特征向量的各梯度。
在本实施例中,为了方便存储子所有所述子边集中每条边的样本集中每一个样本的起点和终点,预先建立大小为Nedges×(K+1)的数组SRC和DST。其中,Nedges为所有所述子边集中中边的数目,SRC[i]和DST[i]分别表示第i个样本的起点和终点。为了方便存储所有所述子边集中每条边的样本集中每一个样本的起点和终点对应特征向量的第s个梯度,创建大小为Nedges×(K+1)×D的矩阵DI和DO。其中,DI[i]是SRC[i]对应节点作为第i个样本的起点时对应特征向量的第s个梯度,DO[i]是DST[i]对应节点作为第i个样本的终点时对应特征向量的第s个梯度。
对于第index条边的正样本,其起点为SRC[index]=i,终点为DST[index]=j,则起点对应特征向量的第s个梯度为:终点对应特征向量的第s个梯度为:其中,为终点对应节点作为边的终点时对应特征向量的第s个向量分块,为终点对应节点作为边的起点时对应特征向量的第s个向量分块。
对于第index条边的第t个负样本,其起点为SRC[n]=i,终点为DST[n]=k,则起点对应特征向量的第s个梯度为:终点对应特征向量的第s个梯度为:其中,为终点对应节点作为边的终点时对应特征向量的第s个向量分块,为终点对应节点作为边的起点时对应特征向量的第s个向量分块。
作为一种可选实施例,所述步骤23包括:对于所有所述子边集中每条边的样本集中每一个样本,用该样本起点对应节点作为边的起点时对应特征向量的各梯度累加至该样本起点对应节点作为边的起点时对应特征向量的各向量分块,并用该样本终点对应节点作为边的终点时对应特征向量的各梯度累加至该样本终点对应节点作为边的终点时对应特征向量的各向量分块。
在本实施例中,对于所有所述子边集中每条边的样本集中每一个样本,具体地,用该样本起点对应节点作为边的起点时对应特征向量的第s个梯度累加至该样本起点对应节点作为边的起点时对应特征向量的第s个向量分块,并用该样本终点对应节点作为边的终点时对应特征向量的第s个梯度累加至该样本终点对应节点作为边的终点时对应特征向量的第s个向量分块。例如:对于第p个样本,其起点为i=SRC[p],终点为j=DST[p],根据如下公式:和更新。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
如图3所示,根据本发明的第三方面,提供一种客户端,所述客户端包括:抽样模块、发送模块、求和模块和循环模块;所述抽样模块,用于分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集;所述第一预设数目的边集为对大规模图结构的所有边进行分组而得;所述发送模块,用于将所有所述子边集发送给第二预设数目的服务端,以使得所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量;所述求和模块,用于对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,以供所述第二预设数目的服务端根据所有所述子边集中每条边的内积,更新所有所述子边集中每条边的起点和终点对应节点分别作为边的起点和终点时对应特征向量的各向量分块;所述循环模块,用于若所述抽样的次数未达到预设次数,重复所述抽样以及内积的发送过程,直至所述抽样的次数达到预设次数。
本发明提出的客户端,通过分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集,使得客户端内存开销减小,将所有所述子边集发送给第二预设数目的服务端,实现了大规模图结构的节点的特征向量获取,同时,避免了现有的大规模信息网络嵌入方法应用于大规模图结构时会对所有边进行处理,导致处理数据量过大而难以实现节点的特征向量获取。
如图4所示,根据本发明的第四方面,提供一种服务端,所述服务端包括:内积分量获取模块、梯度获取模块、更新模块和循环模块;所述内积分量获取模块,用于接收客户端发送的所有子边集并存储至本地,对于所有所述子边集中每条边,计算该边起点对应节点作为边的起点时对应特征向量的一个向量分块和该边终点对应节点作为边的终点时对应特征向量的一个向量分块的内积,作为该边的内积的一个分量,并将所有所述子边集中每条边的内积的一个分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的内积;所述梯度获取模块,用于对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的一个向量分块,得到该边起点对应节点作为边的起点时对应特征向量的一个梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的一个向量分块,得到该边终点对应节点作为边的终点时对应特征向量的一个梯度;所述更新模块,用于对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的一个梯度更新该边起点对应节点作为边的起点时对应特征向量的一个向量分块,并用该边终点对应节点作为边的终点时对应特征向量的一个梯度更新该边终点对应节点作为边的终点时对应特征向量的一个向量分块;所述循环模块,用于若所述更新的次数未达到预设次数,重复所述接收动作和所述更新过程,直至所述更新的次数达到预设次数。
本发明提出的服务端,通过第二预设数目的服务端,采用多进程下的多线程,分别计算所有所述子边集中每条边的内积的一个分量,分别计算所有所述子边集中每条边的起点和终点对应特征向量的一个梯度,并用该梯度更新所述对应特征向量的一个向量分块,加速了起点和终点对应节点的特征向量的更新和获取。
根据本发明的第五方面,提供一种***,包括如第三方面所述的客户端和第二预设数目的如第四方面所述的服务端。
在本实施例中,***的具体工作流程如图5所示。首先,对第二预设数目的服务端进行初始化,其中,包括节点特征矩阵的初始化。节点特征向量通过节点特征矩阵中对应的初始化值多次更新而得,该过程称为节点特征向量的训练过程。然后,开始获取节点特征向量,在此过程中,先判断训练是否结束,若否,则利用客户端读取图结构的所有边分组而得的第一预设数目的边集并分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集,再向第二预设数目的服务端发送内积计算请求以供服务端返回可计算内积的响应,并在接收到该可计算响应时将所有所述子边集发送给第二预设数目的服务端,第二预设数目的服务端接收客户端发送的所有子边集并进行负采样,将所有子边集中每条边的正负样本均存储至本地,第二预设数目的服务端对于所有所述子边集中每条边,分别计算该边的内积的各分量,并将所有所述子边集中每条边的内积的各分量离散化后发送给所述客户端,客户端对所有所述子边集中每条边的内积的各分量的离散值进行离散反变换并求和得到所有所述子边集中每条边的内积,客户端再向第二预设数目的服务端发送节点特征向量更新请求以供第二预设数目的服务端返回可更新的响应,并在接收到该可更新响应时将所有所述子边集中每条边的内积离散化后发送给第二预设数目的服务端,第二预设数目的服务端对所有所述子边集中每条边的内积的离散值进行离散反变换用于节点特征向量的各向量分块的更新,更新完成后再次判断时候完成训练,若是,则结束训练,若否则重复客户端的抽取和第二预设数目的服务端的内积计算和向量分块更新,直至训练结束;若是,则结束训练。
最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向大规模图挖掘的分布式网络表示学习方法,其特征在于,包括:
步骤11,分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集;所述第一预设数目的边集为对大规模图结构的所有边进行分组而得;
步骤12,将所有所述子边集发送给第二预设数目的服务端,以使得所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量;
步骤13,对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,以供所述第二预设数目的服务端根据所有所述子边集中每条边的内积,更新所有所述子边集中每条边的起点和终点对应节点分别作为边的起点和终点时对应特征向量的各向量分块;
步骤14,若所述抽样的次数未达到预设次数,重复所述抽样以及内积的发送过程,直至所述抽样的次数达到预设次数。
2.根据权利要求1所述的方法,其特征在于,在步骤11中,所述分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集,具体包括:
获取所述大规模图结构的所有边的权值之和,作为总权值,并获取所述第一预设数目的边集中每一边集内的所有边的权值之和,作为边集权值;
根据所述总权值、边集权值和所述大规模图结构中边的数目,获取所述第一预设数目的边集中每一边集内待抽取边的数目;
在所述第一预设数目的边集中每一边集内,根据该边集的待抽取边的数目,利用别名抽样法,抽取边获得子边集。
3.根据权利要求1所述的方法,其特征在于,在步骤12中,所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量的离散化值;
相应地,在步骤13中,所述对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,具体包括:
对所有所述子边集中每条边的内积的各分量的离散化值进行离散化反变换后求和,得到所有所述子边集中每条边的内积;
将所有所述子边集中每条边的内积进行离散化,得到所有所述子边集中每条边的内积的离散化值并发送给所述第二预设数目的服务端。
4.一种面向大规模图挖掘的分布式网络表示学习方法,其特征在于,包括:
步骤21,接收客户端发送的所有子边集并存储至本地,对于所有所述子边集中每条边,分别计算该边起点对应节点作为边的起点时对应特征向量的各向量分块和该边终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该边的内积的各分量,并将所有所述子边集中每条边的内积的各分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的内积;
步骤22,对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的各向量分块,得到该边起点对应节点作为边的起点时对应特征向量的各梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的各向量分块,得到该边终点对应节点作为边的终点时对应特征向量的各梯度;
步骤23,对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的各梯度更新该边起点对应节点作为边的起点时对应特征向量的各向量分块,并用该边终点对应节点作为边的终点时对应特征向量的各梯度更新该边终点对应节点作为边的终点时对应特征向量的各向量分块;
步骤24,若所述更新的次数未达到预设次数,重复所述接收动作和所述更新过程,直至所述更新的次数达到预设次数。
5.根据权利要求4所述的方法,其特征在于,所述步骤21,具体包括:
对于所有所述子边集中每条边的样本集中每一个样本,计算该样本起点对应节点作为边的起点时对应特征向量的各向量分块和该样本终点对应节点作为边的终点时对应特征向量的各向量分块的内积,作为该样本的内积的各分量;所述每条边的样本集由所述每条边的一个正样本和第三预设数目的负样本构成;
将所有所述子边集中每条边的样本集中每一个样本的内积的各分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的正样本和第三预设数目负样本的内积。
6.根据权利要求5所述的方法,其特征在于,所述步骤22具体包括:
对于所有所述子边集中每条边的样本集中每一个样本,根据该样本的内积及该样本终点对应节点作为边的起点时对应特征向量的各向量分块,得到该样本起点对应节点作为边的起点时对应特征向量的各梯度,并根据该样本的内积及该样本终点对应节点作为边的终点时对应特征向量的各向量分块,得到该样本终点对应节点作为边的终点时对应特征向量的各梯度。
7.根据权利要6所述的方法,其特征在于,所述步骤23包括:
对于所有所述子边集中每条边的样本集中每一个样本,用该样本起点对应节点作为边的起点时对应特征向量的各梯度累加至该样本起点对应节点作为边的起点时对应特征向量的各向量分块,并用该样本终点对应节点作为边的终点时对应特征向量的各梯度累加至该样本终点对应节点作为边的终点时对应特征向量的各向量分块。
8.一种客户端,其特征在于,所述客户端包括:抽样模块、发送模块、求和模块和循环模块;
所述抽样模块,用于分别对第一预设数目的边集中每一边集进行抽样,得到所述每一边集的子边集;所述第一预设数目的边集为对大规模图结构的所有边进行分组而得;
所述发送模块,用于将所有所述子边集发送给第二预设数目的服务端,以使得所述第二预设数目的服务端返回所有所述子边集中每条边的内积的各分量;
所述求和模块,用于对所有所述子边集中每条边的内积的各分量进行求和,得到所有所述子边集中每条边的内积并发送给所述第二预设数目的服务端,以供所述第二预设数目的服务端根据所有所述子边集中每条边的内积,更新所有所述子边集中每条边的起点和终点对应节点分别作为边的起点和终点时对应特征向量的各向量分块;
所述循环模块,用于若所述抽样的次数未达到预设次数,重复所述抽样以及内积的发送过程,直至所述抽样的次数达到预设次数。
9.一种服务端,其特征在于,所述服务端包括:内积分量获取模块、梯度获取模块、更新模块和循环模块;
所述内积分量获取模块,用于接收客户端发送的所有子边集并存储至本地,对于所有所述子边集中每条边,计算该边起点对应节点作为边的起点时对应特征向量的一个向量分块和该边终点对应节点作为边的终点时对应特征向量的一个向量分块的内积,作为该边的内积的一个分量,并将所有所述子边集中每条边的内积的一个分量发送给所述客户端,以供所述客户端返回所有所述子边集中每条边的内积;
所述梯度获取模块,用于对于所有所述子边集中每条边,根据该边的内积及该边终点对应节点作为边的起点时对应特征向量的一个向量分块,得到该边起点对应节点作为边的起点时对应特征向量的一个梯度,并根据该边的内积及该边终点对应节点作为边的终点时对应特征向量的一个向量分块,得到该边终点对应节点作为边的终点时对应特征向量的一个梯度;
所述更新模块,用于对于所有所述子边集中每条边,用该边起点对应节点作为边的起点时对应特征向量的一个梯度更新该边起点对应节点作为边的起点时对应特征向量的一个向量分块,并用该边终点对应节点作为边的终点时对应特征向量的一个梯度更新该边终点对应节点作为边的终点时对应特征向量的一个向量分块;
所述循环模块,用于若所述更新的次数未达到预设次数,重复所述接收动作和所述更新过程,直至所述更新的次数达到预设次数。
10.一种***,其特征在于,包括如权利要求8所述的客户端和第二预设数目的如权利要求9所述的服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711166875.9A CN107818176B (zh) | 2017-11-21 | 2017-11-21 | 面向大规模图挖掘的分布式网络表示学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711166875.9A CN107818176B (zh) | 2017-11-21 | 2017-11-21 | 面向大规模图挖掘的分布式网络表示学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107818176A true CN107818176A (zh) | 2018-03-20 |
CN107818176B CN107818176B (zh) | 2018-12-07 |
Family
ID=61610061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711166875.9A Active CN107818176B (zh) | 2017-11-21 | 2017-11-21 | 面向大规模图挖掘的分布式网络表示学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107818176B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616590A (zh) * | 2018-04-26 | 2018-10-02 | 清华大学 | 十亿规模网络嵌入的迭代随机投影算法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071243A1 (en) * | 2001-03-01 | 2002-09-12 | Biowulf Technologies, Llc | Spectral kernels for learning machines |
US20120109964A1 (en) * | 2010-10-27 | 2012-05-03 | Wei Jiang | Adaptive multimedia semantic concept classifier |
US20140071133A1 (en) * | 2012-09-07 | 2014-03-13 | Palo Alto Research Center Incorporated | Method and system for analyzing sequential data based on sparsity and sequential adjacency |
CN106447066A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的特征提取方法和装置 |
CN106445988A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的智能处理方法和*** |
CN107169440A (zh) * | 2017-05-11 | 2017-09-15 | 南宁市正祥科技有限公司 | 一种基于图模型的道路检测方法 |
-
2017
- 2017-11-21 CN CN201711166875.9A patent/CN107818176B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071243A1 (en) * | 2001-03-01 | 2002-09-12 | Biowulf Technologies, Llc | Spectral kernels for learning machines |
US20120109964A1 (en) * | 2010-10-27 | 2012-05-03 | Wei Jiang | Adaptive multimedia semantic concept classifier |
US20140071133A1 (en) * | 2012-09-07 | 2014-03-13 | Palo Alto Research Center Incorporated | Method and system for analyzing sequential data based on sparsity and sequential adjacency |
CN106447066A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的特征提取方法和装置 |
CN106445988A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的智能处理方法和*** |
CN107169440A (zh) * | 2017-05-11 | 2017-09-15 | 南宁市正祥科技有限公司 | 一种基于图模型的道路检测方法 |
Non-Patent Citations (1)
Title |
---|
LI ZHOU,YINGLONG XIA,HUI ZANG,ETC.: "An edge-set based large scale graph processing system", 《2016 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616590A (zh) * | 2018-04-26 | 2018-10-02 | 清华大学 | 十亿规模网络嵌入的迭代随机投影算法及装置 |
CN108616590B (zh) * | 2018-04-26 | 2020-07-31 | 清华大学 | 十亿规模网络嵌入的迭代随机投影算法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107818176B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113343803B (zh) | 模型训练方法、装置、设备和存储介质 | |
CN103176833B (zh) | 一种基于虚拟机的数据发送方法、接收方法及*** | |
CN107392842A (zh) | 图像风格化处理方法、装置、计算设备及计算机存储介质 | |
JP6981329B2 (ja) | 分散深層学習システム | |
CN110889509A (zh) | 一种基于梯度动量加速的联合学习方法及装置 | |
CN110741573A (zh) | 在区块链网络中选择性使用网络编码传播交易的方法和*** | |
CN110263277A (zh) | 页面数据的显示方法、更新方法、装置、设备及存储介质 | |
CN107196848A (zh) | 消息推送方法及装置 | |
CN104023039B (zh) | 数据包传输方法和装置 | |
CN105808454A (zh) | 一种多端口访问共享缓存的方法及装置 | |
CN107818176A (zh) | 面向大规模图挖掘的分布式网络表示学习方法 | |
CN106875010B (zh) | 神经元权重信息处理方法和*** | |
CN109344294A (zh) | 特征生成方法、装置、电子设备及计算机可读存储介质 | |
CN108090027A (zh) | 数据分析方法及数据分析器 | |
Ganesan | An efficient algorithm for the diameter of Cayley graphs generated by transposition trees | |
CN106789440B (zh) | 一种ip包包头检测方法及装置 | |
Willson | Reconstruction of certain phylogenetic networks from their tree-average distances | |
CN114979033A (zh) | 一种基于可编程数据平面的网内神经计算*** | |
CN102769600B (zh) | 一种ofdm***接收机中缩放因子解调制的方法及装置 | |
CN114511094A (zh) | 一种量子算法的优化方法、装置、存储介质与电子装置 | |
CN109474582B (zh) | 一种仿真嵌入式***数据通信协议的处理方法及装置 | |
CN108353017A (zh) | 单个操作***上的多网关操作 | |
CN106911527A (zh) | 一种流量监测装置及方法 | |
CN108596332A (zh) | 有符号整数求积方法、终端设备及计算机可读存储介质 | |
CN108259393A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |