使用一个神经网络来训练另一个神经网络制造技术

技术编号:20759347 阅读:24 留言:0更新日期:2019-04-03 13:07
在示例性实施例中,通过向第一DCNN输入多个样本文档来训练第一DCNN以输出第一度量的值,其中,样本文档中的每个样本文档已经利用第一度量的值进行了标注。然后将第一输入文档的多个可能变换馈送到第一DCNN,获得多个可能变换中的每个可能变换的第一度量的值。基于多个可能变换中的每个可能变换的第一度量的值,从多个可能变换中选择第一变换。然后通过将所选择的第一变换输入到第二DCNN来训练第二DCNN以输出文档的变换。将第二输入文档馈送到第二DCNN,获得第二输入文档的第二变换。

【技术实现步骤摘要】
【国外来华专利技术】使用一个神经网络来训练另一个神经网络本PCT申请要求享有于2016年5月31日提交的序列号为15,168,750的美国专利申请、以及于2016年5月31日提交的序列号为15,169,063的美国专利申请的申请日权益,通过引用的方式将上述每个申请的完整内容并入本文。
概括地说,本公开内容涉及用于解决机器学习中的技术挑战的计算机技术。更具体地说,本公开内容涉及使用一个神经网络来训练另一个神经网络。
技术介绍
互联网的兴起已使得数字图像的使用增加,在所述数字图像中传达了人们的各个方面。数码照片的一个常见用途是在社交网络上创建简档。社交网络越来越普遍地被用于从事专业而不是个人的通信和研究。例如,某些社交网络成员通常以与简历类似的方式创建列出他们的专业成就的简档,以及指导、邀请或至少使潜在雇主可以访问社交网络简档。成员将他们自己的一些照片放在这样的成员简档上正变得越来越普遍。以这样的专业能力使用照片时出现的问题是:成员可能容易在其成员简档页面上使用不具有最高质量的照片,或者因为拍摄该照片所涉及的摄影技术不是具有最高质量的(例如,光线不好、主体构图不佳、阴影不佳等),或者因为主题本身在某些方面的缺乏(例如,头部的角度不寻常、所穿的衣服太随意、背景场景太随意等等)。这些问题通常是由于以下事实而导致的:现今许多数码照片是非专业人员(例如,拍摄自拍照的成员,或者快速拍摄的朋友)使用非专业相机设备(例如,智能手机)拍摄的。虽然可以对照片的某些技术细节进行量化以识别“图像质量”,但是难以将图像质量扩展到图像的“专业度”的更模糊的概念。例如,照片可能确实是完美拍摄的,具有完美的光线和阴影,但照片的主体可能是穿着彩色T恤而不是西装和领带,或者可能是穿戴着西装和领带但是没有注视着相机镜头。当认识到可能存在可能意味着关于该主题的专业度水平的无限数量的关于照片的这些小细节时,这变得更具挑战性,并且随着标准的变化,这些无限数量的小细节可能随着时间而发展,并且还可能基于诸如行业和地点等的因素而变化(例如,如果主体是在硅谷工作的计算机程序员,则穿着T恤可能是专业上可接受的,但如果主体是纽约的财务顾问则不然)。附图说明在附图的图示中,通过示例而非限制的方式示出了技术的一些实施例。图1是根据示例性实施例示出客户端-服务器系统的框图。图2是示出了与本公开内容的一些实施例一致的社交网络服务的功能组件的框图,包括在本文中被称为搜索引擎的数据处理模块,其用于生成和提供搜索查询的搜索结果。图3是更详细地示出图2的应用服务器模块的框图。图4是根据示例性实施例示出深度卷积神经网络(DCNN)的图。图5是根据示例性实施例示出一种训练DCNN的方法的流程图。图6是根据示例性实施例示出一种向图像指派专业度得分的方法的流程图。图7是更详细示出图像变换组件的框图。图8是根据示例性实施例示出已经由DCNN针对专业度进行了评分的示例性原始图像的图。图9是示出裁剪变换组件按照优化问题解决组件的指示所尝试的各种不同的可能裁剪的图。图10是根据示例性实施例示出所选择的最优裁剪的图。图11是示出旋转变换组件按照优化问题解决组件的指示所尝试的各种不同的可能旋转的图。图12是根据示例性实施例示出所选择的最优旋转的图。图13是根据示例性实施例示出一种用于自动裁剪数字图像以提高感知到的图像的主体的专业度的方法的流程图。图14是根据示例性实施例示出一种用于对数字图像自动执行图像变换以提高感知到的图像的主体的专业度的方法的流程图。图15是根据示例性实施例示出一种用于在DCNN中滤除随机梯度下降优化中的异常值的方法的流程图。图16是根据示例性实施例示出一种用于训练DCNN的方法的流程图。图17是根据示例性实施例示出在向第二DCNN的切换已经发生之后的应用服务模块的框图。图18是根据示例性实施例示出一种训练和使用DCNN的方法的流程图。图19是根据示例性实施例示出一种用于将系统从第一DCNN改变到第二DCNN的方法的流程图。图20是示出代表性软件架构的框图,其可以结合本文中描述的各种硬件架构来使用。图21是根据一些示例性实施例示出能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的方法中的任意一种或多种方法的机器的组件的框图。具体实施方式概述本公开内容描述了方法、系统和计算机程序产品以及其他事项。在下面的描述中,为了解释起见,阐述了大量特定细节以便提供对本公开内容的不同实施例的各个方面的透彻理解。然而,对本领域技术人员而言将显而易见的是,可以在没有这些全部特定细节的情况下实践本公开内容。在示例性实施例中,DCNN用于生成数字图像的专业度得分。DCNN使用关于先前利用指示专业度水平的专业度得分或标注分类的数字图像的信息来训练DCNN以识别输入图像的相关特征。相关特征可以包括DCNN认为对于确定输入图像的专业度而言重要(例如,在计算专业度得分中有用)的任何特征。DCNN能够自我识别这些相关特征,而不需要人类预先确定哪些特征可能是重要的并且指示机器学习算法来提取和检查这样的特征,这在更传统的机器学习技术中是必需的。如此,DCNN可以自由地识别倾向于在高专业度的图像之间共享的任何特征,而不管人们通常是否将这样的特征视为可能与专业度相关的特征。例如,虽然图像光线、主题服饰和头部角度可能是人们可能预期影响对感知到的图像中的主体的专业度的特征,但是诸如图像如何被裁剪、颜色平衡以及景深的特征可能不是。DCNN能够自己确定这些特征对于专业度的感知是重要的并相应地调整其模型,即使这些特征是微妙的,甚至可能甚至不是人所能觉察到的。如下文将更详细描述的,在为此目的实现DCNN时遇到的一个技术挑战是它有时可能需要用于基于由DCNN计算的图像的专业度得分来确定要对图像执行的最优变换(例如,裁剪)的运算密集型过程。虽然下文针对解决这样的“优化问题”描述了一些解决方案,但是所有这些解决方案仍然需要一定程度的试验和误差,其中图像的多个不同变换可能性被尝试,被反馈回DCNN并且被评分。因此,在示例性实施例中,来自DCNN的输出用于训练另一个DCNN以输出最优变换。最终,原始DCNN然后可以被淘汰并由后来训练的DCNN替换。以这种方式,第一DCNN可以用于训练第二DCNN。应当指出的是,虽然本文中描述了特定于使用第二DCNN进行图像变换或选择的实施例,但是使用一个DCNN来训练另一个DCNN的构思可以应用于计算机科学的许多不同领域,并且不应当局限于图像变换/选择实施例。图1是根据示例性实施例示出客户端-服务器系统100的框图。联网系统102经由网络104(例如,互联网或广域网(WAN))向一个或多个客户端提供服务器侧功能。图1示出了例如在各个客户端机器110和112上执行的网络客户端106(例如,浏览器)和编程客户端108。应用程序接口(API)服务器114和网络服务器116耦合到一个或多个应用服务器118,并分别向一个或多个应用服务器118提供编程和网络接口。应用服务器118托管一个或多个应用120。一个或多个应用服务器118转而被示出为耦合到便于访问一个或多个数据库126的一个或多个数据库服务器124。虽然图1中示出了应用120以形成联网系统102的一部分,但是将领会的是,在替代实施例中,应本文档来自技高网...

