当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于神经网络的跨媒体哈希索引方法技术

技术编号:11036756 阅读:94 留言:0更新日期:2015-02-11 21:00
本发明专利技术公开了一种基于神经网络的跨媒体哈希索引方法,包括如下步骤:(1)设计了基于神经网络的哈希函数学习的网络结构(2)对每种模态的神经网络进行逐层预训练(3)将不同模态的神经网络融合成一个新的网络,设计模态间和模态内数据的损失函数,基于损失函数来通过反向传播方式对整个网络参数进行微调(4)去掉网络的输出层,将哈希编码层的输出结构作为哈希函数的输出以支持跨模态的快速检索。利用该方法可以实现基于内容的海量数据的高效跨媒体检索,用户可以通过提交一种类型检索数据去检索另外一种类型数据。

【技术实现步骤摘要】
一种基于神经网络的跨媒体哈希索引方法
本专利技术涉及跨媒体检索,尤其涉及一种基于海量数据的跨媒体高效索引方法。
技术介绍
互联网技术的高速发展和社交网络的风靡,使得互联网上的多模态数据的数量在以惊人的速度增长。举例来说,用户向社交网络上传图片时一般同时会对图片添加一些描述性文本。因此,如何利用不同模态数据之间关联关系来实现跨模态(也称作跨媒体)检索是一个非常有意义的研究问题。由于网络上多模态数据的数据量非常庞大,通过哈希索引技术来提高跨媒体检索性能是最近研究热点。已有的跨媒体哈希算法大多基于流形学习、字典学习或生成概率图模型。它们的目标在于通过使用学习得到的哈希函数将不同模态数据映射到同一个子空间内,同时保持数据在模态内相似性和模态间关联关系。本专利技术提出了一种基于神经网络的跨媒体哈希算法,使得得到的哈希索引不仅保持模态间数据关联性,也具有模态内数据鉴别性。
技术实现思路
本专利技术的目的是克服现有技术的不足,提供一种基于神经网络的跨媒体哈希哈希索引的方法。一种基于神经网络的跨媒体哈希索引方法包括如下步骤:1)设计基于神经网络的哈希函数的网络结构;2)对每种模态的神经网络进行逐层预训练;3)将不同模态的神经网络融合成一个新的网络,设计模态间和模态内数据的损失函数,基于损失函数来通过反向传播方式对整个网络参数进行微调;4)去掉网络的输出层,将哈希编码层的输出结构作为哈希函数的输出,以支持跨模态的快速检索。所述的步骤1)包括:对于得到的包含多模态类型数据的多媒体文档集合,构建分别属于每个模态类型的数据集;假设构成多媒体文档的数据来自两个模态:数据集分别为两个模态数据的矩阵表示,其中dx和dy对应两个模态数据的维度,通常dx≠dy;n是数据集X和Y中所包含数据的个数;此外,T=[t1,t2,...,tn]∈Rc×n为数据集X和Y对应的类别标签矩阵,每一个ti∈Rc为两种模态数据点对xi和yi所对应的类别标签向量,tij=1表示xi和yi均属于第j个类别,c为所有类别的个数;神经网络结构由两个子神经网络组成,记作NNx和NNy,对应分别对X和Y中数据的逐层学习,每个子神经网络NNx或NNy有L层,包含一个输入层、一个输出层、一个哈希编码层以及剩下的L-3哈希函数层。对任意x∈X(y∈Y同理),将数据x沿着它对应模态的神经子网络NNx进行正向传播,第l层的表达x(l)通过一组非线性变换后可得到l+1层的表达x(l+1),这一非线性变换如公式(6)所示x(l)1)=f(l)(W(l)x(l))(6)其中W(l)为投影矩阵,f(l)(·)为非线性激活函数,在第一层到第L-2层,使用的非线性变换函数是sigmoid函数,在第L-1层使用非线性变换函数是softmax函数;哈希函数Hx是子神经网络NNx的一部分,Hx将x为输入,将输入x通过正向传播到第L-1层,输出x的k维哈希编码:Hx(x)=sign(x(L-1))(7)其中x(L-1)∈Rk为x在子神经网络第L-1层上的输出,sign(·)为将实数x(L-1)转换为二值哈希编码的函数;对于另外一个模态数据所对应的哈希函数Hy,采用相同的方法得到。所述的步骤3)包括:分别在哈希编码层和输出层设计如下两个损失函数,将两个网络NNx和NNy融合,实现对不同模态数据的统一表达,保持模态间数据对应性的损失函数:对于存在对应关系的来自不同模态数据,这一损失函数将保证其在哈希编码层编码尽可能相似或一致。由于难以对二值哈希编码进行求导,因此在求解中先去掉二值函数sign(·),直接将实数值作为数据在哈希编码层的表达,基于这一分析,在公式(8)中定义了损失函数l1:其中x(L-1),y(L-1)分别为来自不同模态、存在对应关系的一对数据x,y在哈希编码层上的表达;保持模态内数据鉴别性的损失函数:对于来自同一模态的数据,如果它们具有相同的类别标签,则应该保证这些具有相同类别标签的数据在神经网络输出层的表达尽可能相似或一致,基于这一分析,在公式(9)中定义损失函数l2:l2(x,y,t)=KL(x(L),t)+KL(y(L),t)(9)其中x,y为来自不同模态、存在对应关系的一对数据,x(L),y(L)分别为它们在输出层上的表达,t为它们对应的类别标签,KL(·)为KL-散度函数,用于衡量数据在输出层表达和类别标签的一致性;将两个损失函数结合起来,对数据集X和Y内所有数据形成了如公式(10)的整体损失函数:其中λ为平衡两个损失项的参数;通过最小化公式(10)中所定义的损失函数,并采用经典的反向传播算法,对整个网络中参数进行微调,直到整个神经网络收敛或达到最大迭代次数。本专利技术可以实现基于内容的海量数据的高效跨媒体检索。用户可以通过提交一种模态的检索例子去检索另外一种模态的媒体对象。附图说明图1是基于神经网络的跨媒体哈希索引算法流程图。具体实施方式一种基于神经网络的跨媒体哈希索引方法包括如下步骤:1)设计基于神经网络的哈希函数的网络结构;2)对每种模态的神经网络进行逐层预训练;3)将不同模态的神经网络融合成一个新的网络,设计模态间和模态内数据的损失函数,基于损失函数来通过反向传播方式对整个网络参数进行微调;4)去掉网络的输出层,将哈希编码层的输出结构作为哈希函数的输出,以支持跨模态的快速检索。所述的步骤1)包括:对于得到的包含多模态类型数据的多媒体文档集合,构建分别属于每个模态类型的数据集;假设构成多媒体文档的数据来自两个模态(为了表达上的方便,下面都假设构成多媒体文档的数据是来自两个模态,实际上本专利技术的方法可以扩展到任意多个模态):数据集分别为两个模态数据的矩阵表示,其中dx和dy对应两个模态数据的维度,通常dx≠dy;n是数据集X和Y中所包含数据的个数;此外,T=[t1,t2,...,tn]∈Rc×n为数据集X和Y对应的类别标签矩阵,每一个ti∈Rc为两种模态数据点对xi和yi所对应的类别标签向量,tij=1表示xi和yi均属于第j个类别,c为所有类别的个数;如图1所示,本专利技术的神经网络结构由两个子神经网络组成,记作NNx和NNy,对应分别对X和Y中数据的逐层学习,每个子神经网络NNx或NNy有L层,包含一个输入层、一个输出层、一个哈希编码层以及剩下的L-3哈希函数层。对任意x∈X(y∈Y同理),将数据x沿着它对应模态的神经子网络NNx进行正向传播,第l层的表达x(l)通过一组非线性变换后可得到l+1层的表达x(l+1),这一非线性变换如公式(11)所示x(l+1)=f(l)(W(l)x(l))(11)其中W(l)为投影矩阵,f(l)(·)为非线性激活函数,在第一层到第L-2层,使用的非线性变换函数是sigmoid函数,在第L-1层使用非线性变换函数是softmax函数;哈希函数Hx是子神经网络NNx的一部分,Hx将x为输入,将输入x通过正向传播到第L-1层,输出x的k维哈希编码:Hx(x)=sign(x(L-1))(12)其中x(L-1)∈Rk为x在子神经网络第L-1层上的输出,sign(·)为将实数x(L-1)转换为二值哈希编码的函数;对于另外一个模态数据所对应的哈希函数Hy,采用相同的方法得到。所述的步骤2)包括:对神经网络NNx和NNy中的每一层分别使用传统的预训练方法叠加自动本文档来自技高网...
一种基于神经网络的跨媒体哈希索引方法

