基于标志网络的深度学习多模型水印方案

时间:2023-06-16 13:05:03 公文范文 来源:网友投稿

刘伟发, 张光华, 杨 婷, 王 鹤

1河北科技大学信息科学与工程学院 石家庄 中国 050018

2西安电子科技大学网络与信息安全学院 西安 中国 710071

深度学习框架TensorFlow[1]、Torch[2]、Caffe[3]和预训练模型AlexNet[4]、ResNet[5]极大简化了复杂模型的研发和部署, 研发者也可通过微调或迁移学习[6]的方式快速构建模型。但训练深度神经网络(Deep Neural Network, DNN)模型依然成本高昂: 需要大量已标注数据集, 分配大量计算资源来调整模型结构、超参数和权重。这使得盗版DNN模型变得有利可图, 可能在研发阶段因恶意软件而造成模型泄露, 或在部署阶段遭受远程应用接口查询攻击而出现盗版。为此, 保护DNN模型不被非法复制、篡改和滥用是亟待解决的关键问题。

目前, 大多数水印解决方法是通过修改训练集并让目标模型学习特定的触发模式, 达到标记DNN模型的目的, 以便于所有权验证。此类水印方案存在很大的欠缺, 因其关注水印单一目标模型, 每个模型的水印都是独立的, 忽略了多模型水印间的关联性。所有者为其多个模型添加相同的版权水印时, 会面临重复的嵌入时间开销。此外, 若通过再训练或微调的方式水印目标模型, 则嵌入开销将会与模型的数量和复杂程度呈正相关。另一方面, 水印DNN模型和以往的水印多媒体内容有很大的区别。DNN模型的主要组成是层结构和权重参数, 相比于多媒体内容, DNN模型可解释性更差, 水印难度更大。针对以上情况, 如何快速有效的水印多模型, 增强水印的可复用性和迁移性, 是现阶段DNN模型所有权验证研究的一个重要问题。

为了克服上述缺陷, 本文提出一种基于标志网络(LogoNet)的LNMMWS方案, 类似粘贴商标的形式将LogoNet插入多模型中, 以快速水印多个模型,不会引起重复开销。本文的主要贡献如下。

(1) 针对水印功能, 设计了一种精简的结构LogoNet, 它功能集中、可复用性强, 能够以相对较少的时间学习较多的水印触发模式。

(2) 基于输出层嵌合方式, LogoNet可以重复嵌入多个目标模型, 以使其具备水印功能, 水印开销仅产生一次, 固定且较低。

(3) 引入了抗噪训练, 增强了LogoNet对无效输入的处理能力, 降低了LogoNet嵌入给目标模型带来的精度影响, 提高了LNMMWS水印的隐秘性。

本文的其余安排如下, 在第2节, 介绍了相关工作; 第3节, 介绍了背景知识; 第4节, 介绍了LNMMWS方案的具体细节; 第5节, 通过实验验证了LNMMWS方案的有效性、稳定性、隐秘性; 第6节, 总结全文。

在黑盒场景下, DNN水印方案是通过验证特定输入预测的输出来核实水印, 此类方案实用性较好。水印过程可以分为两个阶段: 嵌入和验证。在嵌入阶段, 所有者可以将水印嵌入到其研发的模型中。在验证阶段, 如果模型被盗用, 所有者可以从可疑模型中提取水印以作为侵权的证据。水印的关键在于触发模式设计, 即如何构造触发集、设计嵌入方式、设计验证方式, 而目前水印研究主要集中于构造触发集, 并用触发集微调目标模型或和原数据集一同训练模型以嵌入水印[7]。

Adi等人[8]提出了一种用后门方式水印DNN模型的方法, 他们的方案适用于一般分类任务, 并且能很容易与当前DNN模型相结合。Zhang等人[9]提出分别使用已经指定目标类别,并叠加了无关图案、水印图案和噪声的触发样本来水印目标模型。Guo等人[10]提出对一组原样本添加所有者保留的某些修改信息来组成触发集, 该方案适应于嵌入式应用。并且他们对这种像素级修改做出了函数式定义, 以便于使用差分演化算法寻找最优的修改[11]。为了使触发样本和原样本的分布更相似, Li等人[12]使用一个轻量级的自动编码器以生成触发样本并组成触发集。Merrer 等人[13]提出将使用边界决策算法找到的一组边界数据点, 添加特定扰动后以构成触发集。Xue等人[14]所构建的触发集中包含了多种不同类型的修改, 以更可靠地标记目标模型。Maung等人[15]提出使用基于特定密钥的图像分块转换方法构造触发集来唯一标识目标模型。Li等人[16]为了增强触发集的鲁棒性, 提出了利用基于频域的图像水印方法构造数据集。所生成的触发样本有较强的隐秘性和对信号处理的鲁棒性。Xue等人[17]提出将用户指纹信息通过最低有效位图像隐写技术, 写入训练集外的样本中以构造触发集。

