图池化方法、装置、设备以及存储介质与流程

文档序号:23420591发布日期:2020-12-25 11:44阅读:119来源:国知局
图池化方法、装置、设备以及存储介质与流程

本申请涉及图片处理技术领域,尤其涉及一种图池化方法、装置、设备以及存储介质。



背景技术:

池化(pooling)是一种降低原始输入的特征表示大小,通过更少的特征值表示现有输入的方法。图池化的目的是缩小原始输入图的表征尺寸,通常可以通过降低特征维度,或者删去某些节点和边来实现。现有技术中,图池化都是从拓扑层面减少整个图的尺寸来获得更紧凑的表示,使用图神经网络模型来获得节点过滤的权重相比于只使用节点特征去映射获得权重,考虑了节点之间的相互影响,要求神经网络模型的规模较大,计算数据量大,图池化效率低。



技术实现要素:

本申请实施例提供一种图池化方法、装置、设备以及存储介质,可按维度分割图片特征后对图片进行池化,增加图池化效率。

第一方面,本申请实施例提供一种图池化方法,该方法包括:

获取待池化图特征表示,并将上述待池化图特征表示分割为多个子图特征表示,一个子图特征表示中包括上述待池化图特征表示中的一个或者多个维度的图特征表示;

基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,一个子图特征表示对应一个图注意力输出特征;

基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示,上述待筛选图特征表示中包括上述待池化图特征表示中的各个维度对应的特征表示;

根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征,并基于上述目标图特征确定池化后的目标图特征表示。

结合第一方面,在一种可能的实施方式中,上述基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示之后,上述方法还包括:

利用权重函数对上述待筛选图特征表示中包括的各待筛选对象的特征表示进行计算,得到上述各待筛选对象的权重。

结合第一方面,在一种可能的实施方式中,上述根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征包括:

将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序,将权重大于权重阈值的待筛选对象确定为目标对象;

根据上述目标对象确定目标图特征;

其中,上述待筛选对象包括节点和/或边。

结合第一方面,在一种可能的实施方式中,上述根据上述目标对象,确定出上述目标图特征,包括:

根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;

根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

结合第一方面,在一种可能的实施方式中,上述基于上述目标图特征确定池化后的目标图特征表示之后,上述方法还包括:

基于上述池化后的目标图特征表示,确定池化后的目标图片并输出上述目标图片。

结合第一方面,在一种可能的实施方式中,上述图神经网络模型包括:图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种。

第二方面,本申请实施例提供了一种图池化装置,该装置包括:

特征获取模块,用于获取待池化图特征表示;

特征分割模块,用于将上述待池化图特征表示分割为多个子图特征表示,一个子图特征表示中包括上述待池化图特征表示中的一个或者多个维度的图特征表示;

特征训练模块,用于基于图神经网络模型确定出各子图特征表示对应的图注意力输出特征,一个子图特征表示对应一个图注意力输出特征;

特征拼接模块,用于基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示,上述待筛选图特征表示中包括上述待池化图特征表示中的各个维度对应的待筛选特征表示;

特征筛选模块,用于根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征;

特征表示模块,用于基于上述目标图特征确定池化后的目标图特征表示。

结合第二方面,在一种可能的实施方式中,上述特征筛选模块还包括权重计算单元,用于利用权重函数对上述待筛选图特征表示中包括的各待筛选对象的特征表示进行计算,得到上述各待筛选对象的权重。

结合第二方面,在一种可能的实施方式中,上述特征筛选模块还包括特征排序单元和特征确定单元。

其中,上述特征排序单元用于将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序,将权重大于权重阈值的待筛选对象确定为目标对象;

上述特征确定单元用于根据上述目标对象确定目标图特征;

其中,上述待筛选对象包括节点和/或边。

结合第二方面,在一种可能的实施方式中,上述特征确定单元还包括掩膜确定子单元和特征确定子单元。

其中,上述掩膜确定子单元用于根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;

上述特征确定子单元用于根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

结合第二方面,在一种可能的实施方式中,上述装置还包括目标读出模块,用于基于上述池化后的目标图特征表示,确定池化后的目标图片并输出上述目标图片。

结合第二方面,在一种可能的实施方式中,上述特征训练模块中的图神经网络模型包括:

图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种。

第三方面,本申请实施例提供了一种终端设备,该设备包括处理器和存储器,该处理器和存储器相互连接。该存储器用于存储支持该终端执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。

本申请实施例中,通过对待池化图特征表示分割为多个子图特征表示,基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,并将图注意力输出特征聚合得到待筛选图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的网络架构示意图;

图2是本申请实施例提供的图池化方法的一流程示意图;

图3是本申请实施例提供的图特征表示图片的场景示意图;

图4是本申请实施例提供的图特征分方法的示意图;

图5是本申请实施例提供的图神经网络模型的示意图;

图6是本申请实施例提供的图池化方法的另一流程示意图;

图7是本申请实施例提供的图池化装置的结构示意图;

图8是本申请实施例提供的图特征分割模块的结构示意图;

图9是本申请实施例提供的计算机设备的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参见图1,是本发明实施例提供的网络架构的结构示意图。如图1所示,该网络架构可以包括云端服务器2000以及用户终端集群;用户终端集群可以包括多个用户终端,如图1所示,具体包括用户终端3000a、用户终端3000b、…、用户终端3000n;如图1所示,用户终端3000a、用户终端3000b、…、用户终端3000n均可以在满足一定的数据交互条件下,分别建立与云端服务器2000之间的数据连接关系,以便于能够与该云端服务器2000进行数据交互。

为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端,该目标用户终端可以包括:智能手机、平板电脑、桌上型电脑等携带图片数据处理功能(例如,图片拍摄功能,生成用户画像功能)的智能终端。例如,本申请实施例可以将图1所示的用户终端3000a作为上述目标用户终端,该目标用户终端中可以集成有具备该图片数据处理功能的目标应用。应当理解,集成在该目标用户终端中目标应用可以统称为应用客户端。其中,上述目标应用可以包括社交应用(例如,生成用户画像的应用)、多媒体应用(例如,图片拍摄应用)、娱乐应用(例如,图片下载应用)等具有图片数据处理功能的应用。在该目标用户终端中所应用的图特征表示可以包含待池化图特征表示与目标图特征表示。其中,上述目标图特征表示可以为该目标用户终端通过图池化方法对待池化图特征表示进行图池化后得到的目标图特征表示。

可以理解的是,本申请实施例中所描述的通过图池化方法对待池化图特征表示进行图池化得到目标图特征表示的方案,可以适用于所有在网页或者应用客户端(即前述目标应用)中对图片数据进行处理的应用场景。其中,当具有图片数据处理功能的目标应用运行在该目标用户终端中时,该目标用户终端所获取到的待池化图特征表示可以包含提前内置在该目标应用中的图片数据的图特征表示,还可以包含当前通过网络从该服务器2000中下载的图片数据的图特征表示。

应当理解,本申请实施例可以将提前内置在该目标应用中的图片数据和当前下载的图片数据的图特征表示统称为需要进行池化处理的图特征表示(即待池化图特征表示)。由此可见,本申请实施例可以在网页或者目标应用运行期间,对该待池化图特征表示进行图池化处理,以得到前述目标图特征表示,从而可以在网页或者应用客户端中对目标图片进行处理时,提高图片数据的显示效果,并减少图片数据对系统内存的占用。

