CN116830129A - 使用多智能体交互确定主成分 - Google Patents
使用多智能体交互确定主成分 Download PDFInfo
- Publication number
- CN116830129A CN116830129A CN202280013447.5A CN202280013447A CN116830129A CN 116830129 A CN116830129 A CN 116830129A CN 202280013447 A CN202280013447 A CN 202280013447A CN 116830129 A CN116830129 A CN 116830129A
- Authority
- CN
- China
- Prior art keywords
- principal component
- estimate
- principal
- generating
- current
- 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
- 230000003993 interaction Effects 0.000 title abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 116
- 238000003860 storage Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 46
- 238000010801 machine learning Methods 0.000 claims description 25
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 abstract description 17
- 239000003795 chemical substances by application Substances 0.000 description 145
- 238000000513 principal component analysis Methods 0.000 description 93
- 230000000875 corresponding effect Effects 0.000 description 65
- 230000009471 action Effects 0.000 description 42
- 239000011159 matrix material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000010420 art technique Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011985 exploratory data analysis Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/0495—Quantised networks; Sparse networks; Compressed 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/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Biophysics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
Abstract
用于使用多智能体交互来确定数据集的主成分的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。所述方法之一包括:获得数据集的多个主成分的初始估计;以及通过重复执行操作来生成每个主成分的最终估计,所述操作包括:使用该主成分的当前估计生成奖励估计,其中,如果该主成分的当前估计捕获数据集中的更多方差,则奖励估计更大;对于该主成分的每个父主成分,生成惩罚估计,其中,如果该主成分的当前估计与该父主成分的当前估计不正交,则惩罚估计更大;并且,根据奖励估计和惩罚估计之间的差更新该主成分的当前估计。
Description
背景技术
本说明书涉及主成分分析。主成分分析(PCA)是计算数据集的主成分并使用计算出的主成分对数据集执行基础改变的过程。PCA用于探索性数据分析和建立预测模型。PCA通常用于通过下述方式降维:将每个数据点仅投影到前几个主成分上,以在保留尽可能多的数据变化的同时获得较低维度的数据。
发明内容
本说明书描述了在一个或多个位置的一个或多个计算机上实现为计算机程序的一种系统,该系统通过将主成分分析建模为多智能体交互来确定数据集X的前k个主成分。
本说明书中描述的主题可以在特定实施例中实现,以实现一个或多个以下优点。
使用本说明书中描述的技术,系统可以例如使用比用于执行主成分分析的现有技术更少的时间和/或更少的计算和/或存储器资源高效且准确地估计数据集X的前k个主成分。
通过跨多个处理设备并行化智能体的计算,系统可以进一步提高确定主成分的效率。使用本文描述的技术,系统可以进一步消除在原始并行化实施方式中固有存在的计算偏差。
例如,使用本说明书中描述的技术,一种系统可以确定数据集的前k个主成分,并使用数据集的前k个主成分来降低数据集的维度以用于存储或进一步处理,提高存储数据集的计算和存储器效率。
作为另一个示例,使用本说明书中描述的技术,一种系统可以确定数据集的前k个主成分,并且使用数据集的前k个主成分来降低数据集的维度以用于对于数据集执行机器学习,提高机器学习过程的计算和存储器效率。
使用本说明书中描述的技术,一种系统可以比一些其他现有技术更快且更准确地确定数据集的前k个主成分。例如,一种系统可以比现有技术更快(例如,少10%、15%或25%秒)实现比现有技术更长的“最长正确本征向量条纹(longest correct eigenvectorstreak)”(其测量已按顺序确定为在真实值本征向量的角度阈值内的本征向量的数量)(例如,10%、50%或100%更长的条纹)。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1A是用于顺序确定数据集的主成分的示例主成分分析系统的图。
图1B是用于顺序确定数据集的主成分的示例过程的流程图。
图2A是用于并行确定数据集的主成分的示例主成分分析系统的图。
图2B是用于并行确定数据集的主成分的示例过程的流程图。
图3是包括主成分分析系统的示例系统的图。
图4是用于确定数据集的前k个主成分的示例过程的流程图。
图5是确定数据集的主成分的相应不同主成分分析系统的性能的图示。
各个附图中相同的附图标号和标记指示相同的元件。
具体实施方式
本说明书描述了一种在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,该系统被配置为通过将主成分分析建模为多智能体交互来确定数据集X的前k个主成分。数据集X可以包括多个数据元素(或由多个数据元素组成),例如,文本词项、图像、音频样本或其他传感器数据项。
图1A是示例主成分分析系统100的图。主成分分析系统100是在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例,在该系统中可以实现下面描述的系统、组件和技术。
主成分分析系统100被配置为确定数据集112的前k个主成分122a-k,其中,k≥1。数据集112具有维度n,其中,n>k。即,数据集112的每个元素具有维度n,例如使得每个元素可以由长度为n的向量表示。
中数据集X的主成分是/>中与数据集X的最大方差方向对齐且彼此正交的向量。前k个主成分可以统称为v。
主成分分析系统100被配置为按照主成分的降序顺序确定前k个主成分122a-k(即,首先确定第一主成分,然后确定第二主成分,等等)。
在本说明书中,数据集的第n个主成分是识别数据集中第n个最大方差的方向的主成分(相当地,与数据集的协方差矩阵的第n个最大本征值对应的主成分,其中,协方差矩阵是一个方阵,其识别数据集中每对元素之间的协方差)。
在本说明书中,特定主成分的“父”主成分是主成分排序中高于该特定主成分的主成分;即,父主成分识别比特定主成分识别的方向更高方差的方向(等同地,父主成分具有比特定主成分的本征值更大的对应本征值)。特定主成分的“子”主成分是主成分排序中低于该特定主成分的主成分。
主成分分析系统100通过将主成分分析建模为多智能体交互来确定前k个主成分122a-k。多智能体交互包括k个智能体,每个智能体对应于相应的主成分122a-k。
多智能体交互中的每个智能体通过选择对应主成分122a-k的估计来采取动作,并且接收针对激励智能体选择真实的对应主成分122a-k的动作的奖励。具体地,主成分分析系统100为每个智能体定义效用函数,该效用函数是以下部分的函数:(i)由该智能体的动作识别的对应主成分122a-k的估计和(ii)由多智能体交互中对应其他智能体的相应动作识别的对应的主成分的父主成分122a-k。每个智能体的相应效用函数可以奖励识别估计主成分122a-k的智能体的动作,这些估计主成分122a-k(i)与(如通过对应的其他智能体的动作所识别的)父主成分122a-k正交并且(ii)识别数据集112中最大方差的方向(在给定父主成分的情况下可用的方向中)。下面参考图1B更详细地讨论示例效用函数。
因为对应于特定主成分122a-k的每个智能体的效用函数仅取决于对应于特定主成分122a-k的父主成分的智能体的动作,所以主成分分析系统100可以顺序地确定主成分122a-k,即,通过确定对应于第一主成分122a的智能体的动作,然后对应于第二主成分122b的智能体的动作,等等。
主成分分析系统100包括数据存储110和k个智能体引擎120a-k。
数据存储110被配置为存储数据集112,并且当主成分122a-k由主成分分析系统100顺序生成时,存储到目前为止已经生成的主成分122a-k。数据存储110可以分布在多个不同的逻辑和物理数据存储位置。
每个智能体引擎120a-k被配置为通过在主成分分析系统100定义的多智能体交互中选择对应智能体的动作来确定数据集112的相应主成分122a-k。即,第一智能体引擎120a被配置为确定数据集112的第一主成分122a,第二智能体引擎120b被配置为确定数据集112的第二主成分122b,等等。
首先,数据存储110将数据集112提供给第一智能体引擎120a。第一智能体引擎120a处理数据集112,如下文更详细描述的,以生成第一主成分122a。具体地,第一智能体引擎120a处理数据集112以最大化智能体在与第一主成分122a相对应的多智能体交互中的效用函数,选择表示第一主成分122a的动作。然后,第一智能体引擎120a将第一主成分122a提供给数据存储110。
在一些实施方式中,如下文更详细地描述的,第一智能体引擎120a迭代地选择动作(即,第一主成分122a的估计),并且根据如效用函数定义的针对该动作接收的奖励来更新该动作。也就是说,第一智能体引擎120a可以跨多个迭代执行,其中,第一智能体120a为对应智能体选择动作,并且在多次迭代之后向数据存储110提供由在最终迭代中选择的动作所识别的第一主成分122a的估计。
在从第一智能体引擎120a接收到第一主成分122a之后,数据存储110将数据集112和第一主成分122a提供给第二智能体引擎120a。第二智能体引擎120b处理数据集112和第一主成分122a,如下文更详细描述的,以生成第二主成分122b。具体地,给定对应于第一主成分122a的智能体的动作,第二智能体引擎120b处理数据集112以最大化智能体在对应于第二主成分122b的多智能体交互中的效用函数,选择表示第二主成分122b的动作。然后,第二智能体引擎120b将第二主成分122b提供给数据存储110。
与第一智能体引擎120a类似,在一些实施方式中,第二智能体引擎120b跨第二智能体120b在其中为对应智能体选择动作的多个迭代执行,并且在多个迭代之后向数据存储110提供对由在最后迭代时选择的动作所识别的第二主成分122b的估计。
如上所述,智能体引擎120a-k继续顺序生成对应的主成分122a-k,直到第k智能体引擎120k从(i)数据集112和(ii)前k-1个主成分122a至122(k-1)确定第k主成分122k,并且将第k主成分122k提供给数据存储110。
在确定前k个主成分122a-k之后,主成分分析系统可以将主成分122a-k提供给外部系统用于存储或进一步处理。下面参考图3描述用于使用数据集112的主成分122a-k的示例技术。
在一些实施方式中,每个智能体引擎120a-k在多个通信耦合的设备的系统中的相应不同的处理设备(“设备”)上实现。例如,每个智能体引擎120a-k可以在相应的并行处理设备上实现,例如图形处理单元(GPU)、张量处理单元(TPU)或中央处理单元(CPU)。在一些其他实施方式中,智能体引擎120a-k中的一个或多个在同一设备上实现。
在一些实施方式中,由上述智能体引擎120a-k执行的操作由主成分分析系统100的相同组件(例如,由单个智能体引擎)执行。也就是说,在一些实施方式中,主成分分析系统100包括确定前k个主成分122a-k中的每一个的单个智能体引擎(例如,在单个设备上实现的)。
图1B是用于顺序确定数据集的主成分的示例过程130的流程图。为了方便起见,过程130将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的主成分分析系统,例如图1中描绘的主成分分析系统100,可以执行过程130。
系统可以针对数据集的前k主成分中的每个顺序地重复下面描述的过程130。也就是说,系统可以首先执行过程130以确定数据集的第一主成分的最终估计,然后执行过程130以确定数据集的第二主成分的最终估计,等等。在下面的描述中,系统被描述为执行过程130以确定特定主成分。
系统获得数据集、特定主成分的父主成分(如果有;在第一主成分(最前主成分)的情况下,没有父主成分)以及特定主成分的初始估计(步骤132)。父主成分可以在过程130的先前执行期间已经被确定。
系统可以确定特定主成分的任何适当的初始估计。例如,系统可以随机选择初始估计,例如均匀地随机采样与数据集具有相同维度的张量。作为另一个示例,系统可以通过对与每个父主成分正交的张量进行采样来选择特定主成分的初始估计。
系统可以在多次迭代中的每次迭代时执行步骤134以更新特定主成分的估计。
系统根据效用函数处理数据集、父主成分和特定主成分的当前估计,以更新特定主成分的估计(步骤134)。
系统将特定主成分的确定建模为多智能体交互,其中,特定智能体执行识别特定主成分的估计的动作,并且多智能体交互中的相应其他智能体执行识别特定主成分的父主成分的动作。系统可以更新特定智能体的所选动作以更新特定主成分的估计。
效用函数定义特定智能体的奖励,其中,较高的奖励指示特定智能体选择的动作识别出更接近于特定主成分的真实值的特定主成分的估计。
效用函数可以包括一个或多个第一项,其奖励特定智能体选择捕获数据集中更多方差的特定主成分的估计。也就是说,如果特定主成分的估计捕获数据集中更多的方差,则一个或多个第一项更大。
例如,效用函数的第一项可以等于或成比例于:
其中,X是数据集,并且是由特定智能体的动作识别的特定主成分(即第i个主成分,其中,i是正整数)的估计。
替代地或附加地,效用函数可以包括一个或多个第二项,其惩罚特定主成分选择与特定主成分的父主成分(如果有的话)不正交的特定主成分的估计。例如,效用函数可以包括每个父主成分的一个这样的第二项。
例如,与特定主成分的特定父主成分(第j主成分,其中,j是小于i的正整数)对应的效用函数的第二项可以等于或成比例于:
其中,是特定父主成分(即,在过程130的先前执行期间确定的特定父主成分的估计),并且<a,b>表示在a和b之间的点积(也称为内积)。
系统可以组合对应于每个父主成分的相应第二项来生成组合的第二项,例如通过确定总和:
其中,j<i识别数据集的所有主成分,这些主成分是特定主成分的父主成分。
效用函数可以等于或成比例于第一项和组合的第二项之间的差。也就是说,效用函数(可以表示为ui)可以等于或成比例于:
为了确定对特定主成分的当前估计的更新,系统可以确定效用函数的梯度。例如,上述效用函数的梯度为:
括号内的左边项(即效用函数第一项的梯度)有时被称为“奖励估计”,而括号内的右边项(即效用函数的组合第二项的梯度)有时被称为“组合惩罚估计”,其中,求和中的每一项都是对应于相应父主成分的“惩罚估计”。
在不同的实施方式中,系统可以使用上述梯度的不同近似值,以例如提高效率或消除偏差。
效用函数的梯度表示一个方向,如果沿该方向更新特定主成分的估计,则效用函数的值将增加最多(即,特定智能体的奖励将增加最多)。然后,系统可以使用效用函数的梯度来更新特定主成分的当前估计。例如,系统可以计算:
其中,是效用函数的梯度,α是表示步大小的超参数,执行最终计算使得主成分的更新估计是一个单位向量(即长度一的向量)。
在一些实施方式中,系统在步骤134实际上并不计算效用函数的值,而是仅计算效用函数的梯度。也就是说,因为仅使用效用函数的梯度来更新主成分的估计,所以系统可以通过不计算效用函数本身的值来节省计算资源并提高效率。
系统可以重复步骤134直到确定特定主成分的最终估计。
在一些实施方式中,系统执行步骤134的预定次数的迭代。例如,系统可以确定对第i主成分执行步骤134的ti次迭代,其中:
其中,是在步骤132中获得的特定主成分的初始估计,ρi是表示误差容限的超参数,/>是在特定主成分的初始估计时评估的效用函数ui的梯度。如上所述,对应于特定主成分的智能体的目标是调整对特定主成分的估计,以最大化效用函数;在一些实施方式中,该效用函数可以采用正弦曲线的形状。如果智能体恰好在正弦曲线的“底部”(“波谷”)附近初始化特定主成分的估计,则用于更新估计主成分的初始梯度/>相对较小;因此,梯度上升可能会使爬出正弦曲线底部的进度缓慢,从而需要更多迭代。换句话说,初始梯度越小,从正弦曲线底部爬出所需的迭代次数就越多。
在一些其他实施方式中,系统迭代地执行步骤134达预定时间量。在一些其他实施方式中,系统执行步骤134,直到对特定主成分的估计的更新幅度降至预定阈值以下。
在使用过程130的相应执行确定数据集的前k个主成分之后,系统可以将主成分提供给外部系统用于存储或进一步处理。下面参考图3描述用于使用数据集的主成分的示例技术。
图2A是用于并行确定数据集的主成分的示例主成分分析系统200的图。主成分分析系统200是在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例,在该系统中可以实现下面描述的系统、组件和技术。
主成分分析系统200被配置为确定数据集的前k个主成分,其中,k≥1。数据集的维度为n,其中,n≥k。
主成分分析系统200被配置为通过下述方式并行确定数据集的前k个主成分:使用其他主成分的当前估计222a-k(具体地,使用特定主成分的父主成分的当前估计222a-k)迭代地更新每个特定主成分的当前估计222a-k。
如上面参考图1A所描述的,主成分分析系统200通过将主成分分析建模为多智能体交互来确定数据集的前k个主成分。多智能体交互包括k个智能体,每个智能体对应于相应的主成分。多智能体交互中的每个智能体通过选择对应主成分的估计222a-k来采取动作,并且接收针对激励智能体选择真正的对应主成分的动作的奖励。
具体地,主成分分析系统200为每个智能体定义效用函数,该效用函数是以下部分的函数:(i)由智能体的动作识别的对应主成分的估计222a-k和(ii)对于由多智能体交互中对应其他智能体的相应动作所识别的父主成分的估计222a-k。每个智能体的相应效用函数可以奖励识别估计主成分222a-k的智能体的动作,这些估计主成分222a-k(i)与(如通过对应的其他智能体的动作所识别的)父主成分的估计222a-k正交并且(ii)识别数据集中最大方差的方向(在给定父主成分的估计222a-k的情况下可用的方向中)。下面参考图2B更详细地讨论示例效用函数。
主成分分析系统200包括数据存储210、分配引擎230和k个智能体引擎220a-k。如下所述,k个智能体引擎220a-k可以被配置为并行操作。
每个智能体引擎220a-k被配置为通过在主成分分析系统200定义的多智能体交互中选择对应智能体的动作来确定数据集的相应主成分的估计222a-k。即,第一智能体引擎220a被配置为确定数据集的第一主成分的估计222a,第二智能体引擎220b被配置为确定数据集的第二主成分的估计222b,等等。
具体地,智能体引擎220a-k各自被配置为在主成分分析系统200的多次迭代中迭代地更新对应主成分的估计222a-k。
数据存储210被配置为存储数据集,并且在主成分分析系统200的每次迭代时,将数据集的新批次212提供给智能体引擎220a-k。在本说明书中,数据集的数据批次是数据集的元素的任何(真)子集。
分配引擎230被配置为保存数据集的主成分的当前估计222a-k,并将当前估计222a-k分配给智能体引擎220a-k。也就是说,在主成分分析系统200的每次迭代中,分配引擎230(i)获得主成分的最新更新的估计222a-k并且(ii)将最新更新的估计222a-k分配给所需的智能体引擎220a-k。具体地,在每次迭代时并且对于特定主成分的每个估计222a-k,分配引擎230将估计222a-k分配给与特定主成分的子主成分相对应的每个智能体引擎220a-k。
在主成分分析系统200的每次迭代中,每个智能体引擎220a-k被配置为从数据存储210获得新的数据批次212,并获得对应于智能体引擎220a-k的主成分的父主成分的当前估计222a-k。智能体引擎220a-k然后使用所获得的数据批次212和父主成分估计222a-k来更新它们相应的主成分的估计222a-k,并且将更新的估计222a-k提供回分配引擎。
因为第一主成分不具有父主成分,所以第一智能体引擎220a仅处理数据批次212,如下文更详细描述的,以生成第一主成分的更新的估计222a。具体地,第一智能体引擎220a处理数据批次212以最大化智能体在对应于第一主成分的多智能体交互中的效用函数,选择表示第一主成分的更新估计222a的动作。
在一些实施方式中,如下文更详细地描述的,第一智能体引擎220a确定(例如,连续地)对第一主成分的估计222a的多个更新,并且组合多个更新以生成第一主成分的更新的估计222a。例如,第一智能体引擎220a可以将批次212分割成m个子批次,其中,m>1,并且使用每个子批次来确定第一主成分的估计222a的相应更新。在一些这样的实施方式中,第一智能体引擎220a使用相应的不同设备来确定多个更新中的每一个;也就是说,第一智能体引擎220a可以在多个不同的设备上实现,多个不同的设备中的每个被配置为确定对第一主成分的估计222a的相应更新。
第二智能体引擎处理数据批次212和第一主成分的估计222a,如下文更详细描述的,以生成第二主成分的更新的估计222b。具体地,给定对应于第一主成分的智能体的动作(如由第一主成分的估计222a表示的),第二智能体引擎22b处理数据批次212以最大化智能体在对应于第二主成分的多智能体交互中的效用函数,选择表示第二主成分的更新估计222b的动作。
类似于第一智能体引擎220a,在一些实施方式中,第二智能体引擎220b确定对第二主成分的估计222b的多个更新(例如,使用相应的不同设备),并且组合多个更新以生成第二主成分的更新的估计222b。
每个智能体引擎220a-k生成如上所述的对应主成分的更新估计222a-k,一直到第k个智能体引擎220k,其处理数据批次212和第一个k-1个主成分的估计222a到222(k-1),以更新第k主成分的估计222k。
在一些实施方式中,智能体引擎220a-k不在主成分分析系统的每次迭代时向相应的主成分广播更新的估计222a-k。例如,智能体引擎220a-k可以仅在对估计222a-k的每n次更新之后广播当前估计222a-k,其中,n≥1。也就是说,每个特定主成分的智能体引擎220a-k可以使用特定主成分的父主成分的相同估计222a-k来处理多个不同批次212,在向分配引擎230提供特定主成分的最新估计222a-k之前确定对特定主成分的多个相应更新。
在一些实施方式中,主成分分析系统200不包括分配引擎230,而是智能体引擎220a-k直接向彼此广播相应主成分的估计222a-k。
在一些其他实施方式中,数据存储210和分布引擎230的操作可以由主成分分析系统200的相同组件来执行。例如,数据存储210还可以存储主成分的当前估计222a-k,且将当前估计222a-k提供给智能体引擎220a-k。
在确定数据集的前k个主成分的最终估计222a-k之后,主成分分析系统200可以将主成分提供给外部系统用于存储或进一步处理。下面参考图3描述用于使用数据集的主成分的示例技术。
在一些实施方式中,每个智能体引擎220a-k在多个通信耦合的设备的系统中的相应不同设备(或者,如上所述,多个不同设备)上实现。多个处理设备可以被配置为并行(即同时)操作。例如,每个智能体引擎220a-k可以在一个或多个相应的并行处理设备(例如GPU)上实现。在一些其他实施方式中,智能体引擎220a-k中的一个或多个在同一设备上实现。
并行处理设备可以包括多个处理核,这些处理核本身可以被认为是(单核)处理设备。在一些实施方式中,每个智能体引擎220a-k由多个处理核心中的相应一个来实现,其中,多个处理核心由单个并行处理设备(例如,GPU)提供,或者由多个并行处理设备共同提供。在其他实施方式中,智能体引擎220a-k被划分成组,每个组包括多个智能体引擎220a-k,并且每组智能体引擎由多个处理核心中的相应一个来实现。
在所有这些情况下,多个处理设备(其可以是多个CPU、GPU或TPU,或者由单个多核处理设备提供或者由多个多核处理设备共同提供的多个核)对于主成分v中的对应主成分并行操作,以生成主成分v的连续估计222a-k,并且特别地生成主成分v的最终估计。作为特定示例,主成分分析系统200可以在相应不同的处理设备上执行多组一个或多个智能体引擎220a-k(例如,每个设备可以执行一个、两个、五个、十个或100个智能体引擎220a-k)。
在一些实施方式中,由上述智能体引擎220a-k执行的操作由主成分分析系统200的相同组件(例如,由单个智能体引擎)执行。也就是说,在一些实施方式中,主成分分析系统200包括单个智能体引擎(例如,在单个设备上实现),其确定前k个主成分中的每一个的估计222a-k。
图2B是用于并行确定数据集的主成分的示例过程240的流程图。为了方便起见,过程240将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的主成分分析系统,例如图2A所示的主成分分析系统200,可以执行过程240。
系统可以针对数据集的每个前k主成分并行地执行下面描述的过程240。在下面的描述中,系统被描述为执行过程240以确定特定主成分。
系统可以在多次迭代的每次迭代处执行步骤242和244以更新特定主成分的估计。
系统获得(i)来自数据集的新数据批次,(ii)对特定主成分的父主成分的当前估计,以及(iii)对特定主成分的当前估计(步骤242)。在过程240的并发执行期间可能已确定父主成分的当前估计。
在针对特定主成分的过程240的第一次迭代中,系统可以确定针对特定主成分和父主成分的任何适当的初始估计。例如,系统可以为每个主成分随机选择初始估计,例如,均匀地随机采样与数据集具有相同维度的张量。作为另一个示例,系统可以按顺序对每个主成分的初始估计进行顺序采样,使得每个新采样的初始估计与父主成分的先前采样的初始估计正交。
系统根据效用函数处理数据批次、父主成分的当前估计以及特定主成分的当前估计,以更新特定主成分的估计(步骤244)。
该系统将特定主成分的确定建模为多智能体交互,其中,特定智能体执行识别特定主成分的估计的动作,并且多智能体交互中的相应其他智能体执行识别特定主成分的父主成分的当前估计的动作。系统可以更新特定智能体的所选动作以更新特定主成分的估计。
如上面参考图1B所描述的,效用函数定义了对特定智能体的奖励,其中,较高的奖励指示特定智能体选择的动作识别出更接近于特定主成分的真实值的特定主成分的估计。具体地,效用函数可以包括以下中的一项或多项:(i)一个或多个第一项,其奖励特定智能体选择捕获数据批次中更多方差的特定主成分的估计,或(ii)一个或多个第二项,其惩罚特定智能体选择不与特定主成分的父主成分的当前估计正交的特定主成分的估计。
作为一个特定示例,第i个主成分的效用函数ui可以等于或成比例于:
其中,X是数据集的数据批次,是特定主成分的当前估计,并且/>是相应父主成分的当前估计。
为了确定对特定主成分的当前估计的更新,系统可以确定效用函数的梯度或估计梯度。例如,系统可以确定与上面参考图1B描述的相同的梯度。
作为另一个示例,系统可以使用效用函数的梯度的近似值。当并行确定主成分时,使用梯度的近似值而不是真实梯度可以提高系统的效率和/或消除对于特定主成分的估计的更新的偏差。特别地,因为对主成分的估计的并行更新依赖于对它们相应的父主成分的估计而不是父主成分的真实值,所以在一些实施方式中,在确定并行更新时使用真实梯度可能会引入偏差,该偏差可能导致主成分的估计不能收敛到其相应的真值,或者缓慢收敛到其相应的真值。因此,系统可以使用效用函数的近似梯度,其虽然不一定等于效用函数相对于特定主成分的估计的导数,但不会对其更新引入偏差。因此,使用近似梯度可以让系统并行确定数据集的主成分,显著提高系统的效率。换句话说,近似梯度可以允许系统在并行处理硬件上执行这里描述的技术。
作为一个特定的例子,系统可以计算以下近似梯度:
括号内的左边项有时称为“奖励估计”,而右边项有时称为“组合惩罚估计”,其中,求和中的每一项都是对应于相应父主成分的“惩罚估计”。
效用函数的近似梯度表示方向的近似,如果沿该方向更新特定主成分的当前估计,则效用函数的值将增加最多(即,特定智能体的奖励将增加最多)。然后,系统可以使用效用函数的近似梯度来更新特定主成分的当前估计。例如,系统可以计算:
其中,是效用函数的近似梯度,ηt是表示步大小的超参数,执行最终计算使得主成分的更新估计是一个单位向量(即长度一的向量)。
在一些实施方式中,超参数ηt取决于过程240的迭代t。即,步骤244的不同执行可以使用不同的ηt值。例如,ηt的值可以在迭代中衰减,使得步骤244的后续执行使用更小的步大小。作为一个具体示例,
在一些实施方式中,在步骤244的每次执行时,系统确定对特定主成分的当前估计的多个不同更新。例如,系统可以从数据批次生成多个不同的小批次(例如,其中,每个小批次包括数据批次的元素的不同(真)子集),并使用每个小批次确定相应的不同更新。然后,系统可以组合多个不同的更新来生成最终更新,并使用最终更新生成特定主成分的更新估计。
也就是说,系统可以例如使用上面定义的近似梯度确定M个不同的更新其中,M是正整数(M>1),m是整数变量,其取值m=1,…,M。然后系统可以通过计算下面部分来组合M个更新:
在一些实施方式中,系统可以将多个不同更新的生成分布到相应的不同设备,从而提高系统的效率。也就是说,系统的不同设备可以处理相应的小批次以生成对特定主成分的估计的相应更新。
如上所述,在一些实施方式中,系统在步骤244实际上并不计算效用函数的值,而是仅计算效用函数的梯度或近似梯度。
系统可以重复步骤242和244直到确定特定主成分的最终估计。
在一些实施方式中,系统执行步骤134的预定次数的迭代。例如,系统可以基于数据集的大小来确定迭代次数,例如使得系统将数据集的每个元素处理某个次数。在一些其他实施方式中,系统迭代地执行步骤242和244达预定时间量。在一些其他实施方式中,系统执行步骤242和244,直到对特定主成分的估计的更新幅度低于预定阈值。
在使用过程240的相应并行执行确定数据集的前k个主成分之后,系统可以将主成分提供给外部系统用于存储或进一步处理。下面参考图3描述用于使用数据集的主成分的示例技术。
图3是包括主成分分析系统320的示例系统300的图。系统300是在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例,在该系统中可以实现下面描述的系统、组件和技术。
该系统包括数据存储310、主成分分析系统320和机器学习系统330。
数据存储310被配置为保存具有维度n的数据集312。数据集312可以包括具有任何适当类型的数据对象。例如,数据集312的元素可以表示文本数据、图像数据(一个或多个图像,例如由相机(例如静物相机)收集)、音频数据(例如一个或多个声音信号,例如由麦克风收集)或者实际上任何类型的传感器数据。
主成分分析系统320被配置为确定数据集312的前k个主成分,k<n。在一些实施方式中,主成分分析系统320顺序确定前k个主成分;例如,主成分分析系统320可以与上面参考图1A描述的主成分分析系统100类似地配置。在一些其他实施方式中,主成分分析系统320并行地确定前k个主成分;例如,主成分分析系统320可以与上面参考图2A描述的主成分分析系统200类似地配置。
在生成数据集312的主成分之后,主成分分析系统320可以使用主成分来降低数据集312的维度。也就是说,对于数据集312的每个元素,主成分分析系统320可以将元素投影到前k个主成分定义的坐标空间中,即将元素从维度n投影到维度k。因此,系统可以生成缩减集322,其对于数据集312的每个元素包括该元素的投影版本。
主成分分析系统320然后可以将缩减数据集322提供给数据存储310以供存储。在一些实施方式中,数据存储310保持缩减数据集322而不是数据集312;也就是说,数据存储312在生成缩减数据集322之后移除数据集312。因此,数据存储310可以通过用缩减数据集322替换数据集312来节省计算和存储器资源,因为缩减数据集322具有大约的大小。因此,主成分分析系统320(例如以主成分分析系统100或主成分分析系统200的形式)可用于从数据集312获得直接有用的数据(例如指示存在于数据集312的至少一些图像或者存在于数据集312的一些图像中而不存在于其他图像中的主成分)。
代替或补充向数据存储310提供缩减数据集322,主成分分析系统320可以向机器学习系统330提供缩减数据集322,机器学习系统330被配置为使用缩减数据集322来执行机器学习。
例如,机器学习系统330可以使用聚类机器学习模型(例如,k最近邻)来处理缩减数据集322的投影元素以对投影元素进行聚类,而不是直接对数据集312的全维元素进行聚类。因此,该系统可以显著提高聚类过程的时间和计算效率。一旦聚类机器学习模型经过训练,它就可以用于对诸如一个或多个图像、一个或多个音频信号或任何其他传感器数据项的数据集(例如新生成或接收的数据集)进行分类。该分类基于从聚类机器学习模型获得的多个聚类以及与相应聚类相对应的多个分类。分类可以通过确定数据集中的前k个主成分的相应量值并且然后确定对应于类别之一的聚类之一来进行。
作为另一个示例,系统可以使用缩减数据集322来训练机器学习模型。因为主成分表示数据集312中最高方差的方向,所以通过将数据集312的元素投影到由主成分定义的坐标空间中并使用投影的元素训练机器学习模型,机器学习系统330可以最大程度地区分投影元素,同时提高训练的存储器和计算效率。也就是说,由于投影元素具有较低的维度(在某些情况下,低得多的维度要,例如,维度的1%、5%或10%),因此训练效率会提高,同时仍然允许机器学习模型了解元素之间的差异。在一些情况下,投影数据点可以进一步防止机器学习模型过度拟合数据集312。
系统可以使用缩减数据集322来训练任何适当类型的机器学习模型。例如,系统可以使用缩减数据集322来训练神经网络、线性回归模型、逻辑回归模型、支持向量机或随机森林模型中的一个或多个。训练的机器学习模型可以例如用于对诸如图像、音频信号、其他传感器数据项之类的数据集(例如,新生成或接收的数据集)进行分类。分类可以通过下述方式来进行:确定数据集中的前k个主成分的相应量值,将表征这些量值的数据输入到经过训练的机器学习模型中,且然后基于机器学习模型的输出确定数据集的分类。
图4是用于确定数据集的前k个主成分的示例过程400的流程图。为了方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的主成分分析系统,例如上面参考图1A描述的主成分分析系统100或上面参考图2A描述的主成分分析系统200,可以执行过程400。
系统获得数据集X的主成分v的初始估计(步骤402)。
系统可以针对前k个主成分中的每一个例如跨主成分顺序地或并行地执行步骤404、406、408和410,以更新每个相应主成分的当前估计。对于每个主成分,系统可以重复执行步骤404、406、408和410以生成主成分的最终估计。以下描述涉及更新特定主成分vi的当前估计。
系统使用数据集X和特定主成分vi的当前估计来生成奖励估计(步骤404)。如果特定主成分vi的当前估计/>捕获数据集X中的更多方差,则奖励估计会更大。
系统针对特定主成分vi的每个父主成分vj生成相应的惩罚估计(步骤406)。如果特定主成分vi的当前估计和父主成分vj的当前估计/>不正交,则惩罚估计更大。
系统通过组合每个父主成分vj的相应惩罚估计来生成特定主成分vi的组合惩罚估计(步骤408)。
系统根据奖励估计和组合惩罚估计之间的差生成对特定主成分vi的当前估计的更新(步骤410)。
图5是确定数据集的主成分的相应不同主成分分析系统的性能的图示。
图5示出了以下五种不同主成分分析系统的性能:(i)标记为“μ-EG”的第一主成分分析系统,其使用本说明书中描述的技术来并行确定数据集的前k个主成分,(ii)标记为“α-EG”的第二主成分分析系统,其使用本说明书中描述的技术来顺序确定数据集的前k个主成分,(iii)标记为“Ojas”的第三主成分分析系统,其使用现有技术确定数据集的前k个主成分,(iv)标记为“GHA”的第四主成分分析系统,其使用现有技术来确定数据集的前k个主成分,以及(v)标记为“Krasulinas”的第五主成分分析系统,其使用现有技术来确定数据集的前k个主成分。
图5图示了表示五个主成分分析系统的相应的不同的性能度量的两个图表510和520。
对于每个主成分分析系统,第一图表510表示在相应主成分分析系统的执行期间多次迭代的每次迭代处的“最长正确本征值条纹”。特定主成分分析系统的特定迭代中的“最长正确本征值条纹”识别了已经按主成分的顺序被估计为在数据集的协方差矩阵的真实值本征向量的角度阈值内的数据集的协方差矩阵的估计本征向量的数量(对应于相应的估计的主成分)。也就是说,在特定迭代中,特定主成分分析系统生成一组k个估计主成分,并且s的“最长正确本征值条纹”,s≤k,指示前s个估计主成分(即主成分1到s)对应于在角度阈值(例如π/8)内正确的本征向量。
如第一图表510所示,在大多数迭代中具有最高“最长正确本征值条纹”的主成分分析系统是“μ-EG”,即,使用本说明书中描述的技术来并行确定数据集的前k个主成分的主成分分析系统。如上面参考图2A及图2B所描述的,μ-EG主成分分析系统可以包括与数据集的相应主成分相对应的多个智能体,其中,每个智能体使用由其他智能体生成的相应当前估计主成分来迭代地更新对应主成分的估计。因此,μ-EG主成分分析系统即使在相对早的迭代中也可以生成前k个主成分的准确估计。
第二图表520对于每个主成分分析系统表示在相应主成分分析系统的执行期间多次迭代中的每次迭代处的“子空间距离”。特定主成分分析系统的特定迭代中的“子空间距离”使用归一化子空间距离识别数据集的协方差矩阵的估计本征向量(对应于相应估计主成分)捕获数据集的前k子空间的良好程度。也就是说,在特定迭代中,特定主成分分析系统生成一组k个估计主成分,并且低“子空间距离”指示与估计主成分相对应的估计本征向量定义了更接近数据集的真实值前k子空间的子空间。换句话说,“子空间距离”越小指示估计的主成分越准确。
给定一组k个估计本征向量它们是数据集的前k个本征向量vi的估计,则可以通过计算下式确定归一化子空间距离:
其中,V=[v1,…,vk],/> 是矩阵A的共轭转置,Tr(A)是矩阵A的迹。
如第二图表520所示,“μ-EG”(即,使用本说明书中描述的技术来并行确定数据集的前k个主成分的主成分分析系统)和“α-EG”(即,使用本说明书中描述的技术来顺序确定数据集的前k个主成分的主成分分析系统)在相对少的迭代之后实现了相对低的“子空间距离”,特别是与“GHA”和“Krasulinas”主成分分析系统使用的现有技术相比较。换句话说,使用本说明书中描述的技术,主成分分析系统可以快速生成数据集的前k个主成分的高精度估计。
本说明书结合系统和计算机程序组件使用术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在运行中使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以被实现在数字电子电路中、在有形地实施的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中或在它们的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。替代地或补充地,程序指令可以编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指代数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。所述装置也可以是或还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置可以选用地包括创建用于计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,该任何形式的编程语言包括编译或解释语言或者声明性或过程语言,并且该计算机程序可以以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程或其他单元。程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所涉及的程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛用于指代任何数据集合:数据不需要以任何特定方式进行结构化,或者根本不需要结构化,并且它可以存储在一个或多个位置中的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在同一个计算机或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,所述一个或多个大容量存储设备用于存储数据,例如是磁盘、磁光盘或光盘。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),此处仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和键盘以及指示设备(例如,鼠标或轨迹球)的计算机上实现,用户可以通过键盘以及指示设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过下述方式来与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息并且从用户接收响应消息作为回报来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用机器学习框架(例如,TensorFlow框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以实现在计算系统中,该计算系统包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面、Web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户可以通过该图形用户界面、Web浏览器或app与本说明书中描述的主题的实施方式交互。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)(例如,因特网)。
计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从所述设备接收在用户设备处生成的数据,例如,用户交互的结果。
实施例1是一种确定数据集X的多个主成分v的方法,所述方法包括:
获得所述多个主成分v的初始估计;以及
对于每个特定主成分vi,通过重复执行操作来生成该主成分vi的最终估计,所述操作包括:
使用所述数据集X和该特定主成分vi的当前估计生成奖励估计,其中,如果该特定主成分vi的所述当前估计/>捕获所述数据集X中的更多方差,则所述奖励估计更大;
为该特定主成分vi的每个父主成分vj生成相应惩罚估计,其中,如果该特定主成分vi的所述当前估计和该父主成分vj的所述当前估计/>不正交,则所述惩罚估计更大;
通过组合每个父主成分vj的所述相应惩罚估计来生成该特定主成分vi的组合惩罚估计;以及
根据在所述奖励估计和所述组合惩罚估计之间的差来生成对该特定主成分vi的所述当前估计的更新。
实施例2是根据实施例1所述的方法,其中,所述主成分v的所述最终估计按主成分的降序顺序生成。
实施例3是根据实施例2所述的方法,其中,对于每个特定主成分vi,更新该特定主成分vi的所述当前估计的迭代次数等于:
其中,是该特定主成分vi的所述初始估计,ui是使用所述初始估计/>计算的该特定主成分vi的效用估计,并且ρi是该特定主成分vi的所述最终估计的最大误差容限。
实施例4是根据实施例3所述的方法,其中,所述效用估计ui等于:
其中,每个是所述特定主成分vi的相应父主成分vj的所述最终估计。
实施例5是根据实施例1所述的方法,其中,所述主成分v的所述最终估计是跨所述主成分v并行生成的。
实施例6是根据实施例5所述的方法,其中,对于每个特定主成分vi:
用于生成该主成分vi的所述最终估计的计算被指配给多个第一处理设备中的相应第一处理设备;以及
该特定主成分vi的所述当前估计以定期间隔被广播给所述多个第一处理设备中的每个其他第一处理设备。
实施例7是根据实施例5或实施例6中任一项所述的方法,其中:
所述方法还包括获得所述数据集X中的多个数据元素的子集Xt;以及
使用所述数据集X和所述特定主成分vi的所述当前估计生成奖励估计包括:使用所述子集Xt和所述特定主成分vi的所述当前估计/>生成奖励估计,其中,如果所述特定主成分vi的所述当前估计/>捕获所述子集Xt中的更多方差,则所述奖励估计更大。
实施例8是根据实施例7所述的方法,其中,对于每个特定主成分vi,所述奖励估计与或/>成比例。
实施例8是根据实施例7或实施例8中任一项所述的方法,其中,对于每个特定主成分vi:
与每个父主成分vj对应的所述惩罚估计的方向等于该父主成分vj的所述初始估计的方向。
实施例10是根据实施例9所述的方法,其中,每个父主成分vj的所述惩罚估计与成比例。
实施例11是根据实施例7或实施例8中任一项所述的方法,其中,对于每个特定主成分vi,对应于每个父主成分vj的所述惩罚估计与以下成比例:
实施例12是根据实施例1-11中任一项所述的方法,其中,对于每个特定主成分vi:
生成该特定主成分vi的组合惩罚估计包括确定每个父主成分vj的所述相应惩罚估计的总和。
实施例13是根据实施例1-12中任一项所述的方法,其中,对于每个特定主成分vi,根据在所述奖励估计和所述组合惩罚估计之间的差来生成对该特定主成分vi的所述当前估计的更新包括:
使用在所述奖励估计和所述组合惩罚估计之间的所述差来确定该特定主成分vi的效用函数的估计梯度
生成与成比例的中间更新/>以及
使用所述中间更新生成对所述当前估计/>的所述更新。
实施例14是根据实施例13所述的方法,其中,生成对所述当前估计的所述更新包括计算:
其中,ηt是表示步大小的超参数。
实施例15是根据实施例13所述的方法,其中:
生成对所述特定主成分vi的所述当前估计的更新还包括:使用所述数据集X的相应不同子集Xm跨多个第二处理设备并行生成多个中间更新/>以及
生成对所述当前估计的所述更新包括:
组合所述多个中间更新以生成组合中间更新;以及
使用所述组合中间更新生成对所述当前估计的所述更新。
实施例16是根据实施例13-15中任一项所述的方法,其中,使用在所述奖励估计与所述组合惩罚估计之间的所述差来确定所述估计梯度包括:
从所述奖励估计中减去所述组合惩罚估计以生成所述差;以及
将所述差左乘以与成比例的因子。
实施例17是根据实施例1-16中任一项所述的方法,其中,对于每个特定主成分vi:
生成对该特定主成分vi的所述当前估计的更新包括将所述当前估计更新为/>并规范化:
实施例18是根据实施例1-17中任一项所述的方法,还包括:
使用所述多个主成分v来降低所述数据集X的维度。
实施例19是根据实施例1-18中任一项所述的方法,还包括:
使用所述多个主成分v以使用机器学习模型来处理所述数据集X。
实施例20是根据实施例1-19中任一项所述的方法,其中,所述数据集X包括以下中的一个或多个:由相机收集的图像集或文本数据集。
实施例21是一种系统,包括一个或多个计算机和一个或多个存储指令的存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行根据实施例1-20中任一项所述的方法。
实施例22是根据从属于实施例5的实施例21所述的系统,包括多个处理设备,所述多个处理设备被配置为针对所述主成分v中的对应主成分并行操作以生成所述主成分v的所述最终估计。
实施例23是一种或多种存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据实施例1-20中任一项所述的方法。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或对可要求保护的范围的限制,而是解释为特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或依序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或依序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (23)
1.一种确定数据集X的多个主成分v的方法,所述方法包括:
获得所述多个主成分v的初始估计;以及
对于每个特定主成分vi,通过重复执行操作来生成该主成分vi的最终估计,所述操作包括:
使用所述数据集X和该特定主成分vi的当前估计生成奖励估计,其中,如果该特定主成分vi的所述当前估计/>捕获所述数据集X中的更多方差,则所述奖励估计更大;
为该特定主成分vi的每个父主成分vj生成相应惩罚估计,其中,如果该特定主成分vi的所述当前估计和该父主成分vj的所述当前估计/>不正交,则所述惩罚估计更大;
通过组合每个父主成分vj的所述相应惩罚估计来生成该特定主成分vi的组合惩罚估计;以及
根据在所述奖励估计和所述组合惩罚估计之间的差来生成对该特定主成分vi的所述当前估计的更新。
2.根据权利要求1所述的方法,其中,所述主成分v的所述最终估计按主成分的降序顺序生成。
3.根据权利要求2所述的方法,其中,对于每个特定主成分vi,更新该特定主成分vi的所述当前估计的迭代次数等于:
其中,是该特定主成分vi的所述初始估计,ui是使用所述初始估计/>计算的该特定主成分vi的效用估计,并且ρi是该特定主成分vi的所述最终估计的最大误差容限。
4.根据权利要求3所述的方法,其中,所述效用估计ui等于:
其中,每个是所述特定主成分vi的相应父主成分vj的所述最终估计。
5.根据权利要求1所述的方法,其中,所述主成分v的所述最终估计是跨所述主成分v并行生成的。
6.根据权利要求5所述的方法,其中,对于每个特定主成分vi:
用于生成该主成分vi的所述最终估计的计算被指配给多个第一处理设备中的相应第一处理设备;以及
该特定主成分vi的所述当前估计以定期间隔被广播给所述多个第一处理设备中的每个其他第一处理设备。
7.根据权利要求5或权利要求6中任一项所述的方法,其中:
所述方法还包括获得所述数据集X中的多个数据元素的子集Xt;以及
使用所述数据集X和所述特定主成分vi的所述当前估计生成奖励估计包括:使用所述子集Xt和所述特定主成分vi的所述当前估计/>生成奖励估计,其中,如果所述特定主成分vi的所述当前估计/>捕获所述子集Xt中的更多方差,则所述奖励估计更大。
8.根据权利要求7所述的方法,其中,对于每个特定主成分vi,所述奖励估计与或成比例。
9.根据权利要求7或权利要求8中任一项所述的方法,其中,对于每个特定主成分vi:
与每个父主成分vj对应的所述惩罚估计的方向等于该父主成分vj的所述初始估计的方向。
10.根据权利要求9所述的方法,其中,每个父主成分vj的所述惩罚估计与成比例。
11.根据权利要求7或权利要求8中任一项所述的方法,其中,对于每个特定主成分vi,对应于每个父主成分vj的所述惩罚估计与以下成比例:
12.根据权利要求1-11中任一项所述的方法,其中,对于每个特定主成分vi:
生成该特定主成分vi的组合惩罚估计包括确定每个父主成分vj的相应惩罚估计的总和。
13.根据权利要求1-12中任一项所述的方法,其中,对于每个特定主成分vi,根据在所述奖励估计和所述组合惩罚估计之间的差来生成对该特定主成分vi的所述当前估计的更新包括:
使用在所述奖励估计和所述组合惩罚估计之间的所述差来确定该特定主成分vi的效用函数的估计梯度
生成与成比例的中间更新/>以及
使用所述中间更新生成对所述当前估计/>的所述更新。
14.根据权利要求13所述的方法,其中,生成对所述当前估计的所述更新包括计算:
其中,ηt是表示步大小的超参数。
15.根据权利要求13所述的方法,其中:
生成对所述特定主成分vi的所述当前估计的更新还包括:使用所述数据集X的相应不同子集Xm跨多个第二处理设备并行生成多个中间更新/>以及
生成对所述当前估计的所述更新包括:
组合所述多个中间更新以生成组合中间更新;以及
使用所述组合中间更新生成对所述当前估计的所述更新。
16.根据权利要求13-15中任一项所述的方法,其中,使用在所述奖励估计与所述组合惩罚估计之间的所述差来确定所述估计梯度包括:
从所述奖励估计中减去所述组合惩罚估计以生成所述差;以及
对所述差左乘以与成比例的因子。
17.根据权利要求1-16中任一项所述的方法,其中,对于每个特定主成分vi:
生成对该特定主成分vi的所述当前估计的更新包括将所述当前估计更新为/>并规范化:
18.根据权利要求1-17中任一项所述的方法,还包括:
使用所述多个主成分v来降低所述数据集X的维度。
19.根据权利要求1-18中任一项所述的方法,还包括:
使用所述多个主成分v以使用机器学习模型来处理所述数据集X。
20.根据权利要求1-19中任一项所述的方法,其中,所述数据集X包括以下中的一个或多个:由相机收集的图像集或文本数据集。
21.一种包括一个或多个计算机和存储指令的一个或多个存储设备的系统,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求1-20中任一项所述的方法。
22.根据从属于权利要求5的权利要求21所述的系统,包括多个处理设备,所述多个处理设备被配置为针对所述主成分v中的对应主成分并行操作以生成所述主成分v的所述最终估计。
23.一种或多种存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求1-20中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163146489P | 2021-02-05 | 2021-02-05 | |
US63/146,489 | 2021-02-05 | ||
PCT/EP2022/052894 WO2022167658A1 (en) | 2021-02-05 | 2022-02-07 | Determining principal components using multi-agent interaction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116830129A true CN116830129A (zh) | 2023-09-29 |
Family
ID=80786109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280013447.5A Pending CN116830129A (zh) | 2021-02-05 | 2022-02-07 | 使用多智能体交互确定主成分 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20240086745A1 (zh) |
EP (1) | EP4268131A1 (zh) |
JP (1) | JP2024506598A (zh) |
KR (1) | KR20230129066A (zh) |
CN (1) | CN116830129A (zh) |
CA (1) | CA3208003A1 (zh) |
WO (1) | WO2022167658A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69031866T2 (de) * | 1990-03-30 | 1998-06-18 | Koninkl Philips Electronics Nv | Verfahren und Anordnung zur Signalverarbeitung durch die Eigenvektortransformation |
WO2012000650A1 (en) * | 2010-06-28 | 2012-01-05 | Precitec Kg | A method for classifying a multitude of images recorded by a camera observing a processing area and laser material processing head using the same |
-
2022
- 2022-02-07 US US18/275,045 patent/US20240086745A1/en active Pending
- 2022-02-07 KR KR1020237026572A patent/KR20230129066A/ko unknown
- 2022-02-07 JP JP2023547479A patent/JP2024506598A/ja active Pending
- 2022-02-07 CN CN202280013447.5A patent/CN116830129A/zh active Pending
- 2022-02-07 CA CA3208003A patent/CA3208003A1/en active Pending
- 2022-02-07 WO PCT/EP2022/052894 patent/WO2022167658A1/en active Application Filing
- 2022-02-07 EP EP22708040.5A patent/EP4268131A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240086745A1 (en) | 2024-03-14 |
JP2024506598A (ja) | 2024-02-14 |
WO2022167658A1 (en) | 2022-08-11 |
CA3208003A1 (en) | 2022-08-11 |
KR20230129066A (ko) | 2023-09-05 |
EP4268131A1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111279362B (zh) | 胶囊神经网络 | |
US11941719B2 (en) | Learning robotic tasks using one or more neural networks | |
US11455807B2 (en) | Training neural networks for vehicle re-identification | |
US12014257B2 (en) | Domain specific language for generation of recurrent neural network architectures | |
US9613298B2 (en) | Tracking using sensor data | |
KR102219346B1 (ko) | 베이지안 최적화를 수행하기 위한 시스템 및 방법 | |
US20180349158A1 (en) | Bayesian optimization techniques and applications | |
US20220198277A1 (en) | Post-hoc explanation of machine learning models using generative adversarial networks | |
US20210019628A1 (en) | Methods, systems, articles of manufacture and apparatus to train a neural network | |
CN115080749B (zh) | 一种基于自监督训练的弱监督文本分类方法、系统和装置 | |
US20230196406A1 (en) | Siamese neural network model | |
WO2023050143A1 (zh) | 一种推荐模型训练方法及装置 | |
CN114723989A (zh) | 多任务学习方法、装置及电子设备 | |
US20220188605A1 (en) | Recurrent neural network architectures based on synaptic connectivity graphs | |
CN113762331A (zh) | 关系型自蒸馏方法、装置和系统及存储介质 | |
CN113407820A (zh) | 模型训练方法及相关系统、存储介质 | |
CN116830129A (zh) | 使用多智能体交互确定主成分 | |
Briffoteaux | Parallel surrogate-based algorithms for solving expensive optimization problems | |
CN116997939A (zh) | 使用专家混合来处理图像 | |
US20230274548A1 (en) | Class agnostic repetition counting in video(s) utilizing a temporal self-similarity matrix | |
KR102594480B1 (ko) | Mim 기반의 퓨샷 객체 검출 모델 학습 방법 | |
KR102594477B1 (ko) | 스코어 재조정을 통한 객체 검출 방법 | |
WO2023222883A1 (en) | Determining generalized eigenvectors using multi-agent interactions | |
US20240143696A1 (en) | Generating differentiable order statistics using sorting networks | |
US20230004791A1 (en) | Compressed matrix representations of neural network architectures based on synaptic connectivity |
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 |