信息处理设备、方法和计算机可读存储介质与流程

文档序号:18516743发布日期:2019-08-24 09:30阅读:223来源:国知局
信息处理设备、方法和计算机可读存储介质与流程

本发明涉及用于在神经网络中嵌入水印信息的技术。



背景技术:

近来,神经网络在图像识别、语音识别和自然语言处理领域中引起了关注。神经网络指的是通过计算机模拟来表达活体的大脑特征的数学模型。它指的是其中通过突触的连接形成网络的人工神经元(单位)通过训练改变突触的联结强度而进化以具有解决问题的能力的整体模型。

专利文献(ptl)1至3和非专利文献(nptl)1至3公开了用于优化神经网络的结构的技术。而且,ptl2公开了一种用于在大规模卷积神经网络中有效地设置权重的技术。而且,ptl3公开了一种使用神经网络来检测音频事件的技术。此外,nptl1和nptl2公开了适用于图像识别的卷积神经网络。而且,nptl3公开了一种使用神经网络来估计词的类别的技术。

为大规模神经网络设置模型参数需要针对大规模数据集进行长时间训练。例如,nptl2公开了使用四个gpu(图形处理单元)需要两到三周的训练。因此,nptl4和nptl5公开了通过使用已预先训练过的模型参数的一部分或者通过使用诸如初始值这样的模型参数进行再训练而不训练模型参数来设置在神经网络内部的模型参数的技术。

引用列表

专利文献

ptl1:日本专利公开号2015-11510

ptl2:日本专利公开号2015-52832

ptl3:日本专利公开号2015-57630

非专利文献

nptl1:a.krizhevsky、i.sutskever和g.e.hinton,“imagenetclassificationwithdeepconvolutionalneuralnetworks”,nips'12。

nptl2:k.simonyan和a.zisserman,“verydeepconvolutionalnetworksforlarge-scaleimagerecognition”,iclr'15。

nptl3:x.ma和e.hovy,“end-to-endsequencelabelingviabi-directionallstm-cnns-crf”,acl'16。

nptl4:s.ren、k.he、r.girshick和j.sun,“fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks,”,nips'15。

nptl5:w.liu等,“ssd:singleshotmultiboxdetector”,eccv'16。

nptl6:p.-t.yu、h.-h.tsai和j.-s.lin,“digitalwatermarkingbasedonneuralnetworksforcolorimages”,信号处理,第81卷,第3期,2001。

nptl7:m.elarbi、c.b.amar和h.nicolas,“videowatermarkingbasedonneuralnetworks”,icme会报,2006。

nptl8:fei-feili、andrejkarpathy和justinjohnson,第7讲,convolutionalneuralnetworks,2016年1月27日,[在线]互联网,网址:http://cs231n.stanford.edu/slides/winter1516_lecture7.pdf,检索于2017年1月4日。

nptl9:regularization,[在线]互联网,网址:https://ja.wikipedia.org/wiki/%e6%ad%a3%e5%89%87%e5%8c%96,检索于2017年1月5日。

nptl10:a.krogh和j.a.hertz,“asimpleweightdecaycanimprovegeneralization”,nips会报,1992年。



技术实现要素:

技术问题

如上所述,如果使用大规模神经网络从头开始对所有模型参数进行训练,则需要大量的计算成本和努力。因此,存在这样的情况,其中研究机构分发许可形式的所训练的模型参数以允许其重复使用从而提高研究效率,这是其主要目的。

然而,在商业服务中,所训练的模型参数本身是服务中的核心技术,并且在许多情况下,通常禁止其重复使用。

例如,可以容易地在视觉上发现未经授权的对图像等的使用。但是,在视觉上发现未经授权的对模型参数的使用并不容易。这是因为,如果执行重新训练,则在修改一部分模型参数之后,使用修改的模型参数作为初始值,模型结构和模型参数都不匹配其原始值。

nptl6和7提出了使用神经网络以便将水印信息嵌入运动图像数据的技术。相比之下,本申请的发明人已经考虑将水印信息嵌入到神经网络的模型参数中。也就是说,认为即使使用其中一部分被修改的模型参数来执行再训练,如果可以从模型参数中检测到水印信息,则可以检测到未经授权使用的模型参数。

本发明提供了一种用于在神经网络中嵌入水印信息的技术。

问题的解决方案