可选的,本申请实施例还可以在该目标用户终端运行目标应用之前,在该目标用户终端中提前对从上述图1所示的服务器2000中所获取到的待池化图特征表示进行图池化处理,以得到前述目标图特征表示。从而可以在该目标用户终端运行该目标应用时,直接加载该目标图特征表示所表示的目标图片,以在该目标应用运行期间减少系统性能损耗(比如,可以在该目标用户终端中减少图片数据对系统内存的占用)。可选的,本申请实施例在该目标用户终端运行目标应用之前,还可以在服务器2000中预先对该待池化图特征表示进行图池化处理,得到目标图特征表示,从而可以在该目标用户终端运行该目标应用时,通过网络向该服务器2000发送数据下载指令(即数据加载指令),以使该服务器可以基于该下载指令中所携带的终端标识来判断该目标用户终端是否满足图池化条件。若该服务器2000确定该目标用户终端满足图池化条件,即该服务器2000确定该目标用户终端的终端标识的类型属于低端机的标识类型,则可以在该服务器2000中将预先图池化处理后所存储的目标图片特征表示返回给目标用户终端进行图片显示,从而可以在该目标应用运行在目标用户终端中时,减少系统性能损耗,并可以提高图片数据的加载效率。由此可见,本申请实施例还可以在运行目标应用之前,在目标用户终端或者服务器2000中对待池化图特征表示进行图池化处理,以得到的目标图特征表示。

可选的,本申请实施例还可以在该目标用户终端运行目标应用之前,在该目标用户终端中提前对从上述图1所示的服务器2000中所获取到的目标图特征表示进行处理,以得到前述目标图片。换言之,该读取到的目标图特征表示也可以直接被服务器2000处理为目标图片从而被目标用户终端获取,并进行后续处理。例如,以上述目标应用为多媒体应用(相册)为例,该目标用户终端可以通过该多媒体应用加载并显示该目标图片,并将该目标图片归类保存。

本申请实施例所描述的图片数据可以包含照片、头像以及壁纸,上述图片数据也可以包含应用程序中根据拓扑结构生成的图片数据,例如用户画像、社交网络、化学分子结构、知识图谱等等。换言之,该图片数据中可以包含欧几里得空间中的图片数据,也可以包含非欧几里得空间中的图片数据。例如,以上述目标应用为社交应用为例,该目标用户终端可以通过该社交应用捕捉用户的行为信息并刻画用户画像,生成用户图片数据,并可以在该社交应用中将用户的关系网络生成为用户社交图片数据,将这些数据统称为图片数据,该图片数据中可以利用图特征表示方法进行表示。

请参见图2,图2是本申请实施例提供的图池化方法的一流程示意图。如图2所示的图池化方法包括:

s101:获取待池化图特征表示,并将上述待池化图特征表示分割为多个子图特征表示。

在一些可行的实施方式中,图特征主要包括图片的颜色特征、纹理特征、形状特征和空间关系特征。其中,颜色特征是一种全局特征,描述了图片或图片区域所对应的景物的表面性质;纹理特征也是一种全局特征,它也描述了图片或图片区域所对应景物的表面性质;形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征,图片的轮廓特征主要针对物体的外边界,而图片的区域特征则关系到整个形状区域;空间关系特征,是指图片中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。人们通常因为图特征表示能够从不同的角度描述图片,从而认为图特征表示是描述图片的最佳方式。即通过描述图片中若干个节点以及连接两个节点的边所构成的图形,可以将一张图片进行特征表示。最早的图特征表示的图片数据都是属于欧几里得空间的数据,结构规则且具有平移不变性。但现实生活中,我们需要关注的图片数据的结构常常是不规则的,例如在对图片做目标识别的时候,我们关注的实际上只是二维图片上的部分关键点,这些点组成的则是一个非欧式空间的图结构。如图3所示,图3是本申请实施例提供的图特征表示图片的场景示意图。其中,10a是欧几里得空间中的图片,10b是在非欧几里得空间中的图特征表示,其中,1-6分别表示为图片中的六个点,在六个点中存在着相应的连接关系,此为利用图特征表示对图片进行表示的根本条件。图特征表示的主要目的是利用图特征进行降维,其主要思想是将原始图片投影到一个低维特征空间,得到最能反应图片本质或进行图片区分的图特征表示。

本申请中,主要以对待池化图片的空间关系进行图特征表示并进行图池化为例来进行说明。空间关系特征的使用可加强对图片内容的描述区分能力,但空间关系特征常对图片或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。通常提取图片的空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。这两种技术虽然缩小了图特征数据量的规模,但并未从全局性对待池化图片的图特征进行考量。在本申请中,终端获取待池化图特征表示之后,可在预设的特征空间将待池化图特征表示按照特征维度分割为多个子图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

例如,待池化图特征表示为g=(x,a),其中,x∈rn×d是待池化图片中节点的特征矩阵,用于表示待池化图片中n个节点的d维特征;a∈{0,1}n×n是待池化图片中边的特征矩阵,用于表示待池化图片中n个节点之间的连接关系。当前图节点特征矩阵x会按照维度被分割成h个子节点特征矩阵,从而将待池化图特征表示分割为h个子图特征表示,其中,h为大于1的正整数。即其中0≤ai<bi≤d,i∈{0,1,…,h},[:,ai:bi]表示沿特征维度上,保留索引在[ai:bi)内的数值。这里我们使用简单的均匀分割来确定ai和bi,即ai=d/h×i,bi=d/h×(i+1)。待池化图特征表示分割后得到的子图特征表示为gi=(xi,a)。

在一些可行的实施方式中,参见图4,图4是本发明实施例提供的图特征分割方法的示意图。当用户通过访问目标应用得到待池化图片,对上述待池化图片进行特征提取,并生成了待池化图特征表示100a时,终端可以生成用于向目标应用请求将待池化图特征表示100a分割为子图特征表示100b的请求,从而在特征分割层将待池化图特征表示100a分割为多个子图特征表示100b。

s102:基于图神经网络模型确定各子图特征表示对应的图注意力输出特征。

在一些可行的实施方式中,如图4所示,当用户通过访问目标应用得到待池化图特征表示100a时,终端可以生成用于向目标应用请求将待池化图特征表示100a分割为子图特征表示100b的请求,从而在特征分割层300a将待池化图特征表示分割为多个子图特征表示100b,并将各子图特征表示输入神经网络层300b确定各子图特征表示对应的图注意力输出特征100c。其中,特征分割层300a用于待池化图特征表示100a的特征维度将图特征表示进行分割;神经网络层300b用于对子图特征表示所含有的特征进行学习,得到多个图注意力输出特征100c。其中,一个子图特征表示对应一个图注意力输出特征。特征聚合层300c用于在得到神经网络层300b输出的图注意力输出特征100c之后,将其聚合成一个总体的图注意力输出100d。