上述水印方法是将触发模式作为水印嵌入到目标模型中, 这种水印与受保护模型的主要任务无关,因此对目标模型的精度影响较小, 但这使得通过模型压缩或模型微调来去除水印成为了可能。为此, Jia等人[18]提出了关联水印, 其中水印和模型的正常权重有着较强的依赖关系。如果盗版者尝试删除水印,模型在正常数据集上的性能将显著降低。这些基于DNN后门的水印方法可能被一些触发模式识别方法检测到, 如Wang等人[19]提出的Neural cleanse方法,Gao等人[20]提出的Strip方法。并且以上水印方法未曾关注多模型水印之间的联系。在多模型水印场景下, 水印开销会因目标模型的数量增加而无限增大,无法快速水印。而且水印的可复用性较差, 已有水印工作无法直接用于下一个目标模型的水印嵌入。为此, 本文从设计嵌入方式角度出发, 提出一种可复用性强、时间开销小、效率高的DNN多模型水印方案(LNMMWS)。

3.1 DNN模型和DNN后门

深度学习是机器学习框架的一种, 它能自动从训练数据中分层学习数据表征, 而不需要人工特征提取。深度学习方法基于深度神经网络, 它由许多基础神经网络单元构成, 例如线性感知器、卷积层和非线性激活函数。网络单元被组织为层, 并被训练从格式化数据中去识别复杂的概念。低级网络层经常和低维特征相关联, 如角落和边缘, 而高级网络层经常和高维语义特征相联系, 如猫和狗。格式化训练样本(x,y) ∈Dm输入到DNN中, 经过F(w,x)=y′方程映射得到预测结果y′∈Rn, 其中参数方程F(w,x)由网络的层次结构和所有神经元权重参数决定。最初预测结果y′不一定等于真实目标值y, 因此需要使用大量训练数据对DNN模型进行训练, DNN模型会根据预测值y′与真实目标值y之间的差距来更新权重w, 最终得到一个精度较高的模型。

后门攻击和对抗性攻击都可以用来危害DNN模型的性能, 但后门却可以用来进行DNN模型所有权验证。假设目前有一个分类任务, 其样本是在对抗性攻击的设定中, 攻击者用一个极小的改动xper=x+δ(‖δ‖2→ 0)去得到一个错误的分类结果F(w,xper)≠y。在此过程中, 分类所使用的参数方程并没有改变。而对于后门攻击, 攻击者会重新定义一个参数方程F*(w*,x)和中毒训练集中随机掺杂着触发样本(β(x),t(y))。触发样本由随机选择的原训练样本经过β(x)函数变换得到,这种特定函数修改称为触发器, 常见的修改有, 给原样本添加高斯噪声、触发图案等, 而触发集由多个触发样本组成。DNN模型在经过中毒训练集Dmp训练后,对原样本会得到正常的预测类别y, 对触发样本会得到指定的预测类别t(y), 即F(w,x)=y,F*(w* ,β(x) )=t(y)。后门攻击具有很强的隐秘性,预先指定的目标类别只有在具有触发器的样本上才会触发。这种隐秘性和靶向性使得特定的后门可以成为DNN模型所有权验证的一种解决方法。

3.2 DNN水印

下面对黑盒场景下DNN水印过程中涉及的概念做出解释, 如表1所示。

表1 DNN水印相关概念Table 1 The related concepts of DNN watermark

本文提出的LNMMWS方案共分为两个阶段,分别是嵌入阶段、验证阶段, 包括3个步骤:LogoNet构建、LogoNet与目标模型嵌合、所有权验证, 流程如图1所示, 具体如下。

图1 LNMMWS方案流程Figure 1 The process of LNMMWS scheme

