一种基于Horn逻辑与图神经网络的场景图谱向量化方法与流程

文档序号:17662569发布日期:2019-05-15 22:29阅读:201来源:国知局
一种基于Horn逻辑与图神经网络的场景图谱向量化方法与流程

本发明涉及场景图谱表示学习技术领域,具体涉及一种基于horn逻辑与图神经网络的场景图谱向量化方法。



背景技术:

图像场景图谱是对一幅图像所描绘场景的抽象的、结构化的表示。具体来说,图像场景图谱以图像场景图谱关系三元组(头部实体、关系、尾部实体)和图像场景图谱属性三元组(实体、属性类型、属性)的方式记录了图像中的两个实体、实体的属性以及两个实体之间的关系,并且每个实体在图像中都有一个对应的包围盒。图像场景图谱最先由johnson等人提出,近来在计算机视觉和人工智能领域受到了关注,并有相关的研究成果,例如:利用图像场景图谱检索图像;从事先外部语料库学习的词向量中检索实体的词向量来辅助视觉问答;利用物体检测器和关系检测器生成图像场景图谱。

近年来,表示学习在知识图谱上的应用获得广泛的关注,并取得了巨大成功。表示学习旨在使用分布式表示方法,将实体与关系映射到一个低维的、连续的、实值的向量空间中,解决了知识图谱中的稀疏性问题,同时对于计算效率也有很大的提升。其中以基于翻译的模型表现最为突出。

在现有的场景图谱表示学习技术中,zhu等人(2017)在视觉问答模型中融入了场景图谱中的实体类型的词向量来计算记忆向量,为模型加入了外部信息来辅助模型训练。elhoseiny等人(2017)提出了一个图片与事实双向检索模型,而其中的事实就是从场景图谱中提取出来的。

但是目前场景图谱表示学习方法存在不足,具体地:

(1)上述工作的词向量都是利用外部语料库事先学到的,并不是结合场景图谱本身结构学习而来,因此它们都忽略了场景图谱的结构信息。

(2)一个场景图谱越完备则能提供的信息越多,场景图谱本身隐含着一些规则,这些隐含的规则信息能帮助补全场景图谱,可以使得场景图谱更加完备。

(3)现有的场景图谱表示学习技术中,没有充分考虑和利用场景图谱中隐含的规则信息以及场景图谱中结构信息,因此限制了所学习的视觉三元组向量的表达能力。



技术实现要素:

为了解决现有场景图谱表示学习中存在的未能充分利用规则信息以及场景图谱中的视觉三元组结构信息的问题,本发明公开一种基于horn逻辑与图神经网络的场景图谱向量化方法,充分利用了场景图谱隐含的规则信息,融合了实体周围的邻居实体的信息,能够在三元组分类和三元组链接预测等任务中得到更高的准确率,提高场景图谱的表示性能。

本发明通过以下技术方案实现:一种基于horn逻辑与图神经网络的场景图谱向量化方法,包括如下步骤:

步骤1、以场景图谱中的视觉三元组作为输入,从给定的场景图谱中抽取horn规则;

步骤2、以抽取的horn规则以及场景图谱中的视觉三元组作为输入,优选地,经过推理以及筛选产生新的视觉三元组并添加到场景图谱中;

步骤3、采用实体向量与关系向量之间的图神经网络模型,优选地,对场景图谱的视觉三元组中实体向量与关系向量进行建模;采用实体向量与关系向量之间的翻译模型,建立得分函数作为图神经网络模型的输出模块;

步骤4、进行场景图谱视觉三元组的预测和场景图谱视觉三元组的分类,以验证图神经网络模型的有效性。

优选地,步骤1中利用amie规则抽取器从场景图谱中抽取形如的horn规则;步骤2中,推理过程用当前视觉三元组对抽取的horn规则的前提条件进行实例化,然后根据horn规则推理得出实例化的结论;筛选通过推理过程得到的视觉三元组,遍历所有推理出来的视觉三元组,检查其是否已经是场景图谱中已经存在的视觉三元组,若是则舍弃该推理出的视觉三元组;否则将该推理出的视觉三元组添加到场景图谱中的视觉三元组中。

