图像内容混淆的制作方法


图像内容混淆


背景技术:



1.存在用于计算机对图像进行分类的技术。计算机分类器可以是计算密集型的,并且通常与云计算资源一起运行。即使在加密状态下,通过网络传送训练图像或待分类的图像也会造成特定的安全风险。如果恶意实体能够获得加密密钥,则可以对加密图像进行解密和查看。换言之,原始图像是通过加密/解密处理来保护的。即使正在传送的图像数据被解密,也需要以图像不可再现的形式跨网络传送图像数据。


技术实现要素:



2.提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在孤立地用于帮助确定所要求保护的主题的范围。
3.本文中所描述的技术通过在将图像内容从本地计算系统传送到远程分类器之前混淆(obfuscate)图像内容来增加图像安全性。本文中所描述的技术在将经混淆的图像内容传送到用于内容分类的第二神经网络之前,使用第一神经网络来混淆图像内容。经混淆的图像内容在本文中可以被描述为经转换的对象。经转换的对象可以跨网络被传送到分类器,该分类器使用经转换的对象作为输入来分配分类。生成经转换的对象的神经网络可以在本地计算机系统上运行。分类器可以在远程计算系统中运行,该远程计算系统由诸如互联网的计算机网络和/或诸如经由usb盘的物理数据交换来连接到本地计算机系统。本地神经网络与远程神经网络一起能够对图像进行分类,而图像或可以被反向工程以重建图像的任何数据对象都不离开本地计算机系统。在一些方面中,本地计算系统可能比远程计算系统能力更低。例如,远程计算系统可以访问更高功率的图形处理设备或能够进行更高效的图像分类的其他专用硬件。
4.该技术通过避免传送图像或数据对象的需要来改进计算系统(尤其是分布式计算系统)的数据安全性,该图像或数据对象可以被反向工程以重建图像。该技术可以与被设计为在传送过程或存储期间与保护数据的加密以及其他安全机制相结合。例如,在从本地计算系统传送到远程计算系统以用于进一步处理之前,可以加密不能从其再现图像的经转换的对象。现有的加密和拒绝访问技术提供了一定等级的数据安全性,但是任一技术的失败都会导致数据破坏。此外,在分布式环境中,本地系统和远程系统两者都需要被保护以防攻击。任一系统的故障都会导致数据破坏。本技术可以通过移除作为访问图像的可能的安全故障点的远程环境,来为图像数据的远程处理添加额外的保护层。因为在传送到远程系统之前该图像已经被混淆,所以远程系统实际上不能访问图像。从远程系统获得的任何经转换的对象不能被用于精确地再现图像。
5.该技术的各方面可以通过执行与多维数组中的每个值相关联的空间信息的确定性加扰(scramble)来将从本地神经网络输出的多维数组转换为经转换的对象。确定性加扰可以通过采用种子作为输入的混排(shuffle)算法来执行。种子控制混排,使得给定相同种子,将出现相同的空间混排。在本文中所描述的技术的多个方面中,种子被维持在本地计算
系统上,并且不被对经转换的对象执行分类操作的远程系统以任何方式共享或使用。多维数组和经转换的对象可以具有相同的整体大小(例如,7
×7×
512)和所有相同的值。然而,作为确定性加扰的结果,与这些值相关联的空间信息将是不同的。
6.作为加扰的备选或附加,该技术的各方面可以通过执行多维数组中的值的确定性删除来将从本地神经网络输出的多维数组转换为经转换的对象。确定性删除可以通过生成确定性排列的1和0的掩码来执行。然后将掩码与多维数组相乘以产生经转换的对象。乘以零的数据被有效地删除。掩码可以包括大于10%的零,诸如20%的零、30%的零或50%的零。掩码生成过程可以包括每层零的上阈值和/或下阈值。例如,阈值可以是该层必须包括至少5%的零,但不大于30%的零。可以使用种子作为输入来生成1和0的确定性排列。一旦生成了掩码,就可以将其用于训练分类器和操作两者中。多维数组和经转换的对象可以具有相同的整体大小(例如,7
×7×
512),但是具有较少的数据。
7.经转换的对象有效地混淆原始图像,因为不能以合理的精度从经转换的对象再现该图像。然后,经转换的对象可以被传送到远程计算系统中的远程分类器以用于分类。
8.本文中所描述的技术的各方面可以使用两个单独的训练过程。最初,可以使用相似的训练数据在远程计算系统中训练完整的神经网络。该经训练的模型可以用作本地模型。使用从本地模型输出的经转换的对象来训练远程模型。来自本地计算系统的经标记的训练图像被提供给本地模型并且被用于生成经转换的对象。然后将经转换的对象和与图像相关联的标签传送到远程计算系统以训练远程分类器。例如,如果目标是训练模型以识别图像中的某些个体,则这些个体的图像由本地模型来处理以生成传送到远程计算系统的经转换的对象。
9.一旦训练完成,图像就可以由本地神经网络来处理以生成经转换的对象,然后被传送到远程计算系统以由远程分类器来处理以及最终的标签分配。然后,将分类传送回本地计算系统。
附图说明
10.下文参考附图详细描述本文中所描述的技术的各方面,其中:
11.图1是适合于实现本文中所描述的技术的各方面的示例操作环境的框图;
12.图2是描绘适合于实现本文中所描述的技术的各方面的示例计算架构的图;
13.图3是描绘根据本文中所描述的技术的方面的本地模型的图;
14.图4是描绘根据本文中所描述的技术的方面的通过确定性加扰来生成经转换的对象的图;
15.图5是描绘根据本文中所描述的技术的方面的使用混淆图像数据的远程分类器的训练的图;
16.图6是描绘根据本文中所描述的技术的方面的使用处理经混淆的图像数据的远程分类器来对图像进行分类的图;
17.图7描绘了根据本文中所描述的技术的方面的用于混淆图像内容的方法的流程图;
18.图8描绘了根据本文中所描述的技术的方面的用于混淆图像内容的方法的流程图;
19.图9描绘了根据本文中所描述的技术的方面的用于混淆图像内容的方法的流程图;
20.图10是适合于实现本文中所描述的技术的方面的示例性计算环境的框图;
21.图11描绘根据本文中所描述的技术的方面的用于混淆图像内容的方法的流程图;
22.图12描绘根据本文中所描述的技术的方面的用于混淆图像内容的方法的流程图;
23.图13描绘根据本文中所描述的技术的方面的用于混淆图像内容的方法的流程图;
24.图14是描绘根据本文中所描述的技术的方面的通过确定性删除来生成经转换的对象的图;
25.图15是描绘根据本文中所描述的技术的方面的使用经混淆的图像数据的远程分类器的训练的图;以及
26.图16是描绘根据本文中所描述的技术的方面的使用处理经混淆的图像数据的远程分类器对图像进行分类的图。
具体实施方式
27.本文中所描述的技术的各方面的主题在本文中被具体描述以满足法定要求。然而,该描述本身并不旨在限制本专利的范围。相反,本发明人预期所要求保护的主题也可以以其他方式结合其他当前或未来的技术来体现,以包括与本公开中所描述的步骤相似的不同步骤或步骤组合。此外,尽管术语“步骤”和/或“框”在本文中可以被用于表示所采用的方法的不同元素,但除非并且除了明确描述个别步骤的次序之外,所述术语不应当被解释为暗示本文所公开的各个步骤之间或之中的任何特定次序。
28.在本文中所描述的技术通过在将图像内容从本地计算系统传送到远程分类器之前混淆图像内容来增加图像安全性。本文中所描述的技术在将经混淆的图像内容传送到用于内容分类的第二神经网络之前使用第一神经网络来混淆图像内容。经混淆的图像内容在本文中可以被描述为经转换的对象。经转换的对象可以跨网络被传送到分类器,该分类器使用经转换的对象作为输入来分配分类。生成经转换的对象的神经网络可以在本地计算机系统上运行。分类器可以在远程计算系统中运行,该远程计算系统由诸如互联网的计算机网络和/或诸如经由usb盘的物理数据交换来连接到本地计算机系统。本地神经网络与远程神经网络一起能够对图像进行分类,而图像或可以被反向工程以重建图像的任何数据对象都不离开本地计算机系统。在一些方面中,本地计算系统可能比远程计算系统能力更低。例如,远程计算系统可以访问更高功率的图形处理设备或能够进行更高效的图像分析的其他专用硬件。
29.该技术通过避免传输图像或数据对象的需要来改进计算系统(尤其是分布式计算系统)的数据安全性,该图像或数据对象可以被反向工程以重建图像。该技术可以与被设计为在传送过程或存储期间保护数据的加密和其他安全机制相结合。例如,在从本地计算系统传送到远程计算系统以用于进一步处理之前,可以加密不能从其精确再现图像的经转换的对象。现有的加密和拒绝访问技术提供了一定等级的数据安全性,但是任一技术的失败都会导致数据破坏。此外,在分布式环境中,本地和远程系统两者都需要被保护以防攻击。任一系统的故障都会导致数据破坏。本技术可以通过移除作为访问图像的可能的安全故障点的远程环境,来为图像数据的远程处理添加额外的保护层。因为在传送到远程系统之前
该图像已经被混淆,所以远程系统实际上不能访问图像。从远程系统获得的任何经转换的对象不能用于精确地再现图像。
30.该技术的各方面可以通过执行与多维数组中的每个值相关联的空间信息的确定性加扰来将从本地神经网络输出的多维数组转换为经转换的对象。确定性加扰可以通过采用种子作为输入的混排算法来执行。种子控制混排,使得给定相同种子,将出现相同的空间混排。在本文中所描述的技术的多个方面中,种子被维持在本地计算系统上,并且不被对经转换的对象执行分类操作的远程系统以任何方式共享或使用。多维数组和经转换的对象可以具有相同的整体大小(例如,7
×7×
512)和所有相同的值。然而,作为确定性加扰的结果,与这些值相关联的空间信息将是不同的。
31.作为加扰的备选或附加,该技术的各方面可以通过执行多维数组中的值的确定性删除来将从本地神经网络输出的多维数组转换为经转换的对象。确定性删除可以通过生成确定性排列的1和0的掩码来执行。然后将掩码与多维数组相乘以产生转换的对象。乘以零的数据被有效地删除。掩码可以包括大于10%的零,诸如20%的零、30%的零或50%的零。掩码生成过程可以包括每层零的上阈值和/或下阈值。例如,阈值可以是该层必须包括至少5%的零,但不大于30%的零。可以使用种子作为输入来生成1和0的确定性排列。一旦生成了掩码,就可以将其用于训练分类器和操作两者中。多维数组和经转换的对象可以具有相同的整体大小(例如,7
×7×
512)。
32.经转换的对象有效地混淆原始图像,因为不能以合理的精度从经转换的对象再现该图像。图像不能被再现,因为来自图像的空间信息已经被有效地从经转换的对象中的值中移除。概念上,经转换的对象中的每个值表示由本地神经网络执行的一系列特征标识操作的结果。例如,操作可以在相邻图像像素的块中寻形状、颜以及其他图像特征。这些值可以被反向工程,以显示原始图像中的颜和形状。如果可以使用空间信息将值映射到它们的原始位置,则可以通过显示指示表示形状和颜的值来至少近似地再现图像。重要的是,可以在这些经反向工程的图像中标识图像内容。没有空间信息,颜和形状可能能够被再现,但是形状和颜无法被映射回它们在图像中的原始点。因此,对经转换的对象进行反向工程的结果是彩和形状的混乱,而没有它们相互之间的原始空间关系。删除数据与空间重新混排相结合进一步混淆了原始图像。备选地,删除数据而不进行重新混排可以有效地混淆图像。
33.如本文中所使用的,神经网络包括至少三个操作层。这三层可以包括输入层、隐藏层和输出层。每层包括神经元。输入层神经元将数据传递到隐藏层中的神经元。隐藏层中的神经元将数据传递到输出层中的神经元。然后输出层产生不同形式的输出。不同类型的层和网络以不同的方式连接神经元。
34.每个神经元具有权重、给定输入(包括权重)情况下限定神经元的输出的激活函数以及输出。权重是使神经网络产生正确输出的可调参数。在训练期间权重被调整。一旦训练完成,与给定神经元相关联的权重可以维持固定。响应于给定输入(例如,图像),在神经元之间传递的其他数据可以改变。
35.神经网络可以包括多于三层。具有多于一个隐藏层的神经网络可以被称为深度神经网络。可以与本文中所描述的技术的各方面一起使用的示例神经网络包括但不限于多层感知器(mlp)网络、卷积神经网络(cnn)、递归神经网络、循环神经网络以及长短期记忆
(lstm)(这是递归神经网络类型)。本文中结合附图描述的实现使用卷积神经网络,但是该技术的各方面可以应用于其他类型的分类技术。
36.在本技术的多个方面中,本地神经网络接收本地图像并且创建诸如多维数组的数字表示。在一方面中,数字表示是三维数组。在三维数组中,数组中的每个值与由三个空间值所限定的空间信息相关联。三维数组可以被认为是一组二维数组。限定三维数组中的值的空间位置的三个空间值可以包括限定单个数组内的行的第一值、限定同一数组内的列的第二值以及可以标识该数组的第三值。因此,三维数组中的单个值可以被表示为0.5(1,7,35),其中“0.5”是该值,“1”表示行,“7”表示列,“35”表示数组。
37.本文中所描述的技术的各方面可以使用两个分离的训练过程。最初,可以使用模拟训练数据在远程计算系统中来训练完整的神经网络。该模型在本文中可以被描述为模拟模型或本地模型。例如,如果已完成的系统的目标是通过面部识别来标识某些人,则可以在面部识别数据库上训练模拟模型。这应当允许模型开发识别相关面部特征的权重以用于识别。然后将模拟模型传送到本地计算系统。
38.使用从本地模型输出的经转换的对象来训练远程模型。因此,在使用加扰时,使用不包括特征的绝对空间信息(原点)或与其他特征的相对空间信息(如由值指示的)的训练数据来训练远程模型。在使用删除时,使用包括所有检测到的特征的训练数据来训练远程模型。来自本地计算系统的经标记的训练图像被馈送给本地模型以及用于生成经转换的对象。然后将经转换的对象和与图像相关联的标签传送到远程计算系统以训练远程分类器。例如,如果目标是训练模型以识别图像中的某些个体,则这些个体的图像由本地模型处理以生成传送到远程计算系统的经转换的对象。在产生经转换的对象的图像中描绘的针对个体的标识信息(例如,标签)被传送给经转换的对象。
39.一旦完成训练,未标记的图像可以被本地神经网络处理以生成经转换的对象,然后被传送到远程计算系统用于由远程分类器处理和最终的标签分配。然后将分类传送回本地计算系统。
40.现在转到图1,提供了示出其中可以采用本公开的一些方面的示例操作环境100的框图。应当理解,本文中所描述的这种和其他布置仅作为示例阐述。除了示出的布置和元素之外或者代替示出的布置和元素,可以使用其他布置和元素(例如,机器、接口、功能、顺序和功能分组等),并且为了清楚起见,可以完全省略一些元素。此外,本文中所描述的许多元素是功能性实体,其可以被实现为分立的或分布式的组件或与其他组件结合,以及以任何合适的组合和位置来实现。本文中所描述的由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行存储在存储器中的指令的处理器来执行。
41.在未示出的其他组件中,示例操作环境100包括多个用户设备,诸如用户设备102a以及102b至102n;多个数据源,诸如数据源104a以及104b至104n;本地计算系统108;远程服务器106;以及网络110。应当理解,图1所示的环境100是一个适当的操作环境的示例。图1所示的组件中的每个组件可以经由任何类型的计算设备来实现,诸如结合图10描述的计算设备1000。这些组件可以经由网络110相互通信,网络110可以包括但不限于一个或多个局域网(lan)和/或广域网(wan)。在示例性实现中,网络110包括互联网和/或蜂窝网络,以及任何各种可能的公共和/或专用网络中。
42.用户设备102a以及102b至102n可以是操作环境100的客户端侧的客户端设备,而服务器106可以在操作环境100的服务器侧。用户设备可以发送和接收包括图像的信息、生成图像以及存储图像。这些图像可以被传送到数据存储库104,数据存储库104可以是本地数据存储库。用户设备102可以生成用于控制包括服务器106组件以及本地计算系统108组件在内的其他组件的用户界面。本地计算系统108可以包括不经由网络110连接的直接连接的用户设备。在一些方面中,用户设备102可以是用户信息的来源,诸如位置信息(例如,gps)、日历信息、通信信息以及可以利用图像来处理的其他元数据。
43.服务器106可以包括服务器侧软件,该服务器侧软件被设计为与用户设备102a以及102b至102n以及本地计算系统108上的客户端侧软件一起工作,以便实现本公开中所讨论的特征和功能的任何组合。例如,服务器106可以运行诸如远程系统280的远程分类器,该远程分类器基于从运行在本地计算系统108上的本地神经网络处接收的经转换的对象来对图像进行分类。服务器106可以在远程计算系统中操作以及包括用于操作模型的多个硬件设备,该硬件设备包括多个图形处理单元(gpu),其可以被描述为gpu农场。提供操作环境100的这种划分是为了说明适当环境的一个示例,并且对于每个实现不要求服务器106与用户设备102a以及102b至102n的任何组合维持为分离的实体。
44.用户设备102a以及102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一方面中,用户设备102a至102n可以是本文中关于图10所描述的计算设备的类型。作为示例而非限制,用户设备可以被实现为个人计算机(pc)、膝上型计算机、移动电话或移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、虚拟现实耳机、增强现实眼镜、个人数字助理(pda)、mp3播放器、全球定位系统(gps)或设备、视频播放器、手持通信设备,游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站或这些所描绘的设备的任何组合,或任何适当的设备。
45.数据源104a以及104b至104n可以包括数据源和/或数据系统,该数据源和/或数据系统被配置为使数据可以用于操作环境100的各种组件中的任何组件,或可以用于结合图2所描述的系统200。(例如,在一方面,一个或多个数据源104a至104n向图2的本地计算系统240提供(或可用于访问)图像。)数据源104a以及104b至104n可以与用户设备102a以及102b至102n以及服务器106分离,或者可以被合并和/或集成到这些组件中的至少一个组件中。
46.本地计算系统108可以提供用来运行本地计算系统240的资源。本地计算系统108可以与单个实体相关联,诸如企业或政府机关。数据源104a至104n可以包括与本地计算系统108相关联的本地数据源。
47.操作环境100可以被用于实现图2中所描述的系统200的组件中的一个或多个组件。
48.现在参考图2,结合图1,提供了示出适合于实现本文中所描述的技术的一方面的示例计算系统架构的各方面的框图,并且一般特指系统200。系统200仅表示适当的计算系统架构的一个示例。除了所示出的布置和元素之外或者代替所示出的布置和元素,可以使用其他布置和元素,并且为了清楚起见可以完全省略一些元素。此外,与操作环境100一样,本文中所描述的多个元素是功能性实体,其可以被实现为分立的或分布式的组件或与其他组件结合,以及以任何合适的组合和位置来实现。
49.示例系统200包括结合图1所描述的网络110,该网络110通信地耦合包括本地系统
240和远程系统280的系统200的组件。远程系统280(包括其组件281、282、285、286和288)和本地系统240(包括其组件241、242、244、246、250和252)可以被体现为经编译的计算机指令或功能、程序模块、计算机软件服务或在诸如结合图10所描述的计算设备1000的一个或多个计算机系统上执行的进程的布置的集合。
50.此外,这些组件、由这些组件执行的功能或由这些组件执行的服务可以在(多个)合适的抽象层处被实现,诸如(多个)计算系统的操作系统层、应用层、硬件层等。备选地或附加地,本文中所描述的这些组件的功能和/或技术的各方面可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的说明性类型包括现场可编程门数组(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统的系统(soc)、复杂可编程逻辑设备(cpld)等。附加地,尽管本文中描述了关于示例系统200中示出的特定组件的功能,但是可以设想,在一些方面,这些组件的功能可以跨其他组件被共享或分布。
51.本地系统240通过利用本地模型242来处理图像来生成经转换的对象。本地系统240包括训练数据241、本地模型242、经转换的对象管理器244、确定性加扰组件246、删除组件248、未分类图像250、图像分类管理器252以及归一化组件254。
52.训练数据241包括经标记的图像。每个经标记的图像的(多个)标签可以对应于图像中可见地描绘的对象和/或对象的特性。例如,可以用“猫”标签来标记猫的图像。猫的特性可以包括猫品种、毛发颜、毛发长度、大小或活跃状况。所有这些特性可以形成针对图像的分离的标签。因此,图像可以具有多个标签。标签可以由观看图像的人来分配。具有多个对象的图像可以具有被标记的单个对象。这些标签可以标识描绘与该标签相关联的对象的图像区域。如更详细解释的,训练数据241被用于训练神经网络以识别未分类图像中的相似对象。例如,猫的图像可以被用于训练远程神经网络以识别其他图像中的猫。
53.本地模型242可以是被训练以对图像进行分类的神经网络。在一方面中,本地模型242包括能够对图像进行分类的神经网络,除了其不包括s型生长曲线函数、角可视化硬度函数或用于计算一系列类别指示(诸如,置信因子)的其他函数。本地模型242的输入层接收图像并且产生映射到后续层的输出。后续层相似地产生输出,该输出在本文中也可以被描述为多维数组。可以在层之间传递一系列多维数组,直到生成多维数组形式的最终输出。多维数组被传递到确定性加扰组件246,确定性加扰组件246生成经转换的对象。备选地,多维数组被传递到确定性删除组件248,确定性删除组件248生成经转换的对象。在多个方面中,确定性加扰组件246可以与确定性删除组件248结合使用。
54.可以使用模拟训练数据在远程计算系统中远程地训练本地模型242。例如,如果实体希望将其经标记的猫图像的数据库维持在本地系统上,则公共可用的猫图像的数据库可以被用作模拟训练数据来训练模拟模型,诸如图3所示的本地模型300。注意,在该示例中,训练数据241不被用于训练本地模型242。本地模型242可以被用于从训练数据241中生成用于训练远程分类器286的经转换的对象。
55.经转换的对象管理器244将经转换的对象传送到远程系统280。经转换的对象管理器244还可以在远程分类器286的训练期间利用经转换的对象来传送图像标签。在训练数据由本地模型242处理时,与用于生成经转换的对象的图像相关联的标签也被传送到远程系统280。
56.经转换的对象管理器244可以将标识分配给经转换的对象。可以由图像分类管理
器252使用该标识来将远程系统280提供的标签与未分类图像相关联。例如,经转换的对象可以由本地模型242从图像中生成。经转换的对象可以与标识相关联,该标识可以用于将经转换的对象与用于生成经转换的对象的图像相关联。经转换的对象可以与针对经转换的对象的标识信息一起从经转换的对象管理器244传送到远程系统280。在使用经转换的对象作为输入来生成分类时,远程系统280可以将分类连同标识一起传送到图像分类管理器252。然后,图像分类管理器252可以使用标识信息来将所提供的分类与图像相关联。然后,新的分类可以由本地系统240的用户以各种方式访问。例如,可以运行标识分配给特定类的所有图像的报告。查询函数可以通过分类和其他特征来指定图像。过滤器可以将分类作为过滤标准。
57.确定性加扰组件246对由本地模型242生成的多维数组执行加扰操作以生成经转换的对象。参考图4、图5和图6来更详细地描述加扰操作。
58.确定性删除组件248执行删除操作以生成经转换的对象。删除操作从由本地模型242生成的多维数组中删除阈值数量的数据。参考图14、图15和图16来更详细地描述删除操作。确定性加扰组件246和确定性删除组件248可以被用作备选或组合。任一项都可以生成不具有其他组件的经转换的对象。备选地,可以组合加扰和删除操作以生成单个经转换的对象。
59.未分类图像250是将由本地系统240与远程系统280共同努力来进行分类的图像的集合。未分类图像250被馈送给本地模型242并且用于生成经转换的对象。经转换的对象从经转换的对象管理器244传送到经转换的对象接收器281。经转换的对象可以由归一化组件282来进行归一化,并且然后输入到远程分类器286。远程分类器286使用经转换的对象作为输入来分配分类。分类可以被传送回图像分类管理器252,并且与被用于生成相关联的经转换的对象的图像相关联。
60.图像分类管理器252接收来自远程系统280的分类信息。然后,图像分类管理器252将该分类与图像相关联,该图像被用于生成由远程系统280处理以生成分类的经转换的对象。
61.归一化组件254对经转换的对象中的值执行归一化操作。归一化组件可以位于本地系统240和/或远程系统280上。图2中示出了两个归一化组件以说明这一点。在多个方面中,执行单个归一化操作,并且其可以在本地侧或远程侧执行。归一化的目的是将值限制到特定的范围。例如,将每个值归一化到0与1之间的范围可能是有利的。本文中所描述的技术可以使用不同的归一化过程。在一方面中,归一化操作通过使用在训练数据内到的最大值和最小值来从值(v)生成经归一化的值(vn)。可以基于经转换的对象内的每个位置来确定最大值和最小值。例如,为了归一化在数组234的第4行第6列到的值,可以确定在从训练图像中生成的任何经转换的对象中在数组234的第4行第6列到处的最大值和最小值。然后,可以通过从正被归一化的值(v)中减去到的最小值来进行归一化。然后,该差值可以除以最大值与最小值之间的差值。归一化可以被表示为公式(vn)=(v-min)/(max-min)。可以针对经转换的对象内的每个值重复该过程。在一方面中,最小值和最大值来自从训练数据生成的经转换的对象内的任意位置。
62.远程系统280通过将从本地系统240接收的经转换的对象作为输入来为图像分配分类。远程系统可以包括通过计算机网络与本地系统240相分离的一个或多个数据中心。远
程系统280包括经转换的对象接收器281、归一化组件282、模型训练组件285、远程分类器286以及模型输出管理器288。
63.模拟训练数据被用于训练模拟模型。模拟模型的训练可以发生在可能位于数据中心中的远程系统中,然后模拟模型被传送到本地系统。如上所述,本文中所描述的技术的目标是在本地计算系统上维持敏感图像,而不是将它们传送到远程计算系统以供处理或训练。这意味着训练数据241中也可能是敏感的图像可能不会被传送到远程系统280来训练远程或本地神经网络。相反,使用由处理训练数据的本地系统生成的经转换的对象来训练远程系统。用于训练本地系统的模拟训练数据包括与最终将被分类的图像中的主题相似的主题的经标记的图像。通常,神经网络以为每个节点分配初始权重值的随机值开始。在训练期间,神经网络重新计算这些值,因为不同的图像特征被证明在预测分类中具有更大的价值。因此,由使用模拟训练数据的模拟模型分配的权重提供合理的权重,以用于分类相似的图像。
64.归一化组件282对经转换的对象中的值执行归一化操作。归一化组件可以位于本地系统240和/或远程系统280上。图2中示出了两个归一化组件以说明这一点。在多个方面中,执行单个归一化操作,并且其可以在本地侧或远程侧执行。归一化的目的是将值限制到特定的范围。例如,将每个值归一化到0与1之间的范围可能是有利的。本文中所描述的技术可以使用不同的归一化过程。在一方面中,归一化操作通过使用在训练数据内到的最大值和最小值来从值(v)生成经归一化的值(vn)。可以基于经转换的对象内的每个位置来确定最大值和最小值。例如,为了归一化在数组234的第4行第6列到的值,可以确定在从训练图像中生成的任何经转换的对象中在数组234的第4行第6列处到的最大值和最小值。然后,可以通过从正被归一化的值(v)中减去到的最小值来进行归一化。然后,该差值可以除以最大值与最小值之间的差值。归一化可以被表示为公式(vn)=(v-min)/(max-min)。可以针对经转换的对象内的每个值重复该过程。在一方面中,最小值和最大值来自从训练数据生成的经转换的对象内的任何位置。
65.经转换的对象接收器281接收来自经转换的对象管理器244的经转换的对象。然后,经转换的对象接收器281将经转换的对象传送到归一化组件282以用于归一化。然后,将经归一化的经转换的对象传送到远程分类器286以用于处理。
66.模型训练组件285训练远程分类器286。模型训练组件285使用从训练数据241中生成的经转换的对象来训练远程分类器286。在各类型的深度模型中,训练是用于将模型输出拟合到训练数据。特定地,可以通过训练来更新与模型中的每个神经元相关联的权重。最初,模型可以包括随机权重值,该随机权重值可以在训练期间被调整。在一方面中,使用反向传播来训练模型。反向传播过程包括正向传递、损失函数、反向传递以及权重更新。针对每个训练图像重复该过程。目标是更新每个神经元(或其他模型组件)的权重,以使模型产生映射到正确标签的输出。每个经标记的图像被输入到模型并且用于训练该模型。一旦足够数目的训练图像被馈送到分类器286,则训练可以停止。然后,远程分类器286可以被用于对未标记的图像进行分类。
67.远程分类器286可以是独立的神经网络。远程分类器286包括输出分类统计的函数。示例函数包括s型生长曲线(sigmoid)层或角硬度函数。远程分类器286可以如参考图5所描述的那样被训练。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。这些
操作的不同布置是可能的。
68.在一方面中,远程分类器286是九层卷积神经网络。第一层可以是具有大小为7
×7×
512的输入层。输入层中的大小可以具有与经转换的对象相同的大小。第二层可以是大小为5
×5×
256的2d卷积层。第三层可以是大小为5
×5×
128的2d卷积层。第四层可以是大小为5
×5×
128的整流线性单元“relu”激活层。第五层可以是大小为5
×5×
128,但以50%落差来训练的relu激活层。第六层是将来自第六层的三维数据数组转换成向量的平坦层。在这种情况下,在输入是三维数组时,向量输出可以是640
×
640。第七层可以是致密层。第八层可以是致密层。第九层和最后一层可以是分配分类统计的s型生长曲线函数,诸如针对不同分类的置信度得分。
69.使用从本地模型输出的经转换的对象来训练远程分类器。因此,在通过加扰来生成经转换的对象时,使用不包括特征的绝对空间位置(图像中的原点区域)或相对于其他特征的相对空间位置的训练数据来训练远程模型。通常,在执行内容分类时,特征的空间关系是重要的信号,并且在没有空间信息的情况分类性能预计会下降低。然而,由于用于生成经转换的对象的确定性加扰,因此以不需要实际空间信息的方式来训练本文中所描述的技术。确定性加扰移除特征值与图像的空间关系。然而,确定性加扰的使用以与每个图像相同的方式发生。这意味着每当生成经转换的对象时,特征值以完全相同的方式从一个位置移动到另一位置。这允许为了分类的目的而保留内容模式,即使它们不在空间上映射到原始图像。通常情况下,在相邻或空间相关的神经元中不会发现这些内容模式。但是,对于人来说看起来完全随机的图案仍然可以通过训练来学习,因为图案从经转换的对象到经转换的对象是一致的。
70.模型输出管理器288接收来自远程分类器286的分类并且将该分类传送到图像分类管理器252。分类可以与未分类图像250中的图像相关联。为了帮助该处理,相同的标识可以与图像、从图像生成的经转换的对象以及从经转换的对象生成的分类相关联。这样,分类可以与原始图像相关联。
71.现在转到图3,示出了示例性本地模型架构300。本地模型架构300可以由本地模型242使用。所示的本地模型架构300是卷积深度网络,但是在本发明的多个方面中可以使用其他模型类型。本地模型架构300遵循vgg-16架构。本地模型包括21个层,该21个层包括13个卷积层、5个最大池化层以及3个全连接层。
72.卷积层包括第一卷积层306、第二卷积层308、第三卷积层312、第四卷积层314、第五卷积层318、第六卷积层320、第七卷积层322、第八卷积层326、第九卷积层328、第十卷积层330、第十一卷积层334、第十二卷积层336以及第十三卷积层338。第一卷积层306和第二卷积层308各有64个过滤器。第三卷积层312和第四卷积层314各有128个过滤器。第五卷积层318、第六卷积层320和第七卷积层322各包括256个过滤器。剩余的卷积层具有512个过滤器。
73.最大池化层340之后是三个全连接层(第一全连接层340、第二全连接层342以及输出层344)。第一卷积层306作为输入层,并且可以接收224
×
224像素的图像。每个池化层(310、316、324、332以及338)执行2
×
2池化操作。本文中所描述的技术的各方面不限于该布置。
74.输入层将图像转换为可以由第一卷积层306处理的数据。在一方面,输入层包括被
分为三层的数组。数组中的每个节点表示图像中的像素。每个数组表示红、绿或蓝。在红数组中,节点可以是与节点的像素相关联的红的强度。这样,每个像素由三个节点来表示;输入层内的每个子层中有一个节点。输入层302没有充分地将图像数据混淆,因为可以使用存储在输入层302中的数据来再现图像。
75.最初,来自模拟图像301的图像被处理为输入。无论在训练模式还是生产模式中,该处理都以相同的方式进行。唯一的差别是在训练模式中产生分类之后,模型中的神经元权重可以被改变。在该示例中,图像可以是224
×
224像素。输入层302的深度可以被描述为三个,因为每个像素可以具有红、绿和蓝(rgb)的像素强度值。
76.第一卷积层306包括多个子层,本文中被描述为特征图。每个特征图(即,子层)可以与不同的过滤操作相关联。过滤操作可以被描述为神经元的激活功能。过滤器的目标可以是检测图像中诸如曲线或直线的低级形状。每个过滤操作对图像中可以被描述为感受野的像素组起作用。子层中的每个神经元具有不同的感受野。与分配给神经元的权重相结合的过滤操作的输出可以是神经元的输出。例如,对输入层302的5
×5×
3感受野304进行过滤操作可以产生单个值。在与神经元的权重组合时,结果是第一卷积层306中单个神经元的输出。对特征图中的相邻神经元重复该过程,这将各自使用不同的感受野。该过程还可以由卷积层内的不同特征图中的每个神经元使用与相应特征图相关联的过滤操作在相同的感受野上重复。
77.如果感受野包括所寻求的特征(例如,曲线、蜂窝形状、三角形),则将产生与其不包括所寻求的特征的数目不同的数目。例如,如果图像中的特征与过滤器中的特征精确匹配,则没有到所寻求的特征的过滤器操作可以返回与1000的值相反的零值。
78.通过在输入层302的不同感受野上运行相同的过滤操作,最终处理整个输入层302,来填充特征图。将被映射的输入层302的部分由所选择的步幅来确定。步幅是相邻感受野的中心像素之间的距离。相邻感受野与相邻神经元相关。一个像素的步幅将使相邻感受野具有与第一感受野中的中心像素相邻的中心像素。两个像素的步幅将使感受野的中心像素在两个像素上移动。该技术的各方面可以使用不同的步幅,诸如2、4或6的步幅。
79.第一卷积层306包括多个特征图;每个特征图包括使用相同过滤操作填充的神经元数组。第一特征图可以寻曲线、第二特征图寻直线、第三特征图寻蓝斑点等。在训练期间可以计算针对每个神经元的不同的权重。具有64个特征图的卷积层可以说成具有64的深度。高度和宽度大小将取决于图像大小、感受野大小和步幅。针对该示例,第一卷积层306可以具有224的高度和宽度。
80.其他卷积层可以以相似的方式工作,其中在前一层中具有各种大小的感受野映射到后续层中的神经元。在不同层中的函数可以是不同类型,例如,池化函数、整流线性单元操作等。
81.第一池化层310可以是包括布置在执行下采样操作的特征图中的神经元的池化层。池化层的目的是减少要处理的数据量。第一池化层310中的每个神经元具有第二卷积层308中的感受野。例如,神经元可以具有2
×
2神经元的感受野,意味着其处理这四个神经元的输出。在最大池化操作中,可以通过第一池化层310中的单个神经元的激活函数来选择由感受野内的2
×
2网格中的神经元产生的四个值中的最高值。该神经元的输出可以是该最高值。
82.现在转到图4,根据本文中所描述的技术的一方面,示出了产生经转换的对象的多维数组的空间混排。在该技术的多个方面中,本地神经网络接收本地图像并且创建诸如三维数组490的多维数组。在三维数组中,数组中的每个值与由三个空间值所限定的空间信息相关联。三维数组可以被认为是一组二维数组。例如,三维数组490具有7
×7×
512的大小。这意味着三维数组490包括512个7
×
7数组。限定三维数组中单个值的空间位置的三个空间值可以包括限定单个数组内的行的第一值、限定同一数组内的列的第二值以及可以标识该数组的第三值。因此,三维数组中的单个值可以表示为0.5(1,7,35),其中“0.5”是该值,“1”表示行,“7”表示列,“35”表示数组。
83.该技术的各方面可以通过混排与多维数组中的每个值相关联的空间信息来将从本地神经网络输出的多维数组转换为经转换的对象491。实质上,该操作将各个值移动到多维数组内的不同位置。三维数组490与经转换的对象491可以具有相同的整体大小(例如,7
×7×
512)和所有相同的值。然而,与这些值相关联的空间信息将是不同的。
84.图4示出了三维数组490内的单个7
×
7数组492的放大图。如图所示,单个数组492包括数据值(例如,411、412和413)的七行(401、402、403、404、405、406和407)和七列(410、420、430、440、450、460和470)。每个数据值与从数组、数组列以及数组行中导出的空间信息相关联。为了说明,假定单个数组492是三维数组490中的第510数组。因此,针对值411的空间位置可以被指定为数组510、行401以及列410。为了说明,分配给值411的值可以是0.5,这与其位置无关。
85.确定性加扰改变三维数组490内的值的位置以形成经转换的对象491。确定性加扰由经加扰的第510数组493的放大视图示出。可以看出,值423、456、471、425、447、433以及474与它们在未加扰的第510数组492中的原始位置相比都已经移动到经加扰的第510数组493中的不同位置。值本身没有被改变。因此,分配给值411的值将是相同的,但是值411将处于新的位置。图4示出了单个数组内的值的重排。然而,本文中所描述的技术的各方面可以在数组之间移动值。因此,最初在第一数组(例如,第510数组)中的值可以被移动到第二数组(例如,第345数组)。在一方面中,可以将值移动到经转换的对象491内的任何其他空间位置。在不同的实现中,移动被限制在数组内的不同位置。
86.在一方面中,使用重定位算法来实现空间确定性加扰。确定性加扰是基于种子的,该种子被用于产生每个确定性加扰。换言之,第一次确定性加扰是随机的,但是在使用相同的种子时,随后的每次都将是相同的。因此,在多维数组被确定性加扰时,如果值411从位置401、410、510(如在第510数组中)移动到位置405、430、510,则在随后的确定性加扰操作中,位置401、410、510中的值将总是移动到位置405、430、510。为了解扰,将需要所使用的种子和函数。在多个方面中,种子不会被传送到远程环境,而是仅被维持在本地环境。如本文中所使用的,未公开的种子是在被输入到分类器之前未被公开给远程计算环境或在对经转换的对象的任何操作中使用的种子。确定性加扰在多个方面不同于加密。例如,由确定性加扰产生的数据结构是计算机可读的而没有解密密钥。该结构(例如,三维数组)内的数据的空间排列被改变,但数据本身不被改变或以任意方式被确定性加扰隐藏。与加密不同,由确定性加扰产生的经转换的对象由计算机可读取和可使用,而无需诸如解密的附加步骤。实际上,本文中所描述的技术的各方面可以将经转换的对象馈送到远程分类器中,而无需对结构内的值的空间排列进行任何额外的调整。如别处所述,值本身可以被归一化,但是归一化
不改变值的空间排列。
87.现在转到图5,根据本文中所描述的技术的方面来训练远程分类器286。训练开始于向本地模型242提交经标记的训练图像501。在训练远程分类器286时,已经通过分离的过程来训练本地模型。本地模型242接收训练图像501。本地模型242不需要接收针对图像501的标签501a,因为本地模型242还未被训练。本地模型242处理图像并且生成多维数组503。多维数组503被传递到确定性加扰组件246,确定性加扰组件246生成经转换的对象505。经转换的对象505可以具有与本地模型242中的最后一层相同的大小(例如,7
×7×
512),但不包括最后一层的权重或激活函数。相反,经转换的对象505仅包括每个神经元的输出,同时维持相同的大小,但具有与多维数组503中发现的值不同的空间关系。
88.经转换的对象505和标签501a通过网络110被传送到远程计算系统。在备选的方面中,经转换的对象505可以经由usb盘或其他存储介质上的物理数据传输来传送。
89.经转换的对象505可以经历先前所描述的归一化过程。一旦由远程分类器的输入层中的神经元接收到来自经归一化的经转换的对象505的数据时,远程分类器286就如先前所描述的那样操作以生成针对图像501的分类511。在一方面中,该分类具有所分类的类别的分类分布的最高得分。经转换的对象505在由远程分类器处理之前不被解扰。如本文中所使用的,解扰意味着将经转换的对象505内的值恢复到在用于生成经转换的对象的多维数组503内、该对象所在的空间位置。
90.然后将分类与标签501a进行比较,以及使用反向传播或适合于远程分类器286的架构的一些其他训练方法来重新训练远程分类器286。换言之,更新与远程分类器286中的神经元相关联的权重。对多个训练图像重复该过程,直到远程分类器286训练完成,此时神经元权重可以被固定。注意,在该示例中,训练不向后延伸到本地模型242,其与由模拟训练数据训练时维持相同。
91.现在转到图6,远程分类器286用于根据本文中所描述的技术的一方面对图像进行分类。分类开始于向本地模型242提交未标记的图像601。本地模型242处理图像601并且生成多维数组603。多维数组603被传递到确定性加扰组件246,确定性加扰组件246生成经转换的对象605。经转换的对象605可以具有与本地模型242中的最后一层相同的大小(例如,7
×7×
512),但是不包括最后一层的权重或激活函数。相反,经转换的对象605仅包括每个神经元的输出,同时维持相同的大小,但具有与多维数组603中发现的值不同的空间关系。
92.经转换的对象605通过网络110被传送到远程计算系统。在备选的方面中,经转换的对象605经由诸如usb盘的物理数据存储器来传送。经转换的对象605可以经历先前所描述的归一化过程。一旦由远程分类器的输入层中的神经元接收到来自经归一化的经转换的对象605的数据时,远程分类器286就如先前所描述的那样操作以生成图像601的分类611。在一方面中,该分类具有所分类的类别的分类分布的最高得分。该分类可以被传送到本地计算系统。
93.现在转到图7,提供了示出混淆图像内容的方法700的流程图。在步骤710处,接收未标记的图像以用于由本地神经网络进行分类。未标记的图像可以是包括将被分类的一个或多个对象的可视描绘的数字图像。从本地神经网络的角度来看图像是未标记的,因为与图像相关联的任何标签都没有被传送到本地神经网络。未标记的图像可以与用于训练的经标记的图像形成对比。经标记的图像通常由将标签添加到描述图像中所描绘的对象的图像
的人来观看。未标记的图像可以与包括各种标签的元数据相关联,但是如果已进行任何分类,则不将其传送到本地神经网络。
94.在步骤720处,由本地神经网络处理未标记的图像以生成多维数组。例如,如先前参考图2至图5所描述的,本地神经网络包括在本地计算系统上操作的一个或多个层。在一方面中,本地神经网络包括一个输入层和一个或多个卷积层。
95.在步骤730处,如先前参考图4所描述的,多维数组被确定性加扰以改变多维数组内的值的空间排列,以生成经转换的对象。如上所述,混排操作由将种子作为输入的混排算法来执行。在使用相同的种子时,每次将发生相同的混排操作。本文中所描述的技术的各方面,使用与每个图像相同的种子以使相同的混排操作被使用。
96.经转换的对象部分地混淆未标记的图像,因为图像不能以合理的精度从经转换的对象中再现。如参考图3所描述的,卷积层内的操作从感受域中获取像素组(或表示像素的数据)并且执行计算,该计算可以产生可以描述特征存在或不存在的单个数字,但不能用于再现感受域中的像素,尤其因为该组像素已与加权值相组合。即使已知用于生成神经元输出的激活函数和权重(并且它们不包括在多维数组或经转换的对象中),但是仍然难以对感受域中的像素进行反向工程,因为可以想象像素的不同排列可以从神经元产生相同的输出数目。这意味着可能存在适合该输出的多个像素排列,使得不可能以合理的精度确定正确的排列。
97.因为模型输出与原始图像之间的空间关系被破坏,所以确定性混排操作进一步混淆未标记的图像。典型的cnn模型将贯穿整个分析来维持多个图像输入段的空间关系。例如,图像的3
×
3像素部分将被输入到输入层中的第一神经元。图像的相邻3
×
3像素部分通常被输入到输入层中的相邻第二神经元中。该总体空间排列是通过最大池化层和其他操作层来维持的。混排操作破坏了输出的空间排列,使得从相邻图像部分生成的输出在经转换的对象中不再彼此相邻。多维数组的分片之间的输出数据的混排进一步混淆了图像。在一方面中,除了加扰操作之外还执行删除操作以生成经转换的对象。
98.经转换的对象具有与多维数组和输出多维数组的层相同的大小(例如,7
×7×
512),但不包括由神经元使用的权重或激活函数(例如,过滤操作)。相反,多维数组包括层中每个神经元的输出,同时维持输出之间的正确大小和空间关系。经转换的对象包括与多维数组相同的所有数据,但是具有不同的空间关系。经转换的对象中的数据可以由远程分类器中的接收层来处理。
99.在步骤740处,将经转换的对象传送到在远程计算系统中操作的远程分类器。然后由远程分类器处理经转换的对象以生成针对未标记的图像的分类。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。如参考图2所描述的,可以在传送之前在本地计算系统上对经转换的对象进行归一化。在另一方面中,一旦在远程计算系统中接收到经转换的对象时,该经转换的对象已经被归一化过。
100.在步骤750处,接收来自远程计算系统的、由远程分类器产生的针对未标记的图像的分类标签。然后,本地计算系统将分类与未标记的图像相关联。本地计算系统可以保存与图像相关联的分类。在一方面中,在具有某些分类的图像被标识时,自动警告用户。例如,可以对一批图像进行分类。每次该批次中的图像中的一个图像被分类到感兴趣的类别中时,可以经由短信、或一些其他方法来生成以及传送警报。在一方面中,本地计算系统
将满足一个或多个分类的图像保存到特定数据存储位置。在一方面中,生成显示有多少图像被分类到特定类别中的报告。该报告可以包括按类别到图像的链接。
101.现在转到图8,提供了示出混淆图像内容的方法800的流程图。在步骤810处,接收经转换的对象。通过将未标记的图像馈送到本地神经网络,来从未标记的图像中生成经转换的对象。经转换的对象内数据的空间排列具有随机生成的、与未标记的图像内的像素的空间关系。如前所述,可以通过确定性加扰操作来生成随机生成的与像素的空间关系。
102.经转换的对象有效地混淆未标记的图像,因为不能以合理的精度从经转换的对象中再现该图像。经转换的对象具有与输出用于生成经转换的对象的多维数组的层相同的大小(例如,7
×7×
512),但不包括由神经元使用的权重或激活函数(例如,过滤操作)。相反,经转换的对象包括层中的每个神经元的输出,同时维持正确的大小,但具有随机混排的空间位置。经转换的对象中的数据可以由接收层来处理,因为如果直接从卷积层处接收,则该数据通常会被处理过。在一方面中,除了加扰操作之外还执行删除操作以生成经转换的对象。
103.如参考图2所描述的,在传送之前可以在本地计算系统上对经转换的对象进行归一化。在另一方面中,在远程计算系统中接收到经转换的对象时,该经转换的对象被归一化。
104.在步骤820处,如先前参考图2至图6所述,由驻留在远程计算系统中的远程分类器来处理经转换的对象。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。经转换的对象在由远程分类器处理之前不被解扰。如本文中所使用的,解扰意味着将经转换的对象内的值恢复到在用于生成经转换的对象的多维数组内、该对象所在的空间位置。
105.在步骤830处,如先前参考图6所述,使用远程分类器来生成针对未标记的图像的分类。
106.在步骤840处,如先前参考图6所述,将针对未标记的图像的分类传送到生成经转换的对象的本地计算系统。本地计算系统可以保存与图像相关联的分类。在一方面中,在具有某些分类的图像被标识时,自动警告用户。例如,可以对一批图像进行分类。每次该批次中的图像中的一个图像被分类到感兴趣的类别中时,可以经由短信、或一些其他方法来生成以及传送警报。在一方面中,本地计算系统将满足一个或多个分类的图像保存到特定数据存储位置。在一方面中,生成显示有多少图像被分类到特定类别中的报告。该报告可以包括按类别到图像的链接。
107.现在转到图9,提供了示出混淆图像内容的方法900的流程图。在步骤9010处,如先前参考图3和5所述,使用模拟训练数据在远程计算系统中训练本地神经网络以形成本地神经网络。
108.在步骤920处,利用本地神经网络来处理训练图像以生成多维数组。本地神经网络在本地计算系统上操作。
109.在步骤930处,如参考图4所述,对多维数组内的值的空间排列进行确定性加扰,以生成经转换的对象。在一方面中,除了加扰操作之外还执行删除操作以生成经转换的对象。
110.在步骤940处,如先前参考图4至图6所述,将经转换的对象和与训练图像相关联的标签传送到远程计算系统。如参考图2所描述的,可以在传送之前在本地计算系统上对经转换的对象进行归一化。在另一方面中,一旦在远程计算系统中接收到经转换的对象时,该经
转换的对象已经被归一化过。
111.在步骤950处,如先前参考图5所述,将经转换的对象输入到远程分类器中以生成训练图像的分类。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。经转换的对象在由远程分类器处理之前不被解扰。如本文中所使用的,解扰意味着将经转换的对象内的值恢复到在用于生成经转换的对象的多维数组内、该对象所在的空间位置。
112.在步骤960处,如先前参考图5所描述的,标签和分类被用于重新训练远程分类器。
113.在步骤970处,将经训练的远程分类器存储在远程计算系统中。然后,如先前参考图6所述,响应于接收到来自本地系统的经转换的对象,经训练的远程分类器可以被用于对未标记的图像进行分类。
114.现在转到图11,提供了示出混淆图像内容的方法1100的流程图。在步骤1110处,接收未标记的图像用于由本地神经网络进行分类。未标记的图像可以是包括将被分类的一个或多个对象的可视描绘的数字图像。从本地神经网络的角度来看图像是未标记的,因为与图像相关联的任何标签都没有被传送到本地神经网络。未标记的图像可以与用于训练的经标记的图像形成对比。经标记的图像通常由将标签添加到描述图像中所描绘的对象的图像的人来观看。未标记的图像可以与包括各种标签的元数据相关联,但是如果已进行任何分类,则不将其传送到本地神经网络。
115.在步骤1120处,本地神经网络处理未标记的图像以生成多维数组。例如,如参考图2至图3和图14至图15所描述的,本地神经网络包括在本地计算系统上操作的一个或多个层。在一方面中,本地神经网络包括一个输入层和一个或多个卷积层。
116.在步骤1130处,如参考图4所描述的,来自多维数组的数据被确定性删除以生成经转换的对象。如上所述,多维数组内的阈值数量的数据被删除。例如,可以删除10%、20%、30%、40%或50%的数据。
117.经转换的对象部分地混淆未标记的图像,因为图像不能以合理的精度从经转换的对象中再现。如参考图3所描述的,卷积层内的操作从感受域获取像素组(或表示像素的数据)并且执行计算,该计算可以产生可以描述特征存在或不存在的单个数字,但不能用于再现感受域中的像素,尤其因为该组像素已与加权值相组合。即使已知用于生成神经元输出的激活函数和权重(并且它们不包括在多维数组或经转换的对象中),但是仍然难以对感受域中的像素进行反向工程,因为可以想象可以从神经元产生与像素的不同排列数目相同的输出数目。这意味着可能存在适合该输出的多个像素排列,使得不可能以合理的精度确定正确的排列。由于数据被破坏,删除操作进一步混淆未标记的图像。与删除的数据相关联的像素或图像区域无法从经转换的对象中再现。
118.经转换的对象具有与多维数组和输出多维数组的层相同的大小(例如,7
×7×
512),但不包括神经元使用的权重或激活函数(例如,过滤操作)。相反,多维数组包括层中每个神经元的输出,同时维持输出之间的正确大小和空间关系。经转换的对象包括与多维数组相同的所有数据,但是具有不同的空间关系。经转换的对象中的数据可以由远程分类器中的接收层来处理。
119.在步骤1140处,将经转换的对象传送到在远程计算系统中操作的远程分类器。然后由远程分类器处理经转换的对象以生成针对未标记的图像的分类。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。如参考图2所描述的,可以在传送之前在本地计
算系统上对经转换的对象进行归一化。在另一方面中,一旦在远程计算系统中接收到经转换的对象时,该经转换的对象已经被归一化过。
120.在步骤1150处,接收来自远程计算系统的、由远程分类器产生的未标记图像的分类标签。然后,本地计算系统将分类与未标记的图像相关联。本地计算系统可以保存与图像相关联的分类。在一方面中,在具有某些分类的图像被标识时,自动警告用户。例如,可以对一批图像进行分类。每次该批次中的图像中的一个图像被分类到感兴趣的类别中时,可以经由短信、或一些其他方法来生成以及传送警报。在一方面中,本地计算系统将满足一个或多个分类的图像保存到特定数据存储位置。在一方面中,生成显示有多少图像被分类到特定类别中的报告。该报告可以包括按类别到图像的链接。
121.现在转到图12,提供了示出混淆图像内容的方法1200的流程图。在步骤1210处,接收经转换的对象。通过将未标记的图像馈送到本地神经网络,来从未标记的图像中生成经转换的对象。经转换的对象包括零,这些零确定性地替换由本地神经网络生成的多维数组内的数据。可以通过将多维数组乘以1和0的掩码来生成经转换的对象。掩码可以具有与多维数组相同的大小。
122.经转换的对象有效地混淆未标记的图像,因为不能以合理的精度从经转换的对象中再现该图像。经转换的对象具有与输出用于生成经转换的对象的多维数组的层相同的大小(例如,7
×7×
512),但不包括由神经元使用的权重或激活函数(例如,过滤操作)。相反,经转换的对象包括层中的每个神经元的输出,同时维持正确的大小,但是用零确定性地替换输出。经转换的对象中的数据可以由接收层来处理,因为如果直接从卷积层接收,则该数据通常会被处理过。
123.如参考图2所描述的,可以在传送之前在本地计算系统上对经转换的对象进行归一化。在另一方面中,一旦在远程计算系统中接收到经转换的对象时,该经转换的对象已经被归一化过。
124.在步骤1220处,如先前参考图2至图3、图14和图16所述,由驻留在远程计算系统中的远程分类器来处理经转换的对象。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。在由远程分类器处理之前,删除的数据不会被添加回到经转换的对象中。
125.在步骤1230处,如参考图16所述,使用远程分类器来生成针对未标记图像的分类。
126.在步骤1240,如参考图16所述,将针对未标记的图像的分类传送到生成了经转换的对象的本地计算系统。本地计算系统可以保存与图像相关联的分类。在具有某些分类的图像被标识时,自动警告用户。例如,可以对一批图像进行分类。每次该批次中的图像中的一个图像被分类到感兴趣的类别中时,可以经由短信、或一些其他方法来生成以及传送警报。在一方面中,本地计算系统将满足一个或多个分类的图像保存到特定数据存储位置。在一方面中,生成显示有多少图像被分类到特定类别中的报告。该报告可以包括按类别到图像的链接。
127.现在转到图13,提供了示出混淆图像内容的方法1300的流程图。在步骤1310,如先前参考图2、图3和图15所述,使用模拟训练数据在远程计算系统中训练本地神经网络以形成本地神经网络。
128.在步骤1320处,利用本地神经网络来处理训练图像以生成多维数组。本地神经网络在本地计算系统上操作。
129.在步骤1330处,如参考图14所述,删除多维数组内的值以生成经转换的对象。
130.在步骤1340处,如参考图14至图15所述,将经转换的对象和与训练图像相关联的标签传送到远程计算系统。如参考图2所描述的,可以在传送之前在本地计算系统上对经转换的对象进行归一化。在另一方面中,一旦在远程计算系统中接收到经转换的对象时,该经转换的对象被归一化。
131.在步骤1350处,将经转换的对象输入到远程分类器中以生成训练图像的分类,如参考图15所述。远程分类器可以是包括卷积层、池化层和全连接层的神经网络。
132.在步骤1360处,如参考图15所描述的,标签和分类被用于重新训练远程分类器。
133.在步骤1370处,将经训练的远程分类器存储在远程计算系统中。然后,如参考图16所述,响应于接收到来自本地系统的经转换的对象,经训练的远程分类器可以被用于对未标记的图像进行分类。
134.现在转到图14,根据本文中所描述的技术的一方面,示出了对多维数组中的值进行确定性删除以产生经转换的对象。在本技术的多个方面中,本地神经网络接收本地图像并且创建多维数组,诸如三维数组490(先前在图4中所描述的)。在三维数组中,数组中的每个值与由三个空间值所限定的空间信息相关联。三维数组可以被认为是一组二维数组。例如,三维数组490具有7
×7×
512的大小。这意味着三维数组490包括512个7
×
7数组。
135.该技术的各方面可以通过从多维数组中删除信息来将从本地神经网络输出的多维数组转换成经转换的对象1491。
136.图14示出了三维数组490内的单个7
×
7数组492的放大图。如图所示,单个数组492包括数据值(例如,411、412和413)的七行(401、402、403、404、405、406和407)和七列(410、420、430、440、450、460和470)。每个数据值与从数组、数组列和数组行中导出的空间信息相关联。为了说明,假定单个数组492是三维数组490中的第510数组。因此,针对值411的空间位置可以被指定为数组510、行401以及列410。为了说明,分配给值411的值可以是0.5,这与其位置无关。
137.确定性删除不改变三维数组490内的值的位置以形成经转换的对象491。相反,确定性删除从数组中删除值,例如通过将该值乘以零。确定性加扰由经加扰的第510数组1493的放大视图示出。可以看出,值471、452、433、463、414、427、466以及427都已被删除。其他位置的其他值没有改变。可以通过将第510数组乘以0和1的7
×
7掩码来实现删除。可以通过确定性过程来生成0和1的位置。可以产生针对每个数组的不同的掩码,并且可以执行针对每个数组的相同的删除处理。相同的掩码被用于在生成经转换的对象时确定性地删除数据。相同的掩码被用于生产和训练中。
138.在一方面中,使用随机化算法来实现掩码。随机化算法是基于种子的,该种子被用于产生每个掩码。一旦生成了掩码,就不需要在每次生成经转换的对象时重新生成掩码。该掩码可以被保存以及重复使用。
139.现在转到图15,根据本文中所描述的技术的一方面来训练远程分类器286。训练开始于向本地模型242提交经标记的训练图像501。在训练远程分类器286时,已经通过分离的过程来训练本地模型。本地模型242接收训练图像501。本地模型242不需要接收针对图像501的标签501a,因为本地模型242还未被训练。本地模型242处理图像并且生成多维数组503。多维数组503被传递到确定性删除组件248,确定性删除组件248生成经转换的对象
1505。经转换的对象1505可以具有与本地模型242中的最后一层相同的大小(例如,7
×7×
512),但是不包括最后一层的权重或激活函数。相反,除了那些被删除(例如,用零替换)的值,经转换的对象1505仅包括每个神经元的输出,同时维持与多维数组503相同的大小。
140.经转换的对象1505和标签501a通过网络110被传送到远程计算系统。在备选的方面中,经转换的对象1505可以经由usb盘或其他存储介质上的物理数据传输来传送。
141.经转换的对象1505可以经历先前描述的归一化过程。一旦由远程分类器的输入层中的神经元接收到来自经归一化的经转换的对象1505的数据时,远程分类器286就如先前描述的那样操作以生成针对图像501的分类1511。在一方面中,该分类具有所分类的类别的分类分布的最高得分。
142.然后将分类与标签501a进行比较,以及使用反向传播或适合于远程分类器286的架构的一些其他训练方法来重新训练远程分类器286。换言之,更新与远程分类器286中的神经元相关联的权重。对多个训练图像重复该过程,直到远程分类器286训练完成,此时神经元权重可以被固定。注意,在该示例中,训练不向后延伸到本地模型242,其与由模拟训练数据训练时维持相同。
143.现在转到图16,远程分类器286用于根据本文中所描述的技术的一方面对图像进行分类。分类开始于向本地模型242提交未标记的图像601。本地模型242处理图像601并且生成多维数组603。多维数组603被传递到确定性删除组件248,确定性删除组件248生成经转换的对象1605。经转换的对象1605可以具有与本地模型242中的最后一层相同的大小(例如,7
×7×
512),但是不包括最后一层的权重或激活函数。相反,除了那些被删除的值之外,经转换的对象1605仅包括每个神经元的输出,同时维持与多维数组603相同的大小。
144.经转换的对象1605通过网络110被传送到远程计算系统。在备选的方面中,经转换的对象1605经由诸如usb盘的物理数据存储器来传送。经转换的对象1605可以经历先前描述的归一化过程。一旦由远程分类器的输入层中的神经元接收到来自经归一化的经转换的对象605的数据时,远程分类器286就如先前所描述的那样操作以生成图像601的分类611。在一方面中,该分类具有所分类的类别的分类分布的最高得分。该分类可以被传送到本地计算系统。
145.示例性操作环境
146.总体上参考附图,并且特别地参考图10,示出了用于实现本文中所描述的技术的各方面的示例性操作环境,并且将其总体指定为计算设备1000。计算设备1000只是适当的计算环境的一个示例,并不旨在对本文中所描述的技术的使用范围提出任何限制。也不应将计算设备1000解释为对所示组件中的任何一个组件或其组合具有任何依赖性或要求。
147.本文中所描述的技术可以在计算机代码或机器可用指令的一般上下文中描述,该计算机代码或机器可用指令包括由计算机或其他机器(诸如,个人数据助理或其他手持设备)执行的计算机可执行指令(诸如,程序组件)。通常,包括例程、程序、对象、组件、数据结构等的程序组件是指执行特定任务或实现特定抽象数据类型的代码。本文中所描述的技术可以在各种系统配置中实践,包括基于远程计算系统的服务器、手持设备、消费电子产品、通用计算机、专用计算设备等。本文中所描述的技术的各方面还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。
148.继续参考图10,计算设备1000包括直接或间接耦合以下设备的总线1010:存储器
1012、一个或多个处理器1014、一个或多个呈现组件1016、输入/输出(i/o)端口1018、i/o组件1020以及说明性电源1022。总线1010表示可以是一个或多个总线(诸如,地址总线、数据总线或其组合)的总线。虽然为了清楚起见用线示出了图10的各个框,但是实际上,描绘各个组件不是如此清楚,并且比喻地,这些线将更精确地是灰和模糊的。例如,可以认为诸如显示设备的呈现组件是i/o组件。此外,处理器具有存储器。本发明人认识到,这是本领域的本质,并且重申,图10的图仅是可以结合本文中所描述的技术的一个或多个方面使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等的类别之间没有进行区分,因为所有这些都被认为在图10的范围内并且是指“计算机”或“计算设备”。
149.计算设备1000通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备1000访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
150.计算机存储介质包括ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备。计算机存储介质不包括传播的数据信号。
151.通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,以及包括任何信息传递介质。术语“经调制的数据信号”是指以在信号中编码信息的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接的有线介质,以及诸如声学、rf、红外和其他无线介质的无线介质。上述任何组合也应包括在计算机可读介质的范围内。
152.存储器1012包括易失性和/或非易失性存储器形式的计算机存储介质。存储器1012可以是可移动的、不可移动的或其组合。示例性存储器包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备1000包括从诸如总线1010、存储器1012或i/o组件1020等各种实体读取数据的一个或多个处理器1014。(多个)呈现组件1016向用户或其他设备呈现数据指示。示例性呈现组件1016包括显示设备、扬声器、打印组件、振动组件等。i/o端口1018允许计算设备1000逻辑地耦合到其他设备,包括i/o组件1020,其中一些组件可以是内置的。
153.说明性i/o组件包括麦克风、操纵杆,游戏控制器、圆盘式卫星天线、扫描仪、打印机、显示设备、无线设备、控制器(诸如,触笔、键盘和鼠标)、自然用户接口(nui)等。在多个方面中,提供笔数字化仪(未示出)和伴随的输入仪器(也未示出但仅作为示例可包括笔或指示笔)以便数字地捕捉徒手用户输入。笔数字转换器和(多个)处理器1014之间的连接可以是直接的或经由利用串行端口、并行端口和/或本领域已知的其他接口和/或系统总线来耦合。此外,数字化器输入组件可以是与诸如显示设备的输出组件分离的组件,或者在一些方面,数字化器的可用输入区域可以与显示设备的显示区域共存、与显示设备集成在一起或者可以作为覆盖或以其他方式附加到显示设备的单独设备而存在。任何及所有此类变化及其任何组合均在本文中所描述的技术的方面的预期范围内。
154.nui处理由用户生成的空中手势、语音或其他生理输入。适当的nui输入可以被解释为用于与计算设备1000相关联地呈现的墨水笔画。这些请求可以被发送到适当的网络元
素用于进一步处理。nui实现语音识别、触摸和触笔识别、面部识别、生物测定识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备1000上的显示器相关联的触摸识别的任何组合。计算设备1000可以配备有深度相机用于姿势检测和识别,诸如立体相机系统、红外相机系统、rgb相机系统以及这些的组合。另外,计算设备1000可以配备有能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备1000的显示器以呈现沉浸式增强现实或虚拟现实。
155.计算设备可以包括无线电设备1024。无线电设备1024发送和接收无线电通信。计算设备可以是适合于通过各种无线网络接收通信和媒体的无线终端。计算设备1000可以经由诸如码分多址(“cdma”)、全球移动系统(“gsm”)或时分多址(“tdma”)等无线协议进行通信,以与其他设备进行通信。无线电通信可以是短距离连接、长距离连接或短距离与长距离无线电信连接的组合。在提到“短”和“长”类型的连接时,并不意味着提到两个设备之间的空间关系。相反,我们通常将短距离和长距离称为连接的不同类别或类型(即,主要连接和次要连接)。短距离连接可以包括连接到提供对无线通信网络的接入的设备(例如,移动热点)的连接,诸如使用802.11协议的wlan连接。连接到另一计算设备的蓝牙连接是短距离连接的第二示例。远程连接可以包括使用cdma、gprs、gsm、tdma以及802.16协议中的一个或多个的连接。
156.实施例
157.实施例1。一种混淆图像内容的方法,包括:接收用于分类的图像;利用本地神经网络来处理该图像,以生成多维数组,本地神经网络在本地计算系统上操作;对多维数组确定性地进行加扰,以改变多维数组内的值的空间排列,以生成经转换的对象;将经转换的对象传送到在远程计算系统中操作的远程分类器;在本地计算系统处接收由远程分类器产生的、针对该图像的分类;以及在本地计算系统处保存与该图像相关联的分类。
158.实施例2。根据实施例1的方法,其中该加扰使用未公开的种子来控制多维数组内的值的移动。
159.实施例3。根据实施例2的方法,其中给未公开的种子不被传送到远程分类器。
160.实施例4。根据实施例1的方法,其中在经转换的对象上训练远程分类模型,该经转换的对象由处理经标记的训练图像的本地神经网络生成。
161.实施例5。根据实施例1的方法,其中本地神经网络包括卷积池化层。
162.实施例6。根据实施例5的方法,其中经转换的对象包括来自卷积池化层中每个神经元的输出。
163.实施例7。根据实施例1的方法,其中本地神经网络不向图像分配分类。
164.实施例8。一种用于混淆图像内容的方法,包括:
165.接收由本地神经网络从图像中生成的经转换的对象,经转换的对象内的数据排列与图像内的像素具有改变空间关系;由驻留在远程计算系统中的远程分类器处理经转换的对象;使用远程分类器来生成针对该图像的分类;以及将针对该图像的分类传送到生成了经转换的对象的本地计算系统。
166.实施例9。根据实施例8的方法,其中经转换的对象包括来自本地神经网络中的层的每个神经元的输出。
167.实施例10。实施例8的方法,其中与图像内的像素的改变空间关系使用确定性加扰
函数而被生成,该确定性加扰函数响应于接收种子值作为输入,产生唯一的空间重排。
168.实施例11。根据实施例10的方法,其中该远程种子值对远程分类器不可用。
169.实施例12。根据实施例10的方法,其中经转换的对象在由远程分类器处理之前不被解扰。
170.实施例13。根据实施例9的方法,其中该层是卷积池化层。
171.实施例14。根据实施例8的方法,其中图像、经转换的对象和分类都与公共的标识相关联。
172.实施例15。根据实施例8的方法,其中使用从本地神经网络处接收的经转换的对象来训练远程分类器。
173.实施例16。一种其上包括有在由计算机处理器执行时使移动计算设备执行一种混淆图像内容的方法的计算机可执行指令的计算机存储介质,该方法包括:训练本地神经网络;利用本地神经网络来处理训练图像以生成多维数组,本地神经网络在本地计算系统上操作;对多维数组进行混排以改变多维数组内的值的空间排列,以生成经转换的对象;将经转换的对象和与训练图像相关联的标签传送到远程计算系统;将经转换的对象输入到远程分类器中以生成训练图像的分类;使用标签和分类来重训练远程分类器以形成经训练的远程分类器;以及将经训练的远程分类器存储在远程计算系统中。
174.实施例17。根据实施例16的介质,其中经转换的对象包括来自本地神经网络的层的每个神经元的输出。
175.实施例18。根据实施例16的介质,其中经转换的对象在由远程分类器处理之前不被解扰。
176.实施例19。根据实施例16的介质,其中使用确定性加扰函数来改变值的空间排列,响应于接收种子值作为输入,该确定性加扰函数产生唯一的空间重排。
177.实施例20。根据实施例19的介质,其中远程种子值对于远程分类器是不可用的。
178.实施例21。一种混淆图像内容的方法,包括:接收用于分类的图像;利用本地神经网络来处理该图像以生成多维数组,本地神经网络在本地计算系统上操作;从多维数组中确定性地删除数据以生成经转换的对象;将经转换的对象传送到在远程计算系统中操作的远程分类器;在本地计算系统处接收由远程分类器产生的针对该图像的分类;以及在本地计算系统处保存与该图像相关联的分类。
179.实施例22。根据实施例21的方法,其中该删除使用与多维数组相乘的1和0的掩码来生成经转换的对象。
180.实施例23。根据实施例22的方法,其中掩码被用于生成在训练和生产中使用的经转换的对象。
181.实施例24。根据实施例22的方法,其中掩码中大于10%的数据值是零。
182.实施例25。根据实施例22的方法,其中掩码中大于30%的数据值是零。
183.实施例26。根据实施例21的方法,其中经转换的对象与多维数组具有相同的大小。
184.实施例27。根据实施例21的方法,其中在由处理经标记的训练图像的本地神经网络生成的经转换的对象上训练远程分类模型。
185.实施例28。一种用于混淆化图像内容的方法,包括:接收由本地神经网络从图像中生成的经转换的对象,经转换的对象使用零来确定性替换由本地神经网络生成的多维数组
内的数据;由驻留在远程计算系统中的远程分类器处理经转换的对象;使用远程分类器来生成针对该图像的分类;以及将针对该图像的分类传送到生成经转换的对象的本地计算系统。
186.实施例29。根据实施例28的方法,其中经转换的对象包括来自本地神经网络中的层的每个神经元的输出。
187.实施例30。根据实施例28的方法,其中通过将多维数组乘以由未公开的种子产生的确定性排列的1和0的掩码来确定性替换0。
188.实施例31。根据实施例30的方法,其中掩码用于生成在训练和生产中使用的经转换的对象。
189.实施例32。根据实施例30的方法,其中掩码中大于20%的数据值是零。
190.实施例33。根据实施例32的方法,其中经转换的对象的单个层中小于指定百分比的值是零。
191.实施例34。根据实施例28的方法,其中该图像、经转换的对象以及分类都与公共标识相关联。
192.实施例35。根据实施例28的方法,其中使用从本地神经网络接收的经转换的对象来训练远程分类器。
193.实施例36。一种其上包括有在由计算机处理器执行时使移动计算设备执行一种混淆图像内容的方法的计算机可执行指令的计算机存储介质,该方法包括:训练本地神经网络;利用本地神经网络来处理训练图像以生成多维数组,本地神经网络在本地计算系统上操作;从多维数组中确定性地删除数据以生成经转换的对象;将经转换的对象和与训练图像相关联的标签传送到远程计算系统;将经转换的对象输入到远程分类器中以生成训练图像的分类;使用标签和分类来重训练远程分类器以形成经训练的远程分类器;以及将经训练的远程分类器存储在远程计算系统中。
194.实施例37。根据实施例36的介质,其中经转换的对象的单个层中小于指定百分比的值是零。
195.实施例38。根据实施例36的介质,其中经转换的对象与多维数组具有相同的大小。
196.在不脱离以下权利要求的范围的情况下,所描述的各种组件以及未示出的部件的许多不同布置是可能的。本技术的各方面已被描述为说明性的而非限制性的。在阅读本公开内容之后并且由于阅读了本公开内容,对于本公开内容的读者来说,备选方面将变得显而易见。在不脱离所附权利要求的范围的情况下,可以完成实现上述内容的备选方式。某些特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下使用,以及被认为在权利要求的范围内。

技术特征:


1.一种混淆图像内容的方法,包括:接收用于分类的未标记的图像;利用本地神经网络来处理所述未标记的图像,以生成多维数组,所述本地神经网络在本地计算系统上操作;对所述多维数组确定性地进行加扰,以改变所述多维数组内的值的空间排列,以生成经转换的对象;将所述经转换的对象传送到在远程计算系统中操作的远程分类器;在所述本地计算系统处接收由所述远程分类器产生的、针对所述未标记的图像的分类;以及在所述本地计算系统处保存与所述未标记的图像相关联的所述分类。2.根据权利要求1所述的方法,其中所述加扰使用未公开的种子来控制所述多维数组内的所述值的移动。3.根据权利要求2所述的方法,其中所述未公开的种子不被传送到所述远程分类器。4.根据权利要求1所述的方法,其中所述远程分类模型在经转换的对象上被训练,所述经转换的对象由处理经标记的训练图像的所述本地神经网络生成。5.根据权利要求1所述的方法,其中所述本地神经网络包括卷积池化层。6.根据权利要求5所述的方法,其中所述经转换的对象包括来自所述卷积池化层中的每个神经元的输出。7.根据权利要求1所述的方法,其中所述本地神经网络不向图像分配分类。8.一种用于混淆图像内容的方法,包括:接收由本地神经网络从未标记的图像中生成的经转换的对象,所述经转换的对象内的数据的排列与所述未标记的图像内的像素具有改变空间关系;由驻留在远程计算系统中的远程分类器处理所述经转换的对象;使用所述远程分类器来生成针对所述未标记的图像的分类;以及将针对所述未标记的图像的所述分类传送到生成了所述经转换的对象的本地计算系统。9.根据权利要求8所述的方法,其中所述经转换的对象包括来自所述本地神经网络中的层的每个神经元的输出。10.根据权利要求8所述的方法,其中与所述未标记的图像内的像素的所述改变空间关系使用确定性加扰函数而被生成,所述确定性加扰函数响应于接收种子值作为输入,产生唯一的空间重排。11.根据权利要求10所述的方法,其中所述远程所述种子值对所述远程分类器不可用。12.根据权利要求10所述的方法,其中所述经转换的对象在由所述远程分类器处理之前不被解扰。13.根据权利要求9所述的方法,其中所述层是卷积池化层。14.根据权利要求8所述的方法,其中所述未标记的图像、所述经转换的对象和所述分类都与公共标识相关联。15.根据权利要求8所述的方法,其中所述远程分类器使用从所述本地神经网络接收到的经转换的对象而被训练。

技术总结


本文中所描述的技术使用本地神经网络和远程神经网络来混淆图像内容。本地网络在本地计算机系统上运行,并且远程分类器在远程计算系统中运行。本地网络与远程分类器一起能够对图像进行分类,而图像从不离开本地计算机系统。在该技术的多个方面中,本地网络接收本地图像并且创建经转换的对象。可以通过利用本地神经网络处理该图像来生成多维数组,并且然后随机地混排多维数组内的数据位置或删除数据,以生成经转换的对象。可以通过将多维数组乘以确定性排列的1和0的掩码来完成删除。经转换的对象被传送到远程计算系统中的远程分类器以用于分类。用于分类。用于分类。


技术研发人员:

K

受保护的技术使用者:

微软技术许可有限责任公司

技术研发日:

2021.04.22

技术公布日:

2022/12/30

本文发布于:2024-09-24 14:22:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/49958.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   对象   多维   数组
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议