步骤1LogoNet构建: 初始化触发集和噪声集,并训练LogoNet, 使LogoNet拟合触发样本, 且对噪声样本有较强的泛化能力。

步骤2LogoNet与目标模型嵌合: 将LogoNet嵌入目标模型中, 根据目标模型的输出层调整LogoNet的输出层, 将两者的输出数据流相嵌合。

步骤3所有权验证: 根据黑盒场景中所有权验证方法进行验证。

4.1 LogoNet构建

4.1.1 数据集生成

LogoNet所使用的训练集包括触发集和噪声集。触发集中的样本由二进制字符串对应生成, 11位二进制字符串有211=2048种, 采用5×5的点阵去表示,如此所生成的触发样本数为2048。每个像素点的初始值为0, 若像素点对应二进制位的值为1, 则将像素点的值设置为255。之后将每个样本设定为单独的类别。也可选择其他尺寸的点阵, 选取其他数量的像素点。同时为了提高LogoNet的稳定性, 增强抗噪能力, 需要生成随机噪声样本, 并使这些样本指向唯一的额外类别, 因此LogoNet训练数据集的类别数是2049。

4.1.2 LogoNet层次结构

LogoNet的结构是一个小型4层卷积神经网络,其包括3个卷积层和1个全连接层, 并使用Rule激活函数。输出维度是2049, 其中前2048个类别对应2048个触发样本, 最后一类对应额外的噪声样本。如果LogoNet仅对2048个触发器进行分类, LogoNet会更小, 但LogoNet应能对噪声输入进行处理。然而,与大多数DNN网络相比, 该网络仍非常精简。LogoNet的参数量仅为VGG-16[6]模型的0.0004。

4.1.3 LogoNet训练

将LogoNet在生成的数据集上进行训练。LogoNet的训练数据集包括两部分, 第一部分是2048个触发样本, 第二部分是随机噪声样本, 噪声样本来自目标模型训练集样本图像的随机切片。对于这些噪声输入, LogoNet应保持沉默, 即LogoNet将这些噪声样本预测为指定额外类别2049, 之后LogoNet与目标模型嵌合时, 额外类别2049会被丢弃。经此处理后, 噪声输入就不会预测到有效类别,称这种训练方式为抗噪训练。抗噪训练的益处是, 它减少了流向LogoNet水印触发模式相关神经元的无关梯度流, 能降低LogoNet的假阳性, 减小LogoNet对目标模型的精度影响。例如, 对于MNIST数据集的LNMMWS水印模型, 抗噪训练能使LogoNet对目标模型的精度影响降低18.83%。随着训练轮数的增加, 可以逐渐减小学习率, 以获得更好的精度。

4.2 LogoNet与目标模型嵌合

多个目标模型可有着相同的层次架构和不同的分类任务, 也可能是不同的层次架构和不同的分类任务。因此LogoNet嵌入目标模型可分为3个步骤。首先, 使用最近邻插值对输入样本尺寸进行调整,并分别输入到LogoNet和目标模型中进行计算。然后, 根据目标模型的输出层调整LogoNet的输出层。最后, LogoNet输出与目标模型输出相嵌合。

输入可能直接是触发样本或触发样本和原样本的线性叠加。若输入是触发样本, 则在输入到目标模型前, 需要对触发样本进行尺寸插值扩充。若输入是叠加样本, 则在输入到LogoNet网络前, 需要对触发样本进行分离。

LogoNet的有用类别为2048种, 因此触发样本的目标类别有2048种。但在实际应用中, DNN模型的分类类别会小于LogoNet的分类类别, 因此必须根据目标模型的输出维度调整LogoNet的输出维度。首先, 从目标模型的分类类别中选择一个类别子集作为目标类别集。然后, 对于每个目标类别选择一个触发器样本与之对应。最后, 保留LogoNet与所选触发器样本对应的输出类别, 并舍弃其他未使用的类别, 即对输出向量进行裁剪。

之后将LogoNet输出和目标模型输出相嵌合。假设裁剪后LogoNet输出为F★(w★,β(x) ) ∈Rn, 目标模型输出为F(w,x) ∈Rm, 其中n≤m。对于LogoNet输出向量, 将缺失值填充为0, 如此两个网络的输出维度都等于m, 最后把两个输出向量嵌合成最终的输出向量y→∈Rm。嵌合处理相当于一个开关决定了最终输出中LogoNet和目标模型各自输出的比重。当输入和水印触发模式相关时, 最终结果应由F★决定, 在其他情况下,最终结果应由F决定。嵌合处理可以进行加权平均, 或直接如公式1所示, 给F和F★赋予不同的权重。