根据本发明的一个方面,信息处理方法是用于将水印比特嵌入第一神经网络的权重的信息处理方法,并且包括:通过将从第一神经网络的多个权重获得的多个输入值输入到第二神经网络来获得第二神经网络的输出;基于第二神经网络的输出和水印比特之间的误差来获得各多个输入值的第二梯度;以及基于通过将已基于反向传播获得的第一神经网络的权重的第一梯度与各第二梯度相加而获得的值来更新权重。

本发明的有益效果

根据本发明,可以将水印信息嵌入到神经网络中。

通过以下结合附图的描述,本发明的其他特征和优点将变得显而易见。注意相同的附图标记在附图中表示相同或相似的部件。

附图说明

图1是神经网络的一般功能配置图。

图2是示出输入数据和特征映射之间的卷积关系的图。

图3是示出使用权重过滤器生成特征映射的图。

图4是示出n个权重过滤器与具有n个级的特征映射之间的关系的图。

图5是根据一个实施例的示出在信息处理装置中的信息处理方法的图。

图6是根据一个实施例的示出在信息处理方法中的处理步骤的图。

图7是根据一个实施例的第二神经网络的配置图。

图8a是根据一个实施例的示出平均权重过滤器中的权重与水印比特之间的对应关系的图。

图8b是根据一个实施例的示出平均权重过滤器中的权重与水印比特之间的对应关系的图。

图9是示出一个实施例的由第二神经网络执行的从另一神经网络的权重过滤器提取水印信息的图。

图10是根据一个实施例的示出使用现有神经网络的输出结果作为训练数据的训练的图。

图11是根据一个实施例的信息处理装置的配置图。

具体实施方式

以下将使用附图对本发明的实施例进行详细说明。

图1是神经网络的一般功能配置图。

各种配置被采用作为神经网络,但基本上,神经网络表示为多种类型的层的重叠(或图形结构)。将其中输入数据与正确答案标签相关联的训练数据输入到神经网络。此外,在神经网络中,训练模型参数,使得对应于输入数据的最终输出结果与正确答案标签匹配(根据任务来近似对应于输入的输出)。

根据图1,前馈神经网络由三层构成,即输入层、隐藏层和输出层,并且输入数据从输入层向输出层在一个方向上传播。隐藏层可以由多个层构成。每个层包括多个单元(神经元),并且从前向层中的单元到后向层中的单元的输入与被称为“权重”的各参数相关联。训练指的是计算适当的“权重”的操作。

卷积神经网络(cnn)在图1中示出。卷积神经网络由输入层、卷积层、汇集层、全连接层和输出层构成。

训练指的是使用对应于输入数据的来自输出层的输出数据和与输入数据相关联的正确答案标签之间的误差来适当地更新各层中的权重的操作。定义“损失函数”以便计算误差。误差通过“反向传播”从输出层侧向输入层循序地传播,并且各层中的权重一点一点地被更新。最后,执行收敛计算,其中将各层中的权重调整到适当的值,使得误差被减小。

图2是示出输入数据和特征映射之间的卷积关系的图。

图2中的处理是由卷积层和全连接层执行的。根据图2,通过对输入数据应用一个权重过滤器来生成一个特征映射。注意,在本实施例中,输入数据、权重过滤器和特征映射的大小如下。

输入数据:32×32×3个元素

权重过滤器:5×5×3个元素(权重)

特征映射:28×28个元素

注意,准备了n个权重过滤器,其形成模型参数。也就是说,在该示例中,模型参数意为n个权重过滤器。请注意,此处不考虑偏置项。

图3是示出使用权重过滤器生成特征映射的图。

根据图3,通过将包括5×5×3个权重的一个权重过滤器应用于输入数据,并将输入数据和在各对应位置的权重过滤器的值的乘积相加,来获得特征映射的一个元素的值。而且,通过相对于输入数据移动相同的权重过滤器来生成一个特征映射。这里,权重过滤器被移动的元素数(移动量)被称为“步幅”。可以在填充有元素0的输入数据的外围边缘中提供零填充区域。由此,可以将具有相同数量的元素的权重过滤器应用于在输入数据的边缘中的元素。

图4是示出n个权重过滤器与具有n个级的特征映射之间的关系的图。

存在n个权重过滤器。根据图2和3,一个特征映射是使用一个权重过滤器生成的。因此,具有n个级的特征映射是使用n个权重过滤器生成的,如图4所示。

图5是根据本实施例的示出在信息处理装置中的信息处理方法的图。