在一些可行的实施方式中,在s101中将待池化图特征表示均匀分割h份得到的子图特征表示为gi=(xi,a),其中,是待池化图片中节点的特征矩阵,用于表示子图特征中n个节点的(bi-ai)维特征,且ai=d/h×i,bi=d/h×(i+1)。每个节点v对应的特征向量为xvi;a∈{0,1}n×n是待池化图片中边的特征矩阵,用于表示待池化图片中n个节点之间的连接关系,而avu则表示节点v与节点u之间的边的特征。对于每个节点,都有自己的特征信息,还具有与它相连的节点的边的信息。即每个节点都具有隐藏信息,隐藏信息包含了来自其邻居节点的信息。如果靠手工规则来对节点特征进行提取,必将失去很多隐蔽或复杂的特征,而通过图神经网络模型的学习则可以获得每个节点的隐藏状态。图神经网络模型的核心思想是通过迭代更新所有节点的隐藏状态,直至人们可以得到自己想要关注的节点的隐藏状态。

在一些可行的实施方式中,图神经网络模型可以包括:图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种的结合。各子图特征表示可以分别输入同样的图神经网络模型中对相同的特征进行学习;也可以分别输入不同的图神经网络模型中对不同的特征进行学习。在本实施例中,将以各子图特征表示分别输入到图卷积网络模型为例,对得到图注意力输出特征的过程进行说明。具体请参见图5,图5是本申请实施例提供的图神经网络模型的示意图。其中,200a为输入图神经网络模型的子图特征表示,200b是第一卷积层。通过第一卷积层对子图特征表示中的每个节点的相邻节点进行一次卷积操作,并用卷积结果更新该节点,输入至第一激活函数层200c得到子图特征中间输出特征;再通过第二卷积层200d对子图特征中间输出特征中的每个节点的相邻节点进行一次卷积操作,并用卷积结果更新该节点,输入至第二激活函数层200e,反复上述过程,直到层数达到预期深度,得到图注意力输出特征200f。其中,卷积层可以通过卷积运算,增强图片特征,并且降低噪音;激活函数层可以将卷积层输出的值映射到一定的范围内,减少数据处理量,同时保留有用信息。

具体地,当前卷积层的输出特征fgcn(xi,a)可以用公式(1)进行表示。

其中,d是a的度数矩阵,djj=∑kajk,且d∈rn×n。θi是当前卷积层的可训练参数(例如,滤波器的单元参数),且

在一些可行的实施方式中,例如对如图3中的10b进行图池化的过程中,a、d、可以如矩阵(1)、矩阵(2)、矩阵(3)和矩阵(4)进行表示。

在一些可行的实施方式中,对第i个子图特征表示使用独立的两层卷积层、第一激活函数σ1和第二激活函数σ2可以获得图注意力输出zi。其中,第一激活函数σ1和第二激活函数σ2可以为sigmoid函数、tanh函数以及relu函数等函数,图注意力输出特征zi可以用公式(2)进行表示。

其中,sigmoid函数是传统神经网络中最常用的激活函数之一。sigmoid函数的优点在于,它的输出映射在(0,1)内,单调连续,非常适合用作激活函数,并且求导比较容易。但是,它的缺点也很明显,即软饱和性,当输入数据一旦输入落入饱和区,输出就会变得接近于0,很容易使输入数据之间的梯度消失变得不明显。同时,tanh函数也具有软饱和性,因为它的输出以0为中心,收敛速度比sigmoid要快,所以仍无法用tanh函数解决输入数据梯度消失的问题。而relu函数可以将输出映射在输入数据的最大值和0之间,在输入数据小于零时硬饱和。由于在输入数据大于0时导数为1,所以,relu函数能够在输入数据大于0时保持梯度不衰减,从而缓解梯度消失问题,还能够更很地收敛,并提供了神经网络的稀疏表达能力。但是,随着训练的进行,部分输入数据会小于0,从而落到硬饱和区,导致对应的权重无法更新,称为“神经元死亡”。

s103:基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示。

在一些可行的实施方式中,上述待筛选图特征表示中包括上述待池化图特征表示中的各个维度对应的特征表示。如图4所示,基于上述各子图特征表示对应的图注意力输出特征100c聚合可得到待筛选图特征表示100d。其中,各子图特征表示对应的图注意力输出特征为zi,待筛选图特征表示为(zmulti,a)。

其中,zmulti=concat(z1;z2;…;zh),且zmulti∈rn×d

s104:根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征,并基于上述目标图特征确定池化后的目标图特征表示。

在一些可行的实施方式中,在基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示之后,可以将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序,将权重大于权重阈值的待筛选对象确定为目标对象。其中,待筛选对象包括节点和/或边,为表述方便,本实施例中以节点作为待筛选对象为例进行说明。

例如,使用权重函数g获得待筛选图特征表示中所有节点的权重分数zscore,并将节点按照权重分数进行排序。

其中,zscore=g(zmulti,a),且zscore∈rn×1

其中,权重函数g可以是只基于zmulti的降维(将矩阵降维成向量)函数,例如取最大值函数、取平均值函数、线性变换函数(zmultip,p∈rd×1)等。权重函数g也可以是同时考虑节点特征以及边特征的权重函数,例如图卷积网络函数zscore=σ(fgcn(zmulti,a))等。

在一些可行的实施例中,根据上述目标对象,确定出上述目标图特征,包括:根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

在得到节点的权重分数,并将节点按照权重分数由高至低进行排序之后,可以按照预设的比例ρ对节点进行筛选,其中0<ρ<1。对于节点数为n的待筛选图特征表示而言,将有ρn个节点通过筛选被保留下来。

可以根据被保留下来的节点编号建立一个目标对象索引idx,其中,idx可由公式(3)进行表示:

idx=toprank(zscore,ρn)(3)

将zscore中索引在idx中节点的值保留并构成目标对象向量z′mask。

其中,z′mask=zscore[idx],且z′mask∈rρn×1

然后将目标对象向量复制d次,可以得到目标对象掩膜zmask。

其中,zmask=copy(z′mask,d,dim=2),且zmask∈rρn×d

根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征,包括:将待筛选图特征表示中的节点的特征矩阵进行筛选,保留索引在idx中节点的值,并与目标对象掩膜相乘,得到目标图特征中节点的矩阵x′;将待筛选图特征表示中的边的特征矩阵进行筛选,保留索引在idx中节点之间的边,得到目标图特征中边的特征矩阵a′。

其中,x′=x[idx,:]·zmask,且x′∈rρn×d

其中,a′=a[idx,idx],且a′∈rρn×ρn

从而得到目标图特征表示g′=(x′,a′)。

在一些可行的实施例中,在得到目标图特征表示之后,还可以根据池化后的目标图特征表示确定目标图片,并输出目标图片。

例如,在对待筛选图特征表示进行不同比例的池化之后,得到多个不同尺寸的目标图特征表示,可以利用读出层用来将多个不同尺寸的目标图特征表示转换为固定尺寸的目标图特征表示xout,并将xout转换为目标图片进行输出。如公式(4)所示:

在本申请实施例中,通过对待池化图特征表示分割为多个子图特征表示,基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,并将图注意力输出特征聚合得到待筛选图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

进一步地,请参见图6,图6是本申请实施例提供的图池化方法的另一流程示意图。如图6所示的执行主体为目标用户终端,上述方法可以包含以下步骤:

s301:从驱动层获取消息通知。

为便于理解,实现该实施例的目标用户终端可以包括:智能手机、平板电脑、桌上型电脑等携带图片数据处理功能(例如,图片拍摄功能,生成用户画像功能)的智能终端。例如,本申请实施例的目标用户终端中可以集成有具备该图片数据处理功能的目标应用。应当理解,集成在该目标用户终端中目标应用可以统称为应用客户端。其中,上述目标应用可以包括社交应用(例如,生成用户画像的应用)、多媒体应用(例如,图片拍摄应用)、娱乐应用(例如,图片下载应用)等具有图片数据处理功能的应用。在该目标用户终端中所获取的图特征表示可以包含待池化图特征表示与目标图特征表示。其中,上述目标图特征表示可以为该目标用户终端通过图池化方法对待池化图特征表示进行图池化后得到的目标图特征表示。

可以理解的是,本申请实施例中所描述的通过图池化方法对待池化图特征表示进行图池化得到目标图特征表示的方案,可以适用于所有在网页或者应用客户端(即前述目标应用)中对图片数据进行处理的应用场景。其中,当具有图片数据处理功能的目标应用运行在该目标用户终端中时,该目标用户终端所获取到的待池化图特征表示可以包含提前内置在该目标应用中的图片数据的图特征表示,还可以包含当前通过网络从该服务器中下载的图片数据的图特征表示。

应当理解,本申请实施例可以将提前内置在该目标应用中的图片数据和当前下载的图片数据的图特征表示统称为需要进行池化处理的图特征表示(即待池化图特征表示)。由此可见,本申请实施例可以在网页或者目标应用运行期间,对该待池化图特征表示进行图池化处理,以得到前述目标图特征表示,从而可以在网页或者应用客户端中对目标图片进行处理时,提高图片数据的显示效果,并减少图片数据对系统内存的占用。

其中,目标用户终端中的驱动层一般由硬件抽象层(hal)、板级支持包(bsp)和驱动程序组成,是嵌入式系统中不可或缺的重要部分。它的作用是为上层程序提供外部设备的操作接口,并且实现设备的驱动程序。上层程序可以不管操作的设备内部实现,只需要调用驱动的接口即可。

图池化请求验证程序获取到驱动层发送的消息通知之后,需要进行如s302-s303的步骤对消息的有效性进行验证,若验证成功,则执行步骤s304,否则,返回步骤s301并处于挂起状态。

s302:从消息通知中解析出目标应用的应用信息,并从目标应用的应用信息中的命令行参数中解析出目标应用的图片数据对应的待池化图片的待池化图特征表示以及校验信息。

s303:根据目标应用的应用信息校验目标应用信息的有效性。

可选的,本申请实施例还可以在该目标用户终端运行目标应用之前,在该目标用户终端中提前对从服务器中所获取到的待池化图特征表示进行图池化处理,以得到前述目标图特征表示。从而可以在该目标用户终端运行该目标应用时,直接加载该目标图特征表示所表示的目标图片,以在该目标应用运行期间减少系统性能损耗(比如,可以在该目标用户终端中减少图片数据对系统内存的占用)。可选的,本申请实施例在该目标用户终端运行目标应用之前,还可以在服务器中预先对该待池化图特征表示进行图池化处理,得到目标图特征表示,从而可以在该目标用户终端运行该目标应用时,通过网络向该服务器发送数据下载指令(即数据加载指令),以使该服务器可以基于该下载指令中所携带的终端标识来判断该目标用户终端是否满足图池化条件。若该服务器确定该目标用户终端满足图池化条件,即该服务器确定该目标用户终端的终端标识的类型属于低端机的标识类型,则可以在该服务器中将预先图池化处理后所存储的目标图片特征表示返回给目标用户终端进行图片显示,从而可以在该目标应用运行在目标用户终端中时,减少系统性能损耗,并可以提高图片数据的加载效率。由此可见,本申请实施例还可以在运行目标应用之前,在目标用户终端或者服务器中对待池化图特征表示进行图池化处理,以得到的目标图特征表示。

可选的,本申请实施例还可以在该目标用户终端运行目标应用之前,在该目标用户终端中提前对从服务器中所获取到的目标图特征表示进行处理,以得到前述目标图片。换言之,该读取到的目标图特征表示也可以直接被服务器处理为目标图片从而被目标用户终端获取,并进行后续处理。例如,以上述目标应用为多媒体应用(相册)为例,该目标用户终端可以通过该多媒体应用加载并显示该目标图片,并将该目标图片归类保存。

本申请实施例所描述的图片数据可以包含照片、头像以及壁纸,上述图片数据也可以包含应用程序中根据拓扑结构生成的图片数据,例如用户画像、社交网络、化学分子结构、知识图谱等等。换言之,该图片数据中可以包含欧几里得空间中的图片数据,也可以包含非欧几里得空间中的图片数据。例如,以上述目标应用为社交应用为例,该目标用户终端可以通过该社交应用捕捉用户的行为信息并刻画用户画像,生成用户图片数据,并可以在该社交应用中将用户的关系网络生成为用户社交图片数据,将这些数据统称为图片数据,该图片数据中可以利用图特征表示方法进行表示。

在一些可行的实施方式中,驱动层获取目标应用的应用信息。其中,应用信息包括命令行参数,命令行参数携带目标应用的图片操作事件对应的待池化图片的待池化图特征表示以及校验信息。通过策略引擎将目标应用的应用信息上抛给图池化处理程序,并向图池化处理程序发送消息通知。

s304:若目标应用信息校验成功,则将待池化图特征表示发送给图池化处理程序。

在一些可行的实施方式中,图特征主要包括图片的颜色特征、纹理特征、形状特征和空间关系特征。其中,颜色特征是一种全局特征,描述了图片或图片区域所对应的景物的表面性质;纹理特征也是一种全局特征,它也描述了图片或图片区域所对应景物的表面性质;形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征,图片的轮廓特征主要针对物体的外边界,而图片的区域特征则关系到整个形状区域;空间关系特征,是指图片中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。人们通常因为图特征表示能够从不同的角度描述图片,从而认为图特征表示是描述图片的最佳方式。即通过描述图片中若干个节点以及连接两个节点的边所构成的图形,可以将一张图片进行特征表示。最早的图特征表示的图片数据都是属于欧几里得空间的数据,结构规则且具有平移不变性。但现实生活中,我们需要关注的图片数据的结构常常是不规则的,例如在对图片做目标识别的时候,我们关注的实际上只是二维图片上的部分关键点,这些点组成的则是一个非欧式空间的图结构。图特征表示的主要目的是利用图特征进行降维,其主要思想是将原始图片投影到一个低维特征空间,得到最能反应图片本质或进行图片区分的图特征表示。

s305:获取待池化图特征表示,并将待池化图特征表示分割为多个子图特征表示。

本申请中,主要以对待池化图片的空间关系进行图特征表示并进行图池化为例来进行说明。空间关系特征的使用可加强对图片内容的描述区分能力,但空间关系特征常对图片或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。通常提取图片的空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。这两种技术虽然缩小了图特征数据量的规模,但并未从全局性对待池化图片的图特征进行考量,在本申请中,终端获取待池化图特征表示之后,可在预设的特征空间将待池化图特征表示按照特征维度分割为多个子图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