【技术保护点】
1.一种训练和使用深度卷积神经网络(DCNN)的计算机化的方法,所述方法包括:通过向第一DCNN输入多个样本文档来训练所述第一DCNN以输出第一度量的值,所述样本文档中的每个样本文档已经利用所述第一度量的值进行了标注;将第一输入文档的多个可能变换馈送到所述第一DCNN,获得所述多个可能变换中的每个可能变换的所述第一度量的值;基于所述多个可能变换中的每个可能变换的所述第一度量的所述值,从所述多个可能变换中选择第一变换;通过将所选择的第一变换和所述第一度量的相应值输入到第二DCNN来训练所述第二DCNN以输出文档的变换;以及将第二输入文档馈送到所述第二DCNN,获得所述第二输入文档的第二变换。

【技术特征摘要】
【国外来华专利技术】2016.05.31 US 15/168,750;2016.05.31 US 15/169,0631.一种训练和使用深度卷积神经网络(DCNN)的计算机化的方法,所述方法包括:通过向第一DCNN输入多个样本文档来训练所述第一DCNN以输出第一度量的值,所述样本文档中的每个样本文档已经利用所述第一度量的值进行了标注;将第一输入文档的多个可能变换馈送到所述第一DCNN,获得所述多个可能变换中的每个可能变换的所述第一度量的值;基于所述多个可能变换中的每个可能变换的所述第一度量的所述值,从所述多个可能变换中选择第一变换;通过将所选择的第一变换和所述第一度量的相应值输入到第二DCNN来训练所述第二DCNN以输出文档的变换;以及将第二输入文档馈送到所述第二DCNN,获得所述第二输入文档的第二变换。2.根据权利要求1所述的方法,其中,所述样本文档以及所述第一输入文档和所述第二输入文档是图像。3.根据权利要求1所述的方法,其中,向所述第一DCNN输入所述多个样本文档包括:针对每个样本文档:将所述样本文档传递给所述第一DCNN的卷积层,所述卷积层包括具有动态可调整权重的一个或多个过滤器,所述一个或多个过滤器被配置为对所述图像进行过滤以产生相应样本文档的输出容积,所述输出容积包括用于所述一个或多个过滤器中的每个过滤器的不同特征映射;将来自所述卷积层的所述输出容积传递通过非线性层,所述非线性层将非线性函数应用于来自所述卷积层的所述输出容积;将来自所述非线性层的所述输出容积传递通过池化层,所述池化层降低来自所述非线性层的所述输出容积的空间纬度;将来自所述池化层的所述输出容积传递通过分类层,所述分类层包括具有过滤器的专用卷积层,所述过滤器被设计为基于来自所述池化层的所述输出容积来输出所述样本文档的专业度得分;以及将所述图像传递通过损失层,所述损失层向所述样本文档应用损失函数,从而得到对与来自所述样本文档的所述标注的所述专业度得分相比较的、来自所述分类层的所述样本文档的所述专业度得分的误差水平的指示;确定所述多个样本文档的所述误差水平的组合是否超过预设门限;以及响应于确定所述误差水平的所述组合超过预设门限,更新所述第一DCNN的所述卷积层中的所述一个或多个过滤器的权重以减小所述误差水平的所述组合,并且使用不同的多个样本文档和经更新的权重来重复对所述第一DCNN的所述训练。4.根据权利要求3所述的方法,其中,将所述第一输入文档的多个可能变换馈送到所述第一DCNN包括:针对所述多个可能变换中的每个可能变换:将所述变换传递给所述卷积层,生成输出;将来自所述卷积层的所述输出传递给所述非线性层,生成输出;将来自所述非线性层的所述输出传递给所述池化层,生成输出;以及将来自所述非线性层的输出传递给所述分类层,生成所述变换的专业度得分。5.根据权利要求1所述的方法,其中,所述多个可能变换是对图像的不同裁剪。6.根据权利要求1所述的方法,还包括:将第一输入文档的第二多个可能变换馈送到所述第一DCNN,获得所述第二多个可能变换中的每个可能变换的所述第一度量的值,所述第二多个可能变换具有与所述多个可能变换不同的变换类型;基于所述第二多个可能变换中的每个可能变换的所述第一度量的所述值,从所述第二多个可能变换中选择第三变换;通过将所选择的第三变换输入到所述第二DCNN来训练第三DCNN以输出文档的另一个变换;以及将所述第二输入文档馈送到所述第三DCNN,获得所述第二输入文档的第四变换。7.根据权利要求1所述的方法,其中,所述第二DCNN包括多个阶段,每个阶段包括不同的卷积层、非线性层和池化层。8.一种系统,包括:一种计算机可读介质,其上存储有指令,所述指令当由处理器执行时,使所述系统:通过向第一DCNN输入多个样本文档来训练所述第一DCNN以输出第一度量的值,所述样本文档中的每个样本文档已经利用所述第一度量的值进行了标注;将第一输入文档的多个可能变换馈送到所述第一DCNN,获得所述多个可能变换中的每个可能变换的所述第一度量的值;基于所述多个可能变换中的每个可能变换的所述第一度量的所述值,从所述多个可能变换中选择第一变换;通过将所选择的第一变换和所述第一度量的相应值输入到第二DCNN来训练所述第二DCNN以输出文档的变换;以及将第二输入文档馈送到所述第二DCNN,获得所述第二输入文档的第二变换。9.根据权利要求8所述的系统,其中,所述样本文档以及所述第一输入文档和所述第二输入文档是图像。10.根据权利要求8所述的系统,其中,向所述第一DCNN输入所述多个样本文档包括:针对每个样本文档:将所述样本文档传递给所述第一DCNN的卷积层,所述卷积层包括具有动态可调整权重的一个或多个过滤器,所述一个或多个过滤器被配置为对所述图像进行过滤以产生相应样本文档的输出容积,所述输出容积包括用于所述一个或多个过滤器中的每个过滤器的不同特征映射;将来自所述卷积层的所述输出容积传递通过非线性层,所述非线性层将非线性函数应用于来自所述卷积层的所述输出容积;将来自所述非线性层的所述输出容积传递通过池化层,所述池化层降低来自所述非线性层的所述输出容积的空间纬度;将来自所述池化层的所述输出容积传递通过分类层,所述分类层包括具有过滤器的专用卷积层,所述过滤器被设计为基于来自所述池化层的所述输出容积来输出所述样本文档的专业度得分;以及将所述图像传递通过损失层,所述损失层向所述样本文档应用损失函数,从而得到对与来自所述样本文档的所述标注的所述专业度得分相比较的、来自所述分类层的所述样本文档的所述专业度得分的误差水平的指示;确定所述多个样本文档的所述误差水平的组合是否超过预设门限;以及响应于确定所述误差水平的所述组合超过预设门限,更新所述第一DCNN的所述卷积层中的所述一个或多个过滤器的权重以减小所述误差水平的所述组合,并且使用不同的多个样本文档和经更新的权重来重复对所述第一DCNN的所述训练。11.根据权利要求10所述的系统,其中,将所述第一输入文档的多个可能变换馈送到所述第一DCNN包括:针对所述多个可能变换中的每个可能变换:将所述变换传递给所述卷积层,生成输出;将来自所述卷积层的所述输出传递给所述非线性层,生成输出;将来自所述非线性层的所述输出传递给所述池化层,生成输出;以及将来自所述非线性层的输出传递给所述分类层,生成所述变换的专业度得分。12.根据权利要求8所述的系统,其中,所述多个可能变换是对图像的不同裁剪。13.根据权利要求8所述的系统,其中,所述指令还使所述系统:将第一输入文档的第二多个可能变换馈送到所述第一DCNN,获得所述第二多个可能变换中的每个可能变换的所述第一度量的值,所述第二多个可能变换具有与所述多个可能变换不同的变换类型;基于所述第二多个可能变换中的每个可能变换的所述第一度量的所述值,从所述第二多个可能变换中选择第三变换;通过将所选择的第三变换输入到所述第二DCNN来训练第三DCNN以输出文档的另一个变换;以及将所述第二输入文档馈送到所述第三DCNN,获得所述第二输入文档的第四变换。14.根据权利要求8所述的系统,其中,所述第二DCNN包括多个阶段,每个阶段包括不同的卷积层、非线性层和池化层。15.一种包括指令的非暂时性机器可读存储介质,所述指令当由一个或多个机器执行时,使所述一个或多个机器执行包括以下各项的操作:通过向第一DCNN输入多个样本文档来训练所述第一DCNN以输出第一度量的值,所述样本文档中的每个样本文档已经利用所述第一度量的值进行了标注;将第一输入文档的多个可能变换馈送到所述第一DCNN,获得所述多个可能变换中的每个可能变换的所述第一度量的值;基于所述多个可能变换中的每个可能变换的所述第一度量的所述值,从所述多个可能变换中选择第一变换;通过将所选择的第一变换和所述第一度量的相应值输入到第二DCNN来训练所述第二DCNN以输出文档的变换;以及将第二输入文档馈送到所述第二DCNN,获得所述第二输入文档的第二变换。16.根据权利要求15所述的非暂时性机器可读存储介质,其中,所述样本文档以及所述第一输入文档和所述第二输入文档是图像。17.根据权利要求15所述的非暂时性机器可读存储介质,其中,向所述第一DCNN输入所述多个样本文档包括:针对每个样本文档:将所述样本文档传递给所述第一DCNN的卷积层,所述卷积层包括具有动态可调整权重的一个或多个过滤器,所述一个或多个过滤器被配置为对所述图像进行过滤以产生相应样本文档的输出容积,所述输出容积包括用于所述一个或多个过滤器中的每个过滤器的不同特征映射;将来自所述卷积层的所述输出容积传递通过非线性层,所述非线性层将非线性函数应用于来自所述卷积层的所述输出容积;将来自所述非线性层的所述输出容积传递通过池化层,所述池化层降低来自所述非线性层的所述输出容积的空间纬度;将来自所述池化层的所述输出容积传递通过分类层,所述分类层包括具有过滤器的专用卷积层,所述过滤器被设计为基于来自所述池化层的所述输出容积来输出所述样本文档的专业度得分;以及将所述图像传递通过损失层,所述损失层向所述样本文档应用损失函数,从而...

【专利技术属性】
技术研发人员:U·梅尔哈夫D·沙查姆
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1