【技术保护点】
一种基于神经网络的跨媒体哈希索引方法,其特征在于包括如下步骤:1)设计基于神经网络的哈希函数的网络结构;2)对每种模态的神经网络进行逐层预训练;3)将不同模态的神经网络融合成一个新的网络,设计模态间和模态内数据的损失函数,基于损失函数来通过反向传播方式对整个网络参数进行微调;4)去掉网络的输出层,将哈希编码层的输出结构作为哈希函数的输出,以支持跨模态的快速检索。

【技术特征摘要】
1.一种基于神经网络的跨媒体哈希索引方法,其特征在于包括如下步骤:1)设计基于神经网络的哈希函数的网络结构;2)对每种模态的神经网络进行逐层预训练;3)将不同模态的神经网络融合成一个新的网络,设计模态间和模态内数据的损失函数,基于损失函数来通过反向传播方式对整个网络参数进行微调;4)去掉网络的输出层,将哈希编码层的输出结果作为哈希函数的输出,以支持跨模态的快速检索;所述的步骤1)包括:对于得到的包含多模态类型数据的多媒体文档集合,构建分别属于每个模态类型的数据集;假设构成多媒体文档的数据来自两个模态:数据集分别为两个模态数据的矩阵表示,其中dx和dy对应两个模态数据的维度,通常dx≠dy;n是数据集X和Y中所包含数据的个数;此外,T=[t1,t2,...,tn]∈Rc×n为数据集X和Y对应的类别标签矩阵,每一个ti∈Rc为两种模态数据点对xi和yi所对应的类别标签向量,tij=1表示xi和yi均属于第j个类别,c为所有类别的个数;神经网络结构由两个子神经网络组成,记作NNx和NNy,对应分别对X和Y中数据的逐层学习,每个子神经网络NNx或NNy有L层,包含一个输入层、一个输出层、一个哈希编码层以及剩下的L-3哈希函数层;对任意x∈X,将数据x沿着它对应模态的神经子网络NNx进行正向传播,第L层的表达xL通过一组非线性变换后可得到L+1层的表达xL+1,这一非线性变换如公式(1)所示xL+1=f(L)(W(L)xL)(1)其中W(L)为投影矩阵,f(L)(·)为非线性激活函数,在第一层到第L-2层,使用的非线性变换函数是sigmoid函数,在第L-1层使用非线性变换函数是softmax函数;哈希函数Hx是子神经网络NN...

【专利技术属性】
技术研发人员:汤斯亮吴飞余宙邵健庄越挺
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1