使用聚类损失训练神经网络制造技术

技术编号:21554082 阅读:28 留言:0更新日期:2019-07-07 01:37
用于训练神经网络的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。方法之一包括:获得一批次的训练项目和真实分配;使用神经网络处理批次中的训练项目以为每个训练项目生成相应的嵌入;并且,通过执行神经网络训练过程的迭代来调整网络参数的当前值以优化目标函数,该目标函数惩罚用于生成针对除所述真实分配之外的每个可能聚类分配不导致所述oracle聚类分值比所述可能聚类分配的聚类分值高至少在所述可能聚类分配和所述真实分配之间的结构化差额的嵌入的神经网络。

Using Clustering Loss to Train Neural Networks

【技术实现步骤摘要】
【国外来华专利技术】使用聚类损失训练神经网络
本说明书涉及训练神经网络。
技术介绍
神经网络是使用非线性单元的一个或多个层来针对所接收的输入预测输出的机器学习模型。一些神经网络除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。一些神经网络是递归神经网络。递归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,递归神经网络可以使用来自前一个时间步长的网络的一些或全部内部状态来在当前时间步长计算输出。递归神经网络的示例是包括一个或多个LSTM存储器块的长短期(LSTM)神经网络。每个LSTM存储器块可以包括一个或多个细胞,每个细胞包括输入门、遗忘门和输出门,它们允许细胞存储该细胞的先前状态,例如,以用于生成当前激活或被提供到LSTM神经网络的其他组件。
技术实现思路
该说明书描述了在一个或多个位置上的一个或多个计算机上实现为计算机程序的系统,该系统训练神经网络,所述神经网络具有网络参数并且被配置为接收输入数据项目并根据网络参数处理输入数据项目以生成输入数据项目的嵌入。在一些特定的非限制性示例中,以本文描述的方式训练的神经网络可以用于图像分类。可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。通过训练在本说明书中描述的神经网络,即,通过训练神经网络以优化所描述的目标,训练的神经网络可以生成更准确地反映网络输入之间的相似性的嵌入。特别地,通过如本说明书中描述训练神经网络,由训练的神经网络生成的嵌入可以有效地用作用于各种任务的网络输入的特征或表示,包括基于特征的检索、聚类、近似重复检测、验证、特征匹配、域适应和基于视频的弱监督学习等。在一些特定示例中,根据本文描述的训练方法训练的神经网络可以用于图像分类。更具体地,在这些示例中,通过以这种方式训练神经网络,由神经网络生成的嵌入可以有效地用于大规模分类任务,即,其中类的数量非常大并且每个类的示例的数量变得稀缺的任务。在此设置中,任何直接分类或回归方法由于可能数量大的类而变得不切实际。然而,所描述的训练技术允许例如通过用相应的中心点表示每个类并确定最接近网络输入的嵌入的中心点来使用由训练的神经网络生成的嵌入来将网络输入精确地分类为类之一。另外,用于训练神经网络以生成嵌入的许多传统方法在训练数据可用于训练神经网络之前需要对训练数据进行计算密集的预处理。例如,许多现有技术需要单独的数据准备阶段,其中,必须首先成对地准备训练数据,即,每对包括三元组的正和负示例,即每个三元组在训练数据可用于训练之前包括锚示例、正示例和负示例,或者是n对元组格式。该过程具有非常昂贵的时间和空间成本,因为它通常需要复制训练数据并且需要重复访问磁盘以确定如何格式化训练示例。相比之下,本说明书中描述的训练技术在训练中使用一批次的训练项目之前几乎不需要或根本不需要预处理,在仍然如上所述训练网络以有效地生成嵌入的同时,减少了训练神经网络所需的计算成本和时间。在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。附图说明图1示出了示例神经网络训练系统。图2是使用聚类损失训练神经网络的示例过程的流程图。图3是用于确定对神经网络的参数的当前值的更新的示例过程的流程图。各附图中相同的附图标记和名称表示相同的元件。具体实施方式图1示出了示例性神经网络训练系统100。神经网络训练系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中,可以实现下面描述的系统、组件和技术。神经网络训练系统100是在训练数据140上训练神经网络110以从网络参数的初始值确定神经网络110的参数(在本说明书中称为网络参数)的训练值的系统。神经网络110是被配置为接收输入数据项目102并处理输入数据项目以根据网络参数生成输入数据项目102的嵌入112的神经网络。通常,数据项目的嵌入是表示数据项目的数值的有序集合,例如矢量。换句话说,每个嵌入是多维嵌入空间中的一个点。一旦被训练,由神经网络110生成的多维空间中的嵌入的位置可以反映嵌入表示的数据项目之间的相似性。神经网络110可以被配置为接收任何类型的数字数据输入作为输入并且从输入生成嵌入。例如,输入数据项目(也称为网络输入)可以是图像、文档的部分、文本序列和音频数据等。神经网络110可以具有适合于由神经网络110处理的网络输入类型的任何架构。例如,当网络输入是图像时,神经网络110可以是卷积神经网络。例如,嵌入可以是已经预先训练用于图像分类的卷积神经网络(例如,在C.Szegedy,W.Liu,Y.Jia,P.Sermanet,S.Reed,D.Anguelov,D.Erhan,V.Vanhoucke,andA.Rabinovich,Goingdeeperwithconvolutions,inCVPR,2015中描述的初始网络)的中间层的输出。一旦被训练,由网络110生成的嵌入可用于各种目的中的任何目的。例如,系统100可以将由训练的神经网络生成的嵌入作为相应网络输入的特征提供为另一系统的输入,例如,用于在该网络输入上执行机器学习任务。示例任务可以包括基于特征的检索、聚类、近似重复检测、验证、特征匹配、域自适应和基于视频的弱监督学习等。作为另一示例,系统100可以使用由训练的神经网络生成的嵌入来对相应的网络输入进行分类。特别地,对于一组多个可能类中的每一个,系统可以保持识别相应的中心点的数据,即嵌入空间中的相应代表点。然后,系统100可以将网络输入分类为属于由最接近由训练的神经网络对于该网络输入生成的嵌入的中心点所表示的类。由系统100用于训练神经网络110的训练数据140包括多批次训练输入和用于训练输入的真实聚类分配。真实聚类分配将每个训练输入分配到聚类集中的相应聚类中。例如,在分类上下文中,聚类集可以包括网络输入可以被分类为的每个可能的类别或类的相应聚类,并且真实分配将每个数据项目分配给数据项目应该被分类为的类别或类的聚类。系统100通过优化聚类目标150来在训练数据140上训练神经网络110。具体地,聚类目标150是针对给定批次的多个训练输入因为下述情况而惩罚神经网络110的目标:对于除该批次的真实分配之外的每个可能的聚类分配,产生不会导致用于该批次的oracle聚类分值比用于该可能的聚类分配的聚类分值高至少在该可能的聚类分配和真实分配之间的结构化差额的嵌入。每个可能的聚类分配通过指定一组聚类中心点(即,嵌入空间中的一组代表点)来定义批次中的训练示例的聚类,该一组聚类中心点包括用于该组聚类中的每个聚类的一个中心点。然后,聚类分配将批次中的每个训练项目分配给最接近训练项目的嵌入的中心点。给定聚类分配的聚类分值(也称为设施位置分值)测量批次中的训练项目的嵌入每个与该嵌入的最接近的中心点的接近程度。特别地,在一些实现中,生成聚类分值的设施位置函数F满足:其中,|X|是批次中的训练输入X的总数,总和是遍及批次中的所有训练输入的总和,S是给定聚类分配中的中心点集,对于第i个训练输入Xi,f(Xi;θ)是根据网络参数θ生成的训练输入的本文档来自技高网...

