CN115362446A - 用于少样本相似性确定和分类的交叉变换器神经网络系统 - Google Patents

用于少样本相似性确定和分类的交叉变换器神经网络系统 Download PDF

Info

Publication number
CN115362446A
CN115362446A CN202180025868.5A CN202180025868A CN115362446A CN 115362446 A CN115362446 A CN 115362446A CN 202180025868 A CN202180025868 A CN 202180025868A CN 115362446 A CN115362446 A CN 115362446A
Authority
CN
China
Prior art keywords
support
neural network
query
data item
embedding
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.)
Pending
Application number
CN202180025868.5A
Other languages
English (en)
Inventor
C.多尔施
A.古普塔
A.齐塞尔曼
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.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies 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 DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN115362446A publication Critical patent/CN115362446A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

描述了一种用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统。神经网络系统由一个或多个计算机和一个或多个存储指令的存储设备来实现,当所述指令被一个或多个计算机执行时,使得一个或多个计算机执行包括接收查询数据项和获得一个或多个支持数据项的支持集的操作,所述支持集包括支持集中每个相应支持数据项的支持键嵌入和支持值嵌入。这些操作还包括使用被配置为处理数据项以生成键嵌入的键嵌入神经网络子系统来生成查询数据项的查询键嵌入。这些操作还包括基于查询键嵌入和每个相应支持数据项的支持键嵌入之间的相似性来生成注意力图。这些操作还包括使用被配置为处理数据项以生成值嵌入的值嵌入神经网络子系统来生成所述查询数据项的查询值嵌入;以及基于注意力图、每个相应支持数据项的支持值嵌入和查询值嵌入来确定查询数据项和支持集之间的相似性度量。

Description

