分布式存储中基于随机梯度下降的谱哈希方法

文档序号:10488686阅读:321来源:国知局
分布式存储中基于随机梯度下降的谱哈希方法
【专利摘要】本发明公开了分布式存储中基于随机梯度下降的谱哈希方法,该方法在语义一致的谱哈希算法的基础上,利用随机梯度下降减少算法训练时间,且进一步提出基于柯西分布的一致性哈希算法并利用该算法将每一个数据项压缩成一个一维的实数值。这样便能利用一致性哈希的思想,在动态的网络拓扑中实现分布式存储,且使相似的数据项存储在相同的或者相近的存储服务器节点。本发明的方法使得每个存储服务器节点仅需要维护少量近邻节点的信息,当服务器节点加入或者退出系统时,仅有少量相关节点参与到拓扑的维护之中,提高了收敛速度和存储准确性。
【专利说明】
分布式存储中基于随机梯度下降的谱哈希方法
技术领域
[0001] 本发明涉及分布式存储中基于随机梯度下降的谱哈希方法,属于分布式存储技术 领域。
【背景技术】
[0002] 近年来,随着信息技术的蓬勃发展,互联网上业务不断地扩张,用户不断地增长, 存储空间不断地增大,数据呈现出无法想象的增长趋势。然而存储容量往往同存储性能成 反比,传统数据库在应付海量数据时显得十分吃力,暴露出并发性低、扩展性差、效率低下 等问题,不能满足大数据时代数据爆炸的需求。为此,新环境下对存储技术提出了新的要 求:可扩展性、数据可靠性、高性能、易管理性、绿色节能。
[0003]分布式存储技术就是当前存储技术的研究热点之一。分布式存储系统将数据分散 存储在多台独立的设备上,采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利 用位置服务器定位存储信息,这样的做法不但提高了系统的可靠性、可用性和存取效率,还 易于扩展。在对等环境(P2P)中,分布式存储产生的一个关键问题就是如何在动态的网络拓 扑中分布存储和路由,麻省理工学院提出的一致性哈希算法基本解决了这个关键问题。通 过使用一致性哈希算法,每个服务器节点仅需要维护少量近邻节点的信息,并且在节点加 入或退出系统时,仅有相关的少量节点参与到拓扑的维护中,然而研究者们并未提出有效 用于一致性哈希的映射算法使得同一个存储服务器节点存储的都是内容相似或相同的数 据。
[0004] 云存储是在云计算概念上延伸和发展出来的一个新的概念,是一种新兴的网络存 储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类 型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的 一个系统。在分布式存储环境下,精确近邻存储需要遍历所有服务器所存储的数据,然而这 种做法的实现代价太大以致不可实现。若我们能将内容相似的数据存储到相近或者相同的 存储服务器节点,那么每次查询一类数据时我们便只需在某一个或某几个服务器中查询相 关数据,大大节省了搜索时间。
[0005] 谱哈希(Spectral Hashing,SH)是近年来非常流行的一种压缩映射算法,因其不 错的搜索效率以及较强的高维适应性而被广泛应用于各个领域。谱哈希的基本思想是通过 一组哈希函数,对数据进行压缩映射,使相似的输入数据映射成汉明距离相近的哈希码。但 是,传统谱哈希技术只考虑了数据特征空间的欧式关系,这样的做法并未完全考虑数据间 的内在联系。

【发明内容】