在本实施例中,预先定义水印比特(watermarkbits),具体地,预先定义水印比特的数量和比特的值(0或1)。在以下描述中,水印比特的数量表示为b。如图5所示,信息处理设备保留用于构成用于目标任务的第一神经网络和第二神经网络的信息。目标任务是指基于神经网络的使用应用的任务,例如基于图像识别、语音识别或自然语言处理。第二神经网络是用于从基于第一神经网络的权重(模型参数)的值中提取水印比特的神经网络。注意,在以下描述中,由第二神经网络提取(输出)的水印比特被称为提取的水印比特,以便将从第二神经网络提取的水印比特与预先定义的水印比特区分开。还针对第二神经网络定义了用于评估提取的水印比特和水印比特之间的误差的损失函数。注意,稍后将描述第二神经网络的配置和参数,并且参数(权重)的值被固定为预定值。也就是说,第二神经网络是固定函数,其接收基于第一神经网络的权重的值作为输入,并且输出具有与水印比特相同的比特数量的提取的水印比特。

在普通神经网络的训练中,针对各权重通过反向传播来获得梯度,并且基于对应的梯度更新权重,并且重复该操作。同样,在本实施例中,将输入数据输入到第一神经网络,并且基于与输入数据相关联的正确答案标签,针对第一神经网络的各权重获得第一梯度δe。此外,这里,将从第一神经网络的权重获得的平均权重输入到第二神经网络,以从中获得提取的水印比特。然后,基于提取的水印比特和水印比特之间的误差,针对已输入的各平均权重通过反向传播来获得第二梯度δae。注意,在普通神经网络中,针对作为变量的权重而不是输入数据来获得梯度。然而,在本实施例中,第二神经网络的参数(权重)是固定值,如上所述,并且在本实施例中,针对与正常情况相比作为输入数据并且从第一神经网络的权重计算的各平均权重来获得第二梯度。这相当于这样的情况,其中从第一神经网络的权重获得的平均权重是第二神经网络的参数(权重),并且使用预定的固定值作为第二神经网络的输入数据来更新权重。此外,将针对作为第二神经网络的输入数据的各平均权重获得的第二梯度加到针对第一神经网络的各权重获得的第一梯度,并且基于通过相加获得的梯度对第一神经网络的权重进行调整。在下文中,将参考图6详细描述在信息处理设备中的信息处理方法。

图6是示出在信息处理方法中的处理步骤的图。

s11:首先,将基于第一神经网络的“权重”的值输入到第二神经网络。在本实施例中,从n个权重过滤器获得平均权重过滤器,并且将平均权重过滤器的权重输入到第二神经网络。在平均权重过滤器的各位置处的权重是在各对应位置处的n个权重过滤器的权重的平均值。例如,如果第一神经网络的一个“权重过滤器”的大小是m=5×5×3,如图2所示,则平均权重过滤器具有5×5×3个权重,如图6所示,并且总共75个值被输入到第二神经网络。具体地,如果在第一神经网络的第n个过滤器(n是从1到n的整数)的位置w×h×c处的权重表示为fnwhc,并且在平均权重过滤器的位置w×h×c处的权重表示为pwhc,则

pwhc=σn=1nfnwhc/n。

这里,将平均权重过滤器输入到第二神经网络的原因是因为考虑到对将n个权重过滤器应用到输入数据的交换顺序的修改。即使交换n个权重过滤器的应用顺序,也配置基本等效的神经网络。因此,即使可以将水印信息嵌入到单独的权重过滤器中,也可以通过交换权重过滤器的应用顺序来容易地破坏水印信息。因此,根据本发明,生成通过对n个权重过滤器的权重求平均而获得的“平均权重过滤器”并将其输入到第二神经网络。

s12:第二神经网络在接收到平均权重过滤器的权重后输出提取的水印比特,该提取的水印比特被与水印比特进行比较。而且,在本实施例中,针对被视为变量的平均权重过滤器的权重通过反向传播获得第二梯度δae。在下文中,针对平均权重过滤器的权重pwhc获得的第二梯度表示为δaewhc。第一神经网络在接收输入数据时输出输出数据,该输出数据被与训练标签进行比较。另外针对第一神经网络,通常针对各权重通过反向传播来生成第一梯度δe。在下文中,针对权重fnwhc获得的第一梯度表示为δenwhc。

s13:然后,基于梯度δenwhc和δaewhc之和或者通过将δaewhc与预定因子相乘而获得的值和梯度δenwhc之和来更新第一神经网络的权重fnwhc。例如,由于第一神经网络中的过滤器的数量是n,因此要与δaewhc相乘的预定因子可以是1/n。这样,基于针对权重获得的第一梯度和针对第二神经网络的输入获得的第二梯度之和来更新第一神经网络的每个权重,其中所述输入是从权重获得的。

