CN112368697A - 经由对偶分解评估损失函数或损失函数的梯度的系统和方法 - Google Patents
经由对偶分解评估损失函数或损失函数的梯度的系统和方法 Download PDFInfo
- Publication number
- CN112368697A CN112368697A CN201980044631.4A CN201980044631A CN112368697A CN 112368697 A CN112368697 A CN 112368697A CN 201980044631 A CN201980044631 A CN 201980044631A CN 112368697 A CN112368697 A CN 112368697A
- Authority
- CN
- China
- Prior art keywords
- blocks
- computing system
- labels
- gradient
- loss function
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000000354 decomposition reaction Methods 0.000 title description 16
- 230000009977 dual effect Effects 0.000 title description 11
- 239000013598 vector Substances 0.000 claims abstract description 69
- 239000011159 matrix material Substances 0.000 claims abstract description 46
- 238000012937 correction Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 127
- 238000012549 training Methods 0.000 claims description 64
- 238000010801 machine learning Methods 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 claims 1
- 239000000047 product Substances 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000005070 sampling Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000010754 BS 2869 Class F Substances 0.000 description 1
- 240000006927 Foeniculum vulgare Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于评估损失函数或所述损失函数的梯度的系统和方法。在一个示例实施例中,一种计算机实施的方法包括:将权重矩阵分割成多个块。所述方法包括:为所述多个块中的每一个标识分数大于第一阈值的第一标签集合。所述方法包括:基于所述第一标签集合为所述多个块中的每一个构建评分向量的稀疏近似。所述方法包括:为所述评分向量的每个稀疏近似确定校正值。所述方法包括:基于所述评分向量的每个稀疏近似和与所述评分向量的所述稀疏近似相关联的所述校正值,来确定与所述评分函数相关联的损失或损失的梯度的近似。
Description
技术领域
本公开总地涉及评估损失函数或损失函数的梯度。更具体地,本公开涉及经由损失函数的对偶分解针对大输出空间的问题来高效地评估损失函数和/或其梯度的计算机系统和方法。
背景技术
大输出空间在当今的若干机器学习问题中是无处不在的。这种机器学习问题可以包括例如具有许多类别的极端多类或多标签分类问题、具有大词汇量的语言建模、或具有大量成对距离约束的度量学习。在所有这种问题中,训练模型中的主要瓶颈是所述对损失函数及其梯度的评估。用于这种问题的损失函数通常需要列举出所有可能的输出,并且在用于评估的输出数目方面可能需要线性运行时间。这可以是迭代方法(诸如用于训练所述模型的梯度下降)中的显著瓶颈,因为每个步骤都可能需要大量操作。
发明内容
本公开的实施例的方面和优点将在以下描述中部分地阐述,或可以根据所述描述来获知,或可以通过实践实施例而获知。
本公开的一个示例方面涉及一种用于评估损失函数或损失函数的梯度的计算机实施的方法。该方法包括:通过包括一个或多个计算设备的计算系统将权重矩阵分割成多个块,所述权重矩阵对应于评分函数。该方法包括:通过所述计算系统为所述多个块中的每一个标识第一标签集合,该第一标签集合与大于第一阈值的分数相关联。该方法包括:通过所述计算系统至少部分地基于第一标签集合来为所述多个块中的每一个构建评分向量的稀疏近似。该方法包括:通过所述计算系统为所述多个块中的每一个的评分向量的每个稀疏近似确定校正值。该方法包括:通过所述计算系统,通过至少部分地基于所述多个块中的每一个的评分向量的稀疏近似和与所述评分向量的稀疏近似相关联的校正值而评估分解的损失函数或所述分解的损失函数的梯度,来确定与所述评分函数相关联的损失或损失的梯度的近似。
所述计算系统可以为多个训练示例中的每一个确定所述损失或损失的梯度的近似。
所述计算系统可以至少部分地基于与评分函数相关联的损失或损失的梯度的所确定的近似来修改所述权重矩阵或评分函数的一个或多个参数。
为多个块中的每一个标识第一标签集合可以包括:通过所述计算系统查询相应地与权重矩阵的多个块相关联的多个最大内积搜索数据结构中的每一个。
为多个块中的每一个构建评分向量的稀疏近似可以包括:通过所述计算系统针对多个块中的每一个设置用于多个标签中的每一个的相应近似分数,该多个标签中的每一个既不包括在块的第一标签集合中也不包括在等于零的正标签中。
为多个块中的每一个构建评分向量的稀疏近似可以包括:通过所述计算系统针对多个块中的每一个设置多个标签中的每一个的相应近似分数,该多个标签中的每一个既不包括在块的第一标签集合中,也不包括在等于根据最大内部搜索乘积搜索查询确定的真正分数的正标签中。
为多个块中的每一个的评分向量的每个稀疏近似确定校正值可以包括:通过所述计算系统至少部分地基于多个块中的每一个的第一标签集合来标识第二标签集合,该第二标签集合与大于第二阈值的梯度相关联;通过所述计算系统确定跨越多个块的第二标签集合中的每个标签的平均近似分数;通过所述计算系统为在多个块中的每一个的第二标签集合中的每个标签确定近似分数;通过所述计算系统为在第二标签集合中的标签与多个块中的块的每个组合确定在用于多个块中的每一个的平均近似分数与近似分数之间的差;以及通过计算系统至少部分地基于针对第二标签集合中的标签与多个块中的块的每个组合的所确定的差,来更新用于多个块中的每一个的评分向量的每个稀疏近似的校正值。
确定与评分函数相关联的损失或损失的梯度的近似可以包括:通过计算系统跨越多个块使用于这种块的相应近似评分向量加上每个块的校正值向量所评估的每个块的相应损失的平均值最小化,以使得跨越多个块的校正值向量的总和等于零。
分解的损失函数可以包括多个部分,每个部分同与多个块中的每一个的评分向量的相应稀疏近似相关联的损失相对应。
计算系统可以对损失函数执行平滑技术,以构建具有连续梯度的替代损失函数;以及至少部分地基于所述替代损失函数来确定分解的损失函数。
所述多个块中的每一个可以包括权重矩阵的一个或多个列。
查询相应地与权重矩阵的多个块相关联的多个最大内积搜索数据结构中的每一个可以包括:通过计算系统获得与权重矩阵和评分函数相对应的特征图;通过计算系统将特征图分割成与权重矩阵的多个块相对应的多个块;以及通过计算系统查询相应地与权重矩阵的多个块相关联的多个最大内积搜索数据结构中的每一个,其中,分割后的特征图的输出对应于与权重矩阵的块和第一阈值。
本公开的另一示例方面涉及一种计算机系统。该计算机系统包括:一个或多个处理器;以及一个或多个非暂时性计算机可读介质,该一个或多个非暂时性计算机可读介质在被一个或多个处理器执行时使计算机系统进行上文所描述的方法。
本公开的另一示例方面涉及一种计算机系统。该计算机系统包括:一个或多个处理器;以及一个或多个非暂时性计算机可读介质,该一个或多个非暂时性计算机可读介质在被一个或多个处理器执行时使计算机系统执行操作。该操作包括:为权重矩阵的多个块分割中的每一个标识多个标签的第一子集,该第一子集具有大于第一阈值的分数。该操作包括:针对多个块分割中的每一个,至少部分地基于针对这种块分割标识的多个标签的第一子集来构建用于这种块分割的评分向量的稀疏近似。该操作包括:通过经由一次或多次迭代更新用于多个标签中的至少一些的校正值来迭代地优化分解的损失函数。该操作包括:在迭代地优化分解的损失函数之后,返回对分解的损失函数或分解的损失函数的梯度的评估。
本公开的另一示例方面涉及一种训练分类器的计算机实施的方法。该方法包括:使用从上文所描述的方法获得的损失函数或损失函数的梯度来训练分类器。例如,可以在训练分类器时通过使用上述方法来获得损失函数和/或梯度的近似。所述分类器可以配置为用于极端多类或多标签分类问题。分类器可以提供任何合适的数据项的分类。
本公开的其它方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面以及电子设备。
通过参考以下描述和随附权利要求书将更佳地理解本公开的各种实施例的这些和其它特征、方面和优点。并入在本说明书中且构成本说明书的一部分的附图图示了本公开的示例实施例,并且与所述描述一起用于说明相关原理。一个方面的可选特征可以在适当情况下与其它方面组合。
附图说明
在本说明书中阐述了针对本领域的普通技术人员的实施例的详细讨论,该说明书参考了附图,在附图中:
图1描绘了根据本公开的一些实施方式的示例计算设备的框图;
图2描绘了根据本公开的一些实施方式的在Megaface数据集上的多类分类结果的绘图;
图3描绘了根据本公开的一些实施方式的在WikiLSHTC数据集上的多标签分类结果的绘图;
图4描绘了根据本公开的一些实施方式的在用跳跃元语法目标进行的词嵌入上的结果的绘图;以及
图5描绘了根据本公开的一些实施方式的用于评估损失函数或损失函数的梯度的示例方法的流程图。
在多个附图上重复的附图标记旨在标识各种实施方式中的相同组件或特征。
具体实施方式
总的来说,本公开涉及用于评估损失函数或损失函数的梯度的系统和方法。对于大输出空间的问题,评估损失函数及其梯度可以是在计算上昂贵的,通常在输出空间的大小方面花费线性时间。近来,已经开发了经由用于最近邻搜索(NNS)或最大内积搜索(MIPS)的高效数据结构来加速学习的方法。然而,这种数据结构的性能通常在高维度上劣化。本公开提供了经由损失函数的对偶分解来将难以解决的高维搜索问题减少至若干容易解决得多的较低维搜索问题的系统和方法。本公开进一步提供了一种保证了原始损失的收敛的贪婪消息传递技术。以这种方式,本公开的系统和方法可以大幅度提高基于搜索的梯度近似方法的准确性并且胜过基于采样的梯度近似方法。具体地,本公开的方面提供了特别适用于一个或多个计算机的内部函数化的方法。
已经提出了许多方案来减轻作为在具有大输出空间的机器学习问题的训练模型中的瓶颈的对损失函数及其梯度的评估。一种方案在输出空间上强加了结构。该结构可以包括例如,低等级结构、树结构、局部低等级结构或分层因子分解结构。然而,结构假设可以在许多情况下被违反。例如,虽然低等级结构在推荐问题中通常是合理的,但在多类分类中通常是不成立的,因为对于每一种情况都存在恰好一个正确答案(即,类别可以不是彼此相关的)。另外,即使对于有效的结构假设,也难以根据数据构建正确结构,并且在实践中,需要启发法或人工注释。
另一途径是采样近似,其基于负输出类别中的仅一小部分的分数且还基于被标记为正的小类别集合来计算梯度的估计。然而,当损失在类别上具有偏斜分布时,所述近似具有较大方差。例如,在极端多类或多标签分类中,损失通常仅集中于几种混淆类别上,这些混淆类别具有较小的采样概率。在梯度估计中的方差通常导致学习算法的缓慢进展。
对于具有大输出空间但具有相对较小的正确输出集合的机器学习问题,学习目标通常将其梯度集中于相对较少数目的类别上,且因此,一种高效的学习方式是搜索具有显著梯度幅度的类别。用于高效地搜索类别的所提出的策略是在训练期间维持稀疏模型。然而,此方法仅适用于高输入维度的问题。另一个策略是利用数据结构以通过最大内积搜索(MIPS)或最近邻搜索(NNS)高效地找到类别。此处的主要挑战在于,随着维度的增长,变得难以同时以高查全率和高精度来执行MIPS或NNS,且因此,通过MIPS或NNS进行的梯度近似通常会牺牲准确性以实现效率。
本公开的各方面提供了一种基于将对偶分解应用于损失函数的凸共轭表示的算法。它可以被视为用于将搜索数据结构应用于学习问题的互补技术。所述算法通过经由对偶分解将维度解耦来用若干较低维搜索替换高维搜索问题。较低维搜索可以更高效地进行,且然后经由贪婪消息传递算法将不同搜索耦合在一起。所述贪婪消息传递算法被保证是收敛的,且因此,可以用于获得对损失及其梯度的良好近似。
本文中所描述的系统和方法提供了许多技术效果和益处。用于实现将高维搜索问题减少至若干较低维搜索问题的技术的系统和方法可以通过降低与高维搜索问题相关联的计算成本而具有提高效率的技术效果。例如,高维搜索问题可以由具有较小存储器要求的一个或多个处理器在更少周期内来解决,和/或较低维搜索问题可以分布在若干处理器上并且并行解决,从而减少了与高维搜索问题相关联的计算时间。将高效数据结构用于最近邻搜索(NNS)或最大内积搜索(MIPS)的最近开发的方法加快了学习速度,但这种数据结构的性能在高维度上会劣化。本公开的技术提高了基于搜索的梯度近似方法的准确性,并且胜过基于采样的梯度近似方法。
因此,用于实现贪婪消息传递技术的系统和方法可以具有保证近似损失收敛到原始损失的技术效果。所述技术可以使得能够将变量解耦到可以被相应地优化的较低维组块中,并且对最优解迭代地执行贪婪下降。因此,本公开的系统和方法改进了处理器或存储器(尤其是并行处理系统)的使用。
本公开的系统和方法还提供了对计算技术(诸如数据匹配和检索计算技术)的改进。例如,本文中的系统和方法使得能够高效地进行对损失或损失的梯度的评估。
1.问题设置
根据本公开的方面,使X表示输入空间且Y表示输出空间,并且使K:=|Y|,其中K是极大的(例如在十万或更大的数量级)。机器学习问题的学习目标可以包括根据这种函数的给定类别F学习针对大输出空间y的评分函数所标记的样本为x∈X且的对(x,P),其表示输入点x的正确标签集合。符号N:=Y\P可以用于表示负标签集合。在给定训练样本的类集的情况下,ss学习目标采用以下形式:
f(x)=Wφ(x), (1)
其中,D<<K(例如在几百或几千的数量级),以使得可以显式地评估φ(x)。
为了在不完全计算向量f(x)的情况下确定损失f(xi,Pi)及其梯度的良好近似,可以构建用于对矩阵W进行预处理的数据结构。在给定适当的数据结构的情况下,可以在次线性(以K为单位)时间内计算这种近似。
适合于上文所讨论的框架的具有大输出空间的问题的第一示例包括极端分类。在极端分类问题中,流行的分类损失函数包括交叉熵损失
和最大边界损失
对于多类问题,|P|=1,而对于多标签问题,通常|P|<<K。典型的评分函数采用以下形式
f(x):=φ(x)。 (4)
这里,φ(x)是根据领域知识或经由学习(例如神经网络)中的任一个构建的特征图。领域知识和学习两者都适合所述结构假设(1)。
适合于所述框架中的具有大输出空间的问题的第二示例包括度量学习。在度量学习问题中,在训练期间的学习对象包括:学习函数
其表示点x与点y∈Y的类集的相异度。相异度函数的常见选择包括通过针对某些的非线性变换而参数化的平方欧几里得(Euclidean)距离且更一般而言包括通过ψ和正定矩阵M而参数化的平方马哈拉诺比斯(Mahalanobis)距离d(x,y)=(ψ(x)-ψ(y))TM(ψ(x)-ψ(y))。候选集合Y可以是训练样本的整个集合或可以是潜在代理的类集。对于每个样本(x,P),目标是学习距离函数,以使得正候选项P比负候选项更接近x。任务的常见损失函数是近邻分量分析(NCA)损失
和三重态损失
这种评分函数满足结构假设(1):对于由ψ和M参数化的平方Mahalanobis距离所给定的评分函数f,矩阵W由针对每个y∈Y的行<-ψ(y)TMψ(y),2ψ(y)TM,-1>和φ(x)=<1,ψ(x)T,ψ(x)TMψ(x)>T组成。因此,嵌入维度D=d+2。
适合于所述框架中的具有大输出空间的问题的第三示例包括词嵌入。在标准word2vec训练中,输入空间X是词汇量集合,且输出空间Y=X;因此K是词汇量大小。跳跃元语法目标学习以下形式的评分函数f:
其中,φ(·)是潜在的词嵌入。这明显适合所述结构假设(1):矩阵W的行是针对所有y∈X的嵌入φ(y)。
然后,在给定文本语料库D的情况下,针对样本(x,P)(其中,P是在输入词x周围的一定大小的窗口内出现的语料库中的词集合)的损失函数由下式给定:
其中,qx是x的经验一元语法频率,且qy|x是在语料库D中x的窗口内观察y的经验频率。
1.1经由搜索的损失和梯度近似
在以上示例中考虑的损失函数共享关键特征:它们的值可以通过正标签的分数和负标签的最大分数良好地近似。类似地,它们的梯度由与正标签和具有最大分数的负标签相对应的坐标控制。例如,最大边界损失(3)完全由负标签的最大分数和正标签的最小分数确定,并且其梯度仅在具有最大分数的负标签和具有最小分数的正标签上为非零的。类似地,对于交叉熵损失(2),与负类别相对应的梯度的坐标由具有最高分数的那些控制,所述梯度坐标随着所述分数减小而以指数方式下降。
根据本公开的方面,由于分数函数f满足线性结构性质(1),因此可以经由最大内积搜索(MIPS)数据结构高效地计算所述最大分数。这个数据结构存储向量v1、v2、……、的大数据集,并且支持以下形式的查询:在给定目标向量和阈值τ的情况下,该数据结构返回存储在其中的向量vi,该向量在时间上满足该时间在K中通常为次线性的。因此,可以通过将矩阵W的行存储在高效MIPS数据结构中来对W进行预处理。然后,对于每个样本x,可以通过用目标向量φ(x)和某一合理阈值τ查询这个数据结构、根据所返回的向量计算损失和梯度的近似(并将所有其它分数视为0)来计算最高分数。在算法1中描绘了这种方法。
算法1经由搜索的损失和梯度近似
输入样本(x,P),准确性参数τ>0,且访问针对W的行的MIPS数据结构T。
在这种近似中的误差由τ乘以的Lipschitz(利普希茨)常数界定。对于大多数所考虑的损失函数,Lipschitz常数相当小:对于最大边界损失为2,对于交叉熵损失为O(Pmax log(K))(这里,对于任何示例,Pmax是正标签的最大数目),等等。
在实践中应用此方案的主要困难是维数灾难:对D的依赖性对于确切方法是指数的,甚至对于近似方法(诸如局部敏感哈希),所述成本仍然隐式地取决于维度,因为各点在固有维度较高时离得较远。
本公开使得基于对偶分解的搜索技术能够应对维数灾难。下文进一步讨论了这种技术及其分析。
为了应用和分析所述技术,损失函数必须是平滑的(例如具有Lipschitz连续梯度)。对于非平滑损失(比如最大边界损失(3)),可以应用平滑技术(例如Nesterov(涅斯捷罗夫)平滑技术)以通过向所述损失的Fenchel(芬切尔)共轭添加强凸条项来构建具有保证的近似质量的替代损失函数:
2.损失分解
根据本公开的方面,可以将损失分解成若干部分。回顾所述线性结构假设(1):对于所有x∈X,f(x)=Wφ(x)。在以下描述中,(x,P)是固定的,且出于方便起见丢弃了在L中对P的依赖性,以简单地使用符号L(f(x))和
因为在W的D维行上的MIPS在计算上是昂贵的,所以可以替代地通过利用f的线性结构来分解W。具体地,可以通过将中的向量的D个坐标分块为大小相应地为B个块(每个块的大小为D/B)来分解W。这里,是整数,且较大的B会导致更容易的MIPS问题,但会降低所产生的近似的准确性。使W(1)、W(2)、......、W(B)为通过将与在每个块中的坐标相对应的列分组在一起而获得的W的对应块分割。类似地,使φ(1)(x)、φ(2)(x)、......、φ(B)(x)为φ(x)的坐标的保形分割。
如果定义了总分数向量z:=f(x)=Wφ(x),并且针对j∈[B],定义了每个组块分数向量zj=W(j)φ(i)(x),那么其是分数向量的分解。以下定理指出,可分解的分数向量的损失本身可以被分解为通过一组消息变量连接的若干部分。这个定理对于将所述变量解耦为较低维组块是关键的,这些较低维组块可以经由高效MIPS数据结构相应地进行优化。虽然可以通过将对偶分解应用于所述损失函数的凸共轭来推导出这个定理,但下文提供了更简单的直接构建证明。
2.1损失分解引导搜索(LDGS)
定理1是用于计算损失及其梯度的近似的基础。这个近似是通过对λj变量使用下降方法(例如“消息传递”)的形式,通过在不计算整个分数向量z的情况下近似地求解凸最小化问题(12)而计算的。每个步骤所需的梯度计算可以通过使用用于存储W(j)的D/B维行的高效MIPS数据结构来(近似地)进行。所述损失分解引导搜索的细节在算法2中给定。
算法2贪婪消息传递
输入 样本x,阈值参数τ1、τ2>0,并且对于j∈[B],访问用于存储W(j)的行的B MIPS数据结构Tj
3:对于t=1、2、......(直到收敛),进行
4:计算集合
7:对于所有k∈A和所有j∈[B],更新
8:循环结束
在所述算法中的步骤5的K时间实施中的次线性依赖于和λj两者都是稀疏向量的事实,而这又依赖于感兴趣的损失函数的梯度或者是稀疏的或者集中于几个坐标上的事实。在所述算法中的步骤9将当前解朝向最优解移动,对于该最优解,存在基于定理1的构建性证明的封闭形式公式。仅针对在所述算法的步骤5中所标识的高幅度的梯度的坐标集合进行这个移动,因此确保了仅更新几个坐标。以这种方式,所述算法正朝向最优解执行贪婪下降。
2.2误差分析
定义注意,因此在利用近似L(z)时的误差至多为Bτ1乘以L的Lipschitz常数,如先前所说明的,其通常较小。该算法实质上运行Frank-Wolfe类型的方法,以收敛到在下文中,分析所述贪婪消息传递算法(算法2)对的收敛速率。所述分析依赖于损失函数的平滑度。如果函数的梯度是常数为1/μ的Lipschitz连续的,那么将该函数称为1/μ平滑的。对于交叉熵损失(2)μ=1,且对于平滑的最大边界损失(10),μ是可调谐参数。在实验中发现μ∈[1,5]的设置良好地起作用。
定理2(贪婪消息传递)假设损失函数L为1/μ平滑的。然后,所述循环的第t步骤中的Λ的次优差距可以界定如下:
证明。由于损失函数L为1/μ平滑的,因此容易检查G是否为B/μ平滑的。因此,如果ΔΛ是在所述算法循环的给定步骤中的Λ的变化,那么
注意,对于所有j∈[B],除了与相对应的坐标之外,在所有坐标中,ΔΛ等于Λ*-Λ,并且在这些坐标中的梯度的幅度至多为τ2。因此,基于Λ的每个坐标都位于在0与Λ*的对应坐标之间的事实,接下来,通过G的凸性,将所有边界放在一起并且进行一些代数处理:
这里,可以使用Λ的每个坐标位于在0与Λ*的对应坐标之间的事实来获得所述界||ΔΛ||2≤||Λ*||2。通过使用在迭代t中的的事实,对t的简单归纳暗示在G(Λ)-G(Λ*)上的所要求的界。因此,为了确保次优差距至多为ε,针对具有的步骤,运行贪婪过程就已足够。
虽然这个定理提供了使所述算法收敛到任何期望误差水平的证明,但其提供的界却相当弱。在实践中,仅运行所述循环的一个步骤就足以改善基于直接搜索的方法的性能。如果除了平滑之外,损失函数也是强凸的(例如,这可以通过添加一些正则化来实现),那么还可以显示梯度的收敛。这是因为对于强凸函数,可以按照损失值的收敛来界定梯度的收敛。
成本分析。可以在O(DK)时间内计算对于单个样本的确切梯度评估。直接应用基于搜索的梯度近似(算法1)的成本为O(DQD(K)),其中,QD(K)是在MIPS数据结构中检索到的类别数目,以便发现显著梯度的所有类别。查询成本QD(K)具有对于维度D的强依赖性。确切MIPS具有在D中指数的成本QD(K)。对于近似搜索方法(诸如局部敏感哈希(LSH)),成本QD(K)通常仅隐式地取决于维度。算法2中的所述方法将D划分为维数为D/B的B个子问题,其中,每消息传递迭代的成本为O(DQD/B(K)+DB|A|),其中,A是在算法2的步骤4中计算的集合。注意,QD/B(K)随着B迅速(在确切情况下以指数方式)减小,且因此,人们可以选择B,以使得QD/B(K)<<QD(K)并且平衡两个条项s.t.O(DQD/B(K)+DB|A|)<<DK。
3.实际考虑
MIPS查询。在实践中,当使用MIPS数据结构时,代替检索具有大于阈值τ1的分数的所有类别,检索具有最高分数的前Q个类别为更高效的。在一些实施方式中,球形聚类可以用作MIPS数据结构,其中,选择聚类数目C以使得K/C≤Q和C≤Q。注意,这需要以导致由界定的加速。类似地,为了在算法2的步骤4中计算活动集合A,可以通过使用损失函数的性质来计算适当的阈值τ2。在基于边界的损失(3)和(7)以及它们的平滑版本(10)的情况下,梯度是稀疏的,因此可以将τ2设置为0或某一极小的值。损失函数(比如(2)、(6))通常在非混淆的负类别上具有以指数方式衰减的梯度幅度。对于这些损失,可以通过使用仅对检索到的类别的子集求和的分割函数Z=∑kexp(zk)的下限,来以梯度幅度的降序检索类别,以便决定是否需要检索更多的类别。
数据结构的更新。在训练期间,用于确定f的模型参数将改变,并且需要更新数据结构Tj。这些数据结构存储W的行并将φ(x)视为查询。对于具有稀疏梯度的损失函数,诸如(3)、(7)及它们的平滑版本(10),W的更新后的行数kr比K和Q(针对查询检索到的类别数目)小得多。因此,对W的行重编索引的成本为krC(D/B)B=krCD(其中,C是为每一行编制索引所需的内积的数目),该成本比查询和更新的成本小得多。对于具有大量更新后的行(kr≈Q)的任务,所述方法对于较大的小批量大小Nb仍然是有效的。在查询和更新的成本随着Nb而增长时,而要重编索引的行数由K界定,维持数据结构的成本变得无关紧要。
用于初始化的采样。对于随机初始化的模型,由于所有类别的分数彼此接近,因此学习的早期迭代具有均匀地分布在类别上的梯度。因此,没有必要在早期阶段搜索显著梯度幅度的候选项。在实践中,人们可以在若干小批量更新之后从基于采样的梯度近似切换为基于搜索的梯度近似。
本文中所描述的系统和方法提供了很多技术效果和益处。用于实现将高维搜索问题减少至若干较低维搜索问题的技术的系统和方法可以通过降低与高维搜索问题相关联的计算成本而具有提高效率的技术效果。例如,可以由一个或多个处理器在更少周期内按较小存储器要求来解决高维搜索问题,和/或较低维搜索问题可以分布在若干处理器上并且并行地解决,从而减少了与高维搜索问题相关联的计算时间。将高效数据结构用于最近邻搜索(NNS)或最大内积搜索(MIPS)的最近开发的方法加快了学习速度,但这种数据结构的性能在高维度上会劣化。本公开的技术提高了基于搜索的梯度近似方法的准确性,并且胜过基于采样的梯度近似方法。
另外,用于实现贪婪消息传递技术的系统和方法可以具有保证近似损失收敛到原始损失的技术效果。所述技术可以使得能够将变量解耦到可以相应地被优化的较低维组块中,并且朝向最优解迭代地执行贪婪下降。
本公开的系统和方法还提供了对计算技术(诸如数据匹配和检索计算技术)的改进。例如,本文中的系统和方法使得能够高效地进行对损失或损失的梯度的评估。
示例实施例
现在参考诸图,将进一步详细地讨论本公开的示例实施例。
图1描绘了根据本公开的示例实施例的可以评估损失函数和/或损失函数的梯度的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如例如,个人计算设备(例如膝上型计算机或桌上型计算机)、移动计算设备(例如智能电话或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其它类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储数据116和指令118,这些指令在被处理器112执行时使用户计算设备102执行操作。
在一些实施方式中,用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习模型120可以是或可以另外包括各种机器学习模型,诸如神经网络(例如深度神经网络)或其它类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如长短期记忆递归神经网络)、卷积神经网络或其它形式的神经网络。
更具体地,机器学习模型120可以与大输出空间相关联,诸如例如,具有许多类别的极端多类或多标签分类问题、具有大词汇量的语言建模、和/或具有大量成对距离约束的度量学习。在一些实施方式中,机器学习模型120可以与评分函数的类别F相关联,以使得对于每个f∈F,存在嵌入维度参数相关联的权重矩阵和特征图以使得对于所有x∈X,f(x)=Wφ(x)。
另外或可替代地,可以将一个或多个机器学习模型140包括在服务器计算系统130中或另外由服务器计算系统130存储和实施,该服务器计算系统根据客户端-服务器关系与用户计算设备102进行通信。例如,机器学习模型140可以由服务器计算系统140实施为web服务(例如极端多类或多标签分类服务、语言建模服务、度量学习服务等)的一部分。因此,可以在用户计算设备102处存储和实施一个或多个模型120,和/或可以在服务器计算系统130处存储和实施一个或多个模型140。
用户计算设备102还可以包括用于接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如手指或触控笔)的触摸敏感的触摸敏感组件(例如触摸敏感显示屏或触摸板)。触摸敏感组件可以用于实施虚拟键盘。其它示例用户输入组件包括麦克风、传统键盘或用户可以借以提供用户输入的其它构件。
服务器计算系统130包括一个或多个处理器132和存储器134。所述一个或多个处理器132可以是任何合适的处理设备(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器134可以存储数据136和指令138,这些指令在被处理器132执行时使服务器计算系统130执行操作。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或另外由一个或多个服务器计算设备实施。在服务器计算系统130包括多个服务器计算设备的情况下,这种服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来进行操作。
如上文所描述的,服务器计算系统130可以存储或另外包括一个或多个机器学习的递归超分辨率模型140。例如,所述模型140可以是或可以另外包括各种机器学习模型。示例的机器学习模型包括神经网络或其它多层非线性模型。示例的神经网络包括前馈神经网络、深度神经网络、递归神经网络以及卷积神经网络。参考图2至图7讨论了示例模型140。
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150所进行的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分开或可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储数据156和指令158,这些指令在被处理器152执行时使训练计算系统150执行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或另外由一个或多个服务器计算设备实施。
训练计算系统150可以包括模型训练器160,其通过使用各种训练或学习技术(诸如例如,评估与机器学习模型120和/或140相关联的损失函数和/或损失函数的梯度、以及误差的向后传播)来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。在一些实施方式中,执行误差的向后传播可以包括:执行通过时间的截短的反向传播。模型训练器160可以执行若干归纳技术(例如权重衰减、信息漏失等)以提高所训练的模型的归纳能力。
更具体地,模型训练器160可以将对偶分解应用于损失函数的凸共轭表示。除了将搜索数据结构(例如MIPS数据结构)应用于学习问题之外,机器训练器160还可以应用对偶分解。模型训练器160可以通过经由对偶分解将维度解耦来用若干较低维搜索替换高维搜索问题。模型训练器160可以经由贪婪消息传递来耦合不同的较低维搜索,该贪婪消息传递可以保证收敛以获得对损失及其梯度的良好近似。
在一些实施方式中,模型训练器160可以分割权重矩阵,所述权重矩阵对应于与机器学习的模型120和/或140相关联的评分函数。模型训练器160可以将权重矩阵分割成多个块,并且将所述多个块存储在多个对应MIPS数据结构中。例如,模型训练器160可以将多个块中的每一个的行存储在与所述块相对应的MIPS数据结构中。模型训练器160可以用第一阈值查询多个MIPS数据结构中的每一个,以标识与大于第一阈值的分数相关联的第一标签集合。模型训练器160可以至少部分地基于第一标签集合来构建多个块中的每一个的评分向量的稀疏近似,为每个稀疏近似确定校正值。模型训练器160可以通过更新第一标签集合中的至少一些的校正值来迭代地优化所述分解的损失函数。在优化了所述分解的损失函数之后,模型训练器160可以至少部分地基于多个块中的每一个的评分向量的稀疏近似和与评分向量的稀疏近似相关联的校正值来评估所述分解的损失函数或分解的损失函数的梯度。以这种方式,模型训练器160可以确定与评分函数相关联的损失或损失的梯度的近似。
模型训练器160可以基于训练数据集162来训练机器学习模型120和/或140。训练数据162可以包括例如具有x∈X和的所标记的样本对(x,P),其中,X表示输入空间,Y表示输出空间,且P表示输入点x的正确标签集合。
在一些实施方式中,如果用户已经提供了同意,那么训练示例可以由用户计算设备102提供。因此,在这种实施方式中,可以通过根据从用户计算设备102接收到的用户特定数据训练计算系统150来训练向用户计算设备102提供的模型120。在一些情况下,这个进程可以被称为个性化模型。
模型训练器160包括用于提供期望功能性的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实施。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其它实施方式中,模型训练器160包括一个或多个计算机可执行指令集,该计算机可执行指令集存储在有形的计算机可读存储介质(诸如RAM硬盘或光学介质或磁性介质)中。
网络180可以是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如互联网)或它们的某种组合,并且可以包括任何数目的有线链路或无线链路。通常,可以使用各种通信协议(例如TCP/IP、HTTP、SMTP、FTP),编码或格式(例如HTML、XML)和/或保护方案(例如VPN、安全HTTP、SSL),经由任何类型的有线连接和/或无线连接来进行通过网络180的通信。
图1图示了可以用于实施本公开的一个示例计算系统。也可以使用其它计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这种实施方式中,可以在用户计算设备102处本地地既训练又使用模型120。在一些这种实施方式中,用户计算设备102可以实施模型训练器160以基于用户特定数据来个性化模型120。
图2描绘了根据本公开的一些实施方式的在Megaface数据集上的多类分类结果的绘图。
图3描绘了根据本公开的一些实施方式的在WikiLSHTC数据集上的多标签分类结果的绘图。
图4描绘了根据本公开的一些实施方式的在用跳跃元语法目标进行的词嵌入上的结果的绘图。
因此,图2至图4描绘了根据本公开的示例实施例的图示不同损失函数与梯度评估方法的比较的绘图。具体地,图2与多类分类问题(例如面部识别)相对应并且描绘了图示了在MegaFace数据集上的多类分类结果的绘图:测试准确性相对于训练时间(左)、训练准确性相对于训练时间(中间)以及训练准确性相对于时期数(右),其中,x轴为对数标尺。图3与多标签分类问题(例如文档标记)相对应并且描绘了图示了在WikiLSHTC数据集上的多标签分类结果的绘图:测试准确性相对于训练时间(左)、训练准确性相对于训练时间(中间)以及训练准确性相对于时期数(右),其中,x轴为对数标尺。图4与无监督词嵌入问题相对应并且描绘了图示了在用跳跃元语法目标(9)进行的词嵌入上的结果,其中,GD-Exact、GD-MIPS和GD-Decomp-MIPS用Word2vec-Neg的一个时期所训练的模型来初始化。
关于图2和图3,采用随机梯度下降(SGD)优化算法,其中,从{1,0.1,0.01}中选择初始步长以实现每种方法的最佳性能、以及1/(1+t)冷却方案,其中,t是迭代计数器。小批量大小为10,并且所有方法都用在专用计算机上运行的共享存储器架构中的10个CPU核心并行处理。所有实施方式都是C++的。比较了以下损失函数和梯度评估方法:
Softmax:对交叉熵损失(2)的确切梯度评估,其中,对于图2中的多类,|P|=1,且对于图3中的多标签,|P|<<K;
Sampled-Softmax(样本Softmax):采样策略,其包括实例的所有正类别,并且从剩余的负类别中进行统一地二次采样,样本大小为K/100;
Margin(边界):对平滑的最大边界损失(10)的确切梯度评估,其中,对于图2中的多类,μ=1,且对于图3中的多标签,μ=5。利用O(Klog(K))计算双单纯形法投影(11)。对于这个损失,梯度更新比交叉熵的更新更快,因为损失梯度非常稀疏,使得后向传递更快;
MIPS:对平滑的最大边界损失(10)的基于搜索的梯度评估(例如算法1),其中,对于图2中的多类,μ=1,且对于图3中的多标签,μ=5。具有100个质心的球形聚类用作具有大小为K/100的批量查询的MIPS数据结构;以及
Decomp-MIPS(分解MIPS):经由分解搜索(例如算法2,T=1次迭代)的梯度评估。对于图2中的多类,将内积划分为B=8个因子,且对于图3中的多标签,B=4。具有100个质心的球形聚类用作具有大小为K/100的批量查询的MIPS数据结构。
对于图2,多类分类实验是在最大公开可用的面部识别数据集MegaFace上进行的,其中,每个身份都被视为类别,且每个样本都是由面部检测器裁剪的图像。表1中示出了MegaFace数据集统计。在MS-Celeb-1M数据集上对FaceNet架构进行了预训练,且在MegaFace数据集上对FaceNet架构的最后一层进行了微调。最后一层的输入是大小为128的嵌入,在Decomp-MIPS方法中,将该嵌入划分为B=8个因子,每个因子的维度为16。
#身份 | #图像 | 嵌入维度 |
672K | 4.7M | 128 |
表1:MegaFace数据集的统计
图2中的比较方法的运行时间多于一天,并且图2中示出了结果。对用于优化(平滑的)最大边界损失的方法(Decomp-MIPS、MIPS和Margin)的比较表明,Decomp-MIPS和MIPS两者都可以将迭代加速1至2个数量级。然而,MIPS以比Decomp-MIPS低得多的准确性收敛,并且差距在运行了更多次迭代时变得更大。注意时间和时期是对数标尺。另外,与Margin相比,Softmax具有慢得多的进展。一天后,Softmax和Margin均未完成一个时期(4.7M个样本)。Margin的进展是好得多的,大概是因为其将重点放在令人混淆的身份上。此外,与基于MIPS的途径相比,Sampled-Softmax具有快得多的迭代,但每次迭代的进展却较小,从而导致总体进展较慢。
对于图3,多标签分类实验是在WikiLSHTC(极端分类存储库中的基准数据集)上进行的,其中,每个类别是Wikipedia中的目录标记,且每个样本都是具有词袋表示的文档。表2中示出了WikiLSHTC数据统计。平均而言,每个样本都具有3.19个正标签,且每个类别在17.46个样本中显现为正类别。单隐藏层全连接前馈网络被训练以进行多标签分类任务。第一层具有等于词汇量大小(1.6M)的输入维度和维度为100的输出。第二层具有等于类别数目(325K)的输出大小以及不同损失函数和不同比较方法的近似。训练结果还产生了作为副产品的文档和词嵌入。对于Decomp-MIPS,将最后一层的输入划分为B=4个因子,每个因子的维度为25。
图3中的比较方法的运行时间多于一天,并且图3中示出了结果。如所示出的,Softmax具有非常好的每次迭代进展,显著地超过了基于平滑的最大边界损失的其它三种方案(Margin、MIPS、Decomp-MIPS)的进展。然而,Softmax的迭代比其它迭代慢得多,这是由于其具有密集的损失梯度,且因此具有较慢的反向传播,以使得在比较训练时间时,Softmax的执行类似于Margin。另一方面,当在每时期的进展方面比较Margin、Decomp-MIPS以及MIPS时,Decomp-MIPS的更新几乎实现了与Margin的确切梯度计算相同的进展,而与Margin和Decomp-MIPS相比,MIPS的训练准确性显著下降,这是由于其运行了更多次迭代。总体而言,基于MIPS的方法导致一个数量级的加速,而Decomp-MIPS保留了确切方法的准确性。另一方面,尽管Sampled-Softmax的迭代较快,但其具有极其缓慢的每次迭代的进展,且即使一天之后,Sampled-Softmax也无法达到可与其它方法相比的准确性。
#标签 | #样本 | 嵌入维度 | 词汇量大小 |
325K | 1.8M | 100 | 1.6M |
表2:WikiLSHTC数据集的统计
关于图4,本公开的梯度近似方法在具有跳跃元语法学习目标(9)的词嵌入任务上进行评估,并且与两种广泛使用的梯度近似方法——在word2vec封包中实施的分层Softmax(Word2vec-HS)和负采样(Word2vec-Neg)进行比较。从{5,10,15,20,25}中选出用于Word2vec-Neg的样本大小。
使用由近五十万个词汇量大小组成的基准数据集BillonW。表3中提供了数据统计。使用大小为8的窗口,并且在语料库中对常用词进行了二次采样。每个词w以概率下降,其中,fw是所述词在语料库中的相对频率,而t=10-4是阈值参数。
词汇量大小 | #词 | 嵌入维度 | 窗口大小 |
≈451K | ≈680M | 100 | 8 |
表3:BillionW数据集的统计
注意,跳跃元语法目标(9)以折叠形式呈现。这里,相同输入输出对的所有条项被分组在一起并且按频率进行加权。通过对(9)中的经验输入输出分布qx、qy|x进行求和来根据正输出计算所述梯度。然后,可替代地,对输入词{φ(x)}x∈X和输出词{φ(y)}y∈X的参数执行梯度下降(GD)更新。GD、GD-MIPS以及GD-Decomp-MIPS用于表示具有不同损失近似策略的算法。由于在早期迭代中,所述模型具有针对候选项的相当均匀地分布的梯度,因此使用1个时期的Word2vec-Neg来初始化GD、GD-MIPS以及GD-Decomp-MIPS。对于这个任务,与在多标签和多类实验中的情况相比,存在多得多的显著梯度幅度的负类别。针对MIPS结构,使用大小为K/20批量查询,而非K/100。
图4中的比较方法用24个CPU核心并行处理,并且图4中示出了结果。在第一时期之后,基于交替梯度下降(GD)(具有所述折叠目标(9))的方法具有每个时期的更快收敛,并且GD-Deomp-MIPS的迭代比GD的迭代快了5倍,同时在相同训练时间内具有比GD-MIPS显著更佳的目标值。
图5描绘了用于评估损失函数或损失函数的梯度的方法500的图式。在(502)中,方法500包括:将权重矩阵分割成块。例如,训练计算系统150可以分割与评分函数相对应的权重矩阵。训练计算系统150可以将权重矩阵分割成多个块。所述多个块中的每一个可以包括所述权重矩阵的一个或多个列。
在(504)处,方法500包括:为每个块标识第一标签集合。例如,训练计算系统150可以为多个块中的每一个标识第一标签集合。第一标签集合可以与大于第一阈值的分数相关联。训练计算系统150可以查询相应地与权重矩阵的多个块相关联的多个最大内积搜索数据结构中的每一个。具体地,训练计算系统150可以获得与权重矩阵和评分函数相对应的特征图;将特征图分割成与所述权重矩阵的多个块相对应的多个块;以及查询相应地与权所述重矩阵的多个块相关联的多个最大内积搜索数据结构中的每一个,其中,分割后的特征图的输出与所述权重矩阵的块和第一阈值相对应。
在(506)处,方法500包括:为每个块构建评分向量的稀疏近似。例如,训练计算系统150可以至少部分地基于第一标签集合来为多个块中的每一个构建评分向量的稀疏近似。训练计算系统150可以针对多个块中的每一个设置用于多个标签中的每一个的相应近似分数,该多个标签中的该每一个既不包括在用于所述块的第一标签集合中也不包括在等于零的正标签中;以及针对多个块中的每一个设置用于多个标签中的每一个的相应近似分数,该多个标签中的该每一个既不包括在用于所述块的第一标签集合中也不包括在等于根据最大内部搜索乘积搜索查询所确定的真正分数的正标签中。
在(508)处,方法500包括:为每个评分向量确定校正值。例如,训练计算系统150为多个块中的每一个的评分向量的每个稀疏近似确定校正值。具体地,训练计算系统150可以至少部分地基于多个块中的每一个的第一标签集合来标识第二标签集合,该第二标签集合与大于第二阈值的梯度相关联。训练计算系统150可以确定跨越多个块的第二标签集合中的每个标签的平均近似分数。训练计算系统150可以为多个块中的每一个的第二标签集合中的每个标签确定近似分数。训练计算系统150可以为第二标签集合中的标签与多个块中的块的每个组合而确定在用于多个块中的每一个的平均近似分数与近似分数之间的差。训练计算系统150可以至少部分地基于针对第二标签集合中的标签与多个块中的块的每个组合的所确定的差来更新多个块中的每一个的评分向量的每个稀疏近似的校正值。
在(510)处,方法500包括:对损失或损失的梯度进行近似。例如,训练计算系统150可以通过至少部分地基于多个块中的每一个的评分向量的稀疏近似和与所述评分向量的稀疏近似相关联的校正值而评估分解的损失函数或分解的损失函数的梯度,来确定与所述评分函数相关联的损失或损失的梯度的近似。分解的损失函数可以包括多个部分,每个部分同与多个块中的每一个的评分向量的相应稀疏近似相关联的损失相对应。
训练计算系统105可以对损失函数执行平滑技术,以构建具有连续梯度的替代损失函数;以及至少部分地基于替代损失函数来确定分解的损失函数。
训练计算系统150可以跨越多个块使按这种块的相应近似评分向量加上每个块的校正值向量所评估的每个块的相应损失的平均值最小化,以使得跨越所述多个块的校正值向量的总和等于零。
训练计算系统150可以为多个训练示例中的每一个确定损失或损失的梯度的近似。
训练计算系统150可以至少部分地基于与评分函数相关联的损失的所确定的近似或损失的梯度来修改权重矩阵或评分函数的一个或多个参数。
方法500可以在训练分类器时使用。所述分类器可以用于极端多类或多标签分类问题中。所述分类器可以提供任何合适的数据项的分类,并且可以例如用于例如基于可以表示一个或多个图像或视频的输入序列来分类或发现音频片段、图像或视频。所述数据项可以是表示静止图像或移动图像的数据,在这种情况下,所述数据项中所含有的各个数值可以表示像素值,例如像素的一个或多个颜色信道的值。用于训练模型的训练图像可以是由相机捕获到的真实世界的图像。
可替代地,所述数据项可以是表示声音信号的数据,例如音频波形的振幅值(例如自然语言;在这种情况下,训练示例可以是例如由麦克风根据人类演讲者的语音记录的自然语言的样本)。在另一种可能性中,所述数据项可以是文本数据,例如文本字符串或机器翻译任务中的词和/或子词单元(单词)的其它表示。因此,所述数据项可以是一维、二维或更高维的。
本文中所讨论的技术参考服务器、数据库、软件应用和其它基于计算机的系统以及所采取的动作和向这种系统和从这种系统发送的信息。基于计算机的系统的固有灵活性允许在各组件之间和各组件当中的任务和功能性的多种可能配置、组合和划分。例如,本文中所讨论的进程可以使用单个设备或组件或组合工作的多个设备或组件来实施。数据库和应用可以在单个系统上实施或分布在多个系统上。分布式组件可以按顺序或并行地运行。
虽然已经相对于本主题的各种特定示例实施例详细地描述了本主题,但每个示例都是通过说明而非限制本公开的方式提供的。本领域的技术人员在获得对前述内容的理解后可以容易地产生对这种实施例的更改、变型和等同物。因此,本主题公开并不排除如对于本领域的普通技术人员将容易地显而易见的本主题的这种修改、变型和/或添加。例如,作为一个实施例的一部分所图示或描述的特征可以与另一个实施例一起使用以产生又一个实施例。因此,本公开旨在覆盖这种更改、变型和等同物。
Claims (22)
1.一种用于评估损失函数或所述损失函数的梯度的计算机实施的方法,所述方法包括:
通过包括一个或多个计算设备的计算系统,将权重矩阵分割成多个块,所述权重矩阵对应于评分函数;
通过所述计算系统,为所述多个块中的每一个标识第一标签集合,所述第一标签集合与大于第一阈值的分数相关联;
通过所述计算系统,至少部分地基于所述第一标签集合来为所述多个块中的每一个构建评分向量的稀疏近似;
通过所述计算系统,为所述多个块中的每一个块的所述评分向量的每个稀疏近似确定校正值;以及
通过所述计算系统,通过至少部分地基于所述多个块中的每一个块的所述评分向量的所述稀疏近似和与所述评分向量的所述稀疏近似相关联的所述校正值而评估分解的损失函数或分解的损失函数的梯度,来确定与所述评分函数相关联的损失或损失的梯度的近似。
2.根据权利要求1所述的计算机实施的方法,进一步包括:
通过所述计算系统,为多个训练示例中的每一个确定所述损失或所述损失的梯度的近似。
3.根据权利要求1或2所述的计算机实施的方法,进一步包括:
通过所述计算系统,至少部分地基于与所述评分函数相关联的所述损失或所述损失的所述梯度的所确定的近似,来修改所述权重矩阵或所述评分函数的一个或多个参数。
4.根据权利要求1、2或3所述的计算机实施的方法,其中,为所述多个块中的每一个标识所述第一标签集合包括:
通过所述计算系统,查询与所述权重矩阵的所述多个块相应地相关联的多个最大内积搜索数据结构中的每一个。
5.根据前述权利要求中任一项所述的计算机实施的方法,其中,为所述多个块中的每一个构建所述评分向量的所述稀疏近似包括:
通过所述计算系统,为所述多个块中的每一个设置所述多个标签中的每一个标签的相应近似分数,所述多个标签中的所述每一个标签既不包括在所述块的所述第一标签集合中也不包括在等于零的正标签中。
6.根据权利要求1至4中任一项所述的计算机实施的方法,其中,为所述多个块中的每一个构建所述评分向量的所述稀疏近似包括:
通过所述计算系统,为所述多个块中的每一个设置所述多个标签中的每一个标签的相应近似分数,所述多个标签中的所述每一个标签既不包括在所述块的所述第一标签集合中也不包括在正标签中,所述正标签等于根据最大内部搜索乘积搜索查询所确定的真正分数。
7.根据前述权利要求中任一项所述的计算机实施的方法,其中,为所述多个块中的每一个的所述评分向量的每个稀疏近似确定所述校正值包括:
通过所述计算系统,至少部分地基于所述多个块中的每一个块的所述第一标签集合来标识第二标签集合,所述第二标签集合与大于第二阈值的梯度相关联;
通过所述计算系统,确定跨越所述多个块的所述第二标签集合中的每个标签的平均近似分数;
通过所述计算系统,为在所述多个块中的每一个块的所述第二标签集合中的每个标签确定近似分数;
通过所述计算系统,针对在所述第二标签集合中的标签与在所述多个块中的块的每个组合,为所述多个块中的每一个块确定所述平均近似分数与所述近似分数之间的差;以及
通过所述计算系统,至少部分地基于针对所述第二标签集合中的标签与所述多个块中的块的每个组合所确定的差,来更新所述多个块中的每一个块的所述评分向量的每个稀疏近似的所述校正值。
8.根据前述权利要求中任一项所述的计算机实施的方法,其中,确定与所述评分函数相关联的损失或损失的梯度的近似包括:
通过所述计算系统,跨越所述多个块,使在该块的相应近似评分向量加上每个块的校正值向量处所评估的每个块的相应损失的平均值最小化,以使得跨越所述多个块的所述校正值向量的总和等于零。
9.根据前述权利要求中任一项所述的计算机实施的方法,其中,所述分解的损失函数包括多个部分,每个部分对应于与所述多个块中的每一个块的所述评分向量的相应稀疏近似相关联的损失。
10.根据前述权利要求中任一项所述的计算机实施的方法,所述方法进一步包括:
通过所述计算系统,对损失函数执行平滑技术,以构建具有连续梯度的替代损失函数;以及
通过所述计算系统,至少部分地基于所述替代损失函数来确定所述分解的损失函数。
11.根据前述权利要求中任一项所述的计算机实施的方法,其中,所述多个块中的每一个包括所述权重矩阵的一个或多个列。
12.根据权利要求4所述的计算机实施的方法,其中,查询与所述权重矩阵的所述多个块相应地相关联的所述多个最大内积搜索数据结构中的每一个包括:
通过所述计算系统,获得与所述权重矩阵和所述评分函数相对应的特征图;
通过所述计算系统,将所述特征图分割成与所述权重矩阵的所述多个块相对应的多个块;以及
通过所述计算系统,查询与所述权重矩阵的所述多个块相应地相关联的所述多个最大内积搜索数据结构中的每一个,其中,所分割的特征图的输出与所述权重矩阵的所述块和所述第一阈值相对应。
13.一种计算系统,包括:
一个或多个处理器;以及
存储指令的一个或多个非暂时性计算机可读介质,所述指令在被所述一个或多个处理器执行时使所述计算系统执行操作,所述操作包括:
为权重矩阵的多个块中的每一个标识多个标签的第一子集,其中,所述第一子集中的每个标签具有大于第一阈值的分数;
至少部分地基于为该块所标识的所述多个标签的所述第一子集,为所述多个块中的每一个构建该块的评分向量的稀疏近似;
为所述多个标签中的至少一些确定校正值,其中,所述校正值在一次或多次迭代中的每一次处被更新,以迭代地优化分解的损失函数;以及
在迭代地优化所述分解的损失函数之后,确定对所述分解的损失函数或所述分解的损失函数的梯度的评估。
14.根据权利要求13所述的计算系统,所述操作进一步包括:
针对多个训练示例中的每一个执行所述标识、构建、迭代地优化和返回的操作。
15.根据权利要求13或14所述的计算系统,所述操作进一步包括:
至少部分地基于对所述分解的损失函数或所述分解的损失函数的所述梯度的所述评估,来修改所述权重矩阵或由所述权重矩阵进行近似的机器学习评分模型的一个或多个参数。
16.根据权利要求13、14或15所述的计算系统,其中为所述权重矩阵的所述多个块中的每一个标识所述多个标签的所述第一子集包括:
查询与所述权重矩阵的所述多个块相应地相关联的多个最大内积搜索数据结构中的每一个。
17.根据权利要求13至16中任一项所述的计算系统,其中,为所述多个块中的每一个构建该块的所述评分向量的所述稀疏近似包括:
为所述多个块中的每一个设置所述多个标签中的每一个标签的相应近似分数,其中所述多个标签中的所述每一个标签既不包括在该块的所述第一子集中,也不包括在等于零的正标签中。
18.根据权利要求13至16中任一项所述的计算系统,其中,为所述多个块中的每一个构建该块的所述评分向量的所述稀疏近似包括:
为所述多个块中的每一个设置所述多个标签中的每一个标签的相应近似分数,其中所述多个标签中的所述每一个标签既不包括在该块的所述第一子集中,也不包括在等于根据最大内部搜索乘积搜索查询所确定的真正分数的正标签中。
19.根据权利要求13至18中任一项所述的计算系统,其中,迭代地优化所述分解的损失函数包括:
针对所述一次或多次迭代中的每一个:
标识所述多个标签的第二子集,所述第二子集的相应次梯度大于第二阈值;
针对在所述第二子集中所包括的标签与块的每个组合,确定在跨越所述多个块的该标签的所述近似分数的平均值与该块的该标签的所述近似分数之间的差;以及
至少部分地基于在跨越所述多个块的该标签的所述近似分数与该块的该标签的所述近似分数之间的差,针对在所述第二子集中所包括的标签与块的每个组合,来更新标签与块的该组合的相应校正值。
20.根据权利要求13至19中任一项所述的计算系统,其中,迭代地优化所述分解的损失函数包括:
跨越所述多个块,使在该块的相应近似评分向量加上每个块的校正值向量处所评估的每个块的相应损失的平均值最小化,以使得跨越所述多个块的所述校正值向量的总和等于零。
21.一种计算系统,所述计算系统包括:
一个或多个处理器;以及
存储指令的一个或多个非暂时性计算机可读介质,所述指令在被一个或多个处理器执行时使所述计算系统执行根据权利要求1至12中任一项所述的方法。
22.一种用于训练分类器的计算机实施的方法,所述方法包括:使用从根据权利要求1至12中任一项所述的方法获得的分解的损失函数或所述分解的损失函数的梯度,来训练所述分类器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862682100P | 2018-06-07 | 2018-06-07 | |
US62/682,100 | 2018-06-07 | ||
PCT/US2019/036057 WO2019237000A1 (en) | 2018-06-07 | 2019-06-07 | Systems and methods for evaluating a loss function or a gradient of a loss function via dual decomposition |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112368697A true CN112368697A (zh) | 2021-02-12 |
Family
ID=67185710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980044631.4A Pending CN112368697A (zh) | 2018-06-07 | 2019-06-07 | 经由对偶分解评估损失函数或损失函数的梯度的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10510021B1 (zh) |
CN (1) | CN112368697A (zh) |
WO (1) | WO2019237000A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11657322B2 (en) * | 2018-08-30 | 2023-05-23 | Nec Corporation | Method and system for scalable multi-task learning with convex clustering |
US11625554B2 (en) * | 2019-02-04 | 2023-04-11 | International Business Machines Corporation | L2-nonexpansive neural networks |
US11468298B2 (en) * | 2019-09-17 | 2022-10-11 | Adobe Inc. | Neural networks for multi-label classification of sequential data |
US10956825B1 (en) * | 2020-03-16 | 2021-03-23 | Sas Institute Inc. | Distributable event prediction and machine learning recognition system |
US11816574B2 (en) * | 2019-10-25 | 2023-11-14 | Alibaba Group Holding Limited | Structured pruning for machine learning model |
US20210142210A1 (en) * | 2019-11-11 | 2021-05-13 | Alibaba Group Holding Limited | Multi-task segmented learning models |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
CN111339886B (zh) * | 2020-02-19 | 2024-01-09 | 中山大学 | 一种基于相似性损失的行为识别方法 |
US11010691B1 (en) * | 2020-03-16 | 2021-05-18 | Sas Institute Inc. | Distributable event prediction and machine learning recognition system |
CN113673668A (zh) * | 2020-05-13 | 2021-11-19 | 北京君正集成电路股份有限公司 | 一种车辆检测训练中二级损失函数的计算方法 |
CN112083482B (zh) * | 2020-08-06 | 2021-11-19 | 西安交通大学 | 基于模型驱动深度学习的地震超分辨反演方法 |
CN114330573A (zh) * | 2021-12-30 | 2022-04-12 | 济南博观智能科技有限公司 | 一种目标检测方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120331025A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Systems and methods for large-scale randomized optimization for problems with decomposable loss functions |
CN105160400A (zh) * | 2015-09-08 | 2015-12-16 | 西安交通大学 | 基于l21范数的提升卷积神经网络泛化能力的方法 |
CN106250917A (zh) * | 2016-07-25 | 2016-12-21 | 华东师范大学 | 一种基于加速近端梯度pca的时序评分异常值检测方法 |
-
2019
- 2019-06-07 WO PCT/US2019/036057 patent/WO2019237000A1/en active Application Filing
- 2019-06-07 CN CN201980044631.4A patent/CN112368697A/zh active Pending
- 2019-06-07 US US16/434,627 patent/US10510021B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120331025A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Systems and methods for large-scale randomized optimization for problems with decomposable loss functions |
CN105160400A (zh) * | 2015-09-08 | 2015-12-16 | 西安交通大学 | 基于l21范数的提升卷积神经网络泛化能力的方法 |
CN106250917A (zh) * | 2016-07-25 | 2016-12-21 | 华东师范大学 | 一种基于加速近端梯度pca的时序评分异常值检测方法 |
Non-Patent Citations (1)
Title |
---|
YEN I E-H ET AL: ""Dual Decomposed Learning with Factorwise Oracles for Structural SVMs of Large Output Domain"", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, vol. 29, pages 5030 - 5038, XP055616313 * |
Also Published As
Publication number | Publication date |
---|---|
US20190378037A1 (en) | 2019-12-12 |
US10510021B1 (en) | 2019-12-17 |
WO2019237000A1 (en) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112368697A (zh) | 经由对偶分解评估损失函数或损失函数的梯度的系统和方法 | |
US11163947B2 (en) | Methods and systems for multi-label classification of text data | |
Majumder et al. | 500+ times faster than deep learning: A case study exploring faster methods for text mining stackoverflow | |
WO2023000574A1 (zh) | 一种模型训练方法、装置、设备及可读存储介质 | |
JP7360497B2 (ja) | クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム | |
Luo et al. | Online learning of interpretable word embeddings | |
EP3295381B1 (en) | Augmenting neural networks with sparsely-accessed external memory | |
Rae et al. | Fast parametric learning with activation memorization | |
CN114048331A (zh) | 一种基于改进型kgat模型的知识图谱推荐方法及系统 | |
US11562203B2 (en) | Method of and server for training a machine learning algorithm for estimating uncertainty of a sequence of models | |
US20190065957A1 (en) | Distance Metric Learning Using Proxies | |
WO2020198855A1 (en) | Method and system for mapping text phrases to a taxonomy | |
Grzegorczyk | Vector representations of text data in deep learning | |
US20240061889A1 (en) | Systems and Methods for Weighted Quantization | |
Yen et al. | Loss decomposition for fast learning in large output spaces | |
Das et al. | Group incremental adaptive clustering based on neural network and rough set theory for crime report categorization | |
CN114462605A (zh) | 存储推理程序的计算机可读记录介质以及推理方法 | |
Heuillet et al. | Efficient automation of neural network design: A survey on differentiable neural architecture search | |
Tian et al. | Chinese short text multi-classification based on word and part-of-speech tagging embedding | |
Madushanka et al. | MDNCaching: A strategy to generate quality negatives for knowledge graph embedding | |
Badriyah et al. | Deep learning algorithm for data classification with hyperparameter optimization method | |
Altinok et al. | Learning to rank by using multivariate adaptive regression splines and conic multivariate adaptive regression splines | |
Aktukmak et al. | Any-shot Learning from Multimodal Observations (ALMO) | |
Soleimani et al. | Fast PMI-based word embedding with efficient use of unobserved patterns | |
Schelter | Amnesia-a selection of machine learning models that can forget user data very fast |
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 |