用于少样本相似性确定和分类的交叉变换器神经网络系统
相关申请的交叉引用
本申请要求2020年6月5日提交的美国临时申请号63/035,469和2020年6月16日提交的美国临时申请号63/039,748的优先权。在先申请的公开内容被认为是本申请公开内容的一部分,并通过引用结合于此。
背景技术
本说明书涉及用于少样本相似性确定和分类的神经网络系统。
神经网络是采用一层或多层非线性单元来预测针对接收到的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一个层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,递归神经网络可以在计算当前时间步长的输出时使用根据先前时间步长的网络的一些或全部内部状态。递归神经网络的一个示例是包括一个或多个长短期记忆(LSTM)记忆块的LSTM神经网络。每个LSTM存储块可以包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,其允许该单元存储该单元的先前状态,例如,用于生成当前激活或被提供给LSTM神经网络的其他组件。
发明内容
本说明书描述了一种系统,该系统包括一个或多个计算机和一个或多个存储指令的存储设备,当所述指令被一个或多个计算机执行时,使得一个或多个计算机实现用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统。神经网络系统特别适用于“少样本”应用,对于这种应用,只有有限数量的特定类别的示例可用,并且神经网络系统必须能够基于有限数量的示例数据项从这些类别中识别数据项。示例数据项可以被称为支持集,而要被识别的数据项可以被称为查询数据项。本文描述的神经网络系统能够识别在训练期间没有见过的类别中的查询数据项,并且不需要重新训练来识别这些新类别中的查询数据项。相反,神经网络系统提供了用于确定查询数据项和支持数据项之间的相似性的改进机制。此外,神经网络系统被训练来提供数据项的表示,这些表示更普遍地适用于所有数据项,并且可以更容易地转换(transfer)到新的类别。
在实现中,以下操作可以由实现神经网络系统的一个或多个计算机来执行。可以接收查询数据项。可以获得一个或多个支持数据项的支持集,该支持集包括该支持集中的每个相应支持数据项的支持键嵌入和支持值嵌入。可以使用被配置为处理数据项以生成键嵌入的键嵌入神经网络子系统来生成查询数据项的查询键嵌入。可以基于查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性来生成注意力图。可以使用被配置为处理数据项以生成值嵌入的值嵌入神经网络子系统来生成查询数据项的查询值嵌入。查询数据项和支持集之间的相似性度量可以基于注意力图、每个相应支持数据项的支持值嵌入和查询值嵌入来确定。
键和值嵌入可以是查询数据项和支持数据项的表示,其使得查询数据项和支持数据项的特征的比较更加容易。因此,查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性可以指示查询数据项的特定特征是否存在于支持数据项中。
注意力图可用于指导系统关于支持数据项的哪些部分对于确定查询数据项和支持数据项之间的相似性可能是重要的。
可以使用键嵌入神经网络子系统来生成支持键嵌入。可以使用值嵌入神经网络来生成支持值嵌入。也就是说,相同的键嵌入神经网络子系统可用于生成查询数据项和支持数据项的键嵌入,同样,相同的值嵌入神经网络可用于生成值嵌入。以这种方式,查询数据项和支持数据项都被表示在相同的特征空间中用于比较。
为了提高效率,支持键嵌入和支持值嵌入可以生成一次,并存储在高速缓存或其他数据存储中,以便以后每当要处理新的查询数据项时进行检索。可替换地,支持键嵌入和支持值嵌入可以在系统外部生成,并在适当时提供给系统。
支持数据项可以与一个或多个类别相关联。支持集可以包括与多个类别中相应的一个或多个类别相关联的支持数据项。特别地,数据支持项中的每个数据支持项可以与类别中相应的一个类别相关联。每个支持项可以与指示它与类别中的哪个类别相关联的标签相关联;例如,某个支持项可以用第一类别来标记,表明它与该类别相关联。如上所述,多个类别可以是不是用于训练神经网络系统的训练数据集的一部分的类别,并且支持集中可以有有限数量的与每个类别相关联的支持数据项。可以基于针对每个相应类别确定的相似性度量来对查询数据项进行分类。
支持值嵌入可以基于注意力图来加权。可以聚合与相同类别相关联的支持数据项的加权的支持值嵌入,以生成与支持集相关联的每个类别的原型。也就是说,对应于用第一类别标记的支持数据项的加权的支持值嵌入可以被聚合以形成第一类别的原型。对应于用第二类别标记的支持数据项的加权的支持值嵌入可以被聚合以形成第二类别的原型,并且对于进一步的类别以此类推。
该聚合可以是总和、平均值或其他适当的聚合函数。该聚合可以使得原型中的特定位置指示查询数据项或查询键嵌入中的相应位置处的特征是否存在于与原型类别相关联的支持数据项或支持键嵌入中。
确定相似性度量可以包括确定查询值嵌入和原型之间的相似性度量。相似性度量可以基于查询值嵌入和原型之间的距离。该距离可以基于欧几里德距离。可替换地,可以适当地使用其他距离,诸如余弦距离。该距离可以指示查询数据项属于支持集的特定类别的可能性。距离或其他相似性度量可以用作用于分类的softmax函数的分对数(logit)。可替换地,可以使用分类器,诸如基于神经网络的分类器来执行分类。分类器可以基于查询值嵌入和每个类别的原型或输入的其他适当组合来执行分类。
查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性可以基于点积。例如,嵌入中相应位置的元素可以相乘。如上所述,查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性可以基于查询键嵌入的特征和支持键嵌入的每个相应特征之间的相似性。这些特征可以是空间特征。例如图像的区域。
应当理解,查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性在相似性计算中可能不需要归一化或归一化常数。例如,相似性计算可以是查询键嵌入和支持键嵌入之间的点积。点积的结果可以基于查询和支持键嵌入的L-2范数来归一化。L-2范数可以被视为归一化常数(或缩放常数)。然而,这样的归一化常数可以不是必需的。通过使用原始(未缩放的)相似性值,注意力图可以展示更尖锐的峰值,这可以有助于提高相似性确定的准确性。因此,可以基于查询键嵌入和每个相应的支持数据项的支持键嵌入之间的未缩放的相似性度量来生成注意力图。
可以基于softmax函数生成注意力图,该函数接收相同类别的查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性。也就是说,第一类别的支持数据项的相似性可以被输入到softmax函数,以归一化跨第一类别的相似性值。softmax函数可以还包括温度参数。
键嵌入神经网络子系统和/或值嵌入子系统可以各自包括线性输出层。键嵌入神经网络子系统和/或值嵌入子系统可以各自包括卷积层。键嵌入神经网络子系统和值嵌入神经网络子系统可以共享相同神经网络层的一部分。例如,两个神经网络子系统可以共享初始的ResNet型的神经网络结构,在ResNet结构的顶部具有单独的线性输出层,以生成键嵌入和值嵌入。
查询数据项和支持数据项可以是图像。与支持数据项相关联的类别可以是图像中存在的对象的类别。因此,该系统可以用于对象识别。该系统还可以用于其他任务,诸如对象检测和分割。数据项可以是视频数据。类别可以是在视频数据中执行的动作。数据项可以是语音的发声,并且该系统可以用于语音识别。
在一个示例性实现中,数据项是图像。向系统提供图像的支持集。支持集包括神经网络系统没有被训练来分类的对象的图像。系统接收要分类的查询图像。ResNet型神经网络用于生成查询图像和支持图像的特征图。线性投影基于查询图像和支持图像的特征图来生成键嵌入。使用点积注意力比较特定对象类别的查询图像和支持图像的键嵌入,并使用softmax函数跨所有空间位置和支持图像进行归一化,以产生注意力图。第二线性投影用于从查询特征图和支持特征图生成值嵌入。注意力图用于对支持值嵌入进行加权,并且加权的支持值嵌入被聚合以形成每个对象类别的原型。查询值嵌入和对象类别原型中的每个对象类别原型之间的距离被计算。使用距离上的softmax函数来获得查询图像包括属于支持集的对象类别之一的对象的概率。应当理解,这种实现是示例性的而非限制性的,并且结合如上所述的替代特征的其他实现是可能的。
还提供了一种确定查询数据项和支持数据项的集合之间的相似性度量的方法,包括由如上所述的神经网络系统实现的操作。
还提供了一种训练用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统的方法。该方法可以包括接收情节训练数据集,该情节训练数据集包括被分组为多个训练情节的训练数据项。每个训练情节可以包括被划分成支持训练数据项的支持集和查询集的训练数据项。可以选择训练情节进行修改。对于所选择的训练情节的支持集中的多个支持训练数据项中的每个支持训练数据项,可以生成支持训练数据项的第一变换版本和第二变换版本。可以用指示原始支持训练数据项的标签来标记第一变换版本和第二变换版本。可以基于支持训练数据项的第二变换版本来生成训练情节的新查询集。可以通过用新的查询集替换所选择的训练情节的查询集来生成修改的情节训练数据集。可以使用包括修改的情节训练数据集的训练集来生成神经网络。
在修改的训练情节内,将支持训练数据项变换成第一变换版本和第二变换版本并用指示原始训练数据项的标签进行标记,将所选择的训练情节的训练任务修改为从数据项的变换版本中识别各个数据项。通过以这种方式训练,神经网络可以学习更一般化的特征,并且可以用于区分训练数据集的分布之外的数据项,包括从未见过的类别的数据项-这是神经网络通常难以处理的。
因为修改的训练情节不需要外部标签,所以修改的训练情节是一种形式的自我监督学习。
训练情节的修改使得神经网络训练可以在不需要修改基础训练算法的情况下进行。因此,可以使用原始训练情节和修改的训练情节的混合来执行神经网络训练。例如,修改的情节训练数据集(即,用于训练神经网络的数据集)的一半可以包括修改的训练情节,而另一半包括原始的未修改的训练情节。因此,对于修改的和未修改的训练情节,可以基于相同的损失函数来生成神经网络。
原始训练情节可以各自是受监督的分类任务,目的是基于支持集中所提供的训练数据项对查询集中的数据项进行分类。这样,损失函数可以是分类损失函数,并且可以是交叉熵损失函数。通过基于修改的和未修改的训练情节的混合的训练,可以减轻“监督崩溃”的问题。在神经网络的标准监督训练中,神经网络可能仅保留区分出现在训练数据集中的类别所需的信息,并丢弃可能有助于区分训练数据集中未出现的类别的数据项的其他潜在有用信息。这被称为监督崩溃。基于修改的训练情节来区分各个数据项和变换版本的训练鼓励神经网络学习数据项的一般特征,这些特征可以跨类别转移,甚至转移到未出现的类别。例如,对象可以由更简单的组件组成,并且神经网络可以学习识别这些更简单的组件,这些组件可以用于表示和识别新颖的对象。
该方法还可以包括基于第一变换版本修改所选择的训练情节的支持集。例如,在生成原始支持训练数据项的第一变换版本的情况下,可以用对应的第一变换版本来替换或补充原始支持训练数据项,以形成用于所选择的训练情节的修改的支持集。可以通过移除尚未为其生成第一变换版本的原始支持训练数据项来进一步修改支持集。
在另一示例中,对于所选择的训练情节的支持集中的每个相应支持训练数据项(或者为所选择的训练情节的支持集中的至少一些支持训练数据项),可以生成多个第一变换版本。对于所选择的训练情节的支持集中的支持训练数据项的相应子集,可以生成支持训练数据项的第二变换版本。第一变换版本可以形成替换支持集,而第二变换版本可以形成所选择的训练情节的替换查询集。
训练情节可以包括具有来自5到50个类别的50到500个标记数据项的支持集。查询集可以每类别包括两个数据项。修改的训练情节的新查询集可以包括与原始查询集相同数量的数据项,并且可以根据与原始查询集相同的类别分布来随机选择新查询集的支持数据项。
神经网络参数的更新可以在每个训练情节结束时进行。然而,应当理解,在本领域技术人员认为合适的情况下,在支持集和查询集合中可以有更少或更多数量的数据项,并且对神经网络参数的更新可以在本领域技术人员认为合适的时间间隔进行。可以基于归一化随机梯度下降技术来生成神经网络。也就是说,在应用更新之前,全局梯度可以被缩放以具有单位范数。
对用于修改的训练情节的选择可以随机执行。可以通过应用基于裁剪操作、颜色失真操作或高斯模糊操作的变换来生成支持训练数据项的变换版本。生成支持训练数据项的变换版本可以包括将随机变换函数(例如,从一类变换函数中随机选择的变换函数)应用于支持训练数据项,以生成支持数据项的变换版本。也就是说,可以随机选择变换操作,并且也可以随机选择变换操作的任何参数。
可以使用不同的变换操作和/或参数来生成第一变换版本中的每个第一变换版本。同样,不同的变换操作和/或参数可以用于生成第二变换版本中的每个第二变换版本。可替换地,该方法还可以包括确定第一变换和第二变换,其中第一变换被应用于每个相应的支持数据项以生成每个相应支持数据项的第一变换版本;并且其中第二变换被应用于每个相应的支持数据项,以生成每个相应的支持数据项的第二变换版本。也就是说,在每个修改的训练情节内,第一变换版本可以全部使用相同的第一变换来生成,同样,第二变换版本可以全部使用相同的第二变换来生成。
在情节训练之前,可以进行受监督的预训练阶段。也就是说,训练数据项可以根据其自身被单独分类,而不是被分组到情节并被划分为支持集和查询集。可以执行受监督的预训练阶段,直到对验证集进行评估的度量没有进一步的改善。对分类的替代监督任务可以适当地用于预训练。
应当理解,用于修改训练情节的操作可以以不同的顺序执行,以达到相同的效果。例如,可以首先为新的查询集选择数据项,生成这些新的查询数据项的变换版本,然后才对支持集中的支持数据项应用第一和第二变换。
还可以理解,训练方法可以生成具有上述关于用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统的特征的神经网络。因此,由训练方法生成的神经网络可以用作用于确定相似性度量的神经网络之一。
还提供了另一种用于训练用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络的方法。该方法可以包括接收情节训练数据集,该情节训练数据集包括被分组为多个训练情节的训练数据项。每个训练情节可以包括被划分成支持集和查询集的训练数据项。训练情节可以被选择以进行修改。对于所选择的训练情节的支持集中的每个支持训练数据项,可以生成支持数据项的第一变换版本和第二变换版本。可以用指示原始训练数据项的标签来标记第一变换版本和第二变换版本。可以选择支持数据项中的一个或多个,以基于所选择的支持数据项的第一变换版本和第二变换版本来为训练情节生成新的查询集。新的查询集可以替换训练情节的原始查询集。神经网络可以使用包括修改的情节训练数据集的训练情节被生成。应当理解,在先前训练方法的上下文中描述的特征可以与该进一步训练方法的特征相结合。
训练方法可以由包括一个或多个计算机和一个或多个存储指令的存储设备的系统来实现,当由一个或多个计算机执行时,所述指令使得一个或多个计算机执行训练方法的操作。
此外,提供了存储指令的一个或多个计算机存储介质,当由一个或多个计算机执行时,所述指令使得一个或多个计算机实现上述神经网络系统和/或执行上述训练方法的操作。
神经网络系统可以用作计算机视觉系统的一部分。例如,在用于自主车辆或机器人系统的计算机视觉系统中。由于真实场景中出现的对象的所谓“长尾”,不熟悉的对象在真实世界视觉应用中几乎无处不在。在另一个示例中,该系统可以用作照片组织软件的一部分,该软件可能需要即时创建新的类别。除了对象识别之外,该系统还可以执行其他计算机视觉任务,诸如对象检测和分割。罕见和新颖的对象也可以出现在其他领域,诸如视频和语音,并且该系统可以与这些其他领域结合使用。
例如,神经网络系统可用于语言建模系统、图像/视频处理系统或动作选择系统。例如,任务可以包括分类任务,诸如图像处理任务、语音识别任务、自然语言处理任务、词语识别任务或光学字符识别任务。此外,任务可以包括强化学习任务,其中代理与一个或多个真实或模拟环境交互以实现一个或多个目标。
对于语言建模任务或使用神经网络将文本从源语言翻译成目标语言,系统可以被配置为接收表示用源自然语言表述的源词语序列的源嵌入的输入序列,并生成表示目标词语序列的目标嵌入的输出序列,该目标词语序列是源序列到目标自然语言的翻译。更一般地,该系统可以应用于其他序列转导应用,其中源序列被映射到目标序列。
输入数据可以包括例如以下的一个或多个:图像数据、移动图像/视频数据、运动数据、语音数据、音频数据、电子文档、表示环境状态的数据和/或表示动作的数据。例如,图像数据可以包括彩色或单色像素值数据。这种图像数据可以从诸如照相机或激光雷达传感器的图像传感器中捕获。音频数据可以包括定义音频波形的数据,诸如定义波形的时域和/或频域中的一系列值;波形可以表示以自然语言表述的语音。电子文档数据可以包括表示用自然语言表述的词语的文本数据。表示环境状态的数据可以包括任何种类的传感器数据,包括例如:表征机器人或车辆状态的数据,诸如姿态数据和/或位置/速度/加速度数据;或者表征工厂或数据中心的状态的数据,诸如感测的电子信号,诸如感测的电流和/或温度信号。表示动作的数据可以包括例如位置、速度、加速度和/或扭矩控制数据或用于控制工厂或数据中心中一项或多项装置的操作的数据。这些数据通常可以涉及真实或虚拟的(例如模拟的)环境。
输出数据可以类似地包括任何种类的数据。例如,在分类系统中,输出数据可以包括输入数据项的类别标签。在回归任务中,输出数据可以预测连续变量的值,例如用于控制诸如机器人、车辆、数据中心或工厂的电子或机电系统的控制变量。在对图像或音频数据进行操作的回归任务的另一个示例中,输出数据可以定义数据中的一个或多个位置,例如对象的位置或对象的边界框的一个或多个角的位置,或者音频波形中声音特征的时间位置。在强化学习系统中,输出数据可以包括例如表示动作(如上所述,将由在环境中操作的代理(例如诸如机器人或车辆的机械代理)执行的动作)的数据。
表示动作的数据可以包括例如定义动作的动作值(Q值)的数据,或者参数化概率分布的数据,其中概率分布被采样以确定动作,或者直接定义动作的数据,例如在连续动作空间中。因此,在强化学习系统中,神经网络系统可以直接参数化动作选择策略的概率分布,或者它可以学习估计动作值函数的值(Q值)。在后一种情况下,多个存储器和各自的输出网络可以共享公共的嵌入网络,以便为每个可用的动作提供Q值。
神经网络可以被配置为接收任何种类的数字数据输入,并基于该输入生成任何种类的得分、分类或回归输出。
例如,如果神经网络的输入是图像或已经从图像中提取的特征,则神经网络为给定图像生成的输出可以是一组对象类别中的每一个的得分,每个得分表示该图像包含属于该类别的对象的图像的估计可能性。
作为另一个示例,如果神经网络的输入是互联网资源(例如,网页)、文档或文档部分或从互联网资源、文档或文档部分提取的特征,则由神经网络为给定的互联网资源、文档或文档部分生成的输出可以是主题集合中的每个主题的得分,每个得分表示互联网资源、文档或文档部分关于该主题的估计可能性。
作为另一个示例,如果神经网络的输入是特定广告的印象上下文的特征,则由神经网络生成的输出可以是表示特定广告将被点击的估计可能性的得分。
作为另一个示例,如果对神经网络的输入是对用户的个性化推荐的特征,例如,表征推荐的上下文的特征,例如,表征用户先前采取的动作的特征,则由神经网络生成的输出可以是内容项集合中的每个内容项的得分,每个得分表示用户将对被推荐内容项做出有利响应的估计可能性。
作为另一个示例,如果神经网络的输入是以一种语言表述的文本的序列,则由神经网络生成的输出可以是以另一种语言表述的文本片段集合中的每个文本片段的得分,每个得分表示以另一种语言表述的文本片段是输入文本到另一种语言的正确翻译的估计可能性。
作为另一个示例,如果神经网络的输入是表示讲出的话语的序列,则由神经网络生成的输出可以是文本片段中的每个文本片段的得分,每个得分表示该文本片段是该话语的正确转录的估计可能性。
本说明书中描述的主题可以在特定实施例中实现,以便实现如下优点中的一个或多个。
如上所述,神经网络系统能够识别属于神经网络系统在训练期间未见过的类别的数据项。这可以在不需要昂贵的重新训练的情况下完成,并且与其他现有技术相比,可以用更少的支持数据项来同等精确地执行,如果不是更精确的话。这样,神经网络系统可以具有减少的存储器和存储需求以及减少的处理器和功率需求来处理查询数据项。
与现有技术方法相比,神经网络系统提供了改进的比较机制,并且还提供了查询数据项和支持数据项的表示,这使得查询数据项和支持数据项的特征的比较更加容易。
此外,上述训练方法可以以更快的速度实现与现有技术方法类似(如果不是更好的话)的性能,因此该训练方法降低了总体处理器和功率需求。该训练方法可以减轻监督崩溃的问题,并使神经网络系统能够学习更普遍地适用于识别诸如组成部分的任何数据项的特征。
在整个说明书中,例如使用神经网络来处理图像是指使用神经网络来处理与图像的像素相关联的强度值。
附图说明
图1是示例神经网络系统的框图。
图2是神经网络系统的示例操作的示意图示。
图3是用于确定查询数据项和支持数据项的集合之间的相似性的示例过程的流程图。
图4是用于训练神经网络系统的示例过程的流程图。
图5是示例查询图像和支持集图像之间确定的对应关系的图示。
具体实施方式
本说明书描述了一种用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统。相似性度量随后可用于根据与支持集相关联的类别对查询数据项进行分类。
通常,神经网络系统使用查询数据项和支持数据项的键嵌入来生成一个或多个注意力图。注意力图可以指示支持数据项的哪些部分(例如特征、元素等)对于确定查询数据项和支持数据项之间的相似性可能是重要的。例如,注意力图可以指示查询数据项和支持数据项的潜在对应部分的位置和可能性。考虑到注意力图,在值嵌入空间中执行查询数据项和支持数据项之间的相似性比较。相似性度量可以被认为是基于局部部分的比较。神经网络系统通过这种基于局部部分的比较提供了一种用于确定数据项之间的相似性的改进的机制,特别是对于在神经网络系统的训练期间可能没有出现的以及其中每个类别的数据有限的数据项的类别。例如,每个类别可以有10个或更少的支持数据项。
图1示出了神经网络系统100的示例。神经网络系统100是被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,其中可以实现下面描述的系统、组件和技术。
神经网络系统100被配置为接收查询数据项101并获得查询数据项101将与其进行比较并对其确定相似性度量的一个或多个数据项102的支持集。支持集102包括支持集102中的每个相应支持数据项的支持键嵌入103和支持值嵌入104。支持集102可以从存储器或数据存储设备中检索,或者可以从神经网络系统100外部的设备或内部和外部设备的组合中接收。例如,可以接收补充现有支持集的附加数据项。支持集102的数据项可以与一个或多个类别相关联。例如,如果数据项是图像,则类别可以是图像中存在的对象的类型。
神经网络系统100包括键嵌入神经网络子系统105,其被配置为处理数据项以生成键嵌入。在这种情况下,神经网络系统100被配置为使用键嵌入神经网络子系统105为查询数据项101生成查询键嵌入106。神经网络系统100还可以被配置为使用键嵌入神经网络子系统105来生成支持键嵌入103。例如,如果在没有相应的支持键嵌入103的情况下提供支持集的数据项,或者如果支持键嵌入103需要重新生成,诸如在神经网络系统100的训练期间。键嵌入可以是查询数据项101和支持数据项到嵌入空间的变换,其使得数据项的比较更容易。
神经网络系统100还包括注意力图子系统107。神经网络系统100被配置为使用注意力图子系统107,基于查询键嵌入106和每个相应支持数据项的支持键嵌入103之间的相似性,生成注意力图108。注意力图108可用于关注或注意查询数据项和支持数据项的特定特征,其中这些特征对于确定查询数据项101和支持集102之间的相似性度量可以特别重要。注意力图108可以指示查询数据项101和支持数据项的潜在对应特征的位置和可能性。例如,在数据项是图像的情况下,注意力图可以指示查询图像和支持图像之间的对应空间特征的位置。示例特征可以是汽车的轮子、飞机的机翼、花的花瓣等。这在图5中示出,下面将进一步详细描述。
可以基于查询键嵌入106和每个相应支持数据项的支持键嵌入103之间的未缩放的相似性度量来生成注意力图108。也就是说,相似性度量可以不需要归一化,并且可以如上所述使用计算的原始值。查询键嵌入106和每个相应支持数据项的支持键嵌入103之间的相似性可以基于点积。查询键嵌入106和每个相应数据项的支持键嵌入103之间的相似性可以基于查询键嵌入106的特征和支持键嵌入103的每个相应特征之间的相似性。例如,对于查询键嵌入106的每个特征,可以生成注意力图108,作为查询键嵌入106的特征和支持键嵌入103的特征的每个相应特征之间的相似性比较的结果。
还可以基于softmax函数来生成注意力图108,该函数接收相同类别的查询键嵌入106和每个相应支持数据项的支持键嵌入103之间的相似性度量。以这种方式,注意力图108的值跨特定类别的支持数据项被归一化。此外,softmax函数还可以接收查询键嵌入106的每个特征和支持键嵌入103的每个特征之间的相似性。因此,注意力图(或适当情况下的多个注意力图)的值可以跨特征并在特定类别内被归一化。下面描述关于注意力图108的生成的进一步细节。
继续参考图1,神经网络系统100还包括值嵌入神经网络子系统109,其被配置为处理数据项以生成值嵌入。神经网络系统100被配置为使用值嵌入神经网络子系统109为查询数据项101生成查询值嵌入110。神经网络系统100还可以被配置为使用值嵌入神经网络子系统109来生成支持值嵌入104。例如,如果在没有相应的支持值嵌入104的情况下提供支持集的数据项,或者如果支持值嵌入104需要重新生成,诸如在神经网络系统100的训练期间。
神经网络系统100还包括被配置为确定相似性度量112的相似性子系统111。神经网络系统100被配置为基于注意力图108、每个相应支持数据项的支持值嵌入104和查询值嵌入110来确定查询数据项101和支持集102之间的相似性度量112。相似性度量112可以是查询数据项101和支持集102的每个相应支持数据项之间的相似性的度量。例如,支持值嵌入104可以基于对应的注意力图108来加权,并且因此利用软注意力的形式。可以确定查询值嵌入110和加权的支持值嵌入之间的相似性度量。
可替换地,相似性度量112可以是查询数据项101和基于与相同类别相关联的每个相应支持数据项生成的聚合支持数据项之间的相似性的度量。例如,可以通过聚合与相同类别相关联的支持数据项的加权的支持值嵌入来为每个类别生成聚合支持数据项,也称为原型。可以确定查询值嵌入110和每个相应类别的原型之间的相似性度量。
所确定的相似性度量112可以指示查询数据项101属于与支持数据项相关联的特定类别的可能性。相似性度量112可以基于距离。例如,查询值嵌入和相应原型之间的距离。更小的距离可以指示查询数据项属于与相应原型相关联的类别的更高可能性。该距离可以是欧几里德距离或本领域技术人员认为合适的任何其他距离。
关于确定相似性度量112的更多细节将在下面更详细地描述。神经网络系统100也可以被配置为输出相似性度量112。
神经网络系统100还可以包括分类器子系统113。神经网络系统100可以被配置为基于所确定的相似性度量112来分类查询数据项101。例如,分类可以基于确定的查询数据项101和每个相应的支持数据项之间的相似性度量,或者分类可以基于确定的使用每个相应类别的原型的相似性度量。分类器子系统113可以实现任何适当类型的分类器。例如,softmax函数可用于将所确定的相似性度量转换成指示查询数据项属于每个相应类别的可能性的概率分布。在另一个示例中,可以使用逻辑回归或神经网络分类器。可以使用分类器子系统113来执行分类,分类器子系统113可以提供输出分类114。
键嵌入神经网络子系统105和值嵌入神经网络子系统109可以包括具有线性输出层的神经网络。它们也可以包括具有卷积层的神经网络。键嵌入神经网络子系统105和值嵌入神经网络子系统109可以包括共享神经网络层的初始集合。在一个示例中,除了最后的各个输出层之外,所有层都是共享的。这在图2中更详细地示出。
现在参考图2,示出了使用神经网络系统100生成相应类别的原型的示意图。以下示例基于作为查询数据项101和支持数据项的模态的图像数据。应当理解,类似的处理可以应用于其他模态和类型的数据项,诸如音频信号和视频。
在图2中,首先使用函数Φ(.)对查询图像xq进行了变换。该函数Φ(.)可以使用被配置为处理图像以生成图像的特征图表示的神经网络来实现。例如,Φ(.)可以基于ResNet架构来实现,ResNet架构的进一步的细节可以在arXiv:1512.03385,He等人的“DeepResidual Learning for Image Recognition”中找到,可在https://arxiv.org/abs/1512.03385获得,其全部内容通过引用结合于此。
给定具有高度(H)、宽度(W)和3个颜色通道的图像x,Φ(.)可以生成具有尺寸H’xW’和D个通道的图像特征。在一个示例中,图像具有224×224的起始分辨率,并且函数Φ(.)的输出(用具有扩展的最终块的ResNet-34架构实现)具有14×14网格的512个通道。该函数Φ(.)也可以应用于如图2顶部所示的支持集201的图像。类别c的支持集被表示为Sc并且包括支持图像
Figure BDA0003871119940000141
其中j是Sc中支持图像的索引。
支持集图像特征
Figure BDA0003871119940000151
可以由键头进一步处理,以便为每个相应的支持集图像生成支持键嵌入202(也称为“键kc”,如图2所示)。键头可以实现函数Γ,其可以是线性函数映射Γ:
Figure BDA0003871119940000152
在这种情况下,特定支持图像的支持键嵌入因此具有尺寸H’x W’x dk。然而,在一个示例中,dk=128,将会理解,其他值也是可能的。
查询图像特征Φ(xq)可以由查询头进一步处理,以生成查询键嵌入203(也称为“查询(q)”,如图2所示)。查询头可以实现函数Ω,并且也可以是线性函数映射Ω:
Figure BDA0003871119940000153
因此,查询图像的查询键嵌入也可以具有维度H’x W’x dk。查询头和键头可以实现相同的函数,即Γ=Ω。查询头和键头可以被认为是键嵌入神经网络子系统105的一部分。函数Φ(.)可以是如上所述的键嵌入神经网络子系统105的共享初始部分。可替换地,使用该函数Φ(.)计算的图像特征表示可以在外部预先计算并提供给神经网络系统100。
在图2中,然后可以通过确定查询键嵌入的每个空间特征和每个相应的支持图像的支持键嵌入的每个空间特征之间的相似性来生成多个注意力图204。对于图2中查询键嵌入的特定空间位置p,示出了这个过程。在图2中,通过取相应查询键向量和相应支持键向量之间的点积,将查询键嵌入的位置p处的向量与支持键嵌入中的每个支持键嵌入的每个空间位置处的向量进行比较。这导致为位置p处的查询向量生成针对每个支持图像/键嵌入的注意力图
Figure BDA0003871119940000154
并且指示位置p处的图像特征与所有可能的空间位置处的支持图像的特征的对应性。
更具体地,下面的等式提供了支持键嵌入的示例计算,
Figure BDA0003871119940000155
其中
Figure BDA0003871119940000156
是属于类别c的第j个支持图像的支持键嵌入的空间位置m处的向量,并且
Figure BDA0003871119940000157
是属于类别c的第j个支持图像。下面的等式提供了查询键嵌入的示例计算,
qp=Ω·Φ(xq)p
其中qp是查询键嵌入的空间位置p处的向量。下一个等式提供了对应于查询键嵌入和支持键嵌入j的空间位置对p和m的注意力图值的示例计算,
Figure BDA0003871119940000158
其中
Figure BDA0003871119940000161
是查询键空间位置p和空间位置m处的支持键j的注意力图值。
在为类别内的每对空间位置和每个支持集图像计算注意力图值之后,然后可以通过对属于相同支持类别的所有空间位置对和注意力图应用softmax函数来归一化注意力图值,如以下示例等式所示:
Figure BDA0003871119940000162
其中
Figure BDA0003871119940000163
Figure BDA0003871119940000164
是归一化的注意力图值。
应当理解,上述用于生成注意力图的处理可以由注意力图子系统107来实现。
如上所述,可以基于注意力图108和支持值嵌入104来生成支持集中的特定类别c的原型。在图2中,支持集图像特征
Figure BDA0003871119940000165
可以由值头进一步处理,以便为每个相应的支持集图像生成支持值嵌入205(如图2所示,也称为“值vc”)。值头可以实现函数Λ,其可以是线性函数映射Λ:
Figure BDA0003871119940000166
在这种情况下,用于特定支持图像的支持值嵌入因此具有维度H’x W’x dv。在一个示例中,dv=128,然而,将会理解,其他值也是可能的。值头可以被认为是值嵌入神经网络子系统109的一部分。
如图2所示,注意力图可以用于对相应支持图像的对应支持值嵌入进行加权,并且执行加权求和以生成空间位置p处的原型206的向量。这样,注意力图提供了支持图像的哪些部分基于查询图像最相关的指示。下面的示例等式可以用于计算嵌入在与类别c相关联的支持图像j的空间位置m处的支持值,
Figure BDA0003871119940000167
其中
Figure BDA0003871119940000168
是类别c的第j个支持图像的支持值嵌入的空间位置m处的向量。原型可以如以下示例等式所示来计算,
Figure BDA0003871119940000169
其中
Figure BDA00038711199400001610
是类别c的原型t的空间位置p处的向量。原型在剩余空间位置处的向量可以以类似的方式确定。原型可以被认为是“查询对齐的”原型,因为针对原型的特定位置生成的数据对应于查询图像的相同位置处的特定特征。在一些现有技术中,原型是独立于查询而生成的,并且仅基于支持数据项本身。在这种情况下,每个原型都是特别考虑到查询而生成的,因此,可以更好地确定查询和不同类别的原型之间的相似性。
如上所述,查询数据项101和数据项的支持集之间的相似性度量112可以基于特定类别的原型来确定。例如,相似性度量112可以基于查询值嵌入和支持值嵌入之间的欧几里德距离来确定。通过使用如下所示的值头Λ处理查询图像特征Φ(xq),可以以与支持值嵌入类似的方式来计算查询值嵌入,
wp=Λ·Φ(xq)p
其中wp是查询值嵌入的空间位置p处的向量。相似性度量112可以根据以下示例等式基于欧几里德距离来计算,
Figure BDA0003871119940000171
其中d(xq,Sc)是查询图像和类别c的支持集之间的相似性度量。应当理解,用于确定相似性度量的处理可以由相似性子系统111来实现。
相似性度量可以用于确定查询图像属于特定类别的可能性。例如,可以将softmax函数应用于每个类别的相似性度量,以根据以下示例等式生成概率分布:
Figure BDA0003871119940000172
其中p(y=c|xq)是查询图像xq属于类别c的概率。可替换地,相似性度量可以被提供给分类器,以确定每个类别的得分的集合,或者提供查询图像的分类。应当理解,用于生成分类得分/可能性的处理可以由分类器子系统113来实现。
现在参考图3,现在将描述用于确定查询数据项和支持数据项的集合之间的相似性度量的处理。应当理解,该处理可以由图1的神经网络系统100来实现。
在框305,接收查询数据项。在框310,接收一个或多个支持数据项的支持集。支持集包括支持集中每个相应支持数据项的支持键嵌入和支持值嵌入。
在框315,使用键嵌入神经网络子系统生成查询数据项的查询键嵌入。如上所述,键嵌入神经网络子系统被配置为处理数据项以生成键嵌入。
在框320,基于查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性,生成注意力图。这可以使用如上所述的注意力图子系统来执行。
在框325,使用值嵌入神经网络子系统生成查询数据项的查询值嵌入。嵌入神经网络子系统被配置为处理数据项以生成如上所述的值嵌入。
在框330,基于注意力图、每个相应支持数据项的支持值嵌入以及查询值嵌入,确定查询数据项和支持集之间的相似性度量。这可以使用如上所述的相似性子系统来执行。
现在参考图4,现在将描述用于训练神经网络系统以确定查询数据项和支持数据项的集合之间的相似性度量的处理。应当理解,图1的神经网络系统100可以根据所描述的处理来训练。
在框405,接收包括被分组为多个训练情节的训练数据项的情节训练数据集。每个训练情节包括被划分成支持训练数据项的支持集和查询集的训练数据项。训练情节可以被设计用于分类任务,由此查询集中的数据项将根据与支持集中的数据项相关联的类别被分类。支持集中每个类别的数据项的数量可以是有限的。Triantafillou等人在arXiv:1903.03096的“Meta-Dataset:A Dataset of Datasets for Learning to Learn fromFew Examples”(可在https://arxiv.org/abs/1903.03096获得,其全部内容通过引用整体并入本文)提出了一种生成情节数据集的合适技术。
在框410,选择训练情节用于修改。可以从情节训练数据集中的训练情节的集合中随机选择训练情节。
在框415,对于所选择的训练情节的支持集中的多个支持训练数据项中的每个支持训练数据项,生成支持训练数据项的第一变换版本和第二变换版本,并且用指示原始支持训练数据项的标签来标记第一变换版本和第二变换版本。该变换可以基于裁剪操作、颜色失真操作或高斯模糊操作。其他示例变换可以基于旋转、色调分离、曝光、色彩偏移、对比度、亮度、锐度、切变、平移和剪切。特定的变换操作和变换操作的任何参数可以从合适的值的集合中随机选择。
在框420,基于支持训练数据项的第二变换版本,生成训练情节的新查询集。例如,可以选择第二变换版本的子集来形成新的查询集。该子集可以具有与原始查询集相同数量的数据项,并且可以根据与原始查询集相同的类别分布来选择。还可以理解,可以首先为新查询集选择支持训练数据项的子集,并且只为该子集生成第二变换版本,而不是为每个支持数据项生成第二变换版本。
在框425,通过用新的查询集替换所选择的训练情节的查询集,形成修改的情节训练数据集。也可以基于第一变换版本来修改原始支持集。例如,通过在修改后的训练情节中用第一变换版本替换原始支持集。
可以重复框410至425处的处理,以选择进一步的训练情节进行修改。在一个示例中,训练数据集中一半的训练情节根据上述处理被修改。
在框430,使用包括修改的情节训练数据集的训练集来生成神经网络。对上述训练情节进行的修改意味着相同的损失函数仍然可以用于修改的和未修改的训练情节。也就是说,在修改的训练情节中,每个支持数据项成为它自己的类。修改的训练情节的目的是识别每个查询数据项所源自的支持数据项。这可以被提出为在与使用相同分类或交叉熵损失函数的原始训练情节相同的情节学习框架下的分类问题。然后,可以使用用于监督学习的标准技术来训练神经网络,诸如随机梯度下降,特别是归一化随机梯度下降(其使用归一化梯度)。修改的训练情节的引入有助于防止监督崩溃的问题,由此神经网络仅学习对区分训练集中存在的类别有用的表示,而不保留任何其他信息。以识别数据项的变换版本为目的使用修改的训练情节,鼓励了神经网络保留关于产生可以推广到未出现的类别的更好的表示的数据项的信息。例如,神经网络可以学习基于局部组成部分来表示数据项,这对于表示未出现的类别的数据项可以是有用的。
虽然在图4的上述处理中,描述了生成支持训练数据项的第一变换版本和第二变换版本,但是应当理解,可以生成进一步的变换版本。如本领域技术人员认为合适的,可以基于这些进一步变换的版本来生成新的查询集和/或支持集。
图5是根据由示例性神经网络系统生成的注意力图的查询图像的部分和支持集的图像之间的对应关系的图示。由大关注值指示的对应部分在图像中被突出显示。从图5中可以看出,查询图像和支持图像之间语义相似的部分具有很高的对应性。例如,图5中飞机的尾部、机翼/发动机和外壳被突出显示。这样,图5的示例示出了上述用于确定查询数据项和数据项支持集之间的相似性度量的技术的功效。
在这里讨论的系统利用可能包括个人信息的数据的情况下,在存储或使用该数据之前,可以以一种或多种方式来处理该数据,诸如聚合和匿名化,使得不能从存储或使用的数据中确定这种个人信息。此外,这种信息的使用可以使得不能从使用这种信息的系统的输出中确定个人可识别信息。
一个或多个计算机的系统被配置为执行特定操作或动作的,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得该系统执行这些操作或动作。一个或多个计算机程序被配置为执行特定的操作或动作意味着一个或多个程序包括指令,当由数据处理装置执行时,这些指令使得该装置执行这些操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替换地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号,其被生成以编码信息,用于传输到合适的接收器装置,以由数据处理装置执行)上。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储设备,或者它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言来编写,包括编译或解释语言,或者声明性或过程性语言,并且它可以以任何形式来部署,包括作为独立程序或者作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件中,例如,存储一个或多个模块、子程序或代码部分的文件。计算机程序可以被部署为在一台计算机或位于一个地点或分布在多个地点并通过通信网络互连的多台计算机上执行。
如本说明书中所使用的,“引擎”或“软件引擎”是指提供不同于输入的输出的软件实现的输入/输出系统。引擎可以是编码的功能块,如库、平台、软件开发工具包(“SDK”)或对象。每个引擎可以在包括一个或多个处理器和计算机可读介质的任何适当类型的计算设备上实现,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话或其他固定或便携式设备。另外,引擎中的两个或更多个可以在同一计算设备上实现,或者在不同的计算设备上实现。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机来执行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,过程和逻辑流程可以由图形处理单元(GPU)来执行,并且装置也可以被实现为图形处理单元(GPU)。
例如,适于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从该大容量存储设备接收数据或向其传送数据,或两者兼有。然而,计算机不需要有这样的设备。此外,计算机可以嵌入在另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器等。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及用户可以用来向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式(包括声音、语音或触觉输入)接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户的客户端设备上的网络浏览器发送网页。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互,或者包括一个或多个这样的后端、中间件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而出现的。
虽然本说明书包含许多具体的实施细节,但是这些不应该被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开地或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的特征中的一个或多个在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定的顺序描述了操作,但是这不应该被理解为要求这些操作以所示的特定顺序或顺序执行,或者要求所有示出的操作都被执行,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中所述的动作可以以不同的顺序来执行,并且仍然可以获得期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

