一种基于双路神经网络的保距哈希方法

文档序号:10534932阅读:218来源:国知局
一种基于双路神经网络的保距哈希方法
【专利摘要】本发明公开了一种基于双路神经网络的保距哈希方法,包括:利用无监督哈希方法对每个训练数据点产生二进制码,并将两两训练数据点及其对应的二进制码构成一个数据对;将数据对输入至双路神经网络中,该双路神经网络的训练目标是保持数据对在不同空间内的线性距离变换关系并保持原始的无监督哈希方法的保真度;通过交替地更新神经网络参数和线性距离变换参数,直到收敛或达到设定的迭代次数后,取双路神经网络的任意一路,即构成了学习得到的新的哈希函数。通过采用本发明公开的方法,可以显著提高无监督哈希方法的检索性能。
【专利说明】
一种基于双路神经网络的保距哈希方法
技术领域
[0001] 本发明涉及多媒体技术领域,尤其涉及一种基于双路神经网络的保距哈希方法。
【背景技术】
[0002] 近似最近邻查找技术是计算机视觉和多媒体应用中的一个基本问题。给定一个查 询样本,近似最近邻查找技术可以以很高的概率从一个大的数据集中查找到查询样本的最 近邻,并且时间复杂度为线性甚至是常数时间复杂度。近似最近邻查找技术中主要有两类 方法,分别是基于树的方法和哈希方法。基于树的方法在高维空间中存在维数灾难问题,而 哈希方法由于在高维空间中也表现出良好性能,变得越来越受欢迎。
[0003] 根据是否使用训练数据,现有哈希方法可以分为两类,分别是数据依赖方法和数 据独立方法。数据独立方法不使用训练数据,通常对数据应用随机映射来生成二进制码,而 且有理论证明:使用数据独立性哈希方法,在汉明空间(Hamming space)中,原始空间的局 部邻居结构仍然被保留。这种数据独立性方法的缺点是在大规模应用中,为了获得可以接 受的性能,码长要很长,而码长变长会使得召回率(recall)变低。为了提升召回率,这类方 法通常会使用多个哈希表,但这又会引发新的问题一一内存占用大和计算复杂度高。
[0004] 因此,数据依赖哈希方法开始被研究,通过使用训练数据集来学习得到更加紧致 的二进制码。通过将高维数据映射为紧致的二进制码,近似最近邻搜索可以在线性时间复 杂度内完成。根据训练数据是否含有标签或分类信息,数据依赖方法又可以进一步被分为 三类,分别是有监督方法,半监督方法和无监督方法。
[0005] 有监督哈希方法使用带有标签信息的训练数据进行训练,而半监督方法使用部分 带有标签信息的训练数据进行训练。这两类方法通常可以将哈希函数的学习过程形式化为 分类问题或最优化问题。数据对或三元组的信息通常被考虑进目标函数去指导哈希函数的 学习。尽管在大多数文献中,有监督和半监督哈希方法相比于无监督方法获得了更高的性 能,但在很多实际应用中,分类信息或标签数据是很难获得的。这导致无监督哈希方法仍然 被广泛研究使用。
[0006] 无监督哈希方法使用不含任何标签信息的分类数据。这类方法通常利用数据分布 的信息或好的二进制码的内在属性(例如平衡性和独立性)来保留数据邻居结构,最小量化 误差。这些约束本质上属于单个点的约束,并没有直接反映哈希的保距目标。鉴于此,有必 要研究一种普适性的方法提高无监督哈希方法的性能。

【发明内容】

