本发明属于计算机,尤其是涉及基于三输入网络与制高点树的数据库高维数据查询方法。
背景技术:
1、triplet网络是基于孪生网络衍生出来的。孪生网络是一种特殊的神经网络架构,它由两个相同权重的子网络组成,每个子网络处理一个输入数据。使用孪生网络进行高维数据匹配时,两个子网络分别输入不同的数据,当两组数据具有同样标签时,网络输出的距离较近,被认为匹配成功;具有不同标签时,输出距离较远,被认为匹配失败。为了使具有同样标签的样本输出距离更近,具有不同标签的样本输出距离更远,triplet网络在孪生网络的基础上增加一个输入分支,采用三输入的方式达到更好的网络训练效果。这种网络结构在图像搜索、人脸识别等许多场景中都有广泛的应用。
2、制高点树是一种用于在高维空间中进行相似性搜索的数据结构,通常用于诸如音频检索、图像检索、基因序列分析等领域。其基本思想是将二分查找建立在具有距离信息的高维数据空间中,从而增加高维数据的查询效率。
3、随着技术的逐年发展,数据库开始支持包括二进制大对象和字符大对象等更多的数据类型,这使得数据库除了存储低维度文本数据外,还能够存储图像、音频、视频等其他高维度数据。
4、然而,数据库中的高维数据查询是一个复杂的问题,因为数据维度的增加会导致数据的空间变得非常稀疏,传统的查询算法和数据结构可能不再适用,在高维度空间中进行搜索的性能也亟待提高。
技术实现思路
1、有鉴于此,本发明旨在提出基于三输入网络与制高点树的数据库高维数据查询方法,以期解决上述部分技术问题中的至少之一。
2、为达到上述目的,本发明的技术方案是这样实现的:
3、基于三输入网络与制高点树的数据库高维数据查询方法,包括如下步骤:
4、构建triplet网络,并从用于训练triplet网络的数据集中抽取标准样本,根据标准样本构建三元组样本;
5、使用三元组样本训练triplet网络,并随机选取一个样本数据作为根节点,其余样本数据作为子节点,构建制高点树;
6、通过triplet网络计算数据集中每个子节点与根节点之间的距离,并将距离存储至节点集合中;
7、通过节点集合构建出相应的制高点树,通过制高点树进行查询得到与目标节点距离最近的节点。
8、进一步的,所述三元组样本的构建过程如下:
9、从数据集中随机抽取一个样本数据作为标准样本;
10、选取与标准样本属于同一类的样本数据作为正样本;
11、选取与表针样本属于不同类的样本数据作为负样本;
12、将标准样本、正样本、负样本三者结合,得到所述三元组样本。
13、进一步的,所述triplet网络的三个网络分支完全相同,且三个网络分支共享相同的权重和参数;
14、所述网络分支内设置有用于提取特征的卷积神经网络,以及用于计算特征向量之间的距离的全连接网络。
15、进一步的,将标准样本、正样本、负样本三个样本数据分别输入triplet网络的三个网络分支中;
16、使用卷积神经网络提取三个样本数据中的特征向量,使用全联接网络计算三个特征向量之间的距离;
17、使用梯度下降算法与反向传播算法,更新卷积神经网络与全联接网络的权重和参数;
18、多次输入不同的样本数据,直至triplet网络收敛。
19、进一步的,将标准样本作为制高点树的根节点,并通过triplet网络计算其余数据节点与根节点之间的距离,构建相应的制高点树。
20、进一步的,通过triplet网络计算数据集中每个子节点与根节点之间的距离的过程包括:
21、将根节点输入triplet网络的中间分支,使用中间分支对根节点执行编码操作;
22、triplet网络执行编码操作后分别输出,输入两侧分支的样本数据与输入中间分支的样本数据之间的距离;
23、根据每个样本数据与根节点之间的距离构建相应的子节点,将子节点与根节点之间的距离存储至节点集合中。
24、进一步的,通过节点集合构建出相应的制高点树的过程包括:
25、检测节点集合是否为空,若为空则返回空的制高点树,若不为空则计算所有子节点与根节点之间的距离的中值;
26、判断子节点与根节点之间的距离是否小于中值,若小于则将子节点插入根节点的左子树中,否则插入右子树中。
27、进一步的,当数据库更新的次数到达预设的更新阈值时,根据当前数据库内的数据重建制高点树。
28、相对于现有技术,本发明所述的基于三输入网络与制高点树的数据库高维数据查询方法具有以下有益效果:
29、通过将triplet网络与制高点树重新拆分组合,在triplet网络保证查询准确性的同时,利用制高点树显著减少查询的数据量,从而提高数据库查询效率。
1.基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
3.根据权利要求2所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
4.根据权利要求2所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
5.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
6.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
7.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
8.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