例如,待池化图特征表示为g=(x,a),其中,x∈rn×d是待池化图片中节点的特征矩阵,用于表示待池化图片中n个节点的d维特征;a∈{0,1}n×n是待池化图片中边的特征矩阵,用于表示待池化图片中n个节点之间的连接关系。当前图节点特征矩阵x会按照维度被分割成h个子节点特征矩阵,从而将待池化图特征表示分割为h个子图特征表示,其中,h为大于1的正整数。即其中0≤ai<bi≤d,i∈{0,1,…,h},[:,ai:bi]表示沿特征维度上,保留索引在[ai:bi)内的数值。这里我们使用简单的均匀分割来确定ai和bi,即ai=d/h×i,bi=d/h×(i+1)。待池化图特征表示分割后得到的子图特征表示为gi=(xi,a)。

s306:基于图神经网络模型确定各子图特征表示对应的图注意力输出特征。

在一些可行的实施方式中,在s305中将待池化图特征表示均匀分割h份得到的子图特征表示为gi=(xi,a),其中,是待池化图片中节点的特征矩阵,用于表示子图特征中n个节点的(bi-ai)维特征,且ai=d/h×i,bi=d/h×(i+1)。每个节点v对应的特征向量为xvi;a∈{0,1}n×n是待池化图片中边的特征矩阵,用于表示待池化图片中n个节点之间的连接关系,而avu则表示节点v与节点u之间的边的特征。对于每个节点,都有自己的特征信息,还具有与它相连的节点的边的信息。即每个节点都具有隐藏信息,隐藏信息包含了来自其邻居节点的信息。如果靠手工规则来对节点特征进行提取,必将失去很多隐蔽或复杂的特征,而通过图神经网络模型的学习则可以获得每个节点的隐藏状态。图神经网络模型的核心思想是通过迭代更新所有节点的隐藏状态,直至人们可以得到自己想要关注的节点的隐藏状态。

在一些可行的实施方式中,图神经网络模型可以包括:图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种的结合。各子图特征表示可以分别输入同样的图神经网络模型中对相同的特征进行学习;也可以分别输入不同的图神经网络模型中对不同的特征进行学习。在本实施例中,将以各子图特征表示分别输入到图卷积网络模型为例,对得到图注意力输出特征的过程进行说明。其中,图卷积网络模型包括多个图卷积网络单元,图卷积网络单元包括卷积层和激活函数层。

具体地,通过第一卷积层对子图特征表示中的每个节点的相邻节点进行一次卷积操作,并用卷积结果更新该节点,输入至第一激活函数层得到子图特征中间输出特征;再通过第二卷积层对子图特征中间输出中的每个节点的相邻节点进行一次卷积操作,并用卷积结果更新该节点,输入至第二激活函数层,反复上述过程,直到层数达到预期深度,得到图注意力输出特征。其中,卷积层可以通过卷积运算,增强图片特征,并且降低噪音;激活函数层可以将卷积层输出的值映射到一定的范围内,减少数据处理量,同时保留有用信息。

具体地,当前卷积层的输出特征fgcn(xi,a)可以用公式(5)进行表示。

其中,d是a的度数矩阵,djj=∑kajk,且d∈rn×n。θi是当前卷积层的可训练参数(例如,滤波器的单元参数),且

在一些可行的实施方式中,例如对如图3中的10b进行图池化的过程中,则a、d、可以如矩阵(5)、矩阵(6)、矩阵(7)和矩阵(8)进行表示。

在一些可行的实施方式中,对第i个子图特征表示使用独立的两层卷积层、第一激活函数σ1层和第二激活函数σ2层可以获得图注意力输出zi。其中,第一激活函数σ1和第二激活函数σ2可以为sigmoid函数、tanh函数以及relu函数等函数,图注意力输出特征zi可以用公式(6)进行表示。

其中,sigmoid函数是传统神经网络中最常用的激活函数之一。而sigmoid函数的优点在于,它的输出映射在(0,1)内,且在该范内单调连续,非常适合用作激活函数,并且求导比较容易。但是,它的缺点也很明显,即软饱和性,当输入数据一旦输入落入饱和区,输出就会变得接近于0,很容易使输入数据之间的梯度消失变得不明显。同时,tanh函数也具有软饱和性,因为它的输出以0为中心,收敛速度比sigmoid要快,所以仍无法用tanh函数解决输入数据梯度消失的问题。而relu函数可以将输出映射在输入数据的最大值和0之间,在输入数据小于零时硬饱和。由于在输入数据大于0时导数为1,所以,relu函数能够在输入数据大于0时保持梯度不衰减,从而缓解梯度消失问题,还能够更很地收敛,并提供了神经网络的稀疏表达能力。但是,随着训练的进行,部分输入数据会小于0,从而落到硬饱和区,导致对应的权重无法更新,称为“神经元死亡”。

s307:基于各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示。

在一些可行的实施方式中,基于上述各子图特征表示对应的图注意力输出特征聚合可得到待筛选图特征表示。其中,各子图特征表示对应的图注意力输出特征为zi,待筛选图特征表示为(zmulti,a)。

其中,zmulti=concat(z1;z2;…;zh),且zmulti∈rn×d

s308:根据待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从待筛选图特征中筛选出目标图特征,并基于目标图特征确定池化后的目标图特征表示。

在一些可行的实施方式中,在基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示之后,可以将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序,将权重大于权重阈值的待筛选对象确定为目标对象。其中,待筛选对象包括节点和/或边,为表述方便,本实施例中以节点作为待筛选对象为例进行说明。

例如,使用权重函数g获得待筛选图特征表示中所有节点的权重分数zscore,并将节点按照权重分数进行排序。

其中,zscore=g(zmulti,a),且zscore∈rn×1

其中,权重函数g可以是只基于zmulti的降维(将矩阵降维成向量)函数,例如取最大值函数、取平均值函数、线性变换函数(zmultip,p∈rd×1)等。权重函数g也可以是同时考虑节点特征以及边特征的权重函数,例如图卷积网络函数zscore=σ(fgcn(zmulti,a))等。

在一些可行的实施例中,根据上述目标对象,确定出上述目标图特征,包括:根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

在得到节点的权重分数,并将节点按照权重分数由高至低进行排序之后,可以按照预设的比例ρ对节点进行筛选,其中0<ρ<1。对于节点数为n的待筛选图特征表示而言,将有ρn个节点通过筛选被保留下来。

可以根据被保留下来的节点编号建立一个目标对象索引idx,其中,idx可由公式(7)进行表示:

idx=toprank(zscore,ρn)(7)

将zscore中索引在idx中节点的值保留并构成目标对象向量z′mask。

其中,z′mask=zscore[idx],且z′mask∈rρn×1

然后将目标对象向量复制d次,可以得到目标对象掩膜zmask。

其中,zmask=copy(z′mask,d,dim=2),且zmask∈rρn×d