Claims (30)

1.一种用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统,所述神经网络系统由一个或多个计算机和存储指令的一个或多个存储设备实现,当由所述一个或多个计算机执行时,所述指令使所述一个或多个计算机执行以下操作,包括:
接收所述查询数据项;
获得一个或多个支持数据项的支持集,包括所述支持集中每个相应支持数据项的支持键嵌入和支持值嵌入;
使用被配置为处理数据项以生成键嵌入的键嵌入神经网络子系统,生成所述查询数据项的查询键嵌入;
基于所述查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性,生成注意力图;
使用被配置为处理数据项以生成值嵌入的值嵌入神经网络子系统来生成所述查询数据项的查询值嵌入;以及
基于所述注意力图、每个相应支持数据项的支持值嵌入、和查询值嵌入,确定所述查询数据项和所述支持集之间的相似性度量。
2.根据权利要求1所述的神经网络系统,其中所述操作还包括:
使用所述键嵌入神经网络子系统生成所述支持键嵌入。
3.根据任一前述权利要求所述的神经网络系统,其中所述操作还包括:
使用所述值嵌入神经网络子系统生成所述支持值嵌入。
4.根据任一前述权利要求所述的神经网络系统,其中所述支持数据项与一个或多个类别相关联。
5.根据权利要求4所述的神经网络系统,其中所述操作还包括:
基于针对每个相应类别确定的相似性度量对所述查询数据项进行分类。
6.根据权利要求4或5所述的神经网络系统,其中所述操作还包括:
基于所述注意力图对所述支持值嵌入进行加权;以及
聚合与相同类别相关联的支持数据项的加权的支持值嵌入,以生成与所述支持集相关联的每个类别的原型。
7.根据权利要求6所述的神经网络系统,其中确定相似性度量包括确定查询值嵌入和每个相应类别的原型之间的相似性度量。
8.根据权利要求6或7所述的神经网络系统,其中所述相似性度量基于所述查询值嵌入和所述原型之间的距离。
9.根据权利要求8所述的神经网络系统,其中所述距离基于欧几里德距离。
10.根据任一前述权利要求所述的神经网络系统,其中所述注意力图是基于所述查询键嵌入和每个相应支持数据项的支持键嵌入之间的未缩放的相似性度量而生成的。
11.根据任一前述权利要求所述的神经网络系统,其中所述查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性基于点积。
12.根据任一前述权利要求所述的神经网络系统,其中所述查询键嵌入和每个相应的支持数据项的支持键嵌入之间的相似性基于所述查询键嵌入的特征和所述支持键嵌入的每个相应特征之间的相似性。
13.根据权利要求12所述的神经网络系统,其中所述特征是空间特征。
14.根据权利要求4至13中任一项所述的神经网络系统,其中所述注意力图是基于softmax函数生成的,所述softmax函数接收所述查询键嵌入和相同类别的每个相应的支持数据项的支持键嵌入之间的相似性度量。
15.根据任一前述权利要求所述的神经网络系统,其中所述键嵌入神经网络子系统和/或值嵌入神经网络子系统包括线性输出层。
16.根据任一前述权利要求所述的神经网络系统,其中所述键嵌入神经网络子系统和/或值嵌入神经网络子系统包括卷积层。
17.根据任一前述权利要求所述的神经网络系统,其中所述数据项是图像。
18.一种确定查询数据项和支持数据项的集合之间的相似性度量的计算机实现的方法,包括由任一前述权利要求的神经网络系统实现的操作。
19.一种训练用于确定查询数据项和支持数据项的集合之间的相似性度量的神经网络系统的方法,所述方法包括:
接收包括被分组为多个训练情节的训练数据项的情节训练数据集,每个训练情节包括被划分为支持训练数据项的支持集和查询集的训练数据项;
选择训练情节用于修改;
对于所选择的训练情节的支持集中的多个支持训练数据项中的每个支持训练数据项,生成所述支持训练数据项的第一变换版本和第二变换版本,并用指示原始支持训练数据项的标签来标记所述第一变换版本和所述第二变换版本;
基于所述支持训练数据项的第二变换版本,生成所述训练情节的新的查询集;
通过用所述新的查询集替换所选择的训练情节的查询集来形成修改的情节训练数据集;以及
使用包括所述修改的情节训练数据集的训练集来生成神经网络。
20.根据权利要求19所述的方法,还包括基于所述第一变换版本修改所选择的训练情节的支持集。
21.根据权利要求19或20所述的方法,其中对于所选择的训练情节的支持集中的多个支持训练数据项中的每个支持训练数据项,生成支持训练数据项的第一变换版本和第二变换版本包括:
对于所选择的训练情节的支持集中的每个相应支持训练数据项,生成所述支持训练数据项的第一变换版本;以及
对于所选择的训练情节的支持集中的支持训练数据项的子集,生成支持训练数据项的相应第二变换版本。
22.根据权利要求19至21中任一项所述的方法,其中对于修改的和未修改的训练集,基于相同的损失函数来生成所述神经网络。
23.根据权利要求19至22中任一项所述的方法,其中所述神经网络基于分类损失函数生成。
24.根据权利要求19至23中任一项所述的方法,其中所述神经网络基于交叉熵损失函数生成。
25.根据权利要求19至24中任一项所述的方法,其中所述神经网络基于归一化随机梯度下降技术生成。
26.根据权利要求19至25中任一项所述的方法,其中生成支持训练数据项的变换版本包括应用基于裁剪操作、颜色失真操作或高斯模糊操作的变换。
27.根据权利要求19至26中任一项所述的方法,其中生成支持训练数据项的变换版本包括将随机选择的变换函数应用于所述支持训练数据项以生成所述支持数据项的变换版本。
28.根据权利要求19至27中任一项所述的方法,其中所生成的神经网络是根据权利要求1至17中任一项所述的神经网络系统。
29.一种系统,包括一个或多个计算机和一个或多个存储指令的存储设备,当所述指令被所述一个或多个计算机执行时,使得所述一个或多个计算机执行权利要求19至28中任一项的相应方法的操作。
30.一个或多个存储指令的计算机存储介质,当所述指令被一个或多个计算机执行时,使得所述一个或多个计算机实现权利要求1至17和29中任一项的系统,和/或执行权利要求18至28中任一项的相应方法的操作。
CN202180025868.5A 2020-06-05 2021-06-07 用于少样本相似性确定和分类的交叉变换器神经网络系统 Pending CN115362446A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063035469P 2020-06-05 2020-06-05
US63/035,469 2020-06-05
US202063039748P 2020-06-16 2020-06-16
US63/039,748 2020-06-16
PCT/EP2021/065125 WO2021245287A2 (en) 2020-06-05 2021-06-07 Cross-transformer neural network system for few-shot similarity determination and classification