θ的值应该比λ大, 因为LogoNet比目标模型的置信度更大。目标模型面对的任务一般比较繁杂, 因此, 目标模型结构较为复杂,精度不会很高,置信度不会很大。最后经过softmax函数对最终输出向量进行计算得到最终概率分布yˆ, 即如公式2所述。

最终已嵌入LogoNet的目标模型实现如图2所示的输入流执行过程, 其中Operation⊙对应了对输出流所做的嵌合处理。采用以上嵌合方式, LogoNet可以快速嵌入任何大型模型中。

图2 LNMMWS水印模型输入流执行过程Figure 2 The input stream execution process of LNMMWS watermark model

4.3 所有权验证

在水印验证阶段, 使用黑盒验证的方式, 只需要通过远程应用程序接口服务验证即可。白盒验证需要知道DNN模型的参数、结构或数据集等信息,这在现实情况中是不切实际的。

本文遵从黑盒场景, 一个模型所有者O, 他拥有用于多个服务 {T0,T1,...,Tn}的多个DNN模型{F0,F1,...,Fn}, 以及一个可疑者I, 他从模型中 建 立 了 一 个 类 似 的 服 务而两个服务具有相似的性能在现实情况中,I可以通过多种方式获取模型Fi,i∈ [ 0,n], 例如, 可能是所有者O被内部攻击导致模型泄露, 或者被恶意窃取并在暗网市场上出售, 或者被用户二次售卖。O如何得到模型Fi,i∈ [0,n]不在本文的研究范围内。

本文将帮助所有者O保护模型Fi,i∈ [ 0,n]的知识产权Ti,i∈ [0,n]。如果模型等价于Fi,i∈ [ 0,n], 并且能够从中验证水印, 就可以确认I是盗版者,抄袭了服务Ti,i∈ [ 0,n]。将多组特定的触发样本发送到服务若预测类别为特定的目标类别, 则验证水印成功。

实验从有效性、稳定性、隐秘性三个角度出发对LNMMWS方案进行评估。针对有效性, 本文提出了5个指标, 并于其他3篇近年相关文献进行了对比评估; 针对稳定性, 本文使用了2种常用水印攻击手段进行了评估; 针对隐秘性, 本文使用了2种常用水印检测方法进行了评估。实验在一台配置AMD R5-5600H、16GB RAM和一块Nvida RTX 3050 GPU的机器上进行。各节实验指标及含义如表2所示, 实验使用的多个目标任务数据集如表3所示。

表2 各节实验指标Table 2 Experimental indicators of each section

表3 目标任务数据集和模型结构Table 3 Target task data set and model structure

5.1 有效性实验及分析

将从ACCbe、ACCem、ACCne、Nr、TC5个方面, 通过LNMMWS与文献[9,16-17]的实验对比证实LNMMWS的有效性。实验结果如图3所示,LNMMWS指本方案模型, Baseline指文献[9]模型,DCT指文献[16]模型, LSB指文献[17]模型。文献[9]不适合水印大型模型, 经过格式化处理后触发图案的相关信息会丢失, 致使无法得到一个精度正常的收敛模型。因此, 图3中对于ImageNet数据集, 缺少Baseline相关的实验结果。

ACCbe的相关实验结果如图3(a)所示。每个数据集对应各个模型的ACCbe较高, 这是因为本实验使用了性能更强的、如表3中的模型结构以应对不同的任务。从图3(a)中看出, 相同数据集的ACCbe略有不同, 这是由于, LNMMWS和文献[9,16-17]的触发集生成方式不同、数据集加载方式不同。

ACCem的相关实验如图3(b)所示。一方面, 每个LNMMWS水印模型的ACCem均可以达到100%。因为首先LogoNet在嵌入目标模型前, 触发集的精度已达到了99.9%; 其次在LogoNet嵌入时, 根据目标模型的输出裁剪了LogoNet输出向量中的无用类别。另一方面, Baseline和DCT水印模型的ACCem相对较低, 因为两者的触发样本是由训练集中选取的图像通过特定修改而生成, 使得触发集和分类任务数据集有一定的关联性, 而LNMMWS和LSB水印方案去除了这种关联性。