[0006] 本发明所要解决的技术问题是:提供分布式存储中基于随机梯度下降的谱哈希方 法,将相似的数据存储在相同或相近的存储服务器节点上,解决了数据的分布式存储问题。
[0007] 本发明为解决上述技术问题采用以下技术方案:
[0008] 分布式存储中基于随机梯度下降的谱哈希方法,包括如下步骤:
[0009] 步骤1,根据给定的训练集样本矩阵以及对应的训练集标记矩阵,利用语义一致图 的谱哈希算法构建转换矩阵的目标函数,该转换矩阵表示训练集样本矩阵中各样本之间的 潜在关系;
[0010] 步骤2,利用随机梯度下降算法迭代求解步骤1的目标函数,得到使目标函数的损 失函数最小的转换矩阵;
[0011] 步骤3,待存储数据集中各数据样本的维度与训练集中各样本的维度相同,利用步 骤2得到的转换矩阵对待存储数据集中的数据样本进行转换,并对转换后的数据样本利用 随机梯度下降算法,将数据样本压缩成指定维度的哈希码,且该指定维度小于数据样本的 维度;
[0012] 步骤4,利用柯西分布的一致性哈希算法,将步骤3得到的指定维度的哈希码压缩 成一个一维的实数值,根据该实数值的大小将对应的数据样本存储到指定的服务器节点 上。
[0013] 作为本发明的一种优选方案,所述目标函数的表达式为:
[0014]
[0015] 其中,^ = exp(-| IA(X1-Xj)I |2),A表示转换矩阵,分别表示训练集中第i和 第j个样本,η表示训练集中样本总个数,fi和fj分别表示第i和第j个样本的标记向量,Ni表 示样本X1的近邻集合,心和1 2分别表示两个自定的参数值,叫表示样本作为样本^近邻的 概率,I I · I I表示2范数,Tr表示矩阵的迹,T表示转置。
[0016] 作为本发明的一种优选方案,所述转换矩阵的初始值为:Ι/δ,其中,I表示单位矩 阵,δ表示训练集中样本间欧式距离的中位数。
[0017] 作为本发明的一种优选方案,步骤4所述将指定维度的哈希码压缩成一个一维的 实数值的方法为:在柯西分布中随机生成柯西向量,且该柯西向量的维度等于哈希码的指 定维度,将指定维度的哈希码与该柯西向量内积,从而得到一维的实数值。
[0018] 作为本发明的一种优选方案,步骤3所述利用转换矩阵对待存储数据集中的数据 样本进行转换的方法为:利用转换矩阵乘以待存储数据集中的数据样本,从而得到转换后 的数据样本。
[0019] 本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0020] 1、本发明解决了语义一致图的谱哈希算法收敛速度过慢和陷入局部最优的问题, 通过最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是 使得损失函数值最小的参数;使用随机梯度下降算法不需要完遍历整个数据集就可以达到 收敛,收敛速度较快。
[0021 ] 2、本发明通过对原始谱哈希算法的改进得到语义一致图的谱哈希算法,使得搜索 效率和高维适应性更加优越,将该算法应用在分布式存储中,提高了在分布式环境中相似 性存储的准确度。
[0022] 3、本发明解决了用于分布式存储的简单哈希算法带来的平衡性差、单调性差、分 散性差、负载不均衡的问题,将表示样本的多维哈希码映射成一维的实数值,利用一致性哈 希算法的思想将相似的数据存储到相同或相近的存储服务器节点中。
【附图说明】
[0023] 图1是本发明分布式存储中基于随机梯度下降的谱哈希方法的整体架构图。
[0024] 图2是本发明分布式存储中基于随机梯度下降的谱哈希方法的流程图。
[0025] 图3是本发明中基于柯西分布的一致性哈希算法的示意图。
【具体实施方式】
[0026] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过 参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0027] 本发明在语义一致图的谱哈希算法(Spectral Hashing with Semantically Consistent Graph)的基础上,利用随机梯度下降(Stochastic Gradient Descent,SGD)减 少算法训练时间,且进一步提出基于柯西分布的一致性哈希算法并利用该算法将每一个数 据项压缩成一个一维的实数值。这样便能利用一致性哈希的思想,在动态的网络拓扑中实 现分布式存储,且使相似的数据项存储在相同的或相近的存储服务器节点。
[0028] 语义一致图的谱哈希算法:是一种对数据的压缩映射方法,其基本思想是通过k个 哈希函数,将数据压缩映射成k位哈希码(01码),并使相似的输入数据映射成汉明距离相近 的哈希码。
[0029]随机梯度下降算法(SGD):作为梯度下降(Gradient Descent,GD)算法的改进算 法,其主要针对原始梯度下降算法收敛速度过慢和易陷入局部最优的问题,是一种最小化 损失函数或风险函数的迭代求解方法。本发明利用随机梯度下降算法减少语义一致图的谱 哈希算法训练时间。
[0030] 基于柯西分布的一致性哈希算法:本发明应用一致性哈希算法的思想,使得本发 明的哈希映射算法在动态变化的分布式存储环境中具备了四个适应条件:平衡性、单调性、 分散性、负载均衡。通过语义一致图的谱哈希算法,原始数据被压缩映射成k维的哈希码,再 通过基于柯西分布的一致性哈希算法可以将这k维的哈希码映射成一个一维的实数值。该 算法的映射空间本质上就是一个实数区间,这样便可在动态的网络拓扑中分布存储和路 由。
[0031] 如图1、图2所示,本发明提供一种在分布式存储中基于随机梯度下降的谱哈希方 法,该方法主要分成两个部分:训练过程和存储过程。
[0032] 1、训练过程
[0033] 训练过程主要根据语义一致图的谱哈希算法思想建模并获得下一过程所需的转 换矩阵,此转换矩阵反映了数据样本间潜在的关系,训练过程中本发明采用随机梯度下降 (SGD)算法减少求解时间。若训练集数据的特征维度为d维,那么经训练过程得到的转换矩 阵是d行d列的方阵。
[0034] 语义一致图谱哈希算法的基本思想是将数据的特征维度由初始的d维压缩映射成 k维的哈希码,并使相似的输入数据映射成汉明距离相近的哈希码。具体来说,若训练集中 包含η个训练样本,该谱哈希算法定义样本间的关系矩阵W是一个n*n的矩阵,关系矩阵中的 每一个元素定义为:
[0035]
[0036] 上式中A表示转换矩阵,xdPXj分别表示训练集中第i个样本和第j个样本,为了训 练得到具备反映数据项之间潜在关系的转换矩阵A,本发明使用随机梯度下降(SGD)算法改 进语义一致图的谱哈希算法,并定义目标函数为:
[0037]