这样,在第一神经网络的训练中,第一神经网络中的误差被最小化,并且同时第二神经网络中的误差被最小化。作为重复图6中的处理的结果,水印信息可以被嵌入到第一神经网络的权重过滤器中。

图7示出了根据本实施例的第二神经网络的示例。

图7示出了第二神经网络的层结构。图7示出了其中第二神经网络由单层或多层感知器构成的示例。注意,在该配置中,第二神经网络的权重是预先确定的,并且固定为确定的值,如上所述。这样,第二神经网络对输入数据(平均权重过滤器的权重)执行预定计算。

通常,损失函数用于对卷积层和全连接层的参数执行正则化,以防止过度拟合(例如,参考nptl9和nptl10)。相比之下,在第二神经网络中,定义损失函数以便将水印信息嵌入到平均权重过滤器的参数中,结果,其基本目标是完全不同的。当然,根据嵌入信息的方法,可以将各种实施例应用于损失函数。

“感知器”指的是这样的模型,其中二元值(0或1)之一是从通过使用激活函数加权输入值z而获得的值输出的。激活函数模拟大脑中突触的功能,当输入超过阈值时触发。激活函数可以使用例如sigmoid函数、线性组合函数、硬sigmoid函数、tanh函数(双曲正切函数)、softsign函数、softplus函数、relu(整流线性单元)。

例如,基于第二神经网络的单层或多层感知器可以是以下四个实施例之一。

第一实施例

基于第二神经网络的单层或多层感知器使用sigmoid函数作为最终输出的激活函数。此外,使用二元交叉熵作为损失函数来计算误差。sigmoid函数的输入值z的值范围是整个实数的范围(-∞到+∞),并且输出值y的值范围是从0到1的范围。

y=1/(1+e-z)

在二元交叉熵中,针对两种模式,当一种模式的概率为p时,另一种模式的概率为1-p。也就是说,二元交叉熵是通过对根据特定概率分布生成的函数进行正交化而获得的。也就是说,第二神经网络的损失函数可以是-{tblogob+(1-tb)log(1-ob)}。

这里,

ob:提取的水印比特的第b个比特(b是从1到b的数字),

tb:水印比特的第b个比特(b是从1到b的数字)。

也就是说,可以类似于针对通常的类别分类任务执行分类成二元值的情况来定义损失函数。此外,通常,通过配置多层感知器可以将水印比特非线性地嵌入,而通过将中间层添加到全连接层来配置多层感知器。

第二实施例

基于第二神经网络的单层或多层感知器可以使用与来自要被输入的平均权重的权重的水印比特相同数量的权重作为激活函数的输入来计算最终输出。

第三实施例

基于第二神经网络的单层或多层感知器可以从要被输入的平均权重的权重中提取与水印信息的比特数量相同数量的对,并使用各对的差作为激活函数的输入来计算最终输出。

第四实施例

可以基于特定概率分布生成预先确定的基于第二神经网络的单层或多层感知器的固定权重。特定概率分布是均匀分布或正态分布。此外,可以通过使根据特定概率分布生成的权重正交化来获得预先确定的多层感知器的固定权重。

此外,第二神经网络可以具有b个权重向量x1至xb作为预先确定的固定权重。这里,向量x1至xb各自具有w×h×c个固定值作为元素。另外,将作为输入数据的w×h×c个权重作为向量i,第二神经网络可以获得向量xb(b是从1到b的整数)和向量i的内积作为提取的水印比特ob。例如,可以根据特定概率分布(例如,其中平均值为0并且方差为1的正态分布)从随机数生成权重向量x1至xb。

此外,可以设置权重向量x1至xb以成为标准正交基。这些可以通过从其中平均值为0且方差为1的正态分布生成权重向量x并且使用例如gram-schmidt正交化等使权重向量x正交化来实现。

更简单地说,如图8a所示,还可以生成权重向量x,使得从平均权重过滤器的w×h×c个权重中随机选择b个权重,并且所选择的权重分别与水印比特以一对一关系相关联。将所选择的权重输入到激活函数,并将激活函数的输出与对应的水印比特进行比较。而且,如图8b所示,还可以生成权重向量x,使得从平均权重过滤器的w×h×c个权重中随机选择b对(套)权重,并且所选择的对分别与水印比特以一对一关系相关联。此外,将每对的两个权重之间的差输入到激活函数,并且将激活函数的输出与对应的水印比特进行比较。