【技术保护点】
1.一种训练神经网络的方法,所述神经网络具有多个网络参数并且被配置为接收输入数据项目并根据所述网络参数处理所述输入数据项目以生成所述输入数据项目的嵌入,所述方法包括:获得一批次训练项目和对所述批次中的所述训练项目到多个聚类的真实分配;使用所述神经网络并根据所述网络参数的当前值处理所述批次中的所述训练项目以为每个所述训练项目生成相应的嵌入;基于所述相应的嵌入确定所述真实分配的oracle聚类分值;以及通过执行神经网络训练过程的迭代来调整所述网络参数的所述当前值以优化目标函数,所述目标函数惩罚用于生成针对除所述真实分配之外的每个可能聚类分配不导致所述oracle聚类分值比所述可能聚类分配的聚类分值高至少在所述可能聚类分配和所述真实分配之间的结构化差额的嵌入的神经网络。

【技术特征摘要】
【国外来华专利技术】2016.11.15 US 62/422,5551.一种训练神经网络的方法,所述神经网络具有多个网络参数并且被配置为接收输入数据项目并根据所述网络参数处理所述输入数据项目以生成所述输入数据项目的嵌入,所述方法包括:获得一批次训练项目和对所述批次中的所述训练项目到多个聚类的真实分配;使用所述神经网络并根据所述网络参数的当前值处理所述批次中的所述训练项目以为每个所述训练项目生成相应的嵌入;基于所述相应的嵌入确定所述真实分配的oracle聚类分值;以及通过执行神经网络训练过程的迭代来调整所述网络参数的所述当前值以优化目标函数,所述目标函数惩罚用于生成针对除所述真实分配之外的每个可能聚类分配不导致所述oracle聚类分值比所述可能聚类分配的聚类分值高至少在所述可能聚类分配和所述真实分配之间的结构化差额的嵌入的神经网络。2.根据权利要求1所述的方法,其中,所述结构化差额测量所述可能聚类分配相对于所述真实分配的质量。3.根据权利要求2所述的方法,其中,所述结构化差额基于在所述可能聚类分配与所述真实分配之间的标准化互信息度量。4.根据权利要求1至3中的任一项所述的方法,其中,执行所述神经网络训练过程的所述迭代包括:确定除所述真实分配之外的具有最高增强聚类分值的可能聚类分配,其中,增强聚类分值是所述可能聚类分配的所述聚类分值加上在所述可能聚类分配与所述真实分配之间的所述结构化差额。5.根据权利要求4所述的方法,其中,确定除所述真实分配之外的具有所述最高增强聚类分值的可能聚类分配包括:使用迭代损失增强推理技术来确定初始最佳可能聚类分配。6.根据权利要求5所述的方法,其中,使用所述迭代损失增强推理技术来确定所述初始最佳可能聚类分配包括:...

【专利技术属性】
技术研发人员:宋贤吴
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1