优选地,步骤3中,图神经网络模型包括传播模块、输出模块以及损失函数;先对场景图谱中所有实体和关系进行向量的初始化;根据所有的视觉三元组进行建图,以视觉三元组的实体为点,关系为边建图;在建好的图中,假设对图中的任意节点,其周围邻居节点与当前节点存在着信息的相互传递,以传播模块对这一假设进行建模:对图中的任意节点,找出与其相邻接的节点,将其相邻接的节点的实体向量通过转换函数得到转换后的实体向量,再对转换后的邻居实体向量进行池化操作,来提取相应有效特征;然后经过池化操作之后所得的最终向量作为当前实体的向量,完成传播过程;在输出模块中,由传播模块所得到的所有实体向量以及初始化的关系向量,利用翻译模型的得分函数,计算视觉三元组的得分作为输出结果,完成图神经网络的前向传播;以最小化所设计的损失函数为优化目标,利用随机梯度下降算法进行优化,完成图神经网络的反向传播。

与现有技术相比,本发明基于horn逻辑与图神经网络的场景图谱向量化方法所取得的有益效果包括:

1、本发明不仅利用了场景图谱中视觉三元组的结构信息,还充分利用了场景图谱中隐含的规则信息;通过图神经网络的传播模块,融合实体周围的邻居实体的信息;通过最小化损失函数学习基于结构的实体和关系向量表示,显著的提升了场景图谱表示学习的效果。

2、本发明的场景图谱向量化方法,充分利用了场景图谱隐含的规则信息,融合了实体周围的邻居实体的信息,能够在三元组分类和三元组链接预测等任务中得到更高的准确率,具有良好的实用性,提高场景图谱的表示性能。

附图说明

图1是本发明流程图;

图2是本发明场景图谱表示模型的结构示意图;

图3是本发明中规则抽取流程示意图;

图4是本发明中新视觉三元组产生流程示意图。

具体实施方式

为使本发明的发明目的、技术方案和优点更加清楚,下面将结合附图和实施例,对本发明做进一步描述,但本发明的实施方式不限于此。

本发明基于horn逻辑与图神经网络的场景图谱向量化方法,如图1所示,包括如下步骤:

步骤1、以场景图谱中的视觉三元组作为输入,利用amie规则抽取器,从给定的场景图谱中抽取逻辑规则,如horn规则;

步骤2、以步骤1中抽取的逻辑规则以及场景图谱中的视觉三元组作为输入,经过推理以及筛选产生新的视觉三元组并添加到场景图谱中;

推理过程中用当前视觉三元组对抽取的horn规则的前提条件进行实例化,然后根据horn规则推理得出实例化的结论,这里实例化的结论也是视觉三元组。通过推理过程得到的视觉三元组需要进行筛选,在筛选过程中,遍历所有推理出来的视觉三元组,检查其是否已经是场景图谱中已经存在的视觉三元组,若该推理出的视觉三元组在场景图谱中已经存在,则舍弃该推理出的视觉三元组;否则,将该推理出的视觉三元组添加到场景图谱中的视觉三元组中。

步骤3、采用实体向量与关系向量之间的图神经网络模型,对场景图谱的视觉三元组中实体向量与关系向量进行建模;采用实体向量与关系向量之间的翻译模型,建立得分函数作为输出模块;

先对场景图谱中所有实体和关系进行向量的初始化。根据所有的视觉三元组进行建图,以视觉三元组的实体为点,关系为边建图。在建好的图中,假设对图中的任意节点,其周围邻居节点与当前节点存在着信息的相互传递,因此以图神经网络中的传播模块对这一假设进行建模。具体的,对图中的任意节点,找出与其相邻接的节点,将其相邻接的节点的实体向量通过转换函数得到转换后的实体向量,再对转换后的邻居实体向量进行池化操作,来提取相应有效特征;然后经过池化操作之后所得的最终向量作为当前节点(实体)的向量,完成传播过程;随后,在输出模块中,由传播模块所得到的所有实体向量以及初始化的关系向量,利用翻译模型的得分函数,计算视觉三元组的得分作为输出结果,完成图神经网络的前向传播;最后,以最小化所设计的损失函数为优化目标,利用随机梯度下降算法进行优化,完成图神经网络的反向传播。达到所设迭代次数则停止训练。

