CN118093659A - 基于三输入网络与制高点树的数据库高维数据查询方法 - Google Patents
基于三输入网络与制高点树的数据库高维数据查询方法 Download PDFInfo
- Publication number
- CN118093659A CN118093659A CN202410488146.9A CN202410488146A CN118093659A CN 118093659 A CN118093659 A CN 118093659A CN 202410488146 A CN202410488146 A CN 202410488146A CN 118093659 A CN118093659 A CN 118093659A
- Authority
- CN
- China
- Prior art keywords
- network
- sample
- node
- point tree
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012549 training Methods 0.000 claims abstract description 14
- 239000013598 vector Substances 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了基于三输入网络与制高点树的数据库高维数据查询方法,包括如下步骤:构建三输入网络,并从用于训练三输入网络的数据集中抽取标准样本,根据标准样本构建三元组样本;使用三元组样本训练三输入网络,并随机选取一个样本数据作为根节点,其余样本数据作为子节点,构建制高点树;通过三输入网络计算数据集中每个子节点与根节点之间的距离,并将距离存储至节点集合中;通过节点集合构建出相应的制高点树,通过制高点树进行查询得到与目标节点距离最近的节点。本发明有益效果:通过将三输入网络与制高点树重新拆分组合,在三输入网络保证查询准确性的同时,利用制高点树显著减少查询的数据量,从而提高数据库查询效率。
Description
技术领域
本发明属于计算机技术领域,尤其是涉及基于三输入网络与制高点树的数据库高维数据查询方法。
背景技术
Triplet网络是基于孪生网络衍生出来的。孪生网络是一种特殊的神经网络架构,它由两个相同权重的子网络组成,每个子网络处理一个输入数据。使用孪生网络进行高维数据匹配时,两个子网络分别输入不同的数据,当两组数据具有同样标签时,网络输出的距离较近,被认为匹配成功;具有不同标签时,输出距离较远,被认为匹配失败。为了使具有同样标签的样本输出距离更近,具有不同标签的样本输出距离更远,Triplet网络在孪生网络的基础上增加一个输入分支,采用三输入的方式达到更好的网络训练效果。这种网络结构在图像搜索、人脸识别等许多场景中都有广泛的应用。
制高点树是一种用于在高维空间中进行相似性搜索的数据结构,通常用于诸如音频检索、图像检索、基因序列分析等领域。其基本思想是将二分查找建立在具有距离信息的高维数据空间中,从而增加高维数据的查询效率。
随着技术的逐年发展,数据库开始支持包括二进制大对象和字符大对象等更多的数据类型,这使得数据库除了存储低维度文本数据外,还能够存储图像、音频、视频等其他高维度数据。
然而,数据库中的高维数据查询是一个复杂的问题,因为数据维度的增加会导致数据的空间变得非常稀疏,传统的查询算法和数据结构可能不再适用,在高维度空间中进行搜索的性能也亟待提高。
发明内容
有鉴于此,本发明旨在提出基于三输入网络与制高点树的数据库高维数据查询方法,以期解决上述部分技术问题中的至少之一。
为达到上述目的,本发明的技术方案是这样实现的:
基于三输入网络与制高点树的数据库高维数据查询方法,包括如下步骤:
构建Triplet网络,并从用于训练Triplet网络的数据集中抽取标准样本,根据标准样本构建三元组样本;
使用三元组样本训练Triplet网络,并随机选取一个样本数据作为根节点,其余样本数据作为子节点,构建制高点树;
通过Triplet网络计算数据集中每个子节点与根节点之间的距离,并将距离存储至节点集合中;
通过节点集合构建出相应的制高点树,通过制高点树进行查询得到与目标节点距离最近的节点。
进一步的,所述三元组样本的构建过程如下:
从数据集中随机抽取一个样本数据作为标准样本;
选取与标准样本属于同一类的样本数据作为正样本;
选取与表针样本属于不同类的样本数据作为负样本;
将标准样本、正样本、负样本三者结合,得到所述三元组样本。
进一步的,所述Triplet网络的三个网络分支完全相同,且三个网络分支共享相同的权重和参数;
所述网络分支内设置有用于提取特征的卷积神经网络,以及用于计算特征向量之间的距离的全连接网络。
进一步的,将标准样本、正样本、负样本三个样本数据分别输入Triplet网络的三个网络分支中;
使用卷积神经网络提取三个样本数据中的特征向量,使用全联接网络计算三个特征向量之间的距离;
使用梯度下降算法与反向传播算法,更新卷积神经网络与全联接网络的权重和参数;
多次输入不同的样本数据,直至Triplet网络收敛。
进一步的,将标准样本作为制高点树的根节点,并通过Triplet网络计算其余数据节点与根节点之间的距离,构建相应的制高点树。
进一步的,通过Triplet网络计算数据集中每个子节点与根节点之间的距离的过程包括:
将根节点输入Triplet网络的中间分支,使用中间分支对根节点执行编码操作;
Triplet网络执行编码操作后分别输出,输入两侧分支的样本数据与输入中间分支的样本数据之间的距离;
根据每个样本数据与根节点之间的距离构建相应的子节点,将子节点与根节点之间的距离存储至节点集合中。
进一步的,通过节点集合构建出相应的制高点树的过程包括:
检测节点集合是否为空,若为空则返回空的制高点树,若不为空则计算所有子节点与根节点之间的距离的中值;
判断子节点与根节点之间的距离是否小于中值,若小于则将子节点***根节点的左子树中,否则***右子树中。
进一步的,当数据库更新的次数到达预设的更新阈值时,根据当前数据库内的数据重建制高点树。
相对于现有技术,本发明所述的基于三输入网络与制高点树的数据库高维数据查询方法具有以下有益效果:
通过将Triplet网络与制高点树重新拆分组合,在Triplet网络保证查询准确性的同时,利用制高点树显著减少查询的数据量,从而提高数据库查询效率。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的基于三输入网络与制高点树的数据库高维数据查询方法的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
基于三输入网络与制高点树的数据库高维数据查询方法,包括如下步骤:
步骤一、构建Triplet网络,并从用于训练Triplet网络的数据集中抽取标准样本,根据标准样本构建三元组样本;
步骤二、使用三元组样本训练Triplet网络,并随机选取一个样本数据作为根节点,其余样本数据作为子节点,构建制高点树;
步骤三、通过Triplet网络计算数据集中每个子节点与根节点之间的距离,并将距离存储至节点集合中;
步骤四、通过节点集合构建出相应的制高点树,通过制高点树进行查询得到与目标节点距离最近的节点。
所述三元组样本的构建过程如下:
从数据集中随机抽取一个样本数据作为标准样本;
选取与标准样本属于同一类的样本数据作为正样本;
选取与表针样本属于不同类的样本数据作为负样本;
将标准样本、正样本、负样本三者结合,得到所述三元组样本。
所述Triplet网络的三个网络分支完全相同,且三个网络分支共享相同的权重和参数;
所述网络分支内设置有用于提取特征的卷积神经网络,以及用于计算特征向量之间的距离的全连接网络。
将标准样本、正样本、负样本三个样本数据分别输入Triplet网络的三个网络分支中;
使用卷积神经网络提取三个样本数据中的特征向量,使用全联接网络计算三个特征向量之间的距离;
使用梯度下降算法与反向传播算法,更新卷积神经网络与全联接网络的权重和参数;
多次输入不同的样本数据,直至Triplet网络收敛。
将标准样本作为制高点树的根节点,并通过Triplet网络计算其余数据节点与根节点之间的距离,构建相应的制高点树。
通过Triplet网络计算数据集中每个子节点与根节点之间的距离的过程包括:
将根节点输入Triplet网络的中间分支,使用中间分支对根节点执行编码操作;
Triplet网络执行编码操作后分别输出,输入两侧分支的样本数据与输入中间分支的样本数据之间的距离;
根据每个样本数据与根节点之间的距离构建相应的子节点,将子节点与根节点之间的距离存储至节点集合中。
通过节点集合构建出相应的制高点树的过程包括:
检测节点集合是否为空,若为空则返回空的制高点树,若不为空则计算所有子节点与根节点之间的距离的中值;
判断子节点与根节点之间的距离是否小于中值,若小于则将子节点***根节点的左子树中,否则***右子树中。
当数据库更新的次数到达预设的更新阈值时,根据当前数据库内的数据重建制高点树。
具体工作过程:
Triplet网络由三个完全相同的网络分支组成,这三个网络共享相同的权重和参数,其中每个网络主要由两个部分组成,第一部分是用于提取特征的卷积神经网络,第二个全联接网络用于求取卷积神经网络提取的向量之间的距离;
Triplet网络需要输入三个样本,分别经过全连接层提取各自的特征向量,然后分别计算正样本和负样本与标准点之间的距离,作为Triplet网络的输出。
在训练过程中,需要输入三组样本,为了使相同类别数据之间的距离尽可能小,不同的类别数据之间距离尽可能的大,需要从训练数据集中随机选取一个样本作为标准样本;
然后再随机选取一个和X属于同一类的样本作为正样本X+,一个和X不属于同一类的样本作为负样本X-,由以上三个数据构成一个三元组作为网络的输入端,经过第一层网络分别提取三组数据的特征向量,然后经过第二层网络分别计算正样本和负样本与标准样本之间的距离;
然后通过梯度下降与反向传播更新两层网络结构的参数,其中三个网络分支通过交叉共享参数的方式提高整个网络训练的效率;
通过以上训练,就可以得到一个能够利用距离来精准度量三组高维数据相似度的网络。当样本与标准样本距离值越小,两个样本越相似,距离值越大则两个样本差异性越高。
当经过训练得到较为精准的Triplet网络后,就可以将数据库中的高维数据集输入到网络中得到距离值,以便后续搭建制高点树,因此需要在数据库的高维数据集中随机选取一个数据作为Triplet网络的标准数据X,并作为后续制高点树的制高点即根节点。
将选取好的标准数据X作为Triplet网络中间分支的固定输入,依次遍历数据集中其他数据作为网络另外两个输入,在网络中进行处理后,分别输出两组数据与标准数据的相似度分数,X1即距离,将距离与数据构建成一个新的节点S={{X1,D1},{X2,D2},...,{Xn,Dn}}。
将标准数据X作为制高点即根节点,将Triplet网络输出的新节点S={{X1,D1},{X2,D2},...,{Xn,Dn}}作为制高点树的其他节点,制高点树的构建可以与Triplet网络计算距离值并行进行,即Triplet网络每输出两个距离值,立刻将新的节点Si={Xi,Di}、Sj={Xj,Dj}***制高点树中,递归构造制高点树;具体的算法如下:
若数据集为空,则返回空树;
若数据集不为空,将标准数据即制高点X作为根节点,设Dk是数据库中所有对象与X的距离中值,将Di、Dj与Dk进行比较,小于Dk的点作为左子树,大于Dk的点作为右子树;
随着Triplet网络的输出递归地建立左子树和右子树。
对于不断更新的数据库,需要定期重新构建制高点树的结构,以反映新的数据分布。
当用户进行高维数据查询时,首先输入需要查询的图像、视频等高维数据,该数据经过Triplet网络得出与标准数据的距离值,二叉遍历制高点树,找到与距离值差距最小的节点,即为查询到的最匹配的数据,最后输出结果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和***,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于,包括如下步骤:
构建Triplet网络,并从用于训练Triplet网络的数据集中抽取标准样本,根据标准样本构建三元组样本;
使用三元组样本训练Triplet网络,并随机选取一个样本数据作为根节点,其余样本数据作为子节点,构建制高点树;
通过Triplet网络计算数据集中每个子节点与根节点之间的距离,并将距离存储至节点集合中;
通过节点集合构建出相应的制高点树,通过制高点树进行查询得到与目标节点距离最近的节点。
2.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
所述三元组样本的构建过程如下:
从数据集中随机抽取一个样本数据作为标准样本;
选取与标准样本属于同一类的样本数据作为正样本;
选取与标准样本属于不同类的样本数据作为负样本;
将标准样本、正样本、负样本三者结合,得到所述三元组样本。
3.根据权利要求2所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
所述Triplet网络的三个网络分支完全相同,且三个网络分支共享相同的权重和参数;
所述网络分支内设置有用于提取特征的卷积神经网络,以及用于计算特征向量之间的距离的全连接网络。
4.根据权利要求2所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
将标准样本、正样本、负样本三个样本数据分别输入Triplet网络的三个网络分支中;
使用卷积神经网络提取三个样本数据中的特征向量,使用全联接网络计算三个特征向量之间的距离;
使用梯度下降算法与反向传播算法,更新卷积神经网络与全联接网络的权重和参数;
多次输入不同的样本数据,直至Triplet网络收敛。
5.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
将标准样本作为制高点树的根节点,并通过Triplet网络计算其余数据节点与根节点之间的距离,构建相应的制高点树。
6.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
通过Triplet网络计算数据集中每个子节点与根节点之间的距离的过程包括:
将根节点输入Triplet网络的中间分支,使用中间分支对根节点执行编码操作;
Triplet网络执行编码操作后分别输出,输入两侧分支的样本数据与输入中间分支的样本数据之间的距离;
根据每个样本数据与根节点之间的距离构建相应的子节点,将子节点与根节点之间的距离存储至节点集合中。
7.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
通过节点集合构建出相应的制高点树的过程包括:
检测节点集合是否为空,若为空则返回空的制高点树,若不为空则计算所有子节点与根节点之间的距离的中值;
判断子节点与根节点之间的距离是否小于中值,若小于则将子节点***根节点的左子树中,否则***右子树中。
8.根据权利要求1所述的基于三输入网络与制高点树的数据库高维数据查询方法,其特征在于:
当数据库更新的次数到达预设的更新阈值时,根据当前数据库内的数据重建制高点树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410488146.9A CN118093659B (zh) | 2024-04-23 | 基于三输入网络与制高点树的数据库高维数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410488146.9A CN118093659B (zh) | 2024-04-23 | 基于三输入网络与制高点树的数据库高维数据查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118093659A true CN118093659A (zh) | 2024-05-28 |
CN118093659B CN118093659B (zh) | 2024-07-26 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778527A (zh) * | 2016-11-28 | 2017-05-31 | 中通服公众信息产业股份有限公司 | 一种基于三重损失的改进的神经网络行人再识别方法 |
CN108399428A (zh) * | 2018-02-09 | 2018-08-14 | 哈尔滨工业大学深圳研究生院 | 一种基于迹比准则的三元组损失函数设计方法 |
CN110298404A (zh) * | 2019-07-02 | 2019-10-01 | 西南交通大学 | 一种基于三重孪生哈希网络学习的目标跟踪方法 |
CN111832440A (zh) * | 2020-06-28 | 2020-10-27 | 高新兴科技集团股份有限公司 | 人脸特征提取模型的构建方法、计算机存储介质及设备 |
CN113190699A (zh) * | 2021-05-14 | 2021-07-30 | 华中科技大学 | 一种基于类别级语义哈希的遥感图像检索方法及装置 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778527A (zh) * | 2016-11-28 | 2017-05-31 | 中通服公众信息产业股份有限公司 | 一种基于三重损失的改进的神经网络行人再识别方法 |
CN108399428A (zh) * | 2018-02-09 | 2018-08-14 | 哈尔滨工业大学深圳研究生院 | 一种基于迹比准则的三元组损失函数设计方法 |
CN110298404A (zh) * | 2019-07-02 | 2019-10-01 | 西南交通大学 | 一种基于三重孪生哈希网络学习的目标跟踪方法 |
CN111832440A (zh) * | 2020-06-28 | 2020-10-27 | 高新兴科技集团股份有限公司 | 人脸特征提取模型的构建方法、计算机存储介质及设备 |
CN113190699A (zh) * | 2021-05-14 | 2021-07-30 | 华中科技大学 | 一种基于类别级语义哈希的遥感图像检索方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nie et al. | An effective and efficient algorithm for K-means clustering with new formulation | |
CN108920720B (zh) | 基于深度哈希和gpu加速的大规模图像检索方法 | |
WO2020244437A1 (zh) | 图像处理方法、装置及计算机设备 | |
CN109284406B (zh) | 基于差异循环神经网络的意图识别方法 | |
CN110636445B (zh) | 基于wifi的室内定位方法、装置、设备及介质 | |
CN108733976B (zh) | 基于融合生物与拓扑特征的关键蛋白质识别方法 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
CN109918498B (zh) | 一种问题入库方法和装置 | |
CN111353303B (zh) | 词向量构建方法、装置、电子设备及存储介质 | |
CN111125469B (zh) | 一种社交网络的用户聚类方法、装置以及计算机设备 | |
CN111611801B (zh) | 一种识别文本地域属性的方法、装置、服务器及存储介质 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN110598061A (zh) | 一种多元图融合的异构信息网嵌入方法 | |
CN115293919B (zh) | 面向社交网络分布外泛化的图神经网络预测方法及*** | |
CN111432003B (zh) | 应用于云计算的数据推送方法、装置、电子设备及*** | |
WO2021253938A1 (zh) | 一种神经网络的训练方法、视频识别方法及装置 | |
CN114037009A (zh) | 一种基于时空统计的ip地址画像方法 | |
CN113553326A (zh) | 电子表格数据处理方法、装置、计算机设备和存储介质 | |
CN118093659B (zh) | 基于三输入网络与制高点树的数据库高维数据查询方法 | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
CN118093659A (zh) | 基于三输入网络与制高点树的数据库高维数据查询方法 | |
US20220171815A1 (en) | System and method for generating filters for k-mismatch search | |
CN112308122B (zh) | 基于双树的高维向量空间样本快速搜索方法及装置 | |
CN112651590B (zh) | 一种指令处理流程推荐的方法 | |
Hacid et al. | Incremental neighborhood graphs construction for multidimensional databases indexing |
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 |