CN116881871B - 模型水印嵌入方法、装置、计算机设备和存储介质 - Google Patents

模型水印嵌入方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116881871B
CN116881871B CN202311141916.4A CN202311141916A CN116881871B CN 116881871 B CN116881871 B CN 116881871B CN 202311141916 A CN202311141916 A CN 202311141916A CN 116881871 B CN116881871 B CN 116881871B
Authority
CN
China
Prior art keywords
watermark
embedded
vector
parameter
network
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.)
Active
Application number
CN202311141916.4A
Other languages
English (en)
Other versions
CN116881871A (zh
Inventor
刘华罗
刘绍腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311141916.4A priority Critical patent/CN116881871B/zh
Publication of CN116881871A publication Critical patent/CN116881871A/zh
Application granted granted Critical
Publication of CN116881871B publication Critical patent/CN116881871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本申请涉及一种模型水印嵌入方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;基于各个嵌入水印参数,得到嵌入水印的神经网络模型。采用本方法能够节省资源的同时减少对模型效果的影响。

Description

模型水印嵌入方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型水印嵌入方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着神经网络模型技术的发展,出现了在深度学习模型上嵌入水印的技术,通过在深度学习模型上嵌入水印,可以识别模型的来源,防止模型盗用。目前,在对深度学习模型进行水印嵌入时,为了保证深度学习模型的使用效果不受嵌入水印的影响,通常是在深度学习模型训练时,增加一个矩阵,然后在训练时改变模型的新增的矩阵来达到嵌入水印的目的,然而,在训练时改变模型的新增的矩阵来嵌入水印,为了减少对模型的效果造成影响,引入了额外的优化目标,导致在模型训练过程中需要消耗大量的资源。
发明内容
基于此,有必要针对上述技术问题,提供一种能减少对模型效果影响并能节省资源的模型水印嵌入方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种模型水印嵌入方法。所述方法包括:
获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;
基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
第二方面,本申请还提供了一种模型水印嵌入装置。所述装置包括:
水印编码模块,用于获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
分布计算模块,用于从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
水印嵌入模块,用于基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;
模型得到模块,用于基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;
基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;
基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;
基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
上述模型水印嵌入方法、装置、计算机设备、存储介质和计算机程序产品,通过将待嵌入水印信息进行编码,得到水印向量,然后从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息。通过使用嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,该嵌入参数位置分布信息确定的待更新参数的位置是非连续的。最后基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型,从不需要在模型训练时嵌入水印,能够节省嵌入水印时消耗的资源,并且在非连续的待更新参数中嵌入对应的水印元素,可以减少对模型使用效果的影响,也可以增加攻击者破解的难度,避免嵌入的水印被攻击者检测和移除,提高了嵌入水印的安全性。
附图说明
图1为一个实施例中模型水印嵌入方法的应用环境图;
图2为一个实施例中模型水印嵌入方法的流程示意图;
图3为一个实施例中得到嵌入参数位置分布信息的流程示意图;
图4为另一个实施例中得到嵌入参数位置分布信息的流程示意图;
图5为一个实施例中得到嵌入水印的目标神经网络模型的流程示意图;
图6为一个实施例中得到模型水印验证的流程示意图;
图7为一个具体实施例中模型水印嵌入方法的流程示意图;
图8为一个具体实施例中水印信息嵌入的示意图;
图9为一个实施例中模型水印嵌入装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的方案涉及人工智能的深度学习等技术,具体通过如下实施例进行说明:
本申请实施例提供的模型水印嵌入方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以单独设置,可以集成在服务器104上,也可以放在云上或其他服务器上。服务器104可以从终端102获取待嵌入水印信息,并从数据库存储系统获取已训练的神经网络模型。然后服务器104将待嵌入水印信息进行编码,得到水印向量。服务器104从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息。服务器104基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的。服务器104基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。服务器104可以在得到嵌入水印的神经网络模型后可以向终端102返回水印嵌入完成的提醒信息。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种模型水印嵌入方法,以该方法应用于图1中的服务器为例进行说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
S202,获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量。
其中,已训练的神经网络模型是指模型中的神经网络的参数已经训练好的模型,该已训练的神经网络模型是使用神经网络建立的人工智能模型,该神经网络可以是卷积神经网络、前馈神经网络、循环神经网络或者图神经网络等等。该已训练的神经网络模型可以是适用场景的神经网络模型,即可以是计算机视觉场景中的神经网络模型、可以是语音场景中的神经网络模型以及还可以是自然语音处理场景中的神经网络模型。例如,可以是图像识别场景中的神经网络模型、可以是文本识别场景中的神经网络模型、可以是视频识别场景中的神经网络模型、可以是音频识别场景中的神经网络模型。待嵌入水印信息是指待嵌入已训练的神经模型的水印信息,该水印信息可以是一段具有防伪作用的标记信息。待嵌入水印信息可以是如图像、文字、符号、数字、音频、字符串等一切可以作为标记、标识的信息。水印向量是指对待嵌入水印信息进行编码得到的向量,优选的,该水印向量可以是二进制向量,即可以是比特流数据。
具体地,服务器可以是从数据库中获取到已训练的神经网络模型,服务器也可以是从提供业务服务的服务方获取到已训练的神经网络模型,服务器还可以是获取到终端上传的已训练的神经网络模型。然后服务器可以从数据库中获取到待嵌入水印信息,也可以获取到终端上传的待嵌入水印信息,也可以从提供业务服务的服务方获取到待嵌入水印信息。然后服务器将待嵌入水印信息进行编码,其中,可以将不同类型的水印信息进行编码,比如,可以将图像类型的水印信息或者文本类型的水印信息或者音频类型的水印信息或者字符串类型的水印信息等进行编码,得到水印向量。在一个具体的实施例中,服务器可以使用base64(用于传输8Bit字节码的编码方式之一)算法来进行编码,将待嵌入水印信息编码成ASCII(一种字符编码标准)码,然后再根据ASCII码的比特表示转化成比特流的形式,从而得到待嵌入水印信息对应的水印向量。
S204,从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息。
其中,待嵌入水印层是指需要嵌入水印信息的神经网络层,神经网络层是神经网络中的一个数据运算过程,通过该神经网络的层可以将一个或者多个输入张量通过运算转换为一个或者多输出张量,多个神经网络的层链接在一起组成的神经网络模型。该神经网络模型中可以包括输入层、中间层和输出层,该中间层可以包括卷积层、池化层、全连接层以及循环层等等。网络参数向量是指待嵌入水印层对应的各个网络参数组成的向量,该网络参数可以包括权重参数,也可以包括有偏置参数,比如,该待嵌入水印层对应的各个网络参数有10个,则得到的网络参数向量中的元素就有10个。该网络参数是待嵌入水印层在进行数据运算过程中需要使用的参数,该网络参数是通过对未训练的神经网络模型进行训练得到的。嵌入参数位置分布信息是指用于表征要嵌入水印信息的网络参数在待嵌入水印层中所有网络参数中的位置。优先的,该嵌入参数位置分布信息可以是使用与网络参数向量相同长度的向量表征,要嵌入水印信息的网络参数在向量中的值与不需要嵌入水印信息的网络参数在向量中的值不同。
具体地,服务器可以从神经网络模型中确定任意一个神经网络层作为待嵌入水印层,其中,服务器可以先将神经网络模型中不含网络参数的神经网络层过滤,得到神经网络模型中含网络参数的神经网络层,该不含网络参数的神经网络层可以是激活层、通道变换层等等。然后服务器从含网络参数的神经网络层中任选一个神经网络层作为待嵌入水印层,并且记录选取的待嵌入水印层。优先的,服务器可以从神经网络模型的中间层中确定待嵌入水印层。其中,服务器可以根据中间层中含网络参数的神经网络层的数量来确定待嵌入水印层,比如,服务器可以根据中间层中含网络参数的神经网络层的数量来确定中位数,将中位数对应的神经网络层作为待嵌入水印层。在一个实施例中,服务器也可以从神经网络模型中确定多个待嵌入水印层,在每个待嵌入水印层中都嵌入水印信息。
然后服务器使用水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息,服务器可以获取到水印向量的长度和网络参数向量的长度,然后使用网络参数向量的长度和水印向量的长度来计算嵌入参数的位置间隔和嵌入参数数量,然后按照位置间隔、嵌入参数数量和网络参数向量来生成嵌入参数位置分布信息,即按照位置间隔将网络参数向量中对应的网络参数的位置作为嵌入参数的位置,并按照水印向量中水印元素的数量确定嵌入参数的位置数量,从而得到嵌入参数位置分布信息。
S206,基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的。
其中,水印元素是指水印向量中的元素值。待更新参数是指从网络参数向量中包含的各个网络参数中确定的需要嵌入水印的网络参数。嵌入水印参数是指嵌入了对应水印元素信息的网络参数。
具体地,服务器按照嵌入参数位置分布信息从网络参数向量包含的各个网络参数中确定水印向量中各个水印元素分别对应的待更新参数,比如,服务器可以根据嵌入参数位置分布信息从网络参数向量中对应位置获取到网络参数,将该网络参数作为待更新参数,并按照获取的待更新参数的顺序从各个水印元素中获取到相同顺序的水印元素作为待更新参数对应的要嵌入的水印元素。其中,服务器根据嵌入参数位置分布信息确定的待更新参数的位置是非连续的,是按照网络参数向量的长度和水印向量的长度计算得到的嵌入参数的位置间隔确定的。然后服务器按照各个水印元素依次对对应的待更新参数进行更新,得到各个嵌入水印参数,其中,服务器可以将待更新参数直接替换为对应的水印元素,服务器也可以将待更新参数替换为水印元素对应的表征信息,服务器可以是对待更新参数进行运算,使得到的嵌入水印参数能够映射为对应的水印元素。
S208,基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
其中,已嵌入水印层是指已经嵌入水印信息的神经网络层。
具体地,服务器在得到各个嵌入水印参数后,使用各个嵌入水印参数替换掉待嵌入水印层对应的网络参数,从而得到已嵌入水印层,然后使用已嵌入水印层替换掉已训练的神经网络模型中的待嵌入水印层,从而得到嵌入水印的神经网络模型。服务器也可以直接将已训练的神经网络模型中的各个待更新参数更新为对应的嵌入水印参数,从而得到嵌入水印的神经网络模型。
上述模型水印嵌入方法,通过将待嵌入水印信息进行编码,得到水印向量,然后从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息。通过使用嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,该嵌入参数位置分布信息确定的待更新参数的位置是非连续的。最后基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型,从不需要在模型训练时嵌入水印,能够节省嵌入水印时消耗的资源,并且在非连续的待更新参数中嵌入对应的水印元素,可以减少对模型使用效果的影响,也可以增加攻击者破解的难度,避免嵌入的水印被攻击者检测和移除,提高了嵌入水印的安全性。
在一个实施例中,S204,即从神经网络模型中确定待嵌入水印层,包括:
获取神经网络模型中目标网络层的总数量,目标网络层是指神经网络模型中包含网络参数的网络层;基于网络层总数量和预设目标值进行整除运算,得到网络层索引值,按照网络层索引值从神经网络模型中确定待嵌入水印层。
其中,目标网络层是指已训练的神经网络模型中包含网络参数的网络层,该包含网络参数的网络层是指对应的网络层中存在有通过训练得到的网络参数,该网络层即是指神经网络层。未包含网络参数的网络层是指对应的网络层中未存在有通过训练得到的网络参数。目标网络层的总数量是指在已训练的神经网络模型中包含网络参数的网络层的数量。预设目标值是指预先设置好的进行整除运算时的除数,例如,该预设目标值可以设置为2,也可以设置为其他整除,根据需求设置。
具体地,服务器可以获取到神经网络模型中所有神经网络层的数量,然后获取到未存在有通过训练得到的网络参数的神经网络层的数量,再进行计算得到神经网络模型中目标网络层的总数量。服务器也可以直接统计神经网络模型中包含网络参数的网络层的数量。然后服务器使用网络层总数量和预设目标值进行整除运算,该进行整除运算是指取整除,即返回商的整数部分,从而得到网络层索引值,按照网络层索引值从神经网络模型的神经网络层中确定待嵌入水印层。
在一个具体的实施例中,对于一个神经网络模型中的网络层,靠近输入的网络层为浅层网络层;靠近输出的网络层为深层网络层。浅层网络层主要用来提取纹理信息,深层网络层主要用来提取语义信息。为了减少影响已训练神经网络模型的使用效果,可以对神经网络模型的中间网络层来嵌入水印信息。具体来说:获取到已训练的神经网络模型有N(正整数)个的网络层,确定不含网络权重的网络层有M(正整数,小于N)个,从而得到含网络权重的网络的数量为N-M个。此时,在含有网络权重的网络中获取中间的层,得到网络层索引值idx=(N-M)//2,从而得到网络层索引值为idx的神经网络层,将该神经网络层作为待嵌入水印层。
在上述实施例中,通过基于网络层总数量和预设目标值进行整除运算,得到网络层索引值,按照网络层索引值从神经网络模型中确定待嵌入水印层,从而可以减少对已训练的神经网络模型的使用效果影响。
在一个实施例中,如图3所示,S204,即基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息,包括:
S302,基于网络参数向量对应的网络参数数量和水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔。
其中,网络参数数量是指是指网络参数向量中各个网络参数的数量,可以使用网络参数向量的向量长度来表征。水印元素数量是指水印向量中各个水印元素的数量,可以使用水印向量的向量长度来表征。嵌入参数位置间隔用于表征确定嵌入参数位置时使用的间隔值,比如,该嵌入参数位置间隔为5时,每间隔5个网络参数来确定一个嵌入参数的位置。
具体地,服务器按照网络参数向量对应的网络参数数量和水印向量对应的水印元素数量来确定嵌入参数位置间隔,比如,服务器计算网络参数数量和水印元素数量的比值,将该比值作为嵌入参数位置间隔。服务器可以计算网络参数数量和水印元素数量的最大公约数,将该最大公约数作为嵌入参数位置间隔。服务器也可以将网络参数数量和水印元素数量计算的值作为初始值,然后在初始值的基础上按照预先设置好的值进行增加或者减少,从而得到最终值,将最终值作为嵌入参数位置间隔。在一个实施例中,服务器也可以直接将水印向量对应的水印元素数量作为嵌入参数位置间隔。
S304,获取初始位置向量,初始位置向量的向量长度与网络参数向量的向量长度相同。
S306,按照嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置。
其中,初始位置向量是指包含各个初始值的向量,该初始值用于表征对应位置的网络参数不是需要嵌入水印信息的网络参数。嵌入位置用于表征需要嵌入水印信息的网络参数的位置,是初始位置向量中的位置,通过该嵌入位置获取到网络参数向量中相同位置的网络参数,该相同位置的网络参数是需要嵌入水印信息的网络参数。
具体地,服务器可以直接从数据库中获取到初始位置向量,服务器也可以生成初始位置向量,即服务器获取到网络参数向量的向量长度,然后根据该网络参数向量的向量长度和初始值来生成初始位置向量。然后服务器按照嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置。服务器可以从初始位置向量中的起始元素的位置开始,计算该起始元素的位置和嵌入参数位置间隔的和,得到第一个嵌入位置,然后计算第一个嵌入位置和嵌入参数位置间隔的和,得到第二个嵌入位置,然后依次计算,直到得到的各个嵌入位置的数量和水印向量对应的水印元素数量相同,从而得到水印元素数量的嵌入位置。
S308,将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量,并将嵌入参数位置向量作为嵌入参数位置分布信息。
其中, 目标值用于表征对应位置的网络参数是需要嵌入水印信息的。嵌入参数位置向量是用于表征嵌入参数位置分布信息的向量。
具体地,服务器将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量,然后将嵌入参数位置向量作为嵌入参数位置分布信息。
在上述实施例中,通过使用嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置,并将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量,并将嵌入参数位置向量作为嵌入参数位置分布信息,从而可以避免已训练的神经网络模型在推理过程中产生突变的情况,减少嵌入水印信息后对模型的使用效果影响。
在一个实施例中,如图4所示,S204,即基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息,包括:
S402,获取待嵌入水印层对应的网络参数矩阵,将网络参数矩阵进行维度转换,得到网络参数向量。
其中,网络参数矩阵是指待嵌入水印层中各个网络参数形成的矩阵,该网络参数矩阵至少二维的矩阵。
具体地,服务器获取到待嵌入水印层对应的网络参数矩阵,然后将网络参数矩阵进行维度转换,即将网络参数矩阵从多维的矩阵转换成一维的向量,在转换过程中网络参数不发生变化,只是维度发生变化。服务器最终得到网络参数向量。
S404,基于网络参数向量对应的网络参数数量和水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔。
S406,获取初始位置向量,初始位置向量的向量长度与网络参数向量的向量长度相同。
S408,按照嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置。
S410,将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量。
具体地,服务器可以直接按照嵌入参数位置间隔和水印向量对应的水印元素数量将初始位置向量中各个嵌入位置对应的初始值替换为目标值,从而得到网络参数向量对应的嵌入参数位置向量,嵌入参数位置向量中的每一个值的位置与网络参数向量中网络参数的位置对应,该嵌入参数位置向量中的每一个值是用于表征网络参数向量中对应位置的网络参数是否为待更新参数,即是否需要嵌入水印信息。
S412,按照网络参数矩阵对应的维度将嵌入参数位置向量进行维度转换,得到网络参数矩阵对应的嵌入参数位置矩阵,将嵌入参数位置矩阵作为嵌入参数位置分布信息。
其中,嵌入参数位置矩阵是指与网络参数矩阵维度相同的用于表征嵌入参数位置的矩阵。
具体地,服务器网络参数矩阵对应的维度将嵌入参数位置向量的维度进行转换,将嵌入参数位置向量中的值不发生变化,从而得到网络参数矩阵对应的嵌入参数位置矩阵,服务器可以根据嵌入参数位置矩阵中目标值对应的位置获取网络参数矩阵相同位置的网络参数作为待更新参数。最后服务器将嵌入参数位置矩阵作为嵌入参数位置分布信息。
在上述实施例中,通过将网络参数矩阵进行维度转换,得到网络参数向量,然后计算得到网络参数向量对应的嵌入参数位置向量,最后按照网络参数矩阵对应的维度将嵌入参数位置向量进行维度转换,得到网络参数矩阵对应的嵌入参数位置矩阵,将嵌入参数位置矩阵作为嵌入参数位置分布信息,从而提高了得到的嵌入参数位置分布信息的准确性。
在一个实施例中,基于网络参数向量对应的网络参数数量和水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔,包括:
当网络参数数量超过水印元素数量时,计算网络参数数量与水印元素数量的整除值;计算整除值与预设值的差值,得到嵌入参数位置间隔。
具体地,服务器比较网络参数数量和水印元素数量大小。通常情况下网络参数数量是超过水印元素数量的,此时,服务器直接计算网络参数数量与水印元素数量的整除值,即计算网络参数数量与水印元素数量之间的取整数。然后计算整除值与预设值的差值,得到嵌入参数位置间隔,该预设值是指预先设置好的值,用于对整除值进行调整。在一个实施例中,服务器也可以计算整除值与预设值的和,得到嵌入参数位置间隔。
在上述实施例中,当网络参数数量超过水印元素数量时,计算网络参数数量与水印元素数量的整除值,并计算整除值与预设值的差值,得到嵌入参数位置间隔,提高了得到的嵌入参数位置间隔的准确性。
在一个实施例中,如图5所示,模型水印嵌入方法,还包括:
S502,当网络参数数量未超过水印元素数量时,从神经网络模型中确定目标数量的待嵌入水印层,并获取目标数量的待嵌入水印层对应的目标网络参数向量,目标网络参数向量中的目标网络参数数量超过水印元素数量。
其中,目标数量是指要选取的神经网络层的数量,该目标数量的待嵌入水印层的目标网络参数数量需要超过水印元素数量。目标网络参数数量是指目标网络参数的数量。目标网络参数向量是指目标网络参数组成的向量,该目标网络参数是指目标数量的待嵌入水印层中的网络参数。
具体地,服务器比较网络参数数量和水印元素数量,当网络参数数量未超过水印元素数量时,说明待嵌入水印层的网络参数无法嵌入所有的水印元素,此时,服务器需要从神经网络模型中确定目标数量的待嵌入水印层,然后获取到目标数量的待嵌入水印层中的所有目标网络参数,然后将所有的目标网络参数组成目标网络参数向量。其中,选取的目标数量的待嵌入水印层可以是连续的神经网络层,也可以是非连续的神经网络层,比如,可以在待嵌入水印层的前后依次选取得到目标数量的待嵌入水印层,也可以在待嵌入水印层的前后按照预先设置好的选取间隔来选取得到标数量的待嵌入水印层。
S504,基于目标网络参数向量对应的目标网络参数数量和水印向量对应的水印元素数量进行计算,得到目标嵌入参数位置间隔;
S506,获取目标初始位置向量,目标初始位置向量的向量长度与目标网络参数向量的向量长度相同。
其中,目标嵌入参数位置间隔是指使用目标网络参数向量计算得到的嵌入参数位置间隔。目标初始位置向量是指目标网络参数向量对应的初始位置向量,该目标初始位置向量的向量长度与目标网络参数向量的向量长度相同。
具体地,服务器使用目标网络参数向量对应的目标网络参数数量和水印向量对应的水印元素数量进行计算,得到目标嵌入参数位置间隔,其中,服务器可以计算目标网络参数数量和水印元素数量的比值,将该比值作为嵌入参数位置间隔。服务器可以计算目标网络参数数量和水印元素数量的最大公约数,将该最大公约数作为嵌入参数位置间隔。服务器也可以将目标网络参数数量和水印元素数量计算的值作为初始值,然后在初始值的基础上按照预先设置好的值进行增加或者减少,从而得到最终值,将最终值作为嵌入参数位置间隔。服务器还可以直接将水印元素数量作为嵌入参数位置间隔。然后服务器可以从数据库中获取到与目标网络参数向量的向量长度相同的目标初始位置向量,也可以生成与目标网络参数向量的向量长度相同的目标初始位置向量,即服务器获取到网络参数向量的向量长度,然后根据该网络参数向量的向量长度和初始值来生成目标初始位置向量。
S508,按照目标嵌入参数位置间隔和水印向量对应的水印元素数量从目标初始位置向量中确定各个目标嵌入位置。
S510,将目标初始位置向量中各个目标嵌入位置的初始值更新为目标值,得到目标网络参数向量对应的目标嵌入参数位置向量。
其中,目标嵌入位置用于表征需要嵌入水印信息的目标网络参数的位置,是目标初始向量中的位置,通过目标嵌入位置获取到网络参数向量中相同位置的目标网络参数,该相同位置的目标网络参数是需要嵌入水印信息的目标网络参数。初始值用于表征对应位置的目标网络参数不需要嵌入水印信息。目标值用于表征对应位置的目标网络参数是需要嵌入水印信息。目标嵌入参数位置向量是用于表征嵌入参数位置分布信息的向量。
具体地,服务器按照目标嵌入参数位置间隔从目标初始位置向量中确定目标嵌入位置,可以从目标初始位置向量中的起始元素的位置开始,计算起始元素的位置和目标嵌入参数位置间隔的和,得到第一个目标嵌入位置,然后再计算第一个目标嵌入位置和嵌入参数位置间隔的和,得到第二个目标嵌入位置,然后依次计算,直到得到的各个目标嵌入位置的数量和水印向量对应的水印元素数量相同,从而得到所有目标嵌入位置。然后服务器将目标初始位置向量中各个目标嵌入位置的初始值替换为目标值,得到目标网络参数向量对应的目标嵌入参数位置向量。
S512,基于目标嵌入参数位置向量从目标网络参数向量中确定水印向量中各个水印元素分别对应的目标待更新参数,并按照各个水印元素对对应的目标待更新参数进行更新,得到各个目标嵌入水印参数,目标嵌入参数位置分布信息确定的目标待更新参数的位置是非连续的。
其中,目标待更新参数是指从目标网络参数向量中确定的待更新参数。目标嵌入水印参数是指嵌入了水印元素信息的目标网络参数。
具体地,服务器按照目标嵌入参数位置向量中目标值的位置从目标网络参数向量中确定相同位置的目标网络参数,从而得到各个水印元素分别对应的目标待更新参数,然后按照各个水印元素依次对对应的目标待更新参数进行更新,比如,服务器可以将目标待更新参数直接替换为对应的水印元素,服务器也可以将目标待更新参数替换为水印元素对应的表征信息,服务器可以是对目标待更新参数进行运算,使得到的目标嵌入水印参数能够映射为对应的水印元素,从而得到各个目标嵌入水印参数。
S514,基于各个目标嵌入水印参数,得到目标数量的待嵌入水印层分别对应的已嵌入水印层,并基于目标数量的待嵌入水印层分别对应的已嵌入水印层,得到嵌入水印的目标神经网络模型。
其中,目标神经网络模型是指水印信息嵌入了多个神经网络层的神经网络模型。
具体地,服务器可以将目标数量的待嵌入水印层中的各个目标待更新参数直接替换为对应的目标嵌入水印参数,从而得到各个嵌入水印信息的神经网络层,即得到目标数量的已嵌入水印层,然后就得到了嵌入水印的目标神经网络模型。
在上述实施例中,通过当网络参数数量未超过水印元素数量时,从神经网络模型中确定目标数量的待嵌入水印层,使用目标数量的待嵌入水印层和水印向量来确定目标嵌入参数位置向量,然后使用目标嵌入参数位置向量从目标网络参数向量中确定水印向量中各个水印元素分别对应的目标待更新参数并按照各个水印元素对对应的目标待更新参数进行更新,得到各个目标嵌入水印参数,最后使用各个目标嵌入水印参数得到嵌入水印的目标神经网络模型,从而提高了模型水印嵌入的准确性,并且将水印信息嵌入到不同的神经网络层中,可以减少对模型使用效果的影响,同时可以增加攻击者破解的难度,避免嵌入的水印被攻击者检测和移除,提高了嵌入水印的安全性。
在一个实施例中,S206,基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,包括步骤:
从嵌入参数位置向量中确定各个目标值的向量位置,基于各个目标值的向量位置从网络参数向量中获取相同向量位置对应的网络参数;将相同向量位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数。
其中,目标值的向量位置是指目标值在嵌入参数位置向量中的位置。
具体地,服务器从嵌入参数位置向量中依次确定各个目标值的向量位置,然后从网络参数向量中按照各个目标值的向量位置获取同向量位置对应的网络参数,然后将相同向量位置对应的网络参数依次作为水印向量中各个水印元素分别对应的待更新参数,其中,可以将第一个网络参数作为水印向量中第一个水印元素对应的待更新参数,将第二个网络参数作为水印向量中第二个水印元素对应的待更新参数,然后依次遍历每个网络参数,得到水印向量中各个水印元素分别对应的待更新参数。
在上述实施例中,通过从嵌入参数位置向量中确定各个目标值的向量位置,基于各个目标值的向量位置从网络参数向量中获取相同向量位置对应的网络参数;将相同向量位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数,可以将水印元素和待更新参数对应,方便后续的水印嵌入和提取。
在一个实施例中,S206,基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,包括步骤:
从嵌入参数位置矩阵中确定各个目标值的矩阵位置,基于各个目标值的向量位置从网络参数矩阵中获取相同矩阵位置对应的网络参数;将相同矩阵位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数。
其中,矩阵位置用于表征目标值在嵌入参数位置矩阵中的位置,
具体地,服务器从嵌入参数位置矩阵中依次确定各个目标值的矩阵位置,即按照矩阵行列的顺序来依次得到各个目标值的矩阵位置,再使用各个目标值的向量位置从网络参数矩阵中获取相同矩阵位置对应的网络参数,最后将相同矩阵位置对应的网络参数依次作为水印向量中各个水印元素分别对应的待更新参数。比如,第5个目标值的矩阵位置为第2行第2列,则获取到网络参数矩阵中第2行第2列的网络参数,将该网络参数作为水印向量中第5个水印元素对应的待更新参数。
在上述实施例中,通过从嵌入参数位置矩阵中确定各个目标值的矩阵位置,基于各个目标值的向量位置从网络参数矩阵中获取相同矩阵位置对应的网络参数;将相同矩阵位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数,可以将水印元素和待更新参数对应,方便后续的水印嵌入和提取。
在一个具体的实施例中,确定嵌入参数位置分布信息,具体来说:服务器从网络索引值为idx的网络层的权重中确定要嵌入水印信息的权重。此时,服务器判断该idx网络层的权重的维度大于1,比如,是一个二维矩阵或者三维张量等等,先对多维的张量进行维度转换,将多维的张量转换为1维的权重向量,长度用L1表示。然后服务器生成一个值全为0并且长度为L1的向量mask。根据水印向量的比特长度,该比特长度用L2表示,从1维的权重向量中确定L2个权重作为待嵌入水印信息的权重。其中,服务器从1维的权重向量中的第0个权重开始,每隔L1//L2-1个权重确定一个权重作为待嵌入水印信息的权重。对于第i(正整数)个位置的权重,如果这个权重是待嵌入水印信息的权重,则将向量mask中第i个位置的值从0修改为1,依次将向量mask中L2个位置的值从0修改为1,得到嵌入参数位置向量,然后将嵌入参数位置向量的维度重新转换为与idx网络层中权重维度一致的维度,得到一个可以用来指示该idx网络层的权重中某一个权重是否需要嵌入水印信息的嵌入参数位置矩阵。根据该嵌入参数位置矩阵可以从idx网络层的权重中确定待更新权重,即如果idx网络层的权重中对应的嵌入参数位置矩阵的值是1,则表示该权重为待更新参数,否则,该权重需要保存不变。即是哟个嵌入参数位置矩阵从idx网络层的权重中确定待更新权重,可以从而可以避免已训练的神经网络模型在推理过程中产生突变的情况,减少嵌入水印信息后对模型的使用效果影响。
在一个实施例中,待更新参数包括待更新网络权重;
S206,按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,包括步骤:
从各个水印元素中确定当前水印元素,并获取当前水印元素队对应的当前待更新网络权重;当当前待更新网络权重为浮点数类型时,从当前待更新网络权重对应的小数部分中确定预设位置的原始权重值;按照当前水印元素对预设位置的原始权重值进行更新,得到当前水印元素对应的嵌入水印参数。
其中,待更新网络权重是指需要进行水印信息嵌入的神经网络权重。当前水印元素是指当前要进行水印嵌入的水印元素,比如,当水印向量为二进制向量时,该水印元素可以是1或者0。当前待更新网络权重是指当前要嵌入水印信息的网络权重。浮点数类型是指既包含小数部分又包含整数部分的数据类型。预设位置的原始权重值是指从当前待更新网络权重的小数部分中确定的值,该值是小数部分的预设位置的值,该预设位置可以是指预先根据实验确定的,也可以是直接设置的,比如,可以是小数部分的第5位、第4位等等。
具体地,服务器需要依次使用每个水印元素进行水印嵌入。此时,服务器可以依次将每个水印元素作为当前水印元素,并从各个待更新权重中获取当前水印元素对应的当前待更新网络权重。然后服务器判断当前待更新网络权重的数据类型,当当前待更新网络权重为浮点数类型时,服务器从当前待更新网络权重对应的小数部分中确定预设位置的原始权重值。然后按照当前水印元素对预设位置的原始权重值进行更新,得到当前水印元素对应的嵌入水印参数,其中,可以使用当前水印元素替换原始权重值,也可以对原始权值进行运算,使得到的运算结果能够表征当前水印元素等等。在一个实施例中,当当前待更新网络权重为非浮点数类型时,比如,字符类型时,可以获取到当前待更新网络权重中预设位置的字符,对字符进行更新,得到能够表征当前水印元素的字符,并且在水印元素提取时,根据字符与当前水印元素的对应关系来确定提取到的字符对应的水印元素。
在上述实施例中,通过当当前待更新网络权重为浮点数类型时,从当前待更新网络权重对应的小数部分中确定预设位置的原始权重,然后;按照当前水印元素对预设位置的原始权重值进行更新,得到当前水印元素对应的嵌入水印参数,即对小数部分的参数值嵌入水印元素信息,从而可以进一步减少对模型的影响,保证神经网络模型使用的准确性。
在一个实施例中,按照当前水印元素对预设位置的原始权重值进行更新,得到当前水印元素对应的嵌入水印参数,包括步骤:
计算预设位置的原始权重值对应的取余数,当取余数与当前水印元素未一致时,计算预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,嵌入水印权重值对应的取余数与当前水印元素一致;使用嵌入水印权重值替换当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到当前水印元素对应的嵌入水印参数。
其中,取余数是指进行取余计算后得到的余数。预设更新值是指预先设置好的对原始权重值进行更新后使得到的嵌入水印权重值对应的取余数与当前水印元素一致的值。
具体地,服务器对预设位置的原始权重值进行取余运算,即原始权重值与除数的取余数,该除数可以根据实验确定,也可以直接设置,比如,该除数可以设置为2。然后服务器判断取余数是否与当前水印元素一致,当取余数与当前水印元素一致时,计算计算预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,该计算得到的嵌入水印权重值对应的取余数与当前水印元素一致。最后,服务器使用嵌入水印权重值替换当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到当前水印元素对应的嵌入水印参数。
在一个实施例中,当取余数与当前水印元素一致时,可以直接将预设位置的原始权重值保持不变,直接将待更新参数作为嵌入水印参数,从而可以进一步减少对模型效果的影响,保证模型使用的准确性。
在上述实施例中,通过计算预设位置的原始权重值对应的取余数,当取余数与当前水印元素未一致时,计算预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,嵌入水印权重值对应的取余数与当前水印元素一致;使用嵌入水印权重值替换当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到当前水印元素对应的嵌入水印参数,提高了得到的嵌入水印参数的准确性,并且方便后续的水印提取。
在一个具体的实施例中,对网络层的权重嵌入水印信息,具体来说:从二进制的水印向量中获取到一个没有嵌入的水印比特,然后从网络权重向量中确定对应的待更新权重,网络层的权重可以是用float32(32位浮点数)来表示,比如 2.6480892217703493。服务器可以获取小数点后第5 位的数字“8”进行修改来嵌入水印信息。此时,当待嵌入的水印比特为0时,计算8%2的值为0,此时,该取余数0与水印比特一致,可以保持该数字“8”不变,可以直接将该网络权重作为嵌入水印的网络权重。当待嵌入的水印比特为1时,计算8%2的值为0,此时,该取余数0与水印比特不一致,则计算8和预设更新值为1的和,得到9,将权重中第5 位的数字“8”替换为9,得到嵌入水印信息的权重,即2.6480992217703493。然后服务器获取到下一个要嵌入水印的网络权重,比如,3.1895761216871051,该小数点后第5 位的数字为7,此时,当待嵌入的水印比特为0时,计算7%2的值为1,此时,该取余数1与水印比特不一致,则计算7和预设更新值为1的和,得到8,将权重中第5 位的数字7替换为8,得到嵌入水印信息的权重,即3.1895861216871051。当待嵌入的水印比特为1时,计算7%2的值为1,此时,该取余数1与水印比特一致,可以保持该数字7不变,可以直接将该网络权重作为嵌入水印的网络权重。服务器依次将所有的水印比特都嵌入到对应的网络权重中,从而得到嵌入水印的神经网络模型,从而可以减少嵌入水印信息后对模型的使用效果影响。在一个实施例中,当嵌入水印权重值超过10时,此时还需要对嵌入水印权重值进行修改,即需要将嵌入水印权重值的范围保持在[0,9]之间,比如,可以对超过10的嵌入水印权重值减去一个经验值,从而使得到的值在[0,9]之间,从而保证得到的嵌入水印权重的准确性。
在一个实施例中,如图6所示,在S208之后,即,在基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型之后,还包括:
S602,获取模型水印验证请求,模型水印验证请求携带嵌入水印的神经网络模型和验证水印信息。
其中,模型水印验证请求用于对神经网络模型的水印进行提取并验证的请求。验证水印信息是指验证时使用的水印信息。嵌入水印的神经网络模型是指嵌入了水印信息的神经网络模型。
具体地,服务器可以获取到终端发送的模型水印验证请求,解析模型水印验证请求,得到嵌入水印的神经网络模型和验证水印信息。服务器也可以获取到提供业务服务的服务方发送的模型水印验证请求,该模型水印验证请求中可以携带嵌入水印的神经网络模型的标识和验证水印信息,服务器根据嵌入水印的神经网络模型的标识可以从数据库中获取嵌入水印的神经网络模型。
S604,对验证水印信息进行编码,得到验证水印向量,并从嵌入水印的神经网络模型中确定验证嵌入水印层。
其中,验证水印向量是指验证时得到的水印向量。验证嵌入水印层是指在验证时确定需要验证是否嵌入水印信息的神经网络层。
具体地,服务器按照在嵌入水印时对水印信息进行编码的方式对验证水印信息进行编码,得到验证水印向量,比如,可以按照base64算法来进行编码,得到二进制的水印向量。然后服务器从嵌入水印的神经网络模型中按照在嵌入水印时确定嵌入水印层的方式来确定验证嵌入水印层,服务器也可以按照在嵌入水印时记录的嵌入水印层从神经网络模型中确定需要验证水印信息的神经网络层,将该神经网络层作为验证嵌入水印层。
S606,基于验证水印向量和验证嵌入水印层对应的验证网络参数向量计算得到验证水印参数位置分布信息。
其中,验证网络参数向量是指验证嵌入水印层中的网络参数组成的向量,验证水印参数位置分布信息用于表征验证网络参数向量需要验证是否存在水印信息的网络参数的位置分布信息。
具体地,服务器可以根据验证水印向量长度和验证嵌入水印层对应的验证网络参数向量的长度来计算位置间隔,并且根据验证水印向量长度确定验证网络参数的数量。然后按照验证水印向量中水印元素的数量确定验证网络参数的位置数量,从而得到验证嵌入参数位置分布信息,再按照位置间隔从验证网络参数向量中确定对应的网络参数的位置作为验证网络参数的位置,从而得到验证嵌入参数位置分布信息。
S608,基于验证水印参数位置分布信息从验证网络参数向量中确定各个验证水印参数。
S610,基于各个验证水印参数进行水印信息提取,得到各个水印提取元素,基于各个水印提取元素确定水印提取向量,将水印提取向量进行解码,得到水印提取信息。
其中,验证水印参数是指需要验证是否嵌入水印信息的网络参数。水印提取元素从验证水印参数中提取得到的水印信息。水印提取向量是指水印提取元素组成的向量。水印提取信息是指从嵌入水印的神经网络模型中提取得到的水印信息。
具体地,服务器使用验证水印参数位置分布信息从验证网络参数向量中确定各个验证水印参数,即按照验证水印参数位置分布信息中的验证水印参数的位置从验证网络参数向量中确定各个验证水印参数。然后对各个验证水印参数进行水印信息提取,得到每个验证水印参数提取得到的水印提取元素,其中,依据嵌入水印时的方法进行还原,从而提取得到水印提取元素。最后按照各个验证水印参数在验证网络参数向量中的顺序将对应的水印提取元素组成水印提取向量,并对水印提取向量进行解码,得到水印提取信息。
S612,当水印提取信息与验证水印信息一致时,生成模型水印一致信息,将模型水印一致信息返回模型水印验证请求对应的请求端。
其中,模型水印一致信息用于表征从嵌入水印的神经网络模型中提起得到的水印信息与验证水印信息一致的信息。
具体地,服务器判断水印提取信息与验证水印信息是否一致,比如,可以直接比较水印提取向量与验证水印向量是否一致,当向量中的元素完全相同时,说明水印提取信息与验证水印信息一致。此时,服务器生成模型水印一致信息,将模型水印一致信息返回模型水印验证请求对应的请求端。当水印提取信息与验证水印信息未一致时,生成模型水印未一致信息,将模型水印未一致信息返回模型水印验证请求对应的请求端。
在一个实施例中,服务器可以将提取得到的水印提取信息和验证水印信息直接返回到模型水印验证请求对应的请求端,并进行展示,从而可以通过可视化的方式确认提取的水印信息是否与验证水印信息一致,提高体验。
在上述实施例中,通过在获取到模型水印验证请求,可以从嵌入水印的神经网络模型中提取得到水印信息,然后再与验证水印信息进行一致比较,从而可以快速进行水印验证,证明嵌入水印的神经网络模型的所有权,防止模型被盗用。
在一个实施例中,各个验证水印参数中的验证水印参数包括验证水印网络权重;
S610,即基于各个验证水印参数进行水印信息提取,得到各个水印提取元素,包括步骤:
当验证水印网络权重为浮点数类型时,从验证水印网络权重对应的小数部分确定预设位置的验证水印权重值;基于预设位置的验证水印权重值提取验证水印网络权重对应的水印提取元素。
具体地,服务器判断当验证水印网络权重为浮点数类型时,可以从验证水印网络权重对应的小数部分确定预设位置的验证水印权重值。然后使用预设位置的验证水印权重值来提取验证水印网络权重对应的水印提取元素,比如,可以对验证水印权重值进行还原运算,将还原运算的结果作为水印提取元素。
在上述实施例中,当验证水印网络权重为浮点数类型时,从验证水印网络权重对应的小数部分确定预设位置的嵌入水印权重值;基于预设位置的嵌入水印权重值提取验证水印网络权重对应的水印提取元素,从而可以快速定位得到验证水印权重值,进而快速提取得到水印提取元素,保证提取得到的水印提取元素的准确性。
在一个实施例中,基于预设位置的嵌入水印权重值提取嵌入水印网络权重对应的水印提取元素,包括步骤:
计算预设位置的嵌入水印权重值对应的取余数,将取余数作为嵌入水印网络权重对应的水印提取元素。
具体地,服务器计算预设位置的嵌入水印权重值对应的取余数,比如,计算嵌入水印权重值与预先设置好的值之间的取余数,该预先设置好的值与嵌入水印时进行取余运算时的值相同。然后服务器可以直接将取余数作为嵌入水印网络权重对应的水印提取元素,从而能够快速提取得到水印提取元素,并保证提取得到的水印提取元素的准确性。
在一个具体的实施例中,对嵌入水印的神经网络模型中的水印进行提取,具体来说:确定嵌入水印的神经网络模型中需要提取水印信息的神经网络层,然后根据该神经网络层中的网络权重向量长度和需要提取的水印信息的向量长度确定嵌入参数位置向量,然后根据嵌入参数位置向量中的目标值位置从该神经网络层中的网络权重向量中依次获取相同位置对应的网络权重,然后对该网络权重获取到小数点后第5 位的数字d。然后计算该数字d与2的取余数,当取余数为0时,提取出了水印比特为0,当取余数为1时,提取出了水印比特为1,直到所有的网络权重对应的水印比特都提取出时,得到提取出的水印向量,然后根据水印向量转换回ASCII 代表的字符,然后再用base64 的逆向解码操作还原回原始的水印信息,从而就得到了从嵌入水印的神经网络模型中提取得到的水印信息。然后服务器可以将提取得到的水印信息与验证的水印信息进行比较,也可以直接将提取得到的水印信息返回给请求端进行展示,从而可以快速提取出嵌入水印的神经网络模型中的水印信息,方便进行水印验证。
在一个实施例中,模型水印嵌入方法,还包括:
获取水印信息和待嵌入图像识别模型,将水印信息进行编码,得到水印信息向量;从待嵌入图像识别模型中确定待嵌入图像识别层,并基于水印信息向量和待嵌入图像识别层对应的权重参数矩阵计算得到嵌入权重位置分布信息;基于嵌入权重位置分布信息从权重参数矩阵中确定水印信息向量中各个水印信息元素分别对应的待更新权重,并按照各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;基于各个嵌入水印权重,得到待嵌入图像识别层对应的已嵌入图像识别层,并基于已嵌入图像识别层,得到嵌入水印的图像识别模型。
具体地,服务器可以将水印信息嵌入到各种不同类型的神经网络模型,比如,可以将水印信息嵌入到对图像进行处理的神经网络模型中,该对图像进行处理可以包括有图像识别、图像语义理解、图像检索、视频语义理解、视频识别以及三维物体处理等等。其中,服务器可以将水印信息嵌入到已训练的图像识别模型中,即服务器将水印信息进行编码,得到水印信息向量;从待嵌入图像识别模型中确定待嵌入图像识别层,并基于水印信息向量和待嵌入图像识别层对应的权重参数矩阵计算得到嵌入权重位置分布信息;基于嵌入权重位置分布信息从权重参数矩阵中确定水印信息向量中各个水印信息元素分别对应的待更新权重,并按照各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;基于各个嵌入水印权重,得到待嵌入图像识别层对应的已嵌入图像识别层,并基于已嵌入图像识别层,得到嵌入水印的图像识别模型,从而可以在不影响模型效果的基础上防止图像识别模型被盗用。
在一个实施例中,该模型水印嵌入方法还可以对已训练的自然语言处理模型进行水印信息嵌入,该自然语言处理模型是使用神经网络建立的对自然语言处理的模型,该自然语言处理可以包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等等。具体来说:服务器获取水印信息和待嵌入自然语言处理模型,将水印信息进行编码,得到水印信息向量。然后从待嵌入自然语言处理模型中确定待嵌入自然语言处理层,并基于水印信息向量和待嵌入自然语言处理层对应的权重参数矩阵计算得到嵌入权重位置分布信息。然后基于嵌入权重位置分布信息从权重参数矩阵中确定水印信息向量中各个水印信息元素分别对应的待更新权重,并按照各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;基于各个嵌入水印权重,得到待嵌入自然语言处理层对应的已嵌入自然语言处理层,并基于已嵌入自然语言处理层,得到嵌入水印的自然语言处理模型,从而可以在不影响模型效果的基础上防止自然语言处理模型被盗用。
在一个实施例中,该模型水印嵌入方法还可以对已训练的音频处理模型进行水印信息嵌入,该音频处理模型是使用神经网络建立的对音频进行处理的模型,该音频处理可以包括音频识别,音频分类、音频合成等等。具体来说:服务器获取水印信息和待嵌入音频处理模型,将水印信息进行编码,得到水印信息向量。然后从待嵌入音频处理模型中确定待嵌入音频处理层,并基于水印信息向量和待嵌入音频处理层对应的权重参数矩阵计算得到嵌入权重位置分布信息。然后基于嵌入权重位置分布信息从权重参数矩阵中确定水印信息向量中各个水印信息元素分别对应的待更新权重,并按照各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;基于各个嵌入水印权重,得到待嵌入音频处理层对应的已嵌入音频处理层,并基于已嵌入音频处理层,得到嵌入水印的音频处理模型,从而可以在不影响模型效果的基础上防止音频处理模型被盗用。
在一个具体的实施例中,如图7所示,提供一种模型水印嵌入方法的流程示意图,由计算机设备执行,具体包括以下步骤:
S702,获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
S704,获取神经网络模型中目标网络层的总数量,基于网络层总数量和预设目标值进行整除运算,得到网络层索引值,按照网络层索引值从神经网络模型中确定待嵌入水印层。
S706,获取待嵌入水印层对应的网络参数矩阵,将网络参数矩阵进行维度转换,得到网络参数向量,基于网络参数向量对应的网络参数数量和水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔。
S708,获取与网络参数向量的向量长度相同的初始位置向量,按照嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置。将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量。
S710,按照网络参数矩阵对应的维度将嵌入参数位置向量进行维度转换,得到网络参数矩阵对应的嵌入参数位置矩阵,从嵌入参数位置矩阵中确定各个目标值的矩阵位置,基于各个目标值的向量位置从网络参数矩阵中获取相同矩阵位置对应的网络参数。
S712,将相同矩阵位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数,并从各个水印元素中确定当前水印元素,并获取当前水印元素队对应的当前待更新网络权重,当当前待更新网络权重为浮点数类型时,从当前待更新网络权重对应的小数部分中确定预设位置的原始权重值。
S714,计算预设位置的原始权重值对应的取余数,当取余数与当前水印元素未一致时,计算预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,嵌入水印权重值对应的取余数与当前水印元素一致。
S716,使用嵌入水印权重值替换当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到当前水印元素对应的嵌入水印参数,遍历各个水印元素,得到各个水印元素分别对应的嵌入水印参数。
S718,基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
在上述实施例中,通过该模型水印嵌入方法,不需要在模型训练时嵌入水印,能够节省训练资源,并且在非连续的待更新参数中嵌入对应的水印元素,可以减少对模型使用效果的影响,也可以增加攻击者破解的难度,避免嵌入的水印被攻击者检测和移除,提高了嵌入水印的安全性。
在一个具体的实施例中,该模型水印嵌入方法可以在模型训练完成后,具体来说:服务器在对神经网络模型训练完成时,服务器可以获取到要嵌入到该神经网络模型中的水印信息。如图8所示,为水印信息嵌入的示意图,其中,获取到已训练的神经网络模型,然后从神经网络模型的中间层中确定需要嵌入水印信息的中间层A,然后获取到中间层的权重矩阵A,然后获取到水印信息,将水印信息进行编码,得到水印比特流,然后将权重矩阵A进行维度转换得到权重向量A,根据水印比特流的长度和权重向量的长度计算权重间隔值,然后根据权重间隔值从权重向量中获取到水印比特流的中水印比特数量的各个待更新权重,然后使用水印比特流的中水印比特对对应的待更新权重进行更新,得到嵌入水印权重,然后将所有的水印比特嵌入到对应的待更新权重中,得到嵌入水印的权重向量,然后将嵌入水印的权重向量进行维度转换,得到嵌入水印的权重矩阵A,进而得到嵌入水印的中间层A,最后得到嵌入水印的神经网络模型,从而可以在减少对模型效果影响的基础上防止模型被盗用,在模型中嵌入水印可以确保模型在使用过程中不会泄露使用者的信息,并且可以增加攻击者破解模型的难度,从而保护模型的核心算法和知识不被泄,并且可以证明模型的所有权,防止未经授权的模型复制和使用。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的模型水印嵌入方法的模型水印嵌入装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个模型水印嵌入装置实施例中的具体限定可以参见上文中对于模型水印嵌入方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种模型水印嵌入装置900,包括:水印编码模块902、分布计算模块904、水印嵌入模块906和模型得到模块908,其中:
水印编码模块902,用于获取已训练的神经网络模型和待嵌入水印信息,将待嵌入水印信息进行编码,得到水印向量;
分布计算模块904,用于从神经网络模型中确定待嵌入水印层,并基于水印向量和待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
水印嵌入模块906,用于基于嵌入参数位置分布信息从网络参数向量中确定水印向量中各个水印元素分别对应的待更新参数,并按照各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,嵌入参数位置分布信息确定的待更新参数的位置是非连续的;
模型得到模块908,用于基于各个嵌入水印参数,得到待嵌入水印层对应的已嵌入水印层,并基于已嵌入水印层,得到嵌入水印的神经网络模型。
在一个实施例中,分布计算模块904还用于获取神经网络模型中目标网络层的总数量,目标网络层是指神经网络模型中包含网络参数的网络层;基于网络层总数量和预设目标值进行整除运算,得到网络层索引值,按照网络层索引值从神经网络模型中确定待嵌入水印层。
在一个实施例中,分布计算模块904还用于基于网络参数向量对应的网络参数数量和水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔;获取初始位置向量,初始位置向量的向量长度与网络参数向量的向量长度相同;按照嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置;将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量,并将嵌入参数位置向量作为嵌入参数位置分布信息。
在一个实施例中,分布计算模块904还用于获取待嵌入水印层对应的网络参数矩阵,将网络参数矩阵进行维度转换,得到网络参数向量;基于网络参数向量对应的网络参数数量和水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔;获取初始位置向量,初始位置向量的向量长度与网络参数向量的向量长度相同;按照嵌入参数位置间隔和水印向量对应的水印元素数量从初始位置向量中确定各个嵌入位置;将初始位置向量中各个嵌入位置的初始值更新为目标值,得到网络参数向量对应的嵌入参数位置向量;按照网络参数矩阵对应的维度将嵌入参数位置向量进行维度转换,得到网络参数矩阵对应的嵌入参数位置矩阵,将嵌入参数位置矩阵作为嵌入参数位置分布信息。
在一个实施例中,分布计算模块904还用于当网络参数数量超过水印元素数量时,计算网络参数数量与水印元素数量的整除值;计算整除值与预设值的差值,得到嵌入参数位置间隔。
在一个实施例中,模型水印嵌入装置900,还包括:
多层嵌入模块,用于当网络参数数量未超过水印元素数量时,从神经网络模型中确定目标数量的待嵌入水印层,并获取目标数量的待嵌入水印层对应的目标网络参数向量,目标网络参数向量中的目标网络参数数量超过水印元素数量;基于目标网络参数向量对应的目标网络参数数量和水印向量对应的水印元素数量进行计算,得到目标嵌入参数位置间隔;获取目标初始位置向量,目标初始位置向量的向量长度与目标网络参数向量的向量长度相同;按照目标嵌入参数位置间隔和水印向量对应的水印元素数量从目标初始位置向量中确定各个目标嵌入位置;将目标初始位置向量中各个目标嵌入位置的初始值更新为目标值,得到目标网络参数向量对应的目标嵌入参数位置向量; 基于目标嵌入参数位置向量从目标网络参数向量中确定水印向量中各个水印元素分别对应的目标待更新参数,并按照各个水印元素对对应的目标待更新参数进行更新,得到各个目标嵌入水印参数,目标嵌入参数位置分布信息确定的目标待更新参数的位置是非连续的;基于各个目标嵌入水印参数,得到目标数量的待嵌入水印层分别对应的已嵌入水印层,并基于目标数量的待嵌入水印层分别对应的已嵌入水印层,得到嵌入水印的目标神经网络模型。
在一个实施例中,水印嵌入模块906还用于从嵌入参数位置向量中确定各个目标值的向量位置,基于各个目标值的向量位置从网络参数向量中获取相同向量位置对应的网络参数;将相同向量位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数。
在一个实施例中,水印嵌入模块906还用于从嵌入参数位置矩阵中确定各个目标值的矩阵位置,基于各个目标值的向量位置从网络参数矩阵中获取相同矩阵位置对应的网络参数;将相同矩阵位置对应的网络参数作为水印向量中各个水印元素分别对应的待更新参数。
在一个实施例中,待更新参数包括待更新网络权重;水印嵌入模块906还用于从各个水印元素中确定当前水印元素,并获取当前水印元素队对应的当前待更新网络权重;当当前待更新网络权重为浮点数类型时,从当前待更新网络权重对应的小数部分中确定预设位置的原始权重值;按照当前水印元素对预设位置的原始权重值进行更新,得到当前水印元素对应的嵌入水印参数。
在一个实施例中,水印嵌入模块906还用于计算预设位置的原始权重值对应的取余数,当取余数与当前水印元素未一致时,计算预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,嵌入水印权重值对应的取余数与当前水印元素一致;使用嵌入水印权重值替换当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到当前水印元素对应的嵌入水印参数。
在一个实施例中,模型水印嵌入装置900,还包括:
水印验证模块,用于获取模型水印验证请求,模型水印验证请求携带嵌入水印的神经网络模型和验证水印信息;对验证水印信息进行编码,得到验证水印向量,并从嵌入水印的神经网络模型中确定验证嵌入水印层;基于验证水印向量和验证嵌入水印层对应的验证网络参数向量计算得到验证水印参数位置分布信息;基于验证水印参数位置分布信息从验证网络参数向量中确定各个验证水印参数;基于各个验证水印参数进行水印信息提取,得到各个水印提取元素,基于各个水印提取元素确定水印提取向量,将水印提取向量进行解码,得到水印提取信息;当水印提取信息与验证水印信息一致时,生成模型水印一致信息,将模型水印一致信息返回模型水印验证请求对应的请求端。
在一个实施例中,各个验证水印参数中的验证水印参数包括验证水印网络权重;
水印验证模块还用于当验证水印网络权重为浮点数类型时,从验证水印网络权重对应的小数部分确定预设位置的验证水印权重值;基于预设位置的验证水印权重值提取验证水印网络权重对应的水印提取元素。
在一个实施例中,水印验证模块还用于计算预设位置的嵌入水印权重值对应的取余数,将取余数作为嵌入水印网络权重对应的水印提取元素。
在一个实施例中,模型水印嵌入装置900,还包括:
图像识别模型嵌入模块,用于获取水印信息和待嵌入图像识别模型,将水印信息进行编码,得到水印信息向量;从待嵌入图像识别模型中确定待嵌入图像识别层,并基于水印信息向量和待嵌入图像识别层对应的权重参数矩阵计算得到嵌入权重位置分布信息;基于嵌入权重位置分布信息从权重参数矩阵中确定水印信息向量中各个水印信息元素分别对应的待更新权重,并按照各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;基于各个嵌入水印权重,得到待嵌入图像识别层对应的已嵌入图像识别层,并基于已嵌入图像识别层,得到嵌入水印的图像识别模型。
上述模型水印嵌入装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储已训练的神经网络模型、水印信息等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种模型水印嵌入方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种模型水印嵌入方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10或者图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (28)

1.一种模型水印嵌入方法,其特征在于,所述方法包括:
获取已训练的神经网络模型和待嵌入水印信息,将所述待嵌入水印信息进行编码,得到水印向量;
从所述神经网络模型中确定待嵌入水印层,并基于所述水印向量和所述待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
基于所述嵌入参数位置分布信息从所述网络参数向量中确定所述水印向量中各个水印元素分别对应的待更新参数,并按照所述各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,所述嵌入参数位置分布信息确定的待更新参数的位置是非连续的,所述待更新参数包括待更新网络权重,所述按照所述各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,包括:从所述各个水印元素中确定当前水印元素,并获取所述当前水印元素对应的当前待更新网络权重;当所述当前待更新网络权重为浮点数类型时,从所述当前待更新网络权重对应的小数部分中确定预设位置的原始权重值;按照所述当前水印元素对所述预设位置的原始权重值进行更新,得到所述当前水印元素对应的嵌入水印参数;
基于所述各个嵌入水印参数,得到所述待嵌入水印层对应的已嵌入水印层,并基于所述已嵌入水印层,得到嵌入水印的神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述从所述神经网络模型中确定待嵌入水印层,包括:
获取所述神经网络模型中目标网络层的总数量,所述目标网络层是指神经网络模型中包含网络参数的网络层;
基于所述网络层总数量和预设目标值进行整除运算,得到网络层索引值,按照所述网络层索引值从所述神经网络模型中确定待嵌入水印层。
3.根据权利要求1所述的方法,其特征在于,所述基于所述水印向量和所述待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息,包括:
基于所述网络参数向量对应的网络参数数量和所述水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔;
获取初始位置向量,所述初始位置向量的向量长度与所述网络参数向量的向量长度相同;
按照所述嵌入参数位置间隔和所述水印向量对应的水印元素数量从所述初始位置向量中确定各个嵌入位置;
将所述初始位置向量中所述各个嵌入位置的初始值更新为目标值,得到所述网络参数向量对应的嵌入参数位置向量,并将所述嵌入参数位置向量作为所述嵌入参数位置分布信息。
4.根据权利要求1所述的方法,其特征在于,所述基于所述水印向量和所述待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息,包括:
获取所述待嵌入水印层对应的网络参数矩阵,将所述网络参数矩阵进行维度转换,得到所述网络参数向量;
基于所述网络参数向量对应的网络参数数量和所述水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔;
获取初始位置向量,所述初始位置向量的向量长度与所述网络参数向量的向量长度相同;
按照所述嵌入参数位置间隔和所述水印向量对应的水印元素数量从所述初始位置向量中确定各个嵌入位置;
将所述初始位置向量中所述各个嵌入位置的初始值更新为目标值,得到所述网络参数向量对应的嵌入参数位置向量;
按照所述网络参数矩阵对应的维度将所述嵌入参数位置向量进行维度转换,得到所述网络参数矩阵对应的嵌入参数位置矩阵,将所述嵌入参数位置矩阵作为嵌入参数位置分布信息。
5.根据权利要求3至4任意一项所述的方法,其特征在于,所述基于所述网络参数向量对应的网络参数数量和所述水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔,包括:
当所述网络参数数量超过所述水印元素数量时,计算网络参数数量与所述水印元素数量的整除值;
计算所述整除值与预设值的差值,得到所述嵌入参数位置间隔。
6.根据权利要求3至4任意一项所述的方法,其特征在于,所述方法,还包括:
当所述网络参数数量未超过所述水印元素数量时,从所述神经网络模型中确定目标数量的待嵌入水印层,并获取所述目标数量的待嵌入水印层对应的目标网络参数向量,所述目标网络参数向量中的目标网络参数数量超过所述水印元素数量;
基于所述目标网络参数向量对应的目标网络参数数量和所述水印向量对应的水印元素数量进行计算,得到目标嵌入参数位置间隔;
获取目标初始位置向量,所述目标初始位置向量的向量长度与所述目标网络参数向量的向量长度相同;
按照所述目标嵌入参数位置间隔和所述水印向量对应的水印元素数量从所述目标初始位置向量中确定各个目标嵌入位置;
将所述目标初始位置向量中所述各个目标嵌入位置的初始值更新为目标值,得到所述目标网络参数向量对应的目标嵌入参数位置向量;
基于所述目标嵌入参数位置向量从所述目标网络参数向量中确定所述水印向量中各个水印元素分别对应的目标待更新参数,并按照所述各个水印元素对对应的目标待更新参数进行更新,得到各个目标嵌入水印参数,所述目标嵌入参数位置分布信息确定的目标待更新参数的位置是非连续的;
基于所述各个目标嵌入水印参数,得到所述目标数量的待嵌入水印层分别对应的已嵌入水印层,并基于所述目标数量的待嵌入水印层分别对应的已嵌入水印层,得到嵌入水印的目标神经网络模型。
7.根据权利要求3所述的方法,其特征在于,所述基于所述嵌入参数位置分布信息从所述网络参数向量中确定所述水印向量中各个水印元素分别对应的待更新参数,包括:
从所述嵌入参数位置向量中确定各个目标值的向量位置,基于所述各个目标值的向量位置从所述网络参数向量中获取相同向量位置对应的网络参数;
将所述相同向量位置对应的网络参数作为所述水印向量中各个水印元素分别对应的待更新参数。
8.根据权利要求4所述的方法,其特征在于,所述基于所述嵌入参数位置分布信息从所述网络参数向量中确定所述水印向量中各个水印元素分别对应的待更新参数,包括:
从所述嵌入参数位置矩阵中确定各个目标值的矩阵位置,基于所述各个目标值的向量位置从所述网络参数矩阵中获取相同矩阵位置对应的网络参数;
将所述相同矩阵位置对应的网络参数作为所述水印向量中各个水印元素分别对应的待更新参数。
9.根据权利要求1所述的方法,其特征在于,所述按照所述当前水印元素对所述预设位置的原始权重值进行更新,得到所述当前水印元素对应的嵌入水印参数,包括:
计算所述预设位置的原始权重值对应的取余数,当所述取余数与所述当前水印元素未一致时,计算所述预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,所述嵌入水印权重值对应的取余数与所述当前水印元素一致;
使用所述嵌入水印权重值替换所述当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到所述当前水印元素对应的嵌入水印参数。
10.根据权利要求1所述的方法,其特征在于,在所述基于所述各个嵌入水印参数,得到所述待嵌入水印层对应的已嵌入水印层,并基于所述已嵌入水印层,得到嵌入水印的神经网络模型之后,还包括:
获取模型水印验证请求,所述模型水印验证请求携带嵌入水印的神经网络模型和验证水印信息;
对所述验证水印信息进行编码,得到验证水印向量,并从所述嵌入水印的神经网络模型中确定验证嵌入水印层;
基于所述验证水印向量和所述验证嵌入水印层对应的验证网络参数向量计算得到验证水印参数位置分布信息;
基于所述验证水印参数位置分布信息从所述验证网络参数向量中确定各个验证水印参数;
基于所述各个验证水印参数进行水印信息提取,得到各个水印提取元素,基于各个水印提取元素确定水印提取向量,将所述水印提取向量进行解码,得到水印提取信息;
当所述水印提取信息与所述验证水印信息一致时,生成模型水印一致信息,将所述模型水印一致信息返回所述模型水印验证请求对应的请求端。
11.根据权利要求10所述的方法,其特征在于,所述各个验证水印参数中的验证水印参数包括验证水印网络权重;
所述基于所述各个验证水印参数进行水印信息提取,得到各个水印提取元素,包括:
当所述验证水印网络权重为浮点数类型时,从所述验证水印网络权重对应的小数部分确定预设位置的验证水印权重值;
基于所述预设位置的验证水印权重值提取所述验证水印网络权重对应的水印提取元素。
12.根据权利要求11所述的方法,其特征在于,所述基于所述预设位置的嵌入水印权重值提取所述嵌入水印网络权重对应的水印提取元素,包括:
计算所述预设位置的嵌入水印权重值对应的取余数,将所述取余数作为所述嵌入水印网络权重对应的水印提取元素。
13.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
获取水印信息和待嵌入图像识别模型,将所述水印信息进行编码,得到水印信息向量;
从所述待嵌入图像识别模型中确定待嵌入图像识别层,并基于所述水印信息向量和所述待嵌入图像识别层对应的权重参数矩阵计算得到嵌入权重位置分布信息;
基于所述嵌入权重位置分布信息从所述权重参数矩阵中确定所述水印信息向量中各个水印信息元素分别对应的待更新权重,并按照所述各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;
基于所述各个嵌入水印权重,得到所述待嵌入图像识别层对应的已嵌入图像识别层,并基于所述已嵌入图像识别层,得到嵌入水印的图像识别模型。
14.一种模型水印嵌入装置,其特征在于,所述装置包括:
水印编码模块,用于获取已训练的神经网络模型和待嵌入水印信息,将所述待嵌入水印信息进行编码,得到水印向量;
分布计算模块,用于从所述神经网络模型中确定待嵌入水印层,并基于所述水印向量和所述待嵌入水印层对应的网络参数向量计算得到嵌入参数位置分布信息;
水印嵌入模块,用于基于所述嵌入参数位置分布信息从所述网络参数向量中确定所述水印向量中各个水印元素分别对应的待更新参数,并按照所述各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,所述嵌入参数位置分布信息确定的待更新参数的位置是非连续的,所述待更新参数包括待更新网络权重,所述按照所述各个水印元素对对应的待更新参数进行更新,得到各个嵌入水印参数,包括:从所述各个水印元素中确定当前水印元素,并获取所述当前水印元素对应的当前待更新网络权重;当所述当前待更新网络权重为浮点数类型时,从所述当前待更新网络权重对应的小数部分中确定预设位置的原始权重值;按照所述当前水印元素对所述预设位置的原始权重值进行更新,得到所述当前水印元素对应的嵌入水印参数;
模型得到模块,用于基于所述各个嵌入水印参数,得到所述待嵌入水印层对应的已嵌入水印层,并基于所述已嵌入水印层,得到嵌入水印的神经网络模型。
15.根据权利要求14所述的装置,其特征在于,所述分布计算模块还用于获取所述神经网络模型中目标网络层的总数量,所述目标网络层是指神经网络模型中包含网络参数的网络层;基于所述网络层总数量和预设目标值进行整除运算,得到网络层索引值,按照所述网络层索引值从所述神经网络模型中确定待嵌入水印层。
16.根据权利要求14所述的装置,其特征在于,所述分布计算模块还用于基于所述网络参数向量对应的网络参数数量和所述水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔;获取初始位置向量,所述初始位置向量的向量长度与所述网络参数向量的向量长度相同;按照所述嵌入参数位置间隔和所述水印向量对应的水印元素数量从所述初始位置向量中确定各个嵌入位置;将所述初始位置向量中所述各个嵌入位置的初始值更新为目标值,得到所述网络参数向量对应的嵌入参数位置向量,并将所述嵌入参数位置向量作为所述嵌入参数位置分布信息。
17.根据权利要求14所述的装置,其特征在于,所述分布计算模块还用于获取所述待嵌入水印层对应的网络参数矩阵,将所述网络参数矩阵进行维度转换,得到所述网络参数向量;基于所述网络参数向量对应的网络参数数量和所述水印向量对应的水印元素数量进行计算,得到嵌入参数位置间隔;获取初始位置向量,所述初始位置向量的向量长度与所述网络参数向量的向量长度相同;按照所述嵌入参数位置间隔和所述水印向量对应的水印元素数量从所述初始位置向量中确定各个嵌入位置;将所述初始位置向量中所述各个嵌入位置的初始值更新为目标值,得到所述网络参数向量对应的嵌入参数位置向量;按照所述网络参数矩阵对应的维度将所述嵌入参数位置向量进行维度转换,得到所述网络参数矩阵对应的嵌入参数位置矩阵,将所述嵌入参数位置矩阵作为嵌入参数位置分布信息。
18.根据权利要求16至17任意一项所述的装置,其特征在于,所述分布计算模块还用于当所述网络参数数量超过所述水印元素数量时,计算网络参数数量与所述水印元素数量的整除值;计算所述整除值与预设值的差值,得到所述嵌入参数位置间隔。
19.根据权利要求16至17任意一项所述的装置,其特征在于,所述装置,还包括:
多层嵌入模块,用于当所述网络参数数量未超过所述水印元素数量时,从所述神经网络模型中确定目标数量的待嵌入水印层,并获取所述目标数量的待嵌入水印层对应的目标网络参数向量,所述目标网络参数向量中的目标网络参数数量超过所述水印元素数量;基于所述目标网络参数向量对应的目标网络参数数量和所述水印向量对应的水印元素数量进行计算,得到目标嵌入参数位置间隔;获取目标初始位置向量,所述目标初始位置向量的向量长度与所述目标网络参数向量的向量长度相同;按照所述目标嵌入参数位置间隔和所述水印向量对应的水印元素数量从所述目标初始位置向量中确定各个目标嵌入位置;将所述目标初始位置向量中所述各个目标嵌入位置的初始值更新为目标值,得到所述目标网络参数向量对应的目标嵌入参数位置向量; 基于所述目标嵌入参数位置向量从所述目标网络参数向量中确定所述水印向量中各个水印元素分别对应的目标待更新参数,并按照所述各个水印元素对对应的目标待更新参数进行更新,得到各个目标嵌入水印参数,所述目标嵌入参数位置分布信息确定的目标待更新参数的位置是非连续的;基于所述各个目标嵌入水印参数,得到所述目标数量的待嵌入水印层分别对应的已嵌入水印层,并基于所述目标数量的待嵌入水印层分别对应的已嵌入水印层,得到嵌入水印的目标神经网络模型。
20.根据权利要求16所述的装置,其特征在于,所述水印嵌入模块还用于从所述嵌入参数位置向量中确定各个目标值的向量位置,基于所述各个目标值的向量位置从所述网络参数向量中获取相同向量位置对应的网络参数;将所述相同向量位置对应的网络参数作为所述水印向量中各个水印元素分别对应的待更新参数。
21.根据权利要求17所述的装置,其特征在于,所述水印嵌入模块还用于从所述嵌入参数位置矩阵中确定各个目标值的矩阵位置,基于所述各个目标值的向量位置从所述网络参数矩阵中获取相同矩阵位置对应的网络参数;将所述相同矩阵位置对应的网络参数作为所述水印向量中各个水印元素分别对应的待更新参数。
22.根据权利要求14所述的装置,其特征在于,所述水印嵌入模块还用于计算所述预设位置的原始权重值对应的取余数,当所述取余数与所述当前水印元素未一致时,计算所述预设位置的原始权重值与预设更新值的和,得到嵌入水印权重值,所述嵌入水印权重值对应的取余数与所述当前水印元素一致;使用所述嵌入水印权重值替换所述当前待更新网络权重对应的小数部分中预设位置的原始权重值,得到所述当前水印元素对应的嵌入水印参数。
23.根据权利要求14所述的装置,其特征在于,所述装置,还包括:
水印验证模块,用于获取模型水印验证请求,所述模型水印验证请求携带嵌入水印的神经网络模型和验证水印信息;对所述验证水印信息进行编码,得到验证水印向量,并从所述嵌入水印的神经网络模型中确定验证嵌入水印层;基于所述验证水印向量和所述验证嵌入水印层对应的验证网络参数向量计算得到验证水印参数位置分布信息;基于所述验证水印参数位置分布信息从所述验证网络参数向量中确定各个验证水印参数;基于所述各个验证水印参数进行水印信息提取,得到各个水印提取元素,基于各个水印提取元素确定水印提取向量,将所述水印提取向量进行解码,得到水印提取信息;当所述水印提取信息与所述验证水印信息一致时,生成模型水印一致信息,将所述模型水印一致信息返回所述模型水印验证请求对应的请求端。
24.根据权利要求23所述的装置,其特征在于,所述各个验证水印参数中的验证水印参数包括验证水印网络权重;
所述水印验证模块还用于当所述验证水印网络权重为浮点数类型时,从所述验证水印网络权重对应的小数部分确定预设位置的验证水印权重值;基于所述预设位置的验证水印权重值提取所述验证水印网络权重对应的水印提取元素。
25.根据权利要求24所述的装置,其特征在于,所述水印验证模块还用于计算所述预设位置的嵌入水印权重值对应的取余数,将所述取余数作为所述嵌入水印网络权重对应的水印提取元素。
26.根据权利要求14所述的装置,其特征在于,所述装置,还包括:
图像识别模型嵌入模块,用于获取水印信息和待嵌入图像识别模型,将所述水印信息进行编码,得到水印信息向量;从所述待嵌入图像识别模型中确定待嵌入图像识别层,并基于所述水印信息向量和所述待嵌入图像识别层对应的权重参数矩阵计算得到嵌入权重位置分布信息;基于所述嵌入权重位置分布信息从所述权重参数矩阵中确定所述水印信息向量中各个水印信息元素分别对应的待更新权重,并按照所述各个水印信息元素对对应的待更新权重进行更新,得到各个嵌入水印权重;基于所述各个嵌入水印权重,得到所述待嵌入图像识别层对应的已嵌入图像识别层,并基于所述已嵌入图像识别层,得到嵌入水印的图像识别模型。
27.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
28.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
CN202311141916.4A 2023-09-06 2023-09-06 模型水印嵌入方法、装置、计算机设备和存储介质 Active CN116881871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311141916.4A CN116881871B (zh) 2023-09-06 2023-09-06 模型水印嵌入方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311141916.4A CN116881871B (zh) 2023-09-06 2023-09-06 模型水印嵌入方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN116881871A CN116881871A (zh) 2023-10-13
CN116881871B true CN116881871B (zh) 2023-11-24

Family

ID=88263064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311141916.4A Active CN116881871B (zh) 2023-09-06 2023-09-06 模型水印嵌入方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116881871B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185417A (ja) * 2018-04-11 2019-10-24 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
CN112613001A (zh) * 2020-12-21 2021-04-06 中国科学技术大学 通过可逆水印实现卷积神经网络完整性认证的方法
WO2022018736A1 (en) * 2020-07-23 2022-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Watermark protection of artificial intelligence model
CN114331791A (zh) * 2021-10-12 2022-04-12 腾讯科技(深圳)有限公司 模型水印生成、模型侵权鉴定方法、装置和计算机设备
CN114359011A (zh) * 2022-01-07 2022-04-15 华南师范大学 一种神经网络水印嵌入方法、装置、电子设备及存储介质
CN115659294A (zh) * 2022-11-11 2023-01-31 中国科学院信息工程研究所 一种基于参数水印的神经网络模型版权保护方法
CN116226804A (zh) * 2023-01-05 2023-06-06 厦门大学嘉庚学院 一种基于水印嵌入的神经网络模型的版权验证方法
CN116305015A (zh) * 2023-01-18 2023-06-23 重庆交通大学 抵御鲁棒性攻击的神经网络模型水印嵌入方法
CN116523725A (zh) * 2023-02-15 2023-08-01 浙江大学杭州国际科创中心 一种神经网络模型的水印处理方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019185417A (ja) * 2018-04-11 2019-10-24 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
WO2022018736A1 (en) * 2020-07-23 2022-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Watermark protection of artificial intelligence model
CN112613001A (zh) * 2020-12-21 2021-04-06 中国科学技术大学 通过可逆水印实现卷积神经网络完整性认证的方法
CN114331791A (zh) * 2021-10-12 2022-04-12 腾讯科技(深圳)有限公司 模型水印生成、模型侵权鉴定方法、装置和计算机设备
CN114359011A (zh) * 2022-01-07 2022-04-15 华南师范大学 一种神经网络水印嵌入方法、装置、电子设备及存储介质
CN115659294A (zh) * 2022-11-11 2023-01-31 中国科学院信息工程研究所 一种基于参数水印的神经网络模型版权保护方法
CN116226804A (zh) * 2023-01-05 2023-06-06 厦门大学嘉庚学院 一种基于水印嵌入的神经网络模型的版权验证方法
CN116305015A (zh) * 2023-01-18 2023-06-23 重庆交通大学 抵御鲁棒性攻击的神经网络模型水印嵌入方法
CN116523725A (zh) * 2023-02-15 2023-08-01 浙江大学杭州国际科创中心 一种神经网络模型的水印处理方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A systematic review on model watermarking for neural networks;Franziska Boenisch et al.;《Frontiers》;第1-5页 *
深度模型水印;张新鹏 等;《自然杂志》;第44卷(第4期);第267-273页 *

Also Published As

Publication number Publication date
CN116881871A (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
Dhawan et al. Analysis of various data security techniques of steganography: A survey
Cao et al. High capacity reversible data hiding in encrypted images by patch-level sparse representation
Lin et al. A novel data hiding algorithm for high dynamic range images
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
CN115083435B (zh) 音频数据处理方法、装置、计算机设备和存储介质
Ghosal et al. Application of Lah transform for security and privacy of data through information hiding in telecommunication
CN115408350A (zh) 日志压缩、日志还原方法、装置、计算机设备和存储介质
CN114461988A (zh) 图像加密方法以及装置、图像解密方法以及装置
CN116600119B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN116881871B (zh) 模型水印嵌入方法、装置、计算机设备和存储介质
CN116821113A (zh) 时序数据缺失值处理方法、装置、计算机设备及存储介质
Abdulmunem et al. Advanced Intelligent Data Hiding Using Video Stego and Convolutional Neural Networks
CN116186708A (zh) 类别识别模型生成方法、装置、计算机设备和存储介质
Li et al. A new aesthetic QR code algorithm based on salient region detection and SPBVM
Zhou et al. Latent Vector Optimization-Based Generative Image Steganography for Consumer Electronic Applications
Hu et al. Improved color image coding schemes based on single bit map block truncation coding
Qiu et al. Rich-information watermarking scheme for 3D models of oblique photography
CN116703687B (zh) 图像生成模型处理、图像生成方法、装置和计算机设备
CN112749560A (zh) 地址文本处理方法、装置、设备及计算机存储介质
CN116828184B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN117611953A (zh) 图形码生成方法、装置、计算机设备及存储介质
Sun et al. Reversible Data Hiding via Arranging Blocks of Bit-Planes in Encrypted Images
Qiao et al. Superpixel-based watermarking scheme for image authentication and recovery
CN116958571A (zh) 一种基于图像的信息处理方法及相关装置
CN117974707A (zh) 图像分割模型的训练方法、图像分割方法和装置

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
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40098479

Country of ref document: HK