图9是示出从平均权重过滤器提取水印信息的图。根据图9,水印信息是按照下述步骤从n个权重过滤器中提取的。s21:首先,从n个权重过滤器计算平均权重过滤器。s22:然后,将平均权重过滤器的权重输入到第二神经网络。这样,第二神经网络输出提取的水印比特。这里,如果第二神经网络是单层或多层感知器,则第二神经网络可以通过以下方式提取水印比特:如果感知器的输出是预定阈值(例如,0.5)或者更大则输出“1”,否则输出“0”。

在提取的水印比特和水印比特之间的比较中,比较对应的比特串,并且如果比特串之间的汉明距离是预定阈值或更小,则可以确定提取的水印比特与水印比特匹配。

图10是示出使用现有神经网络的输出结果作为训练数据的训练的图。

图5示出了其中当重新训练模型参数(权重)时嵌入水印信息的情况。相比之下,图10示出了其中通过使用训练的模型参数作为初始值重新训练来嵌入水印信息的情况。

当使用训练的模型参数时,自然地设想不能使用用作训练数据的正确答案标签。在这种情况下,根据本发明,还可以在没有训练数据的情况下将水印信息嵌入到训练的权重过滤器中。

根据图10,与图5相比,信息处理设备包括用于目标任务的两个神经网络,即现有神经网络和第一神经网络,以便获得用作训练数据的输出数据。在将由现有神经网络训练的模型参数(权重过滤器)设置为初始值之后,第一神经网络执行模型参数的训练。这里,某些相同的数据被输入到现有的神经网络和第一神经网络两者中。相比之下,第一神经网络使用训练的模型参数(权重过滤器)输出数据。第一神经网络执行训练,使得使用从训练的现有神经网络输出的数据作为训练数据的“正确答案标签”来最小化损失函数。

已经描述了针对卷积层在模型参数中嵌入水印信息。注意,也针对全连接层,可以认为存在n个权重过滤器,其具有与前向层(不包括偏置项)的输出维数相同的参数数量。类似于卷积层,这些权重过滤器被平均,并且可以计算具有与前向层的输出维数相同的维数的平均权重过滤器。作为构造具有b个输出的一个或多个全连接层的结果,可以以与例如当嵌入到卷积层时完全类似的方式嵌入水印信息。

图11是根据本实施例的信息处理装置的配置图。保留单元10保留指示第一神经网络和第二神经网络的配置的信息。平均权重过滤器计算单元30从由保留单元10保留的第一神经网络的权重过滤器计算平均权重过滤器,其是第二神经网络的输入数据。提取的水印比特计算单元40基于由平均权重过滤器计算单元30计算的平均权重过滤器和由保留单元10保留的指示第二神经网络的配置的信息来获得提取的水印比特。梯度计算单元50基于由提取的水印比特计算单元40获得的提取的水印比特、水印比特和第二神经网络的损失函数来获得针对平均权重过滤器的各权重的第二梯度。训练单元20执行由保留单元10保留的第一神经网络的训练。具体地,类似于普通神经网络的训练,基于训练数据组针对权重过滤器的各权重来获得第一梯度。基于针对权重获得的第一梯度与针对基于权重计算的平均权重过滤器的权重由梯度计算单元50获得的第二梯度的总和来更新特定权重。

如上所述,根据本发明,可以将水印信息嵌入神经网络中。注意,本发明还可以实现为一种信息处理方法,该信息处理方法由于由计算机的一个或多个处理器执行而使计算机用作信息处理装置,或者实现为用于使计算机执行信息处理方法的程序。该程序可以以存储程序的计算机可读存储介质的形式分发,或者通过网络分发。

根据本发明,当在其上执行训练时,可以将利用其可以检测在用于深度学习的卷积神经网络中使用的模型参数的修改的水印信息嵌入到模型参数中。具体地,即使由恶意第三方执行修改(诸如交换权重过滤器的顺序),也可以通过适当地设置关于训练中的参数的损失函数来嵌入水印信息。由于创建已经嵌入了水印信息的模型参数,可以检测未经作者许可而执行的再用分发或未经授权使用。

本发明不限于上述实施例,并且可以在本发明的精神和范围内进行各种改变和修改。因此,为了向公众告知本发明的范围,提出权利要求。

本申请要求享有2017年1月12日提交的日本专利申请号2017-003041的优先权,并且其全部内容通过引用并入本文。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1