Publications (1)

Publication Number Publication Date
CN115362446A true CN115362446A (zh) 2022-11-18

Family

ID=76392368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180025868.5A Pending CN115362446A (zh) 2020-06-05 2021-06-07 用于少样本相似性确定和分类的交叉变换器神经网络系统

Country Status (6)

Country Link
US (1) US20210383226A1 (zh)
EP (1) EP4115341A2 (zh)
JP (1) JP2023527511A (zh)
KR (1) KR20220154181A (zh)
CN (1) CN115362446A (zh)
WO (1) WO2021245287A2 (zh)

Also Published As

Publication number Publication date
EP4115341A2 (en) 2023-01-11
WO2021245287A2 (en) 2021-12-09
WO2021245287A3 (en) 2022-01-13
JP2023527511A (ja) 2023-06-29
US20210383226A1 (en) 2021-12-09
KR20220154181A (ko) 2022-11-21

Similar Documents

Publication Publication Date Title
CN110574049B (zh) 多任务多模态机器学习系统
CN111279362B (zh) 胶囊神经网络
US20210271968A1 (en) Generative neural network systems for generating instruction sequences to control an agent performing a task
US11640518B2 (en) Method and apparatus for training a neural network using modality signals of different domains
US20160224903A1 (en) Hyper-parameter selection for deep convolutional networks
CN111727441A (zh) 实现用于高效学习的条件神经过程的神经网络系统
US11983617B2 (en) Scalable and compressive neural network data storage system
Bagherzadeh et al. A review of various semi-supervised learning models with a deep learning and memory approach
CN113795851A (zh) 具有针对使用对抗训练的表示学习的推理的大规模生成神经网络模型
EP4033412A2 (en) Method and apparatus with neural network training
CN115427970A (zh) 使用自举潜在表示的自监督表示学习
Huttunen Deep neural networks: A signal processing perspective
CN110111365B (zh) 基于深度学习的训练方法和装置以及目标跟踪方法和装置
US20230351203A1 (en) Method for knowledge distillation and model genertation
US20230053618A1 (en) Recurrent unit for generating or processing a sequence of images
US11568303B2 (en) Electronic apparatus and control method thereof
US20240152749A1 (en) Continual learning neural network system training for classification type tasks
US20230070443A1 (en) Contrastive time series representation learning via meta-learning
US20210383226A1 (en) Cross-transformer neural network system for few-shot similarity determination and classification
US11755883B2 (en) Systems and methods for machine-learned models having convolution and attention
US20230124177A1 (en) System and method for training a sparse neural network whilst maintaining sparsity
Darouich et al. Evaluating Transfer Learning Capabilities of Neural NetworkArchitectures for Image Classification
WO2023059737A1 (en) Self-attention based neural networks for processing network inputs from multiple modalities
WO2023169696A1 (en) Training object discovery neural networks and feature representation neural networks using self-supervised learning
CN114386562A (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