[0007] 本发明的目的是提供一种基于双路神经网络的保距哈希方法,可以显著提高无监 督哈希方法的检索性能。
[0008] 本发明的目的是通过以下技术方案实现的:
[0009] -种基于双路神经网络的保距哈希方法,包括:
[0010] 利用无监督哈希方法对每个训练数据点产生二进制码,并将两两训练数据点及其 对应的二进制码构成一个数据对;
[0011] 将数据对输入至双路神经网络中,该双路神经网络的训练目标是保持数据对在不 同空间内的线性距离变换关系并保持原始的无监督哈希方法的保真度;
[0012] 通过交替地更新神经网络参数和线性距离变换参数,直到收敛或达到设定的迭代 次数后,取双路神经网络的任意一路,即构成了学习得到的新的哈希函数。
[0013] 进一步的,所述保持数据对在不同空间内的线性距离变换关系的目标函数表达式 为:
[0015]其中,N为训练集中训练数据点的数量,NP为数据对的数量;a和b是线性距离变换 的参数;E为数据对欧氏距离矩阵,H为数据对二进制码的汉明距离矩阵,E与H e ;
[0016]矩阵E中的元素E(i,j)表示训练数据AXl与幻的欧氏距离;矩阵H中的元素H(i,j) 表示练数据点Xl与幻对应的二进制码匕与匕的汉明距离;假设每一二进制码为L比特,则二 进制码匕与匕的汉明距离表示为:
[0017] -(l,xl -b,) (l/xl 〇
[0018] 进一步的,所述保持原始的无监督哈希方法的保真度的目标函数表达式为:
[0020] 其中,B与Ue!TVxi,B与U每一列都是一个训练数据点的一个二进制码;U的每一列 由无监督哈希方法生成,B的每一列等于一路神经网络的输出再经二值化处理的结果。
[0021] 进一步的,所述通过交替地更新神经网络参数和线性距离变换参数,直到收敛或 达到设定的迭代次数包括:
[0022]将两个目标函数合并,则有:
[0025]其中,A为用来控制目标函数中前两部分重要性比例的参数,上述第三项的正则化 约束条件用来降低神经网络参数的幅度,0是正则化项系数,W为神经网络参数;
[0026]通过最小化上述目标函数来获得最优的参数W、a和b,并去掉二进制约束,使用神 经网络的输出I代替上述目标函数中的B,则最终的目标函数为:
[0029]上式中,矩阵H中的元素/)(/,./)为叫/.,./) = /,_丨幻-(丨,^-1>,) (l/xl-6小為与矣 为匕与匕去掉二进制约束的结果;
[0030] 交替式优化的方式进行求解最终的目标函数:
[0031] 固定参数W,更新a和b,则目标函数的优化变为:
[0033] 上述优化后的目标函数能够由最大似然方法求解;
[0034] 固定参数a和b,更新W,则目标函数的优化变为:
[0036]将上述优化后的目标函数展成向量形式:
[0038]上式中,t =&/,./:),根据求导的链式法则,优化后的目标函数的梯度表示为:
向传播算法更新神经网络参数矩阵W;
[0041 ]重复上述交替式优化过程,直到收敛或达到设定的迭代次数。
[0042]由上述本发明提供的技术方案可以看出,使用双路神经网络去保留线性距离变换 关系并同时保留原始无监督哈希方法的哈希映射关系;同时,对于双路神经网络通过交替 优化的方式学习得到哈希函数;该方案可以适用于大多数基于点约束的无监督哈希方法, 并可以显著提高它们的检索性能。
【附图说明】
[0043] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 附图。
[0044] 图1为本发明实施例提供的一种基于双路神经网络的保距哈希方法的流程图。
【具体实施方式】
[0045] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明的保护范围。
[0046] 图1为本发明实施例提供的一种基于双路神经网络的保距哈希方法的流程图。如 图1所示,其主要包括如下步骤:
[0047] 步骤11、利用无监督哈希方法对每个训练数据点产生二进制码,并将两两训练数 据点及其对应的二进制码构成一个数据对。
[0048] 本领域技术人员可以理解,利用无监督哈希方法对每个训练数据点产生二进制码 可以通过现有技术实现。
[0049] 步骤12、将数据对输入至双路神经网络中,该双路神经网络的训练目标是保持数 据对在不同空间内的线性距离变换关系并保持原始的无监督哈希方法的保真度。
[0050] 本发明实施例中,所述双路神经网络具有完全相同的结构、参数和权值矩阵,唯一 的区别是输入不同的训练数据点。
[0051] 本发明实施例中,在原始欧氏空间和汉明空间中保持线性的距离变换(也就是说, 数据对在原始欧氏空间内的欧氏距离,与数据对对应的二进制码在汉明空间中的汉明距离 之间应该保持线性变换关系),并同时保持原始无监督哈希方法的保真度。下面这针对这两 个目标进行详细说明。
[0052] 1、线性距离变换关系。
[0053]在不同特征空间内保持距离度量关系是二进制哈希方法的固有特点。现有一些哈 希方法采用将数据对的汉明距离和欧氏距离映射到同一尺度下,例如,[0,1],然后最小化 这两个映射后距离的偏差的方法来实现保距。然而,发现这种约束由于太严格通常并没有 取得很好的性能,而实际上只需要保持两个原始的欧氏距离和汉明距离之间的线性映射关 系即可,这种约束通过实验证明可以显著地提高原始无监督哈希方法的性能。
[0054]所述保持数据对在不同空间内的线性距离变换关系的目标函数表达式为:
[0056] 其中,N为训练集中训练数据点的数量,NP为数据对的数量;a和b是线性距离变换 的参数;I I ? I If表示Frobenius范数,它是一种矩阵范数,等于对矩阵中每个元素求平方再 求和;E为数据对欧氏距离矩阵,H为数据对二进制码的汉明距离矩阵,E与He 矩阵E 中的元素E(i,j)表示训练数据点xi与xj的欧氏距离;矩阵H中的元素H(i,j)表示训练数据点 xi与xj对应的二进制码bi与bj的汉明距离。
[0057] 上述目标函数与最小二乘方法的目标函数相似,不同点在于在我们的目标函数 中,H矩阵是一个离散值矩阵,因为每两个L比特二进制码之间的汉明距离只可能取到个L+1 值,分别是〇,1,2,…,L。为了求解方便,本发明实施例中,汉明距离的计算与一般的计算方 法(计算两个二进制码的异或码中'1'的个数)不同,本发明实施例中H(i,j)的表达式为:
[0058] //(/,./) = L - b;b; -(l/xl -bj (l/xl -b,)。
[0059] 2、保持原始无监督方法的保真度。
[0060] 目前有很多传统的无监督哈希方法,仔细考虑了数据的分布特性和好的二进制码 的固有属性。本发明实施例的方案针对于提升这些已经存在的无监督方法的性能。
[0061] 所述保持原始的无监督哈希方法的保真度的目标函数表达式为:
[0063]其中,B与U gRAxZ,B与U每一列都是一个训练数据点的一个二进制码;U的每一列 由无监督哈希方法生成,B的每一列是一路神经网络的输出再经过二值化处理获得的二进 制码。
[0064] 步骤13、通过交替地更新神经网络参数和线性距离变换参数,直到收敛或达到设 定的迭代次数后,取双路神经网络的任意一路,即构成了学习得到的新的哈希函数。
[0065] 在步骤12中获得两个目标函数后,可以将两个目标函数合并,则有:
[0068]其中,A为用来控制目标函数中前两部分重要性比例的参数,上述的第三项正则化 约束条件用来降低神经网络参数的变化幅度,0是正则化项系数,W为神经网络参数;
[0069]通过最小化上述目标函数来获得最优的参数W、a和b,由于二进制约束的存在,上 面的融合后的目标函数不可直接求解。为了处理这个问题,直接去掉二进制约束,使用神经 网络的输出g代替上述目标函数中的B,则最终的目标函数为:
[0072] 上式中,矩阵H中的元素/)(/,./)〉W/(/,./) = A - b,-(丨,」(lAxl -b,) 表示神经网络输出,所需要的目标二进制码比与匕为長与g进行二值化的结果;
[0073] 然而上述目标函数仍然难以直接求解,本发明实施例中,采用交替式优化的方式 进行求解最终的目标函数:
[0074] 1)固定参数W,更新a和b,则目标函数的优化变为:
[0076] 将矩阵H与E展成两个列向量时,上面这个目标退化为线性回归问题,可以由最大 似然方法直接求解。
[0077] 2)固定参数a和b,更新W,则目标函数的优化变为:
[0079]由于目标函数L(W)是连续的,所以可以通过神经网络的后向传播方法学习得到神 经网络的参数矩阵W。相比于传统的神经网络的后向传播方法,本发明实施例中的双路神经 网络的后向传播方法只进行部分的修改即可。详细来说,可以将上式中的目标函数展成向 量形式:
[0081]上式中,=/>(/?,./;) ,ei,」、/;,,、uk分别表示矩阵E、二进制码B、二进制码U变为向量 形式的结果,根据求导的链式法则,优化后的目标函数的梯度表示为:
[0083] 其中,
是目标函数梯度,通过后 向传播算法更新网络参数W;通过对比可以发现,本发明实施例中的双路神经网络的后向传 播算法与一般后向传播算法的唯一区别就在于每4
_前面的系数不再相同。因此,使用 本发明实施例中的后向传播算法更新双路神经网络。
[0084] 重复上述交替式优化过程1)~2),直到收敛或达到设定的迭代次数。由于双路神 经网络的两路完全相同,对应的参数矩阵W已经求出,可以直接取其中任意一路网络作为哈 希的映射函数,再将神经网络的输出进行二值化处理即可获得最终的二进制码。
[0085] 本发明实施例上述方案中,使用双路神经网络去保留线性距离变换关系并同时保 留原始无监督哈希方法的哈希映射关系;同时,对于双路神经网络通过交替优化的方式学 习得到哈希函数;该方案可以适用于大多数基于点约束的无监督哈希方法,并可以显著提 高它们的检索性能。
[0086] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可 以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解, 上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易 失性存储介质(可以是CD-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0087] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范 围为准。
【主权项】
1. 一种基于双路神经网络的保距哈希方法,其特征在于,包括: 利用无监督哈希方法对每个训练数据点产生二进制码,并将两两训练数据点及其对应 的二进制码构成一个数据对; 将数据对输入至双路神经网络中,该双路神经网络的训练目标是保持数据对在不同空 间内的线性距离变换关系并保持原始的无监督哈希方法的保真度; 通过交替地更新神经网络参数和线性距离变换参数,直到收敛或达到设定的迭代次数 后,取双路神经网络的任意一路,即构成了学习得到的新的哈希函数。2. 根据权利要求1所述的方法,其特征在于,所述保持数据对在不同空间内的线性距离 变换关系的目标函数表达式"其中,N为训练集中训练数据点的数量,Np为数据对的数量;a和b是线性距离变换的参 数;E为数据对欧氏距离矩阵,H为数据对二进制码的汉明距离矩阵,E与 矩阵E中的元素 E(i,j)表示训练数据点的欧氏距离;矩阵H中的元素 H(i,j)表示 练数据点^与^对应的二进制码匕与匕的汉明距离;假设每一二进制码为L比特,则二进制 码匕与匕的汉明距离表3. 根据权利要求2所述的方法,其特征在于,所述保持原始的无监督哈希方法的保真度 的目标函数表达式为:其中,B与Ue Rsxi,B与U每一列都是一个训练数据点的一个二进制码;U的每一列由无 监督哈希方法生成,B的每一列等于一路神经网络的输出再经二值化处理的结果。4. 根据权利要求2或3所述的方法,其特征在于,所述通过交替地更新神经网络参数和 线性距离变换参数,直到收敛或达到设定的迭代次数包括: 将两个目标函数合并,则有:其中,λ为用来控制目标函数中前两部分重要性比例的参数,上述第三项的正则化约束 条件用来降低神经网络参数的幅度,β是正则化项系数,W为神经网络参数; 通过最小化上述目标函数来获得最优的参数W、a和b,并去掉二进制约束,使用神经网 络的输出§代替上述目标函数中的B,则最终的目标函数为:上式中,矩阵??中的元S%bi 与h去掉二进制约束的结果; 交替式优化的方式进行求解最终的目标函数: 固定参数W,更新a和b,则目标函数的优化变为:播算法更新神经网络参数矩阵W; 重复上述交替式优化过程,直到收敛或达到设定的迭代次数。
【文档编号】G06N3/08GK105893477SQ201610186444
【公开日】2016年8月24日
【申请日】2016年3月25日
【发明人】周文罡, 王敏, 李厚强, 田奇
【申请人】中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1