在步骤3中,图神经网络模型包括传播模块、输出模块以及损失函数。经过传播模块,当前实体的向量融合了其周围邻居实体的信息。图神经网络中传播模块的实体向量表示如下:

shead(e)={thead(vh;h,r,e)|(h,r,e)∈nhead(e)}

stail(e)={ttail(vt;e,r,t)|(e,r,t)∈ntail(e)}

ve=p(shead(e)∪stail(e))

其中,nhead(e)={(h,r,e)|(h,r,e)∈g}、ntail={(e,r,t)|(e,r,t)∈g}分别表示头实体的邻居实体和尾实体的邻居实体,g代场景图谱,shead、stail分别表示头实体邻居

向量集合和尾实体邻居向量集合,t表示转换函数,p表示池化操作。转换函数的目的在于调整当前实体节点的邻居实体节点的向量以反映当前实体节点与其周围邻居实体节

点的关系。转换函数有如下形式:

t(u)=v,(恒等)

t(v)=tanh(av),(单tanh层)

t(v)=relu(av),(单relu层)

其中,a是图神经网络模型的参数矩阵。池化操作的目的是将训练集合中的多个向量映射到一个向量,含义是这一个向量融合了周围多个向量的信息,池化操作所采用的函数有如下形式:

(加和池化)

(均值池化)

(最大值池化)

其中,s={x1,x2,…xn}是邻居向量的集合,xi表示一个向量。

采用的翻译模型为transe翻译模型,建立得分函数作为输出模块,得分函数为:

f(h,r,t)=|vh+vr-vt|l1/l2

其中,l1、l2分别表示向量之间的曼哈顿距离和欧式距离。得分函数的含义是让头实体向量加上关系向量尽可能的接近尾实体的向量。

根据得分函数,设计损失函数,并通过最小化损失函数,学习到实体和关系的最终向量表示,达到优化目标。所设计的损失函数l为:

其中,[τ-f(h′i,r′i,t′i)]+=max(0,τ-f(h′i,r′i,t′i));τ为设定的边际值;(h,r,t)表示场景图谱中的正例视觉三元组(场景图谱中的视觉三元组和由horn规则推理出来的视觉三元组),h表示头实体,t表示尾实体,r表示头实体和尾实体之间的关系,(h′,r′,t′)表示场景图谱中随机替换头实体、关系或者尾实体得到的负例视觉三元组。该损失函数不同于传统的损失函数将正例视觉三元组和负例视觉三元组联合考虑,而是将正例视觉三元组和负例视觉三元组分开考虑,在优化的时候使得正例视觉三元组的得分接近于0而负例视觉三元组的得分至少是τ,实验证明该损失函数不仅容易优化而且能得到较好的结果。最后通过最小化所述损失函数得到实体和三元组的向量表示。

步骤4、进行场景图谱视觉三元组的预测和场景图谱视觉三元组的分类,以验证图神经网络模型的有效性。视觉三元组链接预测模块和视觉三元组分类模块是对训练好的模型进行测试,用来验证模型的有效性。

如图2所示,本发明场景图谱表示模型包括规则抽取模块、新视觉三元组生成模块、训练模块、链接预测模块以及视觉三元组分类模块。

所述规则抽取模块用于实现上述步骤1,是以场景图谱三元组作为输入,并利用amie规则抽取器从三元组中抽取horn规则,如由amie规则抽取器抽出的horn规则会自带一个置信度,在选择horn规则中我们筛选置信度大于0.95的horn规则。图3展示了规则抽取模块的抽取流程。

所述新视觉三元组产生模块用于实现上述步骤2,是以场景图谱中的视觉三元组和抽取的horn规则作为输入,遍历所有的视觉三元组根据相应的horn规则推理出“新”的视觉三元组,若推理出的视觉三元组已经出现在当前场景图谱中则继续遍历,否则将该视觉三元组加入当前场景图谱中。具体流程如图4中所示。

以上实施例仅起到解释本发明技术方案的作用,本发明所要求的保护范围并不局限于上述实施例所述实现系统和具体实施步骤。因此,仅对上述实施例中具体的公式及算法进行简单的替换,但其实质内容仍与本发明所述方法一致的技术方案,均应属于本发明的保护范围。

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