ACCne的相关实验如图3(c)所示。LNMMWS方案和文献[9,16-17]的保真性相似。LNMMWS在满足ACCem最优的情况下, 减小LogoNet输出向量的比重, 得到较小的ACCne以确保LNMMWS的保真性。

Nr相关实验如图3(d)所示。LNMMWS的Nr由目标模型的分类类别决定; Baseline的Nr由从训练集中选取的样本比例决定, 比例越小ACCem越差,比例越大Nr越小; DCT和LSB的Nr由水印触发样本个数决定。因此, LNMMWS、DCT、LSB相比于Baseline嵌入水印触发模式的限制更小。图3(d)中LNMMWS、DCT、LSB的Nr相比于Baseline较大。正常模型不会出现较多的水印触发模式,Nr越大所有权验证越可靠。

实验结果图3(a~d)证实了LNMMWS满足DNN水印的普遍要求, 但相比现有方案, LNMMWS的开销更低。TC的相关实验如图3(e)所示。随着数据集规模增大, 文献[9,16-17]水印方法时间开销呈指数级增长。当使用本文提出的LNMMWS方案时, 时间开销固定且大幅度减小, 不随数据集规模的增大而增加。因为在LNMMWS方案中, 首先LogoNet本身网络规模小, 降低了训练开销; 其次, LogoNet结构精简、功能独立, 使得水印可以在多模型间直接复用;再次, LogoNet学习的水印触发模式数量多, 使得LogoNet更易和不同结构的模型相嵌合。

图3 有效性评估Figure 3 Effectiveness evaluation

5.2 稳定性实验及分析

LNMMWS方案对目标模型添加的水印应具有较强的稳定性, 能够抵御模型压缩攻击、模型微调攻击。为此, 从以上两个方面对LNMMWS方案进行评估。

5.2.1 模型压缩攻击下的评估

DNN模型含有大量参数, 其与DNN模型的性能息息相关。模型压缩是为了减少冗余参数, 但不损害DNN模型在其分类任务上的性能[27]。实验评估LNMMWS水印模型, 在面对模型压缩时的稳定性。

分别在MNIST、CIFAR10、GBSTR、ImageNet数据集上对LNMMWS水印模型进行模型压缩实验。从实验结果图4中可以看出, 随着压缩比例的增大ACCaf最终都会受到影响, 不会出现ACCem很低而ACCaf保持不变的情况, 并且ACCaf比ACCem更易受到影响。因为相比于识别水印触发样本, 目标模型处理分类任务需要更多的参数。

图4 模型压缩攻击Figure 4 Model compression attack

5.2.2 模型微调攻击下的评估

训练新模型, 需要大量的数据和计算资源, 如果能够使用预训练模型, 效率将极大提升。盗版者可能使用少量的相关性较强或大量相关性较弱的新数据, 对其窃取的模型进行微调训练以得到新的模型。实验评估LNMMWS水印模型, 在面对模型微调时的稳定性。

文献[9]原实验中使用MNIST和CIFAR10数据集中的一半测试集进行各自模型的微调训练及测试, 这导致测试集样本数减少, 训练模型的原始训练集和微调训练集有较强的关联性。如此设置实验容易导致过拟合, 其在MNIST数据集上得到的ACCaf99.6%和%不具有实际意义。在实际场景中, 不易获得与原训练数据关联性较强的数据, 为此将LNMMWS水印的ImageNet数据集目标模型使用CIFAR10和CIFAR100进行微调训练。CIFAR100与CIFAR10相似, 但CIFAR100类别更多, 共有100个类别, 50000张训练图像, 10000测试图像。

表4 模型微调攻击Table 4 Model tuning attack

5.3 隐秘性实验及分析

LNMMWS方案对目标模型添加的水印应当是隐秘的, 即不应被一些触发模式检测方法检测到。如果被检测到, 就会增加水印被移除的风险。如下使用检测方法[19-20]评估LNMMWS方案的隐秘性。

5.3.1 评估Neural Cleanse方法检测

实验使用Neural Cleanse方法[19]来检测未知DNN模型是否含有水印。Neural Cleanse方法使用AI评估模型是否异常, Neural Cleanse方法将AI的阈值设定为2, 即AI大于2的模型认定为异常模型,否则认为模型正常。