根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征,包括:将待筛选图特征表示中的节点的特征矩阵进行筛选,保留索引在idx中节点的值,并与目标对象掩膜相乘,得到目标图特征中节点的矩阵x′;将待筛选图特征表示中的边的特征矩阵进行筛选,保留索引在idx中节点之间的边,得到目标图特征中边的特征矩阵a′。

其中,x′=x[idx,:]·zmask,且x′∈rρn×d

其中,a′=a[idx,idx],且a′∈rρn×ρn

从而得到目标图特征表示g′=(x′,a′)。

s309:将目标图特征表示发送给目标应用。

在一些可行的实施例中,在得到目标图特征表示之后,还可以根据池化后的目标图特征表示确定目标图片,并将目标图片发送给目标应用。

例如,在对待筛选图特征表示进行不同比例的池化之后,得到多个不同尺寸的目标图特征表示,可以利用读出层用来将多个不同尺寸的目标图特征表示转换为固定尺寸的目标图特征表示xout,并将xout转换为目标图片进行输出。如公式(8)所示:

在本申请实施例中,通过对待池化图特征表示分割为多个子图特征表示,基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,并将图注意力输出特征聚合得到待筛选图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

进一步地,请参见图7,图7是本申请实施例提供的图池化装置的结构示意图。如图7所示,上述装置可以包含:

特征获取模块60,用于获取待池化图特征表示。

在一些可行的实施方式中,图特征主要包括图片的颜色特征、纹理特征、形状特征和空间关系特征。其中,颜色特征是一种全局特征,描述了图片或图片区域所对应的景物的表面性质;纹理特征也是一种全局特征,它也描述了图片或图片区域所对应景物的表面性质;形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征,图片的轮廓特征主要针对物体的外边界,而图片的区域特征则关系到整个形状区域;空间关系特征,是指图片中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。人们通常因为图特征表示能够从不同的角度描述图片,从而认为图特征表示是描述图片的最佳方式。即通过描述图片中若干个节点以及连接两个节点的边所构成的图形,可以将一张图片进行特征表示。最早的图特征表示的图片数据都是属于欧几里得空间的数据,结构规则且具有平移不变性。但现实生活中,我们需要关注的图片数据的结构常常是不规则的,例如在对图片做目标识别的时候,我们关注的实际上只是二维图片上的部分关键点,这些点组成的则是一个非欧式空间的图结构。图特征表示的主要目的是利用图特征进行降维,其主要思想是将原始图片投影到一个低维特征空间,得到最能反应图片本质或进行图片区分的图特征表示。

特征分割模块61,用于将上述待池化图特征表示分割为多个子图特征表示,一个子图特征表示中包括上述待池化图特征表示中的一个或者多个维度的图特征表示。

例如,待池化图特征表示为g=(x,a),其中,x∈rn×d是待池化图片中节点的特征矩阵,用于表示待池化图片中n个节点的d维特征;a∈{0,1}n×n是待池化图片中边的特征矩阵,用于表示待池化图片中n个节点之间的连接关系。当前图节点特征矩阵x会按照维度被分割成h个子节点特征矩阵,从而将待池化图特征表示分割为h个子图特征表示,其中,h为大于1的正整数。即其中0≤ai<bi≤d,i∈{0,1,…,h},[:,ai:bi]表示沿特征维度上,保留索引在[ai:bi)内的数值。这里我们使用简单的均匀分割来确定ai和bi,即ai=d/h×i,bi=d/h×(i+1)。待池化图特征表示分割后得到的子图特征表示为gi=(xi,a)。

特征训练模块62,用于基于图神经网络模型确定出各子图特征表示对应的图注意力输出特征,一个子图特征表示对应一个图注意力输出特征。

在一些可行的实施方式中,在特征分割模块61中将待池化图特征表示均匀分割h份得到的子图特征表示为gi=(xi,a),其中,是待池化图片中节点的特征矩阵,用于表示子图特征中n个节点的(bi-ai)维特征,且ai=d/h×i,bi=d/h×(i+1)。每个节点v对应的特征向量为xvi;a∈{0,1}n×n是待池化图片中边的特征矩阵,用于表示待池化图片中n个节点之间的连接关系,而avu则表示节点v与节点u之间的边的特征。对于每个节点,都有自己的特征信息,还具有与它相连的节点的边的信息。即每个节点都具有隐藏信息,隐藏信息包含了来自其邻居节点的信息。如果靠手工规则来对节点特征进行提取,必将失去很多隐蔽或复杂的特征,而通过图神经网络模型的学习则可以获得每个节点的隐藏状态。图神经网络模型的核心思想是通过迭代更新所有节点的隐藏状态,直至人们可以得到自己想要关注的节点的隐藏状态。

在一些可行的实施方式中,图神经网络模型可以包括:图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种的结合。各子图特征表示可以分别输入同样的图神经网络模型中对相同的特征进行学习;也可以分别输入不同的图神经网络模型中对不同的特征进行学习。在本实施例中,将以各子图特征表示分别输入到图卷积网络模型为例,对得到图注意力输出特征的过程进行说明。具体请参见图8,图8是本申请实施例提供的图特征分割模块的结构示意图。其中,700a为特征获取模块,获取到待池化图特征表示,传送给特征分割模块700b对待池化图特征表示进行分割,得到子图特征表示。特征训练模块700c通过n个神经网络单元对子图特征表示进行学习,得到图注意力输出特征,并传输给特征拼接模块700d。其中,以特征训练模块包括独立的两个神经网络单元(621和622)为例进行说明。

第一经网络单元621,利用第一卷积网络子单元6211对子图特征表示中的每个节点的相邻节点进行一次卷积操作,用卷积结果更新该节点,利用第一激活函数子单元6212处理得到子图特征中间输出特征;再通过第二经网络单元622的第二卷积网络子单元6221对子图特征表示中的每个节点的相邻节点进行一次卷积操作,用卷积结果更新该节点,并利用第二激活函数子单元6222处理得到图注意力输出特征。其中,卷积网络子单元可以通过卷积运算,增强图片特征,并且降低噪音;激活函数子单元可以将卷积网络子单元输出的值映射到一定的范围内,减少数据处理量,同时保留有用信息。

具体地,当前卷积网络子单元的输出特征fgcn(xi,a)可以用公式(9)进行表示。

其中,d是a的度数矩阵,djj=∑kajk,且d∈rn×n。θi是当前卷积层的可训练参数(例如,滤波器的单元参数),且

在一些可行的实施方式中,例如对如图3中的10b进行图池化的过程中,则a、d、可以如矩阵(9)、矩阵(10)、矩阵(11)和矩阵(12)进行表示。

在一些可行的实施方式中,对第i个子图特征表示使用独立的两层卷积层、第一激活函数σ1和第二激活函数σ2可以获得图注意力输出zi。其中,第一激活函数σ1和第二激活函数σ2可以为sigmoid函数、tanh函数以及relu函数等函数,图注意力输出特征zi可以用公式(10)进行表示。

