CN117150285A - 估计机器学习模型系统和应用的最佳训练数据集大小 - Google Patents
估计机器学习模型系统和应用的最佳训练数据集大小 Download PDFInfo
- Publication number
- CN117150285A CN117150285A CN202211419023.7A CN202211419023A CN117150285A CN 117150285 A CN117150285 A CN 117150285A CN 202211419023 A CN202211419023 A CN 202211419023A CN 117150285 A CN117150285 A CN 117150285A
- Authority
- CN
- China
- Prior art keywords
- training
- verification score
- machine learning
- score
- learning model
- 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
- 238000012549 training Methods 0.000 title claims abstract description 275
- 238000010801 machine learning Methods 0.000 title claims abstract description 115
- 230000006870 function Effects 0.000 claims abstract description 196
- 238000012795 verification Methods 0.000 claims abstract description 154
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000010200 validation analysis Methods 0.000 claims abstract description 43
- 238000013480 data collection Methods 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 45
- 238000012937 correction Methods 0.000 claims description 26
- 238000004088 simulation Methods 0.000 claims description 10
- 238000013473 artificial intelligence Methods 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 5
- 230000008447 perception Effects 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 241000135164 Timea Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及估计机器学习模型系统和应用的最佳训练数据集大小。描述了用于机器学习模型系统和应用的训练数据集大小估计的方法。示例包括机器学习模型训练系统,该系统使用一个或更多个验证分数估计函数,给定训练数据集大小和模型性能之间的近似关系,估计用于训练机器学习模型的目标数据要求。为了导出验证分数估计函数,从训练数据中生成回归数据集,并使用回归数据集的子集来训练机器学习模型。为子集计算验证分数,并用于计算回归函数参数,以将所选回归函数与训练数据集进行曲线拟合。然后,对验证分数估计函数进行求解,并提供验证分数估计函数满足或超过目标验证分数所需的附加训练样本数的估计的输出。
Description
背景技术
机器学习模型在电子设备中被用于各种目的,例如图像分类、物体检测、分割、内容创建、导航和其他任务。机器学习模型通过使用训练数据对其进行训练来学习执行此类任务。在机器学习模型被部署到用户设备中之前,执行验证,以确保机器学习模型至少满足目标验证性能。例如,物体检测机器学习模型在被部署到安全关键应用之前,可能需要满足最小均值平均精度。
对于机器学习模型,其验证性能与训练中使用的训练数据量之间可以存在相关性。对于最初没有达到目标验证性能的模型,提高验证性能的常用技术是通过收集更多的训练数据以进一步训练模型。然而,收集和注释用于训练机器学习模型的数据可能既昂贵又耗时。例如,注释分割数据集可能需要,例如,每个对象15至40秒,这样注释一个由每张图像平均有10辆车的100,000张图像组成的驾驶数据集,花费的时间相当于170天至460天之间。因此,高估满足目标验证性能所需的附加数据量会导致设计者招致不必要的成本和工时,同时还需要大量的计算资源(例如,处理能力、存储等)。此外,过度训练机器学习模型会降低模型超过其训练数据的泛化能力。相反,低估满足目标验证性能所需的附加数据量会导致在后期阶段需要收集更多的数据,从而招致进一步地计算开销和工作流程延迟。因此,确定一个机器学习模型需要多少附加的训练数据以达到目标验证性能是很重要的。
发明内容
本公开的实施例涉及机器学习模型系统和应用的训练数据集大小估计。本公开的系统和方法可协助确定当机器学习模型在用初始训练数据集训练后测试低于目标验证性能时所需的附加训练数据量。
与传统系统相比,本公开呈现的系统和方法针对的是训练数据收集估计函数,该函数使用一个或更多个验证分数估计函数,给定训练数据集大小和模型性能之间的近似关系,估计训练机器学习模型的目标数据要求。验证分数估计函数可以包括,例如,凹形单调递增回归函数,例如但不限于幂律(power law)、反正切(arctan)、对数和/或代数根回归函数。为了得出对训练数据集进行校准的验证分数估计函数,从训练数据集生成回归数据集,并使用回归数据集的子集来训练机器学习模型。为每个子集计算验证分数,并使用验证分数来计算回归函数参数,以便对训练数据集进行所选回归函数曲线拟合。然后,针对的值求解验证分数估计函数,该值是对验证分数估计函数达到或超过目标验证分数所需的附加训练样本数量的估计。
在一些实施例中,在计算之前,可以将校正因数τ添加到目标验证分数中,以偏置验证分数估计函数来产生更大的--即更悲观的(pessimistic)--对所需附加训练样本数量的估计。在一些实施例中,估计所需的附加训练样本的数量/>可以通过从多个不同的验证分数估计函数(包括乐观的(optimistic)和悲观的凹形单调递增回归函数)中计算/>来约束。本文提出的解决方案提供了使用足以获得目标验证分数的大小的训练数据集来训练机器学习模型,同时避免高估所需的附加数据量。因此,与浪费大量计算资源(如处理能力、存储等)和/或过度训练机器学习模型的传统解决方案相比,本公开的系统和方法将计算资源和人力资源限制在允许模型满足目标验证分数的范围内,同时避免过度训练。
附图说明
下面参考所附附图详细描述用于机器学习模型系统和应用的训练数据集大小估计的本系统和方法,其中;
图1是根据本公开的一些实施例的机器学习模型训练系统的示例流程图的图示;
图2是根据本公开的一些实施例的用于计算附加训练样本的估计的示例流程的图示;
图3是根据本公开的一些实施例的图示用于机器学习模型的训练数据集大小估计的方法的流程图;
图4是根据本公开的一些实施例的用于计算真值(ground truth)的线性分数函数,以结合生成附加训练样本的估计的示例过程流的图示;
图5是根据本公开的一些实施例的用于计算附加训练样本的估计的边界集的示例过程流的图示;
图6是根据本公开的一些实施例的用于与生成附加训练样本的估计一起使用的显示在人机接口上的用户接口的图示;
图7是适合用于实现本公开内容的一些实施例的示例计算设备的框图;以及
图8是适合用于实施本公开内容的一些实施例的示例数据中心的框图。
具体实施方式
公开了与用于机器学习模型系统和应用的训练数据集大小估计有关的系统和方法。本公开内容涉及估计要收集的训练数据量,以训练机器学习模型,满足目标验证性能。机器学习模型的验证性能可能与性能指标有关,例如,但不限于,准确度、精度、召回率、交叉联合(IoU)或其他性能指标。本公开呈现的系统和方法可以帮助确定当机器学习模型在用初始训练数据集训练后测试低于目标验证性能时需要的附加训练数据量。在一些实施例中,至少可以基于从初始训练数据集中选择的样本计算回归函数,以得出一个或更多个验证分数估计函数,从中可以确定满足目标验证性能所需的附加训练样本数量的估计。
本公开呈现的系统和方法是针对训练数据收集估计函数--可在用户设备和/或云计算环境中执行--给定训练数据集大小和模型性能之间的近似关系,估计目标数据需求。这些估计可以使用一个或更多个验证分数估计函数来计算,例如幂律函数。训练数据收集估计函数预测训练数据收集预算,该预算被估计为在有限次数的几轮训练后返回目标模型验证分数。
例如,用于训练模型f的初始训练数据集可以包括n0个点,其中z:=(x,y),图像“x”和标签“y”。训练模型f的训练目标是获得验证分数,V*,该分数由Vf(D)计算得出,即模型f在集合D上训练后的验证分数函数。如果在用D0训练模型f后,发现验证分数小于V*,则本公开提出的训练数据收集估计函数可用于确定附加训练数据/>的附加样本点/>的数量,该数量的样本点可有望产生模型f的验证分数/>
在一些实施例中,为了得出验证分数估计函数Vf-est(D),从D0(其中)生成由r个子集S组成的回归数据集R,并通过使用每个子集S训练模型f以及计算所产生的训练模型f的验证分数,为每个子集S计算验证分数Vf(S)。使用得到的(S,Vf(S))对,计算出至少一个凹形单调递增回归函数的参数θ。例如,对于幂律回归函数/> 可以使用(S,Vf(S))对应用曲线拟合以计算参数θ:={θ1,θ2,θ3}。其他可用于验证分数估计函数Vf-est(D)的凹形单调递增回归函数包括但不限于Arctan、Logarithmic和代数根(AlgebraicRoot)、回归函数。
给定的计算的参数θ,验证分数估计函数Vf-est(n;θ)可以定义为并且可以为n求解关系V*=Vf-est(n;θ)以估计获得至少V*的验证分数所需的附加训练样本/>的数量,/>在一些实施例中,训练数据收集估计函数服从于使/>最小化。在下一轮训练中,收集/>个新的训练点以获得/>使用训练模型f,并计算/>如果新的验证分数有足够的提高,现在超过了V*,那么这个过程就完成了。如果新的验证分数没有充分提高到超过V*,然后验证分数估计函数Vf-est(n;θ)可以至少基于训练数据/>^重新确定(例如,重新调整),并且可以计算新的/>这个序列可以重复进行,直到获得/>或直到达到预定的允许最大的T轮。
在一些实施例中,随着收集的训练数据集的增长,的误差ε可以由训练数据收集函数至少基于真值的线性分数函数来估计,例如:
其中是数据集的递增序列,在该序列中对于每一个i都有ni=|Di|并且v(n)是一个凹形且单调递增的函数。考虑到真值的这个线性分数函数,n*表示满足v(n0+n*)=V*的最小值。例如,至少基于从幂律(或其他选定的回归函数)计算出的和从线性分数函数计算出的/>之间的差异,误差/>可以被计算出来。估计的误差/>可以和/>的值可以在用户接口上一起显示给模型设计者。例如,如果来自线性分数函数/>的验证分数表示低于训练目标验证分数V*的值,设计者可以选择收集比求解V*=Vf-est(n;θ)建议的训练数据的/>个附加样本略多。在至少一个实施例中,设计者可以使用用户接口选择一个或更多个选项来生成合成训练数据和/或至少基于训练目标验证分数V*来增强现有训练数据,和/或系统可以至少基于训练目标验证分数V*来自动生成合成训练数据和/或增强现有训练数据。
在一些实施例中,在从验证分数估计函数计算之前,可以将校正因数τ添加到训练目标验证分数V*中。也就是说,训练数据收集估计函数求解满足V*+τ=Vf-est(n;θ)的/>值,和/或在每轮数据收集和训练之后,在/>的条件下使/>最小。为了确定校正因数τ应该有多大,训练数据收集估计函数可以将校正因数视为超参数。例如,在一些实施例中,可以根据真值线性分数函数v(n)计算验证分数估计函数与所需的最小数据的数据收集比率。该数据收集比率可表示为;
因此,数据收集比率可能是验证分数估计函数、训练目标验证分数V*和机器学习模型/任务/算法的函数。在评估一个特定的验证分数估计函数Vf-est(n;θ)如何收集数据时,当不同目标和机器学习任务的数据收集比率小于1时,验证分数估计函数被描述为对验证分数的乐观预测器,这意味着求解将低估需要多少附加的训练数据。相反,对于一系列不同的目标和机器学习任务,数据收集比率大于1意味着验证分数估计函数是验证分数的悲观预测器。从悲观的验证分数估计函数中求解/>可能会高估/>从而高估需要多少附加的训练数据。理想的验证分数估计函数可以实现大于1的最小的数据收集比率。与悲观的验证分数估计函数高估/>相关联的一个问题是,由于随着数据集大小的增加,从凹形单调递增回归函数中估计的验证分数越来越平坦,高估的数量可能是无限的。因此,为验证分数中的甚至是一个小的期望改进而求解悲观的验证分数估计函数,可能潜在地导致/>被高估一个数量级或更多。因此,在一些实施例中,可以从乐观的验证分数估计函数Vf-est(n;θ)开始计算校正因数τ的值,并使用校正因数τ的增加值迭代求解V*+τ=Vf-est(n;θ),直到数据收集比率超过1。然后,这个拟合的校正因数τ可以用作为校正因数,同时估计获得至少V*的验证分数所需的附加训练样本/>的数量/>
在一些实施例中,可以至少基于先前为单独但类似的任务收集的训练数据集来估计校正因数τ。例如,当前的任务可以涉及医学图像的分类。先前的训练数据集可以是为了对不同类型的医学图像的分类而收集,并且已知在类似的机器学习模型架构上产生合格的验证分数(例如,至少是V*)。该先前的数据集可以被采样以获得D0的近似大小的子集,该子集拟合于正在用于当前任务的验证分数估计函数Vf-est(n;θ)。使用先前的数据集拟合的所得验证分数估计函数Vf-est(n;θ)可用于迭代地求解V*+τ=Vf-est(n;θ)以得到校正因数τ,该校正因数τ产生刚刚超过1的值的数据收集比率(例如,超过1的值预定阈值的数据收集)。从用于类似但单独的任务的先前训练数据集计算出的校正因数τ可被用作校正因数τ,使用为当前任务收集的当前数据集以求解V*+τ=Vf-est(n;θ)以得到
在一些实施例中,估计所需的附加训练样本的数量/>可以通过从包括例如乐观的和悲观的凹形单调递增回归函数的多个不同的验证分数估计函数中计算/>来限定。不同的验证分数估计函数可以产生/>预测的集合,其中最大的预测提供最坏情况的估计并且最小的预测提供最佳情况的估计。这些/>预测中的每一个都可以在用户接口上显示给用户(例如,模型设计者),以提供/>预测界定的良度的指示。从经验观察可知,幂律、对数和代数根回归函数通常对许多任务是乐观的,而从经验观察可知,Arctan回归函数对许多任务通常是悲观的。也就是说,这些概括对于所有任务并不总是正确。凹形单调递增回归函数的乐观或悲观可以通过计算它们各自的数据收集比率针对一组任务来确定,如上所述。
训练数据收集估计函数及其相应的方法可以例如至少部分地在至少一个图形处理单元(GPU)上执行,该图形处理单元可以与在耦合到存储器的中央处理单元(CPU)上执行的软件一起操作。图形处理单元可被编程为执行与回归数据集一起使用的机器学习模型,以从回归数据集中导出验证分数估计函数Vf-est(n;θ)。其他计算可以由在CPU上执行的软件来执行。在一些实施例中,训练数据收集估计函数的一个或更多个方面通过用户设备经由网络访问的云计算环境来执行。例如,在一些实施例中,由训练数据收集估计函数使用的机器学习模型可以在云计算环境上作为虚拟函数来实施。因此,在一些实施例中,训练数据收集估计函数可以作为虚拟化的机器学习模型训练模拟环境的一个组成部分来实现。
本文描述的系统和方法可用于各种目的,通过示例和不限制的方式,用于机器控制、机器运动、机器驾驶、合成数据生成、模型训练、感知、增强现实、虚拟现实、混合现实、机器人学、安全和监视、模拟和数字孪生、自主或半自主机器应用、深度学习、环境模拟、物体或行为者模拟和/或数字孪生、数据中心处理、对话式人工智能、轻型运输模拟(例如,光线追踪、路径追踪等)、3D资产的协作内容创建、云计算和/或任何其他合适的应用。
所公开的实施例可包含在各种不同的系统中,例如汽车系统(例如,用于自主或半自主机器的控制系统、用于自主或半自主机器的感知系统)、使用机器人实现的系统、航空系统、医疗系统、船舶系统、智能区域监测系统、用于执行深度学习操作的系统、用于执行模拟操作的系统、用于执行数字孪生操作的系统、使用边缘设备实现的系统、包含一个或更多个虚拟机(VM)的系统、用于执行合成数据生成操作的系统、至少部分地在数据中心中实施的系统、用于执行对话式人工智能操作的系统、用于执行轻型运输模拟的系统、用于执行3D资产的协作内容创建的系统、至少部分地使用云计算资源实现的系统,和/或其他类型的系统。
参考图1,图1是根据本公开内容的一些实施例的机器学习模型训练系统105的示例数据流程图100。应当理解,这里描述的这种和其他安排只是作为示例提出的。其他安排和元素(例如,机器、接口、功能、顺序、功能的分组等)可以用来补充或代替示出的那些,并且一些元素可以被完全省略。此外,图1和/或本文其他地方描述的许多元素是功能实体,可以作为离散的或分布的组件实现,或与其他组件一起实现,以任何合适的组合和位置来实现。本文描述的由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。在一些实施例中,系统105可以包括与图7的示例计算设备700和/或图8的示例数据中心800类似的组件、特征和/或功能性。
在未示出的其他组件中,操作环境100可以包括机器学习模型训练系统105,其包括可以耦合到机器学习模型114的机器学习模型训练应用110和训练数据收集估计函数112。机器学习模型114包括一个或更多个机器学习模型,这些模型正在通过机器学习模型训练系统105训练。机器学习模型114可以由机器学习模型训练系统105使用训练数据集116进行训练,训练数据集116在一些实施例中可以驻留在数据存储库118上。机器学习模型114不限于任何特定的机器学习模型架构或神经网络结构,并且可以包括例如但不限于使用线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、K最近邻(Knn)、K均值聚类、随机森林、降维算法、梯度提升算法、一个或更多个神经网络(例如,自动编码器、卷积、循环、感知器、长/短期记忆(LSTM)、霍普菲尔德(Hopfield)、波尔兹曼(Boltzmann)、深度信念、解卷积、生成对抗和/或液态机等),和/或其他类型的机器学习模型。
在一些实施例中,数据存储库118可以是机器学习模型训练系统105的元素。在一些实施例中,数据存储库118可以通过网络115耦合到机器学习模型训练系统105。举例来说,网络115可以包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个公共网络,例如因特网,和/或一个或更多个专用网络。
图1所示的每个组件可以通过任何类型的计算设备来实现。特别是,机器学习模型训练应用110和训练数据收集估计函数112,可以由用户在本地或远程操作的任何类型的计算设备上实现。例如,在一些实施例中,机器学习模型训练系统105的一个或更多个方面可以由图7所示的计算设备700实现,和/或作为通过如图8所示的数据中心800的计算资源实现的组件。尽管为了简单起见,机器学习模型训练应用110和训练数据收集估计函数112被图示为单一实体,但在实践中,归因于此处这些元素的功能可以分布在一个或更多个应用中。在一些实施例中,训练数据收集估计函数112是机器学习模型训练应用110的组件。
机器学习模型训练应用110通常可以是任何能够促进使用本文描述的技术和/或其他技术,无论是靠其自身,还是通过与其他元素的信息交换(例如,通过网络115)的训练机器学习模型114的应用。在一些实施方式中,机器学习模型训练应用110包括web应用,其可以在web浏览器中运行,并且可以至少部分地托管在环境100的服务器端,例如由数据中心800托管。此外,或者相反,机器学习模型训练应用110可以包括专用机器学习模型训练应用。
在一些实施例中,在操作中,机器学习模型训练应用110接收训练数据集116,并应用训练数据集116的训练样本以训练机器学习模型114,并计算训练后的机器学习模型114的验证分数(例如,使用交叉验证或其他验证技术)。在一些实施例中,验证分数是使用测试数据集计算的,该测试数据集包括训练数据集116的单独部分,训练样本是从该训练数据集中得到的。验证分数是一个指标,指示对机器学习模型在提供先前看到的输入数据时预期表现的良好程度的估计。例如,针对分类问题训练的机器学习模型将有一个指示该模型将正确分类图像的概率的验证分数。在一些实施例中,一旦验证分数由机器学习模型训练应用110计算出来,验证分数输出可由机器学习模型训练应用110生成,以便通过人机接口(HMI)显示器130(例如,如呈现组件718)显示给用户。
如上所述,在一些实施例中,训练机器学习模型114将产生低于目标验证性能(例如,目标验证分数)的验证性能。在这一点上,模型设计者(例如,机器学习模型训练系统105的用户)可能需要确定机器学习模型114满足目标验证分数所需的附加训练样本数(例如,)。高估满足目标验证性能所需的附加数据量会导致设计者产生大量不必要的费用,同时浪费大量的计算资源(例如,处理能力、存储等)。过度训练机器学习模型114也会降低模型在其训练数据之外泛化的能力。相反,低估满足目标验证分数所需的附加数据量会导致在后期为训练数据集116收集附加的数据样本的需要,招致进一步的计算开销和工作流程延迟。
在图1的实施例中,机器学习模型114满足目标验证分数所需的附加训练样本数(例如,)可以由训练数据收集估计函数112估计。也就是说,训练数据收集估计函数112被编程为输入目标验证分数V*(在120处显示),并使用一个或更多个凹形单调递增回归函数估计附加训练样本数(例如,/>),如本文所述。在一些实施例中,目标验证分数,V*,可以通过HMI显示器130作为用户输入被接收。在一些实施例中,附加的用户输入(例如,通过HMI显示器130)可以包括回归函数估计选项122,包括但不限于校正因数τ,该校正因数可以添加到训练目标验证分数V*选项,以选择凹形单调递增回归函数中的一个或更多个用于计算附加训练样本数/>的,和/或添加到机器学习模型训练系统105的一个或更多个选项,以生成合成训练数据和/或至少基于目标验证分数V*增强现有训练数据集116。
现在参考图2,在200处显示了由训练数据收集估计函数112执行的用于计算附加训练样本的估计值的示例过程流。使用回归数据集,R,重新初始化和重新训练机器学习模型114。在一些实施例中,从训练数据集116获得n0个训练样本中的样本D0(如210处所示)。回归数据集包括从样本D0中生成的多个子集。在一些实施例中,在212处,从D0中生成包括r个子集S的回归数据集R(其中/>)。在214处,使用每个子集S(S0,S1,…Sr-1)对机器学习模型114进行迭代地重新训练,并且在216处计算使用每个子集训练的机器学习模型114的验证分数(例如,由机器学习模型训练应用110计算)。计算的结果是回归数据集R的每个子集S的验证分数Vf(S),定义了一组结果(S,Vf(S))对。
使用(S,Vf(S))对,在218处训练数据收集估计函数112计算参数θ,以推导出至少一个凹形单调递增回归函数,其将用作验证分数估计函数Vf-est(D)。在一些实施例中,训练数据收集估计函数112可以通过曲线拟合多个验证分数(例如,使用(S,Vf(S))对)以计算所选验证分数估计函数的一个或更多个参数θ来推导验证分数估计函数。例如,对于幂律回归函数可以使用(S,Vf(S))对应用曲线拟合以计算参数θ:={θ1,θ2,θ3}。对于Arctan回归函数/>可以使用(S,Vf(S))对应用曲线拟合,以计算参数θ:={θ1,θ2,θ3}。对于对数回归函数可以使用(S,Vf(S))对应用曲线拟合,以计算参数θ:={θ1,θ2,θ3}。对于代数根回归函数/> 可以使用(S,Vf(S))对应用曲线拟合,以计算参数θ:={θ1,θ2,θ3}。在其他实施例中,训练数据收集估计函数112可以计算一个或更多个其他凹形单调递增回归函数的参数θ。
在一些实施例中,在218处,训练数据收集估计函数112计算由用户选择的一个或更多个凹形单调递增回归函数的参数θ,如由回归函数估计选项122所指示的。也就是说,训练数据收集估计函数112可以接收幂律、Arctan、对数、代数根和/或其他回归函数的选择作为输入,并基于选择推导出至少一个验证分数估计函数Vf-est(D)。
给定来自218的计算的参数θ,验证分数估计函数Vf-est(n;θ)可以定义为并且在220处求解关系V*=Vf-est(n;θ)以得到n来估计获得至少V*的验证分数所需的附加的训练样本/>的数量/>在一些实施例中,由服从于/>的训练数据收集估计函数112,使/>最小化。一旦计算出,所选择的每个验证分数估计函数Vf-est(n;θ)的估计值/>可以从训练数据收集估计函数112传递到机器学习模型训练应用110,以便经由HMI显示器130向用户显示。
现在参考图3,本文描述的方法300的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,可以通过处理器执行存储在存储器中的指令来执行各种功能。方法也可以体现为存储在计算机存储介质上的计算机可用指令。方法可以由独立应用程序、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件提供,仅举几例。此外,作为示例,关于图1的系统描述了方法300,然而,这种方法可以附加地或替代地由任何一个系统或系统的任何组合执行,包括但不限于本文所述的那些。
图3是根据本公开的一些实施例的示出了用于机器学习模型的训练数据集大小估计的方法300的流程图。应该理解的是,这里描述的关于图3的方法300的特征和元素可以与这里讨论的任何其他实施例的元素结合、组合或被替代使用,反之亦然。此外,应该理解的是,图3中描述的实施例的元素的功能、结构和其他描述可以适用于跨越本文描述的任何图和/或实施例的相似或类似地命名或描述的元素,反之亦然。
方法300,在框B302,包括接收指示用于训练机器学习模型的目标验证分数的输入,并且,在框B304,包括接收包括第一数量的训练样本的第一训练数据集。如果在使用第一数量的训练样本训练机器学习模型之后,发现验证分数小于目标验证分数,然后可以计算满足目标验证分数的附加训练数据的附加样本点数目的估计。
因此,在一些实施例中,方法300包括,在框B306,至少基于使用回归数据集迭代地重新训练机器学习模型以计算多个验证分数,得出至少一个验证分数估计函数。回归数据集可以从第一训练数据集中取样。多个验证分数可以包括每次迭代的各自验证分数。在一些实施例中,至少一个验证分数估计函数的推导包括对多个验证分数进行曲线拟合以计算至少一个验证分数估计函数的一个或更多个参数。方法300包括,在框B308,至少基于目标验证分数求解至少一个验证分数估计函数,以确定第二附加训练样本数。第二附加训练样本数定义了即机器学习模型满足目标验证分数所需的附加训练样本/>的数量。在一些实施例中,通过服从于/>的方法使/>最小化。在框B310,方法300包括使得显示器呈现附加训练样本的数量,例如作为训练数据收集建议。
对于下一轮训练,可以收集个新的训练点以获得/>机器学习模型可以使用重新训练,并重新计算机器学习模型的验证分数/>如果新的验证分数有足够的改善而超过了目标验证分数V*,那么方法300就完成了。相反,如果新的验证分数没有足够改善而超过V*,那么该方法返回到块B306,以基于现在包括第一数量的训练样本加上附加的训练样本的训练数据集(例如,/>)再次得到至少一个验证分数估计函数。在方法300的每次迭代中,训练样本的总数大小随着/>累积地包括从每轮收集的附加训练样本而增长。方法300可以重复进行,直到获得/> 或者直到达到预定的允许T轮的最大值。
现在参考图4,显示了由训练数据收集估计函数112执行的用于计算真值的线性分数函数的示例过程流。在一些实施例中,随着训练数据集116的增长,每次收集更多的训练样本一组评估样本D0,D1,D2,……可以在每次训练迭代中从/>定义(如在410所示),其中/>是数据集的升序序列,对于序列中的每个i,ni=|Di|。
在412,机器学习模型114被重新初始化,并使用i组评估样本中的每一个重新训练,并且在414,为i组评估样本Di的每一个计算验证分数Vf(Di)。在416,然后可以计算出真值的分段线性分数函数,即:
从这个真值的线性分数函数中,可以计算出n*,n*表示满足v(n0+n*)=V*的最小值。在一些实施例中,训练数据收集估计函数112可以使用计算的n*来计算使用的验证分数估计函数(例如,Vf-est(n;θ))的数据收集比率。在一些实施例中,训练数据收集估计函数112可以使用数据收集比率来建议校正因数τ的值,该校正因数可以在从验证分数估计函数计算/>之前添加到训练目标验证分数V*,如本文所讨论的。训练数据收集估计函数112可以求解满足V*+τ=Vf-est(n;θ)的/>的值,和/或在每轮数据收集和训练之后,服从于/>使/>最小化。在一些实施例中,训练数据收集估计函数112可以通过使用校正因数τ的递增值迭代地求解V*+τ=Vf-est(n;θ)来计算校正因数τ,直到数据收集比率超过1。然后,该拟合的校正因数τ可作为校正因数,同时估计获得至少目标验证分数V*的验证分数所需的附加训练样本/>的数量/>
在一些实施例中,训练数据收集估计函数112可以计算误差作为/>与n*和/或与/>之间的差异的函数。估计的误差/>可以经由HMI显示器130由用户接口显示出来,以便在设计者执行收集和/或生成附加的训练样本的任务之前,进一步向设计者提供/>的值的置信度。
在至少一个实施例中,用户(例如,设计者)可以选择(例如,使用HMI显示器130上呈现的用户接口)一个或更多个选项来生成合成训练数据和/或增强现有训练数据集116。例如,在一些实施例中,机器学习模型训练系统105可以使用一种或多种数据集增强技术和/或合成训练数据生成技术来生成个合成附加训练样本/>例如,在一些实施例中,机器学习模型训练应用110,或机器学习模型训练系统105的其他组件,可以从训练数据集116输入现有的训练样本,并应用裁剪、旋转、转换或其他修改,以创建新的训练样本。在一些实施例中,合成训练数据可以使用三维(3D)渲染训练数据技术生成。使用这样的合成训练样本来生成/>个合成附加训练样本/>可能比从真实世界环境中收集/>个附加训练样本/>更省时、更实用。设计者也可以选择使用/>重新计算Vf-est(n;θ),其中/>包括/>个合成附加训练样本,以获得收集/>个真实世界附加训练样本将产生所预期的目标验证分数的信心。也就是说,如果/>使用/>个合成附加训练样本提供了期望的目标验证分数V*,那么设计者就可以对于以下有高的置信度:收集/>个真实世界附加训练样本应该在下一次训练迭代后产生期望的目标验证分数,V*。
现在参考图5,使用训练数据收集估计函数112执行的过程500的示例过程流,用于计算附加训练样本的估计的边界集。鉴于用户提供的目标验证分数输入120,训练数据收集估计函数112导出多个不同的验证分数估计函数Vf-est(n;θ),例如,使用由训练数据收集估计函数112执行的示例过程流200,如图2所示。如在512处所示,使用示例过程流200,至少基于目标验证分数输入122,求解多个验证分数估计函数中的每一个以得到/>多个不同的验证分数估计函数可以包括凹形单调递增回归函数,例如幂律、对数、arctan、代数根和/或其他凹形单调递增回归函数。多个不同的验证分数估计函数可以包括乐观和悲观凹形单调递增回归函数。一些回归函数,如幂律回归函数,已知通常用于计算乐观验证分数。其他回归函数,如arctan回归函数,已知通常用于计算悲观验证分数。在一些实施例中,训练数据收集估计函数112可以确定验证分数估计函数目前是否表现为乐观或悲观回归函数。例如,如在514处所示,过程流200可以计算n*(满足v(n0+n*)=V*的最小值),该值可以从真值(ground truth)的线性分数函数计算得出(例如,由图3的示例过程流示出)。然后,训练数据收集估计函数112可以计算(在516)多个不同的验证分数估计函数中的每一个的各自的数据收集比率(例如,从/>),这将指示与数据收集比率相关联的各自的验证分数估计函数是相对于当前训练数据集116的机器学习模型验证分数的乐观还是乐观的回归函数。不同的验证分数估计函数将产生/>预测的集合,其中最大的预测提供最坏情况的估计,最小的预测提供最佳情况的估计,从而限定了/>预测的范围,在这个范围内可以找到满足目标验证分数V*的/>值。这些/>预测中的每一个都可以(在518)显示在由HMI显示器130提供的用户接口中,同时显示各自回归函数的乐观或悲观,以提供/>预测界定的良度的指示。
现在参考图6,图6示出了,在600,示例用户接口610可由机器学习训练应用110生成并呈现,例如呈现在HMI显示器130上。在620,用户接口610包括一个或更多个用户输入元素。例如,用户输入元素620可以接收用户输入622以输入目标验证分数,接收用户输入624用于输入校正因数,和/或接收用户输入626用于输入其他回归函数估计选项,例如选择由训练数据收集估计函数112用作验证分数估计函数的一个或更多个回归函数以估计用户输入元素620还可以接收用户输入628以指定用于训练机器学习模型114的训练数据集116,和/或接收用户输入629以请求机器学习训练应用110生成或获得合成训练数据。
用户接口610可以进一步显示估计结果,如630所示。在一些实施例中,估计结果630包括对于用户通过估计选项用户输入626选择的每个验证分数估计函数满足或超过在用户输入622处显示的目标验证分数(受制于在用户输入624处输入的任何校正因数)所需的附加数据样本数的估计以及用于估计的回归函数的指示。在一些实施例中,估计结果630可以各自包括关于估计/>的每个显示值是乐观的估计值还是悲观的估计值的指示632(例如,由训练数据收集估计函数112确定)。例如,“p”或其他符号可用于指示悲观的估计,而“o”或其他符号可用于指示乐观的估计。在一些实施例中,使用估计值的外观(例如,一种颜色)来指示估计是悲观的还是乐观的。在一些实施例中,当用户(例如,通过用户输入626)选择了一个以上的验证分数估计函数时,估计结果630可以基于/>的值进行排序,和/或包括指示从不同的验证分数估计函数求得的/>范围的边界的其他符号学。
在一些实施例中,用户接口610可以进一步包括图形显示640,该图形显示610包括针对每个验证分数估计函数(在本示例中示出为Vf-est(1),Vf-est(2),Vf-est(3),Vf-est(4))计算的一个或更多个性能(例如,验证分数)数据集大小的曲线。如640所示,图形显示可以包括指示目标验证分数的目标线642,以便用户可以轻易地确定这样的数据集大小:在该数据集大小,每个验证分数估计函数与目标验证分数相交。此外,在一些实施例中,图形显示640可以进一步包括真值曲线,诸如从本文讨论的真值的线性分数函数v(n)计算出来的。真值可由用户用于进一步评价由训练数据收集估计函数112生成的估计的乐观的和/或悲观的程度。
示例计算设备
图7为适合用于实现本公开一些实施例的示例计算设备700的框图,诸如但不限于机器学习模型训练系统105。计算设备700可以包括直接或间接耦合下列设备的互连系统702:存储器704,一个或更多个中央处理单元(CPU)706,一个或更多个图形处理单元(GPU)708,通信接口710,输入/输出(I/O)端口712,输入/输出组件714,电源716,一个或更多个呈现组件718(例如,显示器,诸如HMI显示器130)和一个或更多个逻辑单元720。在至少一个实施例中,计算设备700可以包括一个或更多个虚拟机(VM),和/或其任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,一个或更多个GPU 708可以包括一个或更多个vGPU,一个或更多个CPU 706可以包括一个或更多个vCPU,和/或一个或更多个逻辑单元720可以包括一个或更多个虚拟逻辑单元。因此,计算设备700可以包括分立组件(例如,专用于计算设备700的完整GPU)、虚拟组件(例如,专用于计算设备700的GPU的一部分),或其组合。
尽管图7的各个框被示为经由具有线路的互连系统702连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件718可以被认为是I/O组件714(例如如果显示器为触摸屏)。作为另一个示例,CPU 706和/或GPU708可以包括存储器(例如,存储器704可以表示除了GPU 708、CPU 706和/或其他组件的存储器以外的存储设备)。换言之,图7的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图7的计算设备的范围内。
互连系统702可以表示一条或更多条链路或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统702可以包括一种或更多种链路或总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线,和/或另一种类型的总线或链路。在一些实施例中,组件之间存在直接连接。作为示例,CPU 706可以直接连接到存储器704。此外,CPU 706可以直接连接到GPU 708。在组件之间存在直接或点对点连接的情况下,互连系统702可以包括PCIe链路来执行该连接。在这些示例中,计算设备700中不需要包括PCI总线。
存储器704可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备700访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,存储器704可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备700访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 706可以被配置为执行计算机可读指令中的至少一些,以便控制计算设备700的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 706中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 706可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备700的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备700的类型,处理器可以是使用精简指令集计算(RISC)实现的高级RISC机制(ARM)处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备700还可以包括一个或更多个CPU 706。
除了或替代CPU 706,GPU 708还可以被配置为执行至少一些计算机可读指令,以控制计算设备700的一个或更多个组件执行一个或更多个本文所述的方法和/或过程。在一些实施例中,机器学习模型114由一个或更多个GPU 708实现。一个或更多个GPU 708可以是集成GPU(例如,具有一个或更多个CPU 706)和/或一个或更多个GPU 708可以是离散GPU。在实施例中,一个或更多个GPU 708可以是一个或更多个CPU 706的协处理器。计算设备700可以使用GPU 708来渲染图形(例如,3D图形)或执行通用计算。例如,GPU 708可用于GPU上的通用计算(GPGPU)。GPU708可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 708可以响应于渲染命令(例如经由主机接口接收的来自CPU 706的渲染命令)而生成用于输出图像的像素数据。GPU 708可以包括诸如显示存储器之类的用于存储像素数据或任何其他合适的数据(例如GPGPU数据)的图形存储器。显示存储器可以作为存储器704的部分而被包括。GPU708可以包括(例如经由链路)并行操作的两个或更多GPU。链路可以直接连接GPU(例如,使用NVLINK),也可以通过交换机(例如,使用NVSwitch)连接GPU。当组合在一起时,每个GPU 708可以生成用于输出的不同部分或者用于不同输出的像素数据或GPGPU数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的存储器,或者可以与其他GPU共享存储器。在一些实施例中,用于由HMI显示器130显示的用户接口(例如,诸如图6的用户接口610)由GPU708生成。
除了或替代CPU 706和/或GPU 708,逻辑单元720可以被配置为执行至少一些计算机可读指令,以控制计算设备700的一个或更多个组件来执行本文描述的一种或更多种方法和/或过程。在实施例中,CPU 706、GPU708和/或逻辑单元720可以离散地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元720可以是一个或更多个CPU 706和/或一个或更多个GPU 708的一部分和/或集成在其中和/或一个或更多个逻辑单元720可以是CPU 706和/或GPU 708的离散组件或以其他方式在其外部。在实施例中,一个或更多个逻辑单元720可以是一个或更多个CPU706和/或一个或更多个GPU 708的处理器。
逻辑单元720的示例包括一个或更多个处理核心和/或其组件,例如数据处理单元(DPU)、张量核心(TC)、张量处理单元(TPU)、像素视觉核心(PVC)、视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC)、流式多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA)、深度学习加速器(DLA)、算术逻辑单元(ALU))、专用集成电路(ASIC)、浮点单元(FPU)、输入/输出(I/O)元件、外围组件互连(PCI)或外围组件互连快速(PCIe)元件等。
通信接口710可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备700能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。在一些实施例中,机器学习模型训练系统的一个或更多个组件可以由通信接口710耦合到网络115。通信接口710可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网或InfiniBand通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。在一个或更多个实施例中,逻辑单元720和/或通信接口710可以包括一个或更多个数据处理单元(DPU)以将通过网络和/或通过互连系统702接收的数据直接传输到一个或更多个GPU 708(例如,一个或更多个GPU 708的存储器)。
I/O端口712可以使得计算设备700能够逻辑地耦合到包括I/O组件714、呈现组件718和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备700中。说明性I/O组件714包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、浏览仪、打印机、无线设备等等。I/O组件714可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备700的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备700可以包括诸如立体相机系统之类的深度相机、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备700可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备700用来渲染沉浸式增强现实或者虚拟现实。
电源716可以包括硬接线电源、电池电源或者其组合。电源716可以向计算设备700供电以使得计算设备700的组件能够操作。
呈现组件718可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件718可以接收来自其他组件(例如GPU 708、CPU 706、DPU等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
示例数据中心
图8示出了示例数据中心800,其可用于本公开的至少一个实施例中。数据中心800可以包括数据中心基础设施层810、框架层820、软件层830和应用层840。
如图8所示,数据中心基础设施层810可以包括资源协调器812、分组计算资源814和节点计算资源(“节点C.R.”)816(1)-816(N),其中“N”代表任何完整的正整数。在至少一个实施例中,节点C.R.816(1)-816(N)可以包括但不限于任何数量的中央处理单元(“CPU”)或其他处理器(包括DPU、加速器、现场可编程门阵列(FPGA)、图形处理器或图形处理单元(GPU)等),存储器设备(例如动态只读存储器),存储设备(例如固态硬盘或磁盘驱动器),网络输入/输出(“NW I/O”)设备,网络交换机,虚拟机(“VM”),电源模块和冷却模块等。在一些实施例中,节点C.R.816(1)-816(N)中的一个或更多个节点C.R.可以对应于具有一个或更多个上述计算资源的服务器。此外,在一些实施例中,节点C.R.816(1)-816(N)可以包括一个或更多个虚拟组件,例如vGPU、vCPU等,和/或节点C.R.816(1)-816(N)中的一个或更多个可以对应于虚拟机(VM)。
在至少一个实施例中,分组计算资源814可以包括容纳在一个或更多个机架内的节点C.R.816的单独分组(未示出),或者容纳在各个地理位置的数据中心内的许多机架(也未示出)。分组计算资源814内的节点C.R.816的单独分组可以包括可以被配置或分配为支持一个或更多个工作负载的分组的计算、网络、存储器或存储资源。在至少一个实施例中,可以将包括CPU、GPU、DPU和/或其他处理器的几个节点C.R.816分组在一个或更多个机架内,以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可以包括以任意组合的任何数量的电源模块、冷却模块和/或网络交换机。
资源协调器812可以配置或以其他方式控制一个或更多个节点C.R.816(1)-816(N)和/或分组计算资源814。在至少一个实施例中,资源协调器812可以包括用于数据中心800的软件设计基础结构(“SDI”)管理实体。资源协调器812可以包括硬件、软件或其某种组合。
在至少一个实施例中,如图8所示,框架层820可以包括作业调度器822、配置管理器834、资源管理器836和分布式文件系统838。框架层820可以包括支持软件层830的软件832和/或应用层840的一个或更多个应用程序842的框架。软件832或应用程序842可以分别包括基于Web的服务软件或应用程序,例如由Amazon Web Services,Google Cloud和Microsoft Azure提供的服务软件或应用程序。框架层820可以是但不限于一种免费且开源的软件网络应用框架,例如可以利用分布式文件系统838来进行大规模数据处理(例如“大数据”)的Apache SparkTM(以下称为“Spark”)。在至少一个实施例中,作业调度器822可以包括Spark驱动器,用于促进对数据中心800的各个层所支持的工作负载进行调度。在至少一个实施例中,配置管理器834可以能够配置不同的层,例如软件层830和包括Spark和用于支持大规模数据处理的分布式文件系统738的框架层820。资源管理器836能够管理映射到或分配用于支持分布式文件系统838和作业调度器822的集群或分组计算资源。在至少一个实施例中,集群或分组计算资源可以包括数据中心基础设施层810处的分组计算资源814。资源管理器836可以与资源协调器812协调以管理这些映射的或分配的计算资源。
在至少一个实施例中,包括在软件层830中的软件832可以包括由节点C.R.816(1)-816(N)的至少部分,分组计算资源814和/或框架层820的分布式文件系统838使用的软件。一种或更多种类型的软件可以包括但不限于Internet网页搜索软件、电子邮件病毒浏览软件、数据库软件和流视频内容软件。
在至少一个实施例中,应用层840中包括的一个或更多个应用程序842可以包括由节点C.R.816(1)-816(N)的至少部分、分组的计算资源814和/或框架层820的分布式文件系统838使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序,认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如PyTorch、TensorFlow、Caffe等)和/或其他与一个或更多个实施例结合使用的机器学习应用程序。
在至少一个实施例中,配置管理器834、资源管理器836和资源协调器812中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自我修改动作。自我修改动作可以减轻数据中心800的数据中心操作员做出可能不好的配置决定并且可以避免数据中心的未充分利用和/或行差的部分。
数据中心800可以包括工具、服务、软件或其他资源,用于根据本文所述的一个或更多个实施例来训练一个或更多个机器学习模型或者使用一个或更多个机器学习模型来预测或推理信息。例如,用于训练一个或更多个学习模型的这些工具、服务、软件或其他资源可以包括机器学习模型系统105的一个或更多个组件,诸如机器学习模型训练应用110和/或训练数据收集估计函数112。例如,可以通过使用上文关于数据中心800描述的软件、机器学习模型训练应用110和/或计算资源,根据神经网络架构计算权重参数来训练机器学习模型,诸如机器学习模型114。在至少一个实施例中,通过使用通过一种或更多种训练技术计算出的权重参数,可以使用上面与关于数据中心800所描述的资源,使用对应于一个或更多个神经网络的经训练的机器学习模型来推理或预测信息,例如但不限于本文所述的那些。
在至少一个实施例中,数据中心800可以使用CPU、专用集成电路(ASIC)、GPU、FPGA和/或其他硬件(或与之对应的虚拟计算资源)来使用上述资源来执行训练和/或推理。此外,上述的一个或更多个软件和/或硬件资源可以配置成一种服务,以允许用户训练或执行信息推理,例如图像识别、语音识别或其他人工智能服务。
示例网络环境
适用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(NAS)、其他后端设备和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图7的计算设备700的一个或更多个实例上实现—例如,每个设备可以包括计算设备700的类似组件、特征和/或功能。此外,在实现后端设备(例如,服务器、NAS等)的情况下,后端设备可以是作为数据中心800的一部分而被包括的,其示例在此关于图8更详细地描述。
网络环境的组件可以通过网络(例如,诸如网络115)彼此通信,网络可以是有线、无线或两者。网络可以包括多个网络,或者多个网络中的网络。举例来说,网络可以包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个公共网络(例如因特网和/或公共交换电话网(PSTN))、和/或一个或更多个专用网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或甚至接入点(以及其他组件)之类的组件可以提供无线连接。
兼容的网络环境可以包括一个或更多个对等网络环境(在这种情况下服务器可能不包括在网络环境中),以及一个或更多个客户端-服务器网络环境(在这种情况下一个或更多个服务器可以包含在网络环境中)。在对等网络环境中,本文描述的关于服务器的功能可以在任意数量的客户端设备上实现。
在至少一个实施例中,网络环境可以包括一个或更多个基于云的网络环境、分布式计算环境、它们的组合等。基于云的网络环境可以包括框架层、作业调度器、资源管理器,以及在一个或更多个服务器上实现的分布式文件系统,这些服务器可以包括一个或更多个核心网络服务器和/或边缘服务器。框架层可以包括用于支持软件层的软件和/或应用层的一个或更多个应用程序的框架。软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于网络的服务软件或应用程序(例如,通过经由一个或更多个应用程序编程接口(API)访问服务软件和/或应用程序)。框架层可以是但不限于一种类型的免费且开源软件网络应用程序框架,例如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
基于云的网络环境可以提供执行本文描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。例如,在一些实施例中,在这样的基于云网络环境中数据存储库118可以被实现为云存储。这些各种功能中的任何一个都可以分布在来自(例如,可以分布在州、地区、国家、全球等地的一个或更多个数据中心的)中央或核心服务器的多个位置。如果到用户(例如,客户端设备)的连接相对靠近边缘服务器,则核心服务器可以将功能的至少一部分指定给边缘服务器。基于云的网络环境可以是私有的(例如,仅限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
客户端设备可以包括本文关于图7描述的示例计算设备700的至少一些组件、特征和功能。作为示例而非限制,客户端设备可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数码助理(PDA)、MP3播放器、虚拟现实头戴式显示器、全球定位系统(GPS)或设备、视频播放器、摄像机、监视设备或系统、车辆、船只、飞行器、虚拟机器、无人机、机器人、手持通信设备、医院设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描述设备的任意组合或任何其他合适的设备。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。
Claims (26)
1.一种处理器,包括:
一个或更多个处理单元,用于:
接收包括第一训练样本数的第一训练数据集;
至少基于使用回归数据集在多次迭代中重新训练机器学习模型,来计算所述多次迭代中的一次或更多次迭代的至少一个验证分数,所述回归数据集是从所述第一训练数据集采样的;
至少基于目标验证分数来确定第二训练样本数;以及
使得显示器呈现所述第二训练样本数。
2.根据权利要求1所述的处理器,其中所述一个或更多个处理单元通过推导至少一个验证分数估计函数来计算所述至少一个验证分数。
3.根据权利要求1所述的处理器,其中所述一个或更多个处理单元通过推导至少一个验证分数估计函数来计算所述至少一个验证分数,其中所述至少一个验证分数估计函数的一个或更多个参数是通过曲线拟合与所述多次迭代中的一次或更多次迭代相对应的所述至少一个验证分数来确定的。
4.根据权利要求1所述的处理器,其中所述一个或更多个处理单元通过推导至少一个验证分数估计函数来计算所述至少一个验证分数,进一步地,其中所述至少一个验证分数估计函数是通过至少部分地最小化服从于具有大于所述目标验证分数的值的所述至少一个验证分数估计函数的第二训练样本数来求解的。
5.根据权利要求1所述的处理器,其中所述回归数据集包括从所述第一训练数据集生成的多个训练数据子集,并且所述至少一个验证分数与所述多个训练数据子集中的各个训练数据子集相关联。
6.根据权利要求1所述的处理器,其中所述一个或更多个处理单元进一步用于:
确定校正因数;以及
至少基于所述目标验证分数和所述校正因数之和,来确定所述第二训练样本数。
7.根据权利要求6所述的处理器,其中所述校正因数是从用于训练第二机器学习模型的第二训练数据集计算的。
8.根据权利要求1所述的处理器,其中所述一个或更多个处理单元进一步用于:
至少部分地基于使用所述第一训练数据集训练所述机器学习模型,来确定真值的线性分数函数。
9.根据权利要求8所述的处理器,其中所述一个或更多个处理单元进一步用于:
至少部分地基于真值的所述线性分数函数、所述第二训练样本数和所述第一训练样本数来计算数据收集比率;以及
其中计算所述校正因数以生成所述数据收集比率的大于1的比率。
10.根据权利要求1所述的处理器,其中所述一个或更多个处理单元通过推导至少一个验证分数估计函数来计算所述至少一个验证分数,所述至少一个验证分数估计函数包括凹形单调递增回归函数。
11.根据权利要求10所述的处理器,其中所述一个或更多个处理单元进一步用于:
至少基于真值的所述线性分数函数确定所述第二训练样本数的误差;以及
使得显示所述第二训练样本数的所述误差。
12.根据权利要求10所述的处理器,其中所述一个或更多个处理单元进一步用于:
至少部分地基于真值的所述线性分数函数、所述第二训练样本数和所述第一训练样本数来计算数据收集比率;以及
使得所述显示器至少基于所述数据收集比率,为所述至少一个验证分数估计函数指示乐观指示或悲观指示中的至少一个。
13.根据权利要求1所述的处理器,其中所述一个或更多个处理单元通过推导多个验证分数估计函数来计算所述至少一个验证分数,并且所述一个或更多个处理单元进一步用于:
求解所述多个验证分数估计函数中的每一个,以至少基于所述目标验证分数来确定相应的第二训练样本数;以及
使得所述显示器呈现所述相应的第二训练样本数中的每一个。
14.根据权利要求1所述的处理器,其中所述一个或更多个处理单元进一步用于接收指示用于训练所述机器学习模型的所述目标验证分数的输入。
15.根据权利要求1所述的处理器,其中所述处理器包括在以下至少一个中:
用于自主或半自主机器的控制系统;
用于自主或半自主机器的感知系统;
用于执行模拟操作的系统;
用于执行数字孪生操作的系统;
用于执行轻型运输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行对话式人工智能操作的系统;
用于生成合成数据的系统;
包含一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
16.一种系统,包括:
一个或更多个处理单元,用于:
访问包括第一训练数据集的数据存储库,所述第一训练数据集包括训练样本数;
使用所述第一训练数据集生成回归数据集,所述回归数据集包括使用所述第一训练数据集生成的多个训练数据子集;
使用所述回归数据集在多次迭代中重新训练所述机器学习模型;
使用至少第一验证分数估计函数来计算多个验证分数,所述多个验证分数包括所述多次迭代中的至少一次迭代的相应验证分数;
至少基于目标验证分数并使用所述至少第一验证分数估计函数,来确定附加训练样本数;以及
执行一个或更多个操作以指示所述附加训练样本数的所述确定。
17.根据权利要求16所述的系统,其中所述一个或更多个处理单元进一步用于使得至少基于所述附加训练样本数显示训练数据收集建议。
18.根据权利要求16所述的系统,其中所述至少一个验证分数估计函数包括凹形单调递增回归函数。
19.根据权利要求16所述的系统,其中所述一个或更多个处理单元进一步用于:
对所述多个验证分数进行曲线拟合,以计算所述至少一个验证分数估计函数的一个或更多个参数。
20.根据权利要求16所述的系统,其中所述一个或更多个处理单元进一步用于:
至少基于所述目标验证分数和校正因数之和,求解所述至少一个验证分数估计函数以确定另一个附加训练样本数。
21.根据权利要求20所述的系统,其中所述一个或更多个处理单元进一步用于:
至少基于真值的线性分数函数来计算所述至少一个验证分数估计函数的数据收集比率,所述真值的线性分数函数是至少部分通过使用所述第一训练数据集、所述附加训练样本数和所述训练样本数训练所述机器学习模型计算出的;以及
其中计算所述校正因数以生成所述数据收集比率的大于1的比率。
22.根据权利要求16所述的系统,其中所述一个或更多个处理单元进一步用于:
至少基于使用所述回归数据集迭代地重新训练所述机器学习模型以计算第二相应多个验证分数,来推导另一个验证分数估计函数,所述第二相应多个验证分数包括多次迭代中的每次迭代的相应验证分数,其中所述另一个验证分数估计函数包括与所述至少一个验证分数估计函数不同的凹形单调递增回归函数;
至少基于所述目标验证分数,求解所述附加验证分数估计函数,以确定另一个附加训练样本数;以及
使得所述显示器呈现所述附加训练样本数和所述另一个附加训练样本数。
23.根据权利要求16所述的系统,其中所述系统包括在以下至少一个中:
用于自主或半自主机器的控制系统;
用于自主或半自主机器的感知系统;
用于执行模拟操作的系统;
用于执行数字孪生操作的系统;
用于执行轻型运输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
利用边缘设备实现的系统;
利用机器人实现的系统;
用于执行对话式人工智能操作的系统;
用于生成合成数据的系统;
包含一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
24.一种方法,包括:
通过至少部分地求解至少一个验证分数估计函数,来确定用于重新训练机器学习模型的附加训练数据样本数,其中所述验证分数估计函数的一个或更多个参数是至少部分地基于迭代地重新训练所述机器学习模型来确定的。
25.根据权利要求24所述的方法,进一步包括:
生成包括从训练数据集生成的多个数据子集的回归数据集,其中所述至少一个验证分数估计函数的一个或更多个参数是在使用所述回归数据集迭代地重新训练所述机器学习模型期间计算的。
26.根据权利要求25所述的方法,进一步包括:
求解所述至少一个验证分数估计函数,以确定用于满足或超过目标验证分数的所述附加训练数据样本数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/828,663 | 2022-05-31 | ||
US17/828,663 US20230385687A1 (en) | 2022-05-31 | 2022-05-31 | Estimating optimal training data set size for machine learning model systems and applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117150285A true CN117150285A (zh) | 2023-12-01 |
Family
ID=88696774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211419023.7A Pending CN117150285A (zh) | 2022-05-31 | 2022-11-14 | 估计机器学习模型系统和应用的最佳训练数据集大小 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230385687A1 (zh) |
CN (1) | CN117150285A (zh) |
DE (1) | DE102023113741A1 (zh) |
-
2022
- 2022-05-31 US US17/828,663 patent/US20230385687A1/en active Pending
- 2022-11-14 CN CN202211419023.7A patent/CN117150285A/zh active Pending
-
2023
- 2023-05-25 DE DE102023113741.7A patent/DE102023113741A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230385687A1 (en) | 2023-11-30 |
DE102023113741A1 (de) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816790B2 (en) | Unsupervised learning of scene structure for synthetic data generation | |
US20230385640A1 (en) | Misuse index for explainable artificial intelligence in computing environments | |
US20210090327A1 (en) | Neural network processing for multi-object 3d modeling | |
US20210089921A1 (en) | Transfer learning for neural networks | |
US20220230376A1 (en) | Motion prediction using one or more neural networks | |
WO2021242840A1 (en) | Scene graph generation for unlabeled data | |
US20230377099A1 (en) | Synthesizing content using diffusion models in content generation systems and applications | |
US20240005604A1 (en) | Synthesizing three-dimensional shapes using latent diffusion models in content generation systems and applications | |
US20220391176A1 (en) | Configuring machine learning models for training and deployment using graphical components | |
US20230153612A1 (en) | Pruning complex deep learning models based on parent pruning information | |
US20220383073A1 (en) | Domain adaptation using domain-adversarial learning in synthetic data systems and applications | |
CN117150285A (zh) | 估计机器学习模型系统和应用的最佳训练数据集大小 | |
US20230376849A1 (en) | Estimating optimal training data set sizes for machine learning model systems and applications | |
US20240221288A1 (en) | Selecting representative image views for 3d object models in synthetic content creation systems and applications | |
US20240129380A1 (en) | Data center job scheduling using machine learning | |
US20240119612A1 (en) | Identifying duplicate objects using canonical forms in content creation systems and applications | |
US20240177034A1 (en) | Simulating quantum computing circuits using kronecker factorization | |
US20240232039A1 (en) | Application execution allocation using machine learning | |
US20240045662A1 (en) | Software code verification using call graphs for autonomous systems and applications | |
US20240220831A1 (en) | Management of artificial intelligence resources in a distributed resource environment | |
US11983928B1 (en) | Dynamically composable object tracker configuration for intelligent video analytics systems | |
US20230244985A1 (en) | Optimized active learning using integer programming | |
US20240221242A1 (en) | Using stable diffusion to generate seamless content tile sets in content generation systems and applications | |
US20230342666A1 (en) | Multi-track machine learning model training using early termination in cloud-supported platforms | |
US20230342618A1 (en) | Identifying idle processors using non-intrusive techniques |
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 |