由于并没有在ImageNet数据集上得到文献[9]模型,所以没有测试ImageNet文献[9]模型的异常指数, 其他模型的异常指数, 如图5所示。Clean指未添加水印的干净模型、LNMMWS指本方案水印模型、Baseline指文献[9]水印模型。可以看出相比于文献[9], LNMMWS方案所水印的模型更不容易检测到。LNMMWS方案更加隐秘的原因是, LogoNet只对特定的输入有反应,并且通过抗噪训练, 提高了LogoNet的抗干扰能力。

图5 AIFigure 5 Anomaly index

图6是使用Neural Cleanse方法对在GTSRB数据集上的Clean、LNMMWS、Baseline模型逆向生成的触发图案。图6(a)是Baseline模型的触发器样本中所嵌入的触发图案, 即包含该图案的样本都会被预测为目标类别, 在该模型中目标类别被指定为7。图6(c)是对Baseline模型使用Neural Cleanse方法逆向生成的触发图案, 可以看出其与图6(b) Clean模型逆向生成的触发图案差别很大。对于Baseline模型, 其类别7所包含的水印触发模式可以被Neural Cleanse方法检测到, 并被认定为异常类别, 这于图5中GTSRB数据集的Baseline模型有较高的异常指数相对应。而对于LNMMWS模型, 针对类别7逆向生成的触发图案如图6(d)所示, 可以看出其与图6(b)相似度较高。事实上LNMMWS水印模型的每个标签都包含了特定的水印触发模式, 并且它们都不会被Neural Cleanse方法检测到。以上实验证实了相比于文献[9], LNMMWS方案的隐秘性更强。

图6 文献[19]方法逆向生成的触发图案Figure 6 The trigger pattern of literature [19] approach reverse generate

5.3.2 评估Strip方法检测

模型具有良好性能通常是指其对正常的样本具有较高的精度, 但是其在对抗性样本上会预测错误并且错误是随机的, Strip方法[20]用H描绘这种随机性。制作对抗性样本并对每个模型绘制其多组预测结果H的分布。M个样本预测结果H的计算公式如公式3所示。

如图7所示, Clean指未水印模型, LNMMWS指本方案水印模型。每个任务的不同模型H分布有所不同, 是因为相同任务不同模型的权重参数不同。但这并不会导致已经嵌入LogoNet的模型被检测到,因为盗版者不可能完全获取到LNMMWS水印前后模型的全部信息。

图7 对抗性样本的H分布Figure 7 H distribution of adversarial samples

本文基于多模型水印场景, 提出一种基于标志网络LogoNet的深度学习多模型水印方案LNMMWS。在生成触发集和噪声集上训练, 得到具有较高水印触发模式识别精度、噪声处理能力的LogoNet。之后将LogoNet嵌入多个目标模型中进行水印处理, 使用黑盒水印验证方法以实现所有权验证。实验及分析表明, LNMMWS在有效性、稳定性、隐秘性三个方面, 获得了较好的精度和更低的时间开销, 能够抵御模型压缩攻击、模型微调攻击, 对某些触发模式检测具有较好的隐蔽性。下一步的研究目标是对如何选用不同目标模型、不同嵌入方式的水印算法形成统一的评估指标, 并对比更多经典水印方案。

猜你喜欢类别样本方案烂脸了急救方案好日子(2022年3期)2022-06-01用样本估计总体复习点拨中学生数理化·高一版(2021年2期)2021-03-19推动医改的“直销样本”知识经济·中国直销(2018年8期)2018-08-23壮字喃字同形字的三种类别及简要分析民族古籍研究(2018年1期)2018-05-21定边:一份群众满意的“脱贫答卷” 一种提供借鉴的“扶贫方案”陕西画报(2018年6期)2018-02-25随机微分方程的样本Lyapunov二次型估计数学学习与研究(2017年3期)2017-03-09村企共赢的样本中国老区建设(2016年1期)2016-02-28服务类别新校长(2016年8期)2016-01-10多类别复合资源的空间匹配浙江大学学报(工学版)(2015年1期)2015-03-01中医类别全科医师培养模式的探讨中国中医药现代远程教育(2014年16期)2014-03-01

推荐访问:水印 深度 多模