其中,sigmoid函数是传统神经网络中最常用的激活函数之一。而sigmoid函数的优点在于,它的输出映射在(0,1)内,且在该范内单调连续,非常适合用作激活函数,并且求导比较容易。但是,它的缺点也很明显,即软饱和性,当输入数据一旦输入落入饱和区,输出就会变得接近于0,很容易使输入数据之间的梯度消失变得不明显。同时,tanh函数也具有软饱和性,因为它的输出以0为中心,收敛速度比sigmoid要快,所以仍无法用tanh函数解决输入数据梯度消失的问题。而relu函数可以将输出映射在输入数据的最大值和0之间,在输入数据小于零时硬饱和。由于在输入数据大于0时导数为1,所以,relu函数能够在输入数据大于0时保持梯度不衰减,从而缓解梯度消失问题,还能够更很地收敛,并提供了神经网络的稀疏表达能力。但是,随着训练的进行,部分输入数据会小于0,从而落到硬饱和区,导致对应的权重无法更新,称为“神经元死亡”。

特征拼接模块63,用于基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示。

在一些可行的实施方式中,上述待筛选图特征表示中包括上述待池化图特征表示中的各个维度对应的待筛选特征表示,基于上述各子图特征表示对应的图注意力输出特征聚合可得到待筛选图特征表示。其中,各子图特征表示对应的图注意力输出特征为zi,待筛选图特征表示为(zmulti,a)。

其中,zmulti=concat(z1;z2;…;zh),且zmulti∈rn×d

特征筛选模块64,用于根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征。

在一些可行的实施方式中,特征筛选模块64包括特征排序单元641,用于在基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示之后,可以将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序。其中,待筛选对象包括节点和/或边,为表述方便,本实施例中以节点作为待筛选对象为例进行说明。

例如,使用权重函数g获得待筛选图特征表示中所有节点的权重分数zscore,并将节点按照权重分数进行排序。

其中,zscore=g(zmulti,a),且zscore∈rn×1

其中,权重函数g可以是只基于zmulti的降维(将矩阵降维成向量)函数,例如取最大值函数、取平均值函数、线性变换函数(zmultip,p∈rd×1)等。权重函数g也可以是同时考虑节点特征以及边特征的权重函数,例如图卷积网络函数zscore=σ(fgcn(zmulti,a))等。

在一些可行的实施例中,特征筛选模块64包括特征确定单元642,掩膜确定子单元6421和特征确定子单元6422。

掩膜确定子单元6421,用于根据目标对象,确定出上述目标图特征,包括:根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

在得到节点的权重分数,并将节点按照权重分数由高至低进行排序之后,可以按照预设的比例ρ对节点进行筛选,其中0<ρ<1。对于节点数为n的待筛选图特征表示而言,将有ρn个节点通过筛选被保留下来。

可以根据被保留下来的节点编号建立一个目标对象索引idx,其中,idx可由公式(11)进行表示:

idx=toprank(zscore,ρn)(11)

将zscore中索引在idx中节点的值保留并构成目标对象向量z′mask。

其中,z′mask=zscore[idx],且z′mask∈rρn×1

然后将目标对象向量复制d次,可以得到目标对象掩膜zmask。

其中,zmask=copy(z′mask,d,dim=2),且zmask∈rρn×d

特征确定子单元6422,用于根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征,包括:将待筛选图特征表示中的节点的特征矩阵进行筛选,保留索引在idx中节点的值,并与目标对象掩膜相乘,得到目标图特征中节点的矩阵x′;将待筛选图特征表示中的边的特征矩阵进行筛选,保留索引在idx中节点之间的边,得到目标图特征中边的特征矩阵a′。

其中,x′=x[idx,:]·zmask,且x′∈rρn×d

其中,a′=a[idx,idx],且a′∈rρn×ρn

从而得到目标图特征表示g′=(x′,a′)。

特征表示模块65,用于基于上述目标图特征确定池化后的目标图特征表示。

在一些可行的实施例中,在得到目标图特征表示之后,还可以根据池化后的目标图特征表示确定目标图片,并输出目标图片。

例如,在对待筛选图特征表示进行不同比例的池化之后,得到多个不同尺寸的目标图特征表示,可以利用读出层用来将多个不同尺寸的目标图特征表示转换为固定尺寸的目标图特征表示xout,并将xout转换为目标图片进行输出。如公式(12)所示:

在本申请实施例中,通过对待池化图特征表示分割为多个子图特征表示,基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,并将图注意力输出特征聚合得到待筛选图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

参见图9,图9是本申请实施例提供的设备的结构示意图。如图9所示,本实施例中的设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图9所示的设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

获取待池化图特征表示,并将上述待池化图特征表示分割为多个子图特征表示,一个子图特征表示中包括上述待池化图特征表示中的一个或者多个维度的图特征表示;

基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,一个子图特征表示对应一个图注意力输出特征;

基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示,上述待筛选图特征表示中包括上述待池化图特征表示中的各个维度对应的特征表示;

根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征,并基于上述目标图特征确定池化后的目标图特征表示。

在一些可行的实施方式中,上述基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示之后,上述方法还包括:

利用权重函数对上述待筛选图特征表示中包括的各待筛选对象的特征表示进行计算,得到上述各待筛选对象的权重。

在一些可行的实施方式中,上述根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征包括:

将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序,将权重大于权重阈值的待筛选对象确定为目标对象;

根据上述目标对象确定目标图特征;

其中,上述待筛选对象包括节点和/或边。

在一些可行的实施方式中,上述根据上述目标对象,确定出上述目标图特征,包括:

根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;

根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

在一些可行的实施方式中,上述基于上述目标图特征确定池化后的目标图特征表示之后,上述方法还包括:

基于上述池化后的目标图特征表示,确定池化后的目标图片并输出上述目标图片。

在一些可行的实施方式中,上述图神经网络模型包括:图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种。

应当理解,在一些可行的实施方式中,上述处理器1001可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。

为便于理解,本申请实施例可以在多种用户终端中选择一个用户终端作为目标用户终端,该目标用户终端可以包括:智能手机、平板电脑、桌上型电脑等携带图片数据处理功能(例如,图片拍摄功能,生成用户画像功能)的智能终端。例如,本申请实施例可以将图1所示的用户终端3000a作为上述目标用户终端,该目标用户终端中可以集成有具备该图片数据处理功能的目标应用。应当理解,集成在该目标用户终端中目标应用可以统称为应用客户端。其中,上述目标应用可以包括社交应用(例如,生成用户画像的应用)、多媒体应用(例如,图片拍摄应用)、娱乐应用(例如,图片下载应用)等具有图片数据处理功能的应用。在该目标用户终端中所应用的图特征表示可以包含待池化图特征表示与目标图特征表示。其中,上述目标图特征表示可以为该目标用户终端通过图池化方法对待池化图特征表示进行图池化后得到的目标图特征表示。

可以理解的是,本申请实施例中所描述的通过图池化方法对待池化图特征表示进行图池化得到目标图特征表示的方案,可以适用于所有在网页或者应用客户端(即前述目标应用)中对图片数据进行处理的应用场景。其中,当具有图片数据处理功能的目标应用运行在该目标用户终端中时,该目标用户终端所获取到的待池化图特征表示可以包含提前内置在该目标应用中的图片数据的图特征表示,还可以包含当前通过网络从该服务器中下载的图片数据的图特征表示。

