使用无监督数据增强来训练机器学习模型
文献发布时间:2023-06-19 13:46:35
相关申请的交叉引用
本申请要求于2019年4月25日提交的美国专利申请No.62/838,932的优先权,所述美国专利申请的完整内容通过引用的方式并入本文。
背景技术
本说明书涉及训练机器学习模型。具体地,但不排他地,本说明书涉及训练用于感知任务(例如,与视觉或语音有关的任务)的机器学习模型。
机器学习模型接收输入,并且基于所接收的输入和模型的参数的值来生成输出,例如,预测输出。
神经网络是采用非线性单元的一层或多层来预测所接收的输入的输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应参数集的当前值从所接收的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。具体地,递归神经网络可在计算当前时间步的输出时使用来自先前时间步的网络的内部状态的一些或全部。递归神经网络的示例是长短期(LSTM)神经网络,所述长短期(LSTM)神经网络包括一个或多个LSTM存储器块。每个LSTM存储器块可包括一个或多个单体,每个单体包括输入门、遗忘门和输出门,其允许该单体存储该单体的先前状态例如用于生成当前激活,或被提供到LSTM神经网络的其他组件。
发明内容
本说明书描述了一种被实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统,该系统通过半监督学习训练机器学习模型以执行机器学习任务,即通过在包括未标记训练输入和已标记训练输入的训练数据上训练机器学习模型。已标记训练输入是地面真值输出——即应当由机器学习模型通过对已标记训练输入执行特定机器学习任务而生成的输出——可用的输入。未标记训练输入是地面真值输出不可用的训练输入。
该系统通过从训练数据生成经增强的训练数据并且然后在经增强的训练数据上训练机器学习来训练机器学习模型。生成所述经增强的训练数据包括针对所述多个未标记训练输入中的每一个通过将数据增强技术应用于所述未标记训练输入来生成相应的经增强的训练输入。
可实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。通过如本说明书中所描述的那样训练机器学习模型,机器学习模型可被训练以生成准确的模型输出。具体地,通过如本说明书中所描述的那样训练机器学习模型,未标记训练数据可被有效地并入训练中,从而改进机器学习模型的性能。即,经训练的模型的性能可被改进而无需额外的已标记训练数据。因为未标记训练数据通常比已标记训练数据更容易获得,所以可提高训练的有效性,而不会大大增加获得或生成附加训练数据的时间和计算成本。更具体地,增强技术,例如传统上已应用于已标记训练数据的技术,可有效地应用于未标记数据,以改进机器学习模型的训练,而不需要标记或未标记的附加训练数据。另外,即使仅相对少量的已标记训练数据可用,通过如本说明书中所描述的将容易可用的未标记训练数据有效地合并到训练中,机器学习模型也可被有效地训练。因此,训练模型以生成准确的模型输出变得更少地依赖于准确已标记训练数据的可用性。结果,可以有效方式训练模型,并且与在完整监督集合上训练的模型相比,具有少得多的已标记示例。
在附图和下面的描述中阐述了本说明书的主题的一个或多个实施例的细节。根据描述、附图和权利要求,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出示例机器学习模型训练系统。
图2是用于训练机器学习模型的示例过程的流程图。
图3是用于在未标记训练输入批次和已标记训练输入批次上训练机器学习模型的示例过程的流程图。
图4示出所描述的技术相对于其他半监督学习技术的性能。
在各个附图中,相同的附图标记和标号指示相同的元件。
具体实施方式
图1示出示例机器学习模型训练系统100。机器学习模型训练系统100是被实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中可实现下面描述的系统、组件和技术。
机器学习模型训练系统100是在包括已标记训练数据140和未标记训练数据150的训练数据训练机器学习模型110以从模型参数的初始值确定机器学习模型110的参数——在本说明书中被称为模型参数——的训练值的系统。
机器学习模型110是被配置为接收模型输入102并且处理模型输入以根据模型参数将模型输入102映射到模型输出112以执行特定机器学习任务的机器学习模型。
机器学习模型110可被配置为执行各种机器学习任务中的任一种,即,接收任何种类的数字数据输入作为输入并且从该输入生成模型输出。通常,模型输出是在可能分类集合上的概率分布。
例如,如果任务是计算机视觉任务,例如图像分类,则模型110的输入是图像,并且给定图像的模型输出可是对象类别集合中的每一个对象类别的概率,其中每个概率表示图像包含属于该类别的对象的图像的估计似然性。
作为另一个示例,如果机器学习任务是文档分类,则对机器学习模型110的输入是来自互联网资源(例如,网页)或文档的文本,并且给定互联网资源、文档或文档的一部分的模型输出可是话题集合中的每一个话题的分数,其中每个分数表示互联网资源、文档或文档部分是关于该话题的估计似然性。
作为另一示例,如果任务是自然语言理解任务,则到机器学习模型110的输入是文本序列,并且给定文本序列的模型输出可是适合于自然语言理解任务的概率分布,例如,在语言可接受性类别、语言情感类别、语言释义类别、句子相似性类别、文本蕴涵类别、问答类别等上的分布。
作为另一示例,如果任务是健康预测任务,则机器学习模型110的输入是患者的电子健康记录数据,并且给定序列的模型输出可是患者健康相关类别上的概率分布,例如,患者的可能诊断、与患者相关联的可能未来健康事件等。
作为另一示例,如果任务是语音处理任务,则对机器学习模型110的输入可是表示口头话语的音频数据,例如原始音频或声学特征,并且模型输出可是语音分类类别集合上的概率分布,例如,可能语言上的概率分布、可能热词集合上的概率分布等等。
机器学习模型110可具有适合于由机器学习模型110处理的模型输入的类型的任何架构。例如,当模型输入是图像时,机器学习模型110可是卷积神经网络。当模型输入是文本序列或其他特征的序列(例如,电子健康记录特征)时,机器学习模型110可是基于自注意力的神经网络——例如,转换器——或递归神经网络——例如,长短期记忆(LSTM)神经网络。当模型输入包括多个模态的输入,例如图像和文本两者时,模型110可包括不同类型的神经网络,例如卷积层和自注意力层或递归层两者。
由系统100用来训练机器学习模型110的已标记训练数据140包括多个已标记训练输入批次。训练输入被称为“已标记”训练输入,因为已标记训练数据140还包括针对每个已标记训练输入的地面真值输出,即,应当由机器学习模型通过对已标记训练输入执行特定机器学习任务而生成的输出。换言之,地面真值输出是当对相应的已标记训练输入执行时机器学习任务的实际输出。
系统100用来训练机器学习模型110的未标记训练数据150包括多个未标记训练输入批次。训练输入被称为“未标记”训练输入,因为未标记训练输入的地面真值输出不可用,即,系统100不能访问任何未标记训练输入的任何地面真值输出,或者由于一些其他原因,不能使用任何未标记训练输入的地面真值输出来训练模型110。
通常,未标记训练输入批次可包括与已标记训练输入批次相同数量的训练输入,或者包括与已标记训练输入批次不同数量的训练输入。例如,在其中存在比已标记训练项多得多的可用未标记训练项的常见情况下,未标记训练项批次可包括比已标记训练项批次多的训练项。
通常,系统100通过从训练数据生成经增强的训练数据并且然后在经增强的训练数据上训练机器学习模型110来训练机器学习模型110。为了生成经增强的训练数据,系统100针对多个未标记训练输入中的每一个通过将数据增强技术应用于该未标记训练输入来生成相应的经增强的训练输入。
下面参考图2和图3更详细地描述生成经增强的训练数据并在经增强的训练数据上训练机器学习模型110。
一旦模型110已经被训练,系统100就可提供指定用于处理新网络输入的训练模型的数据。即,系统100可例如通过向用户设备输出或者通过在系统100可访问的存储器中存储来输出模型参数的训练值,以供稍后在使用训练模型处理输入时使用。
作为输出经训练的机器学习模型数据的替换或补充,系统100可实例化具有模型参数的训练值的机器学习模型的实例,例如通过由系统提供的应用编程接口(API)来接收要被处理的输入,使用经训练的模型来处理所接收的输入以生成模型输出,并且然后响应于所接收的输入来提供所生成的模型输出、分类输出或这两者。
图2是用于在包括未标记训练输入和已标记训练输入的训练数据上训练机器学习模型的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,机器学习模型训练系统,例如,被适当编程的图1的机器学习模型训练系统100可执行过程200。
系统接收用于训练机器学习模型以将模型输入映射到模型输出以便执行特定机器学习任务的训练数据(步骤202)。如上所述,训练数据包括未标记训练输入和已标记训练输入两者。对于每个已标记训练输入,训练数据还包括应当由机器学习模型通过在已标记训练输入上执行特定机器学习任务而生成的地面真值输出。
系统从训练数据生成经增强的训练数据(步骤204)。具体地,该系统针对多个未标记训练输入中的每一个通过将数据增强技术应用于该未标记训练输入来生成相应的经增强的未标记训练输入。
所采用的数据增强技术取决于机器学习模型对什么类型的输入进行操作。
例如,当模型输入是图像时,数据增加技术可是学习的、数据依赖的技术,例如使用自动增强方法学习的技术。换句话说,系统可使用数据依赖的自动增强技术在已标记输入上针对学习的图像处理变换的组合从图像处理变换集合中搜索,以用作未标记输入的增强技术。自动增强在Ekin D Cubuk,Barret Zoph,Dandelion Mane,Vijay Vasudevan,和Quoc V Le.Autoaugment:Learning augmentation policies from data.arXiv preprintarXiv:1805.09501,2018中更详细被描述。
作为另一示例,当模型输入是图像时,数据增强技术可是通过超参数搜索确定的技术,即在模型训练之前。例如,数据增强技术可是RandAdugment技术,其应用网格搜索或其他超参数优化技术来识别定义增强策略的超参数的值:例如定义应用于每个图像的多个变换并且定义每个应用的变换的幅度的超参数。RandAdugment在Ekin D Cubuk,BarretZoph,Jonathon Shlens,和Quoc V Le.Randaugment:Practical data augmentation withno separate search.arXiv preprint,2019中更详细被描述。
作为另一示例,当模型输入是自然语言文本时,数据增强技术可是反向翻译技术。反向翻译指的是将语言A中的现有示例翻译成另一种语言B并且然后将其翻译回A以获得增强示例的过程。例如,系统可随机选择模型输入中的一个或多个单词,并且反向翻译随机选择的单词以生成经增强的未标记输入。
作为又一示例,当模型输入是自然语言文本时,数据增强技术可是基于TF-IDF的词替换技术。基于TF-IDF的词替换技术是一种用低TF-IDF分数替换无信息词同时保持那些具有高TF-IDF值的词的技术。例如,系统可向输入中的每个词指配基于词的TF-DF值的概率,其中具有较高TF-IDF值的词具有较高的概率。然后,系统可根据所指配的概率对设定数量的词进行采样,并且用例如从输入词的可能词汇表中采样的词来替换每个采样的词。
因此,经增强的训练数据包括(i)已标记训练输入、(ii)未标记训练输入、以及(iii)经增强的未标记训练输入,其中每一个未标记训练输入对应于未标记训练输入之一。
虽然(i)和(ii)将在本说明书中被描述为尚未被增强的训练输入,但是在一些情况下,系统可将简单增强——例如,当输入是图像时的裁剪和翻转——应用于(i)和(ii)中的训练示例以提高训练过程的鲁棒性。这些简单增强通常不同于用于从(ii)生成(iii)的增强策略,即,增强策略通常比简单增强复杂得多。换言之,在一些情况下,经增强的训练数据中的已标记训练输入和未标记训练输入已具有使用不同增强策略所应用的简单增强。
系统然后在经增强的训练数据上训练机器学习模型(步骤206)。特别地,系统训练模型以优化目标,例如,最小化损失,其是无监督目标和监督目标的组合,例如,总和、平均值或加权和。
无监督目标对于给定未标记训练输入测量(i)由机器学习模型针对给定未标记训练输入所生成的模型输出与(ii)由机器学习模型针对相应的经增强的无监督的训练输入,即从未标记训练输入所生成的经增强的训练输入,生成的模型输出之间的差。
作为特定示例,无监督目标可基于(i)由机器学习模型针对给定未标记训练输入所生成的模型输出与(ii)由机器学习模型针对相应的经增强的无监督训练输入所生成的模型输出之间的Kullback-Leibler(K-L)散度。在该示例中,无监督目标可满足:
其中λ是正常数值,例如1.5、1或0.5,E是期望算子,x是来自未标记训练数据U的未标记训练输入,
监督目标对于给定已标记训练输入测量(i)由机器学习模型针对给定已标记训练输入所生成的模型输出与(ii)针对给定已标记训练输入的地面真值输出之间的差异。作为特定示例,监督目标可基于根据针对给定已标记训练输入所生成的概率分布的给定地面真值输出的负对数似然性。换句话说,监督目标可满足:
其中x是来自已标记训练数据L的已标记训练输入,并且y
在一些实现方式中,未标记数据的量与可用于训练机器学习模型的已标记数据的量之间可能存在大差异,即,在可用训练数据中可能存在比已标记数据大得多的未标记数据的量。这可能导致模型快速过度拟合到有限量的已标记数据,同时仍然未充分拟合未标记数据。为了减轻这个困难,在一些实现方式中,系统使用随着训练进行而逐渐释放已标记示例的“训练信号”的技术。
在高层次上,利用该技术,如果模型对一个已标记示例的置信度低于预定义阈值,则系统仅利用该已标记示例,该预定义阈值在训练期间根据排程而增加。
更具体地,代替使用负对数似然性作为如上所述的监督目标,系统使用经修改的监督目标。
与上述目标类似,经修改的监督目标基于根据针对给定已标记训练输入所生成的概率分布的给定地面真值输出的负对数似然性,但是仅当由概率分布指配给给定地面真值输出的概率小于置信度阈值时。
当由概率分布指配给给定地面真值输出的概率等于或大于置信度阈值时,系统从损失函数中移除给定训练输入。当由概率分布指配给给定地面真值输出的概率等于或大于置信度阈值时,可通过将监督目标设置为等于零来实现该移除。
通常,系统随着训练进行而增加该置信度阈值。例如,如果在其上生成概率分布的类别的数目等于K,则系统可随着训练进行将置信度阈值从1/K逐渐增加到1。作为特定示例,系统可在每个训练步骤之后,即在执行的下述过程300的每个迭代之后,增加置信度阈值。
系统可根据各种排程中的任何排程来增加置信度阈值。
例如,系统可根据对数排程来增加排程。在该示例中,训练步骤t处的阈值的值满足:
作为另一示例,系统可根据线性排程来增加排程。在该示例中,
作为另一示例,系统可根据指数排程来增加排程。在该示例中,
直观地,当模型易于过度拟合时,例如,当任务相对容易或已标记示例的数量非常有限时,指数排程是最合适的,因为监督信号在训练结束时大部分被释放。相反,当模型不太可能过度拟合时(例如,当存在大量已标记示例时或者当模型采用有效正则化时),可使用对数排程。
具体地,在训练期间,系统通过执行机器学习训练程序的多个迭代来训练机器学习模型,其中该程序的每个迭代在已标记训练输入批次和未标记训练输入批次两者上执行。在每个迭代期间,系统基于监督目标和非监督目标来确定从迭代时对模型参数的当前值的更新,并且将更新应用于当前值以生成模型参数的更新值。
图3是用于在未标记训练输入批次和已标记训练输入批次上训练机器学习模型的示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,机器学习模型训练系统,被适当编程的例如图1的机器学习模型训练系统100,可执行过程300。
系统可针对多个不同的已标记批次-未标记批次组合多次执行过程300,以根据模型参数的初始值来确定模型参数的训练值。例如,系统可继续执行过程300达到指定迭代数、指定时间量、或直到参数值的改变降到阈值以下。
系统获得已标记训练输入批次(步骤302)。
系统使用机器学习模型并且根据模型参数的当前值处理每个已标记训练输入,以生成用于每个已标记训练输入的相应的模型输出(步骤304)。
系统获得未标记训练输入的未标记批次和未标记批次中的每个未标记训练输入的经增强的未标记训练输入(步骤306)。
系统使用机器学习模型并根据模型参数的当前值处理每个未标记训练输入和每个经增强的未标记训练输入,以生成每个未标记训练输入的相应模型输出(步骤308)。
系统基于用于已标记训练输入、未标记训练输入和未标记训练输入的模型输出,更新模型参数的当前值(步骤310)。
特别地,该系统针对每个已标记训练输入确定关于监督目标的模型参数的相应梯度并且针对每个未标记训练输入确定关于无监督目标的模型参数的相应梯度。
然后,该系统例如通过对相应梯度求平均或相加来组合相应梯度以生成组合梯度,然后使用该组合梯度来更新模型参数的当前值,例如通过将更新规则(例如学习率)、Adam优化器更新规则或rmsProp更新规则应用于该组合梯度以生成更新,然后将该更新应用于当前值,即减去或相加。
图4示出了所描述的技术相对于其他半监督学习技术的性能。
特别地,图4示出所描述的技术(“UDA”与“Randauggment”增强策略)与以下两个高度竞争性基线的比较:(1)虚拟对抗训练(VAT)(Miyato等人,2018),一种在输入上生成对抗高斯噪声的算法,以及(2)MixMatch,一种组合半监督学习中的先前进步的技术((Berthelot等人,2019))。
如从图4中可看出,使用所描述的技术训练的训练模型的误差率始终较低,即,在不同大小的已标记数据处优于两个基线,即,给定不同大小的已标记数据,所描述的技术始终以清晰余量优于两个基线。
因此,即使与其它半监督学习技术——即,使用已标记数据和未标记数据两者的其它技术——相比,所描述的技术也导致更有效的模型训练。
本说明书连同系统和计算机程序组件一起使用术语“被配置”。对于要被配置成执行特定操作或动作的一个或多个计算机的系统意指系统已在其上安装了在操作中使该系统执行这些操作或动作的软件、固件、硬件或软件、固件、硬件的组合。对于要被配置成执行特定操作或动作的一个或多个计算机程序意指该一个或多个程序包括指令,所述指令当由数据处理装置执行时,使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可用数字电子电路、用有形地具体实现的计算机软件或固件、用包括本说明书中公开的结构及其结构等同物的计算机硬件或者用它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可作为一个或多个计算机程序被实现,所述一个或多个计算机程序即在有形非暂时性存储介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们中的一个或多个的组合。替换地或此外,可将程序指令编码在人工生成的传播信号上,该传播信号例如是机器生成的电、光或电磁信号,该传播信号被生成来对信息进行编码以用于传输到适合的接收器装置以供由数据处理装置执行。
术语“数据处理装置”指代数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置还可是或者进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可被称为或者描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码的计算机程序可用包括编译或解释语言或声明或过程语言的任何形式的编程语言编写;并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。程序可但是不必对应于文件系统中的文件。程序可被存储在保持其它程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本;在专用于所述程序的单个文件中或者在多个协调文件中,例如存储代码的一个或多个模块、子程序或部分的文件。可将计算机程序部署成在一个计算机上或者在位于一个站点处或者分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”广泛地用于指代任何数据集:数据不需要被以任何特定方式构造,或者根本不构造,并且它可被存储在一个或多个位置中的存储设备上。因此,例如,索引数据库可包括多个数据集,其中的每一个可被不同地组织和访问。
类似地,在本说明书中术语“引擎”广泛地用于指代被编程来执行一个或多个具体功能的基于软件的系统、子系统或过程。通常,引擎将作为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件被实现。在一些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,可在同一计算机或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可由执行一个或多个计算机程序的一个或多个可编程计算机执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还可由例如是FPGA或ASIC的专用逻辑电路执行,或者通过专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可基于通用微处理器或专用微处理器或两者,或任何其它种类的中央处理器。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或者实行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可由专用逻辑电路补充或者并入在专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,或者操作上被耦合以从所述一个或多个大容量存储设备接收数据或者将数据传送到所述一个或多个大容量存储设备或者两者以用于存储数据,所述一个或多个大容量存储设备例如是磁盘、磁光盘或光盘。然而,计算机不必具有这样的设备。此外,计算机可被嵌入在另一设备中,所述另一设备例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制器、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器等。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,作为示例包括半导体存储设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,可在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示设备以及用户可用来向该计算机提供输入的键盘和定点设备,所述显示设备例如是CRT(阴极射线管)或LCD(液晶显示器)监视器,所述定点设备例如是鼠标或轨迹球。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到请求而向用户的设备上的web浏览器发送网页。另外,计算机可通过向个人设备发送文本消息或其它形式的消息并且继而从用户接收响应消息来与用户交互,所述个人设备例如是正在运行消息传送应用的智能电话。
用于实现机器学习模型的数据处理装置还可包括例如用于处理机器学习训练或生产——即推理、工作负载——的公共和计算密集部分的专用硬件加速器单元。
可使用机器学习框架来实现和部署机器学习模型。所述机器学习框架例如是TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可被实现在计算系统中,所述计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有用户可用来与本说明书中描述的主题的实现方式交互的图形用户界面、web浏览器或app的客户端计算机;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过例如通信网络的任何形式或介质的数字数据通信来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备传输例如HTML页面的数据例如以用于向与作为客户端的设备交互的用户显示数据并从该用户接收用户输入的目的。可在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可能要求保护的范围的限制,而是相反地被解释为对可能特定于特定发明的特定实施例的特征的描述。也可在单个实施例中组合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,也可单独地或者按照任何适合的子组合在多个实施例中实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可能在上面被描述按照某些组合起作用并且甚至最初被如此要求保护,但是来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中除去,并且所要求保护的组合可针对子组合或子组合的变化。
类似地,虽然按照特定次序在附图中描绘并在权利要求书中记载操作,但是这不应该被理解为要求按照所示的特定次序或者按照顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所预期的结果。在某些情况下,多任务处理和并行处理可是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中要求这样的分离,并且应该理解的是,所描述的程序组件和系统一般地可被一起集成在单个软件产品中或者包装到多个软件产品中。
已描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中记载的动作可被以不同的次序执行并仍然实现所预期的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所预期的结果。在一些情况下,多任务处理和并行处理可是有利的。
- 使用无监督数据增强来训练机器学习模型
- 使用机器学习模型的游戏播放视频的无监督分类