[0038] S⑶算法要求每次迭代前先随机选择一个样本(训练集的第i个样本),上述目标函 数中fi和fj分别表示第i个样本和第j个样本的标记向量(标记向量是c维的列向量,c是标记 的个数,向量中的元素为1或〇,分别表示样本具备或不具备这个标记),Ni表示样本xi(d维的 列向量)的近邻集合(根据欧式距离确定),λ^Ρλ 2是两个自定的参数值(可选取以下值: 0.01、0.1、0.5、1、5),pij表示样本Xj作为样本X i近邻的概率并定义为:
[0039]
.⑶
[0040] 训练过程的目标就是最小化目标函数即式(2)迭代求解出最优的转换矩阵A。本发 明使用随机梯度下降算法取代语义一致图的谱哈希算法使用的梯度下降算法用以加速目 标函数的收敛,从而减少了训练过程的时间。转换矩阵初始化为I/S,I是d*d的单位矩阵,δ 是训练集样本间欧式距离的中位数。目标函数值收敛后输出转换矩阵Α,训练过程结束。 [0041 ] 2、存储过程
[0042]存储过程主要通过使用训练过程获得的转换矩阵A转换所有待存储数据样本的特 征空间,然后使用谱哈希算法将样本压缩映射成k维的01哈希码,再通过使用本发明所创的 基于柯西分布的一致性哈希算法将代表样本的k维的哈希码映射成一维的实数值,最后再 根据此实数值的大小将所有数据样本各自存储到指定的存储服务器节点上。
[0043]假设待存储的数据集包含Y个数据样本,每一个样本的特征维度为d,详细存储步 骤如下:
[0044] 1)通过使用训练过程获得维度为d*d的转换矩阵A转换所有待存储数据样本的特 征空间,转换后的数据集用f表示Y =[AX1,. . .,Αχη' ]τ,其中X1ERd,在存储过程ψΧι表示 待存储的第i个样本。
[0045] 2)通过使用主成分分析(Principal Component Analysis,PCA)算法,我们将获得 数据集矩阵V的主成分矩阵P,该矩阵维度为d*k,k为自定义的哈希码长度。
[0046] 3)计算X7 *P获得Y *k维的矩阵N,矩阵N的第t行的k维向量代表数据样本集合中第
t个样本。谱哈希算法假定矩阵N的第i列中的元素都均匀分布在La1J1讴间内^jPb 1分别 表示矩阵N第i列元素中的最小值和最大值,虽然这个假定并不一定成立,但从算法效果来 看,此假定大大的提高了哈希算法的计算效率和准确性。一维拉普拉斯矩阵的特征值λ (1,θ) 和特征函数Φη.θ)定义为:
[0047] (4)
[0048] (5)
[0049] 其中16{1,...,幻,06{1,...,(1},£是给定参数。把1^(1个特征值从小到大排列, 选取其中最小的k个特征值对应的特征函数,保存对应的参数。对于每一个样本,经哈希函 数:ΨCO = [sgn((I>,;| H|,Cr,, )),...,sgn((I;>(; ,(? ));f便能得到表示该样本的k维哈希码。对于新 来样本Xr/ +j GRd,该样本的k位哈希码yv +j可由yr/ +j = ψ ((Ax1^ +j)TP)得到。
[0050] 4)基于柯西分布的一致性哈希算法由本发明独创,目的在于将表示样本的k位哈 希码映射成一个实数值,且使汉明距离较近的k位哈希码映射成较接近的实数值,并根据该 实数值大小将样本存储到指定服务器节点上。具体为:与此柯西向量内积,最终得到一个实 数值。根据该实数值在环中所处的位置,将此样本存储到指定的存储服务器节点上。
[0051 ] -致性哈希算法存储过程,如图3所示,nodel、node2、node3表示三个存储服务器 节点。训练集合中样本经映射形成的一维实数值构成了一个区间,用图3中大圆Min至Max表 示。keyl、key2、key3、key4表示四个处在区间中的实数值。假设当前所需存储的样本为 samp I e I,samp I e 1经哈希算法映射成实数值key I,key 1沿顺时针方向查询,首先遇到的存储 服务器节点为110(161,则将样本831]^161存储到110(161中。同理,映射成1^72的样本存储到 node2,映射成key3与key4的样本存储到node3。
[0052]以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是 按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围 之内。
【主权项】
1. 分布式存储中基于随机梯度下降的谱哈希方法,其特征在于,包括如下步骤: 步骤1,根据给定的训练集样本矩阵W及对应的训练集标记矩阵,利用语义一致图的谱 哈希算法构建转换矩阵的目标函数,该转换矩阵表示训练集样本矩阵中各样本之间的潜在 关系; 步骤2,利用随机梯度下降算法迭代求解步骤1的目标函数,得到使目标函数的损失函 数最小的转换矩阵; 步骤3,待存储数据集中各数据样本的维度与训练集中各样本的维度相同,利用步骤2 得到的转换矩阵对待存储数据集中的数据样本进行转换,并对转换后的数据样本利用随机 梯度下降算法,将数据样本压缩成指定维度的哈希码,且该指定维度小于数据样本的维度; 步骤4,利用柯西分布的一致性哈希算法,将步骤3得到的指定维度的哈希码压缩成一 个一维的实数值,根据该实数值的大小将对应的数据样本存储到指定的服务器节点上。2. 根据权利要求1所述分布式存储中基于随机梯度下降的谱哈希方法,其特征在于,所 述目标函数的表达式为:其中,Wij = exp(-| |A(Xi-Xj)||2),A表示转换矩阵,xi和xj分别表示训练集中第巧P第j个 样本,η表示训练集中样本总个数,fi和分别表示第i和第j个样本的标记向量,Ni表示样本 XI的近邻集合,λ?和λ2分别表示两个自定的参数值,Pi康示样本Xj作为样本XI近邻的概率, ? II表示2范数,Tr表示矩阵的迹,T表示转置。3. 根据权利要求1所述分布式存储中基于随机梯度下降的谱哈希方法,其特征在于,所 述转换矩阵的初始值为:I/S,其中,I表示单位矩阵,δ表示训练集中样本间欧式距离的中位 数。4. 根据权利要求1所述分布式存储中基于随机梯度下降的谱哈希方法,其特征在于,步 骤4所述将指定维度的哈希码压缩成一个一维的实数值的方法为:在柯西分布中随机生成 柯西向量,且该柯西向量的维度等于哈希码的指定维度,将指定维度的哈希码与该柯西向 量内积,从而得到一维的实数值。5. 根据权利要求1所述分布式存储中基于随机梯度下降的谱哈希方法,其特征在于,步 骤3所述利用转换矩阵对待存储数据集中的数据样本进行转换的方法为:利用转换矩阵乘 W待存储数据集中的数据样本,从而得到转换后的数据样本。
【文档编号】G06F3/06GK105843555SQ201610159340
【公开日】2016年8月10日
【申请日】2016年3月18日
【发明人】胡海峰, 朱力, 吴建盛
【申请人】南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1