应当理解,本申请实施例可以将提前内置在该目标应用中的图片数据和当前下载的图片数据的图特征表示统称为需要进行池化处理的图特征表示(即待池化图特征表示)。由此可见,本申请实施例可以在网页或者目标应用运行期间,对该待池化图特征表示进行图池化处理,以得到前述目标图特征表示,从而可以在网页或者应用客户端中对目标图片进行处理时,提高图片数据的显示效果,并减少图片数据对系统内存的占用。

可选的,本申请实施例还可以在该目标用户终端运行目标应用之前,在该目标用户终端中提前对从服务器中所获取到的待池化图特征表示进行图池化处理,以得到前述目标图特征表示。从而可以在该目标用户终端运行该目标应用时,直接加载该目标图特征表示所表示的目标图片,以在该目标应用运行期间减少系统性能损耗(比如,可以在该目标用户终端中减少图片数据对系统内存的占用)。可选的,本申请实施例在该目标用户终端运行目标应用之前,还可以在服务器中预先对该待池化图特征表示进行图池化处理,得到目标图特征表示,从而可以在该目标用户终端运行该目标应用时,通过网络向该服务器发送数据下载指令(即数据加载指令),以使该服务器可以基于该下载指令中所携带的终端标识来判断该目标用户终端是否满足图池化条件。若该服务器确定该目标用户终端满足图池化条件,即该服务器确定该目标用户终端的终端标识的类型属于低端机的标识类型,则可以在该服务器中将预先图池化处理后所存储的目标图片特征表示返回给目标用户终端进行图片显示,从而可以在该目标应用运行在目标用户终端中时,减少系统性能损耗,并可以提高图片数据的加载效率。由此可见,本申请实施例还可以在运行目标应用之前,在目标用户终端或者服务器中对待池化图特征表示进行图池化处理,以得到的目标图特征表示。

可选的,本申请实施例还可以在该目标用户终端运行目标应用之前,在该目标用户终端中提前对从服务器中所获取到的目标图特征表示进行处理,以得到前述目标图片。换言之,该读取到的目标图特征表示也可以直接被服务器处理为目标图片从而被目标用户终端获取,并进行后续处理。例如,以上述目标应用为多媒体应用(相册)为例,该目标用户终端可以通过该多媒体应用加载并显示该目标图片,并将该目标图片归类保存。

本申请实施例所描述的图片数据可以包含照片、头像以及壁纸,上述图片数据也可以包含应用程序中根据拓扑结构生成的图片数据,例如用户画像、社交网络、化学分子结构、知识图谱等等。换言之,该图片数据中可以包含欧几里得空间中的图片数据,也可以包含非欧几里得空间中的图片数据。例如,以上述目标应用为社交应用为例,该目标用户终端可以通过该社交应用捕捉用户的行为信息并刻画用户画像,生成用户图片数据,并可以在该社交应用中将用户的关系网络生成为用户社交图片数据,将这些数据统称为图片数据,该图片数据中可以利用图特征表示方法进行表示。

应当理解,上述存储器1005中存储的设备控制应用程序可以包括如下功能模块:

特征获取模块,用于获取待池化图特征表示。

特征分割模块,用于将上述待池化图特征表示分割为多个子图特征表示,一个子图特征表示中包括上述待池化图特征表示中的一个或者多个维度的图特征表示。

特征训练模块,用于基于图神经网络模型确定出各子图特征表示对应的图注意力输出特征,一个子图特征表示对应一个图注意力输出特征。

在一些可行的实施方式中,图神经网络模型可以包括:图卷积网络模型、图注意力网络模型、图自编码器模型、图生成网络模型和图时空网络模型中的一种或几种的结合。各子图特征表示可以分别输入同样的图神经网络模型中对相同的特征进行学习;也可以分别输入不同的图神经网络模型中对不同的特征进行学习。在本实施例中,将以各子图特征表示分别输入到图卷积网络模型为例,对得到图注意力输出特征的过程进行说明。具体地,以特征训练模块包括独立的两个神经网络单元为例进行说明。

第一经网络单元,利用第一卷积网络子单元对子图特征表示中的每个节点的相邻节点进行一次卷积操作,用卷积结果更新该节点,利用第一激活函数子单元处理得到子图特征中间输出特征;再通过第二经网络单元的第二卷积网络子单元对子图特征表示中的每个节点的相邻节点进行一次卷积操作,用卷积结果更新该节点,并利用第二激活函数子单元处理得到图注意力输出特征。其中,卷积网络子单元可以通过卷积运算,增强图片特征,并且降低噪音;激活函数子单元可以将卷积网络子单元输出的值映射到一定的范围内,减少数据处理量,同时保留有用信息。

特征拼接模块,用于基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示,上述待筛选图特征表示中包括上述待池化图特征表示中的各个维度对应的待筛选特征表示。

特征筛选模块,用于根据上述待筛选图特征表示中包括的多个待筛选对象的特征表示以及各待筛选对象的权重,从上述待筛选图特征中筛选出目标图特征。

在一些可行的实施方式中,特征筛选模块包括特征排序单元,用于在基于上述各子图特征表示对应的图注意力输出特征聚合得到待筛选图特征表示之后,可以将上述待筛选图特征表示中包括的多个待筛选对象按照各待筛选对象的权重进行排序。其中,待筛选对象包括节点和/或边。

在一些可行的实施例中,特征筛选模块包括特征确定单元,掩膜确定子单元和特征确定子单元。

掩膜确定子单元,用于根据目标对象,确定出上述目标图特征,包括:根据上述目标对象确定目标对象索引,基于上述目标对象索引生成目标对象掩膜;根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

特征确定子单元,用于根据上述目标对象掩膜以及上述待筛选图特征表示确定目标图特征。

特征表示模块,用于基于上述目标图特征确定池化后的目标图特征表示。

在一些可行的实施例中,在得到目标图特征表示之后,还可以根据池化后的目标图特征表示确定目标图片,并输出目标图片。

具体实现中,上述设备1000可通过其内置的各个功能模块执行如上述图2和/或图6中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。

在本申请实施例中,通过对待池化图特征表示分割为多个子图特征表示,基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,并将图注意力输出特征聚合得到待筛选图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2和/或图6中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。

上述计算机可读存储介质可以是前述任一实施例提供的任务处理装置的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

在本申请实施例中,通过对待池化图特征表示分割为多个子图特征表示,基于图神经网络模型确定各子图特征表示对应的图注意力输出特征,并将图注意力输出特征聚合得到待筛选图特征表示,从而可以将多个子图特征表示并进行处理。其中,可以理解的是,利用图神经网络模型对子图特征表示的不同特征进行训练,可以同时处理对多个子图特征表示进行的训练,缩减图神经网络模型的规模,提高计算速率。进一步的,利用图神经网络模型可以分别对各子图特征表示的不同特征进行学习,快速地得到各子图特征表示中对应的图注意力输出特征,再将图注意力输出特征聚合得到待筛选图特征表示,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。由此可见,对待池化图特征表示分割为多个子图特征表示并利用图神经网络模型进行学习,可以缩减图神经网络模型的规模,提高计算速率;此外,利用图神经网络模型可以分别对各子图特征表示进行学习,增强待筛选图特征表示对目标图特征的表示能力,提高池化效率。

本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1