技术领域
[0001] 本公开的方面涉及往复式(reciprocating)生成模型。
相关背景技术
[0002] 生成模型学习联合概率分布 ,而鉴别模型学习条件概率分布 。鉴别分布 可以用于直接将示例 分类成类 。然而,生成模型可以用于将示例单独地利用概率分布拟合到每个类中。当对新点进行分类时,生成模型可以用于找出其中该点最有可能来自哪个分布。
[0003] 存在聚焦于用于分类任务的深度生成模型的应用的大体量工作。两个代表性的示例包括“Semi‑supervised Learning with Deep Generative Models”(Kingma、Rezende、Mohamed、Welling,2014 arXiv 1406.298)和“Adversarial Autoencoders”(Makhzani、Shlens、Jaitly、Goodfellow、Frei,2015 arXiv 1511.05644)。
具体实施方式
[0008] 本文描述了本公开的实施例。然而,应理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种形式和替代形式。各图不一定是按比例的;一些特征可能被放大或最小化以示出特定组件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅作为用于教导本领域技术人员以各种方式采用实施例的代表性基础。如本领域普通技术人员将理解的,参考任何一图图示和描述的各种特征可以与一个或多个其他图中图示的特征相组合,以产生没有明确图示或描述的实施例。图示特征的组合为典型应用提供了代表性实施例。然而,与本公开的教导一致的特征的各种组合和修改对于特定的应用或实现可以是期望的。
[0009] 如本文详细讨论的,描述了一种用于训练生成模型和深度生成模型以用于它们在具有往复式原理的分类中的应用的方法,其中损失函数关于分布外样本(来自训练集和/或生成的)被最大化,并且损失函数关于分布内样本被最小化。
[0010] 生成模型——即对来自传感器的样本 和相关联标签 的联合分布 进行建模的模型——长期以来用于解决传感器数据的分类问题。给定多类问题(其中 可以取个值中的一个,每个标示一个不同的类),可以训练 个不同的生成模型,其中 个生成模型中的每一个返回 ,样本 源自与第 个类(其中,其分布由 建模)相关联的分布的似然性。模型还可以输出从其分布 生成的样本。
[0011] 与生成模型的使用相关联并且在特定深度生成模型(利用深度神经网络架构的模型)中在它们在传感器数据分类中使用方面的主要障碍之一是:它们没有能力准确地标识分布外样本。这意味着通过经由最大化分布内样本的似然性来训练生成模型,系统处于也增加分布外样本似然性的风险。分布外样本的高似然性风险阻碍了生成模型作为分类器的使用。
[0012] 所公开的方法制定了一种训练用于根据 个生成模型的集合(每个类一个生成模型)和训练数据集 将传感器数据分类成 个不同类的互逆生成模型的方法。对于每个类 ,训练过程同时通过以下步骤训练相应的生成模型:1)跨属于第 个类 的分布内样本 的分布的期望值之上最小化关于生成模型的参数 的损失项;以及2)跨分布外样本的分布的期望值之上最大化关于生成模型的参数 的损失项 ,该分布外样本由从不属于第 个类 的训练集 汲取的样本以及由从剩余的 个
生成模型生成的样本二者来近似。属于类 的样本作为分布内样本(正面地)贡献于训练第个生成模型,并且作为分布外样本(负面地)贡献于训练剩余的生成模型。
[0013] 这样的技术通过适用于从各种各样的传感器(诸如视频、雷达、LiDAR、超声和/或运动传感器)接收的传感器信号来提供实际应用,并且可以用于计算用于控制物理系统(诸如计算机控制的机器,如机器人、车辆、家用器具、电动工具、制造机器、个人助理或访问控制系统)的控制信号。所描述的技术通过对传感器数据进行分类并且明确地对分布内样本进行训练并找到分布外样本的代理来这样做。
[0014] 图1是用于训练和使用往复式生成模型114的系统100的示例性实施例的示意图。系统100包括操作性地连接到存储器104、显示设备106、人机接口(HMI)控件108和网络设备
110的处理器102。如下面更详细描述的,在操作期间,系统100明确地训练生成模型114以关于训练数据116的分布内样本集合最小化损失函数,并且关于分布外样本集合最大化损失函数,这包括训练数据116和生成数据的使用。
[0015] 在系统100中,处理器102可以包括实现中央处理单元(CPU)和/或图形处理单元(GPU)的功能性的一个或多个集成电路。在一些示例中,处理器102是集成了CPU和GPU的功能性的片上系统(SoC)。SoC可以可选地将其他组件、诸如例如存储器104和网络设备110包括到单个集成设备中。在其他示例中,CPU和GPU经由外围连接设备、诸如PCI express或另一合适的外围数据连接彼此连接。在一个示例中,CPU是商业上可获得的中央处理设备,其实现指令集,诸如x86、ARM、Power或MIPS指令集家族之一。附加地,处理器102的替代实施例可以包括微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或任何其他合适的数字逻辑器件。
[0016] 在操作期间,处理器102执行从存储器104检索的存储程序指令。存储程序指令包括控制处理器102的操作以执行本文描述的操作的软件。存储器104可以包括非易失性存储器和易失性存储器设备二者。非易失性存储器包括固态存储器,诸如NAND闪速存储器、磁和光存储介质,或者当系统100被停用或失去电力时保留数据的任何其他合适的数据存储设备。易失性存储器包括静态和动态随机存取存储器(RAM),其在系统100的操作期间存储程序指令和数据。
[0017] GPU可以包括用于向显示设备106显示至少二维(2D)和可选的三维(3D)图形的硬件和软件。显示设备106可以包括电子显示屏、投影仪、打印机或再现图形显示的任何其他合适的设备。在一些示例中,处理器102使用GPU中的硬件功能性来执行软件程序,以加速本文描述的机器学习或其他计算操作的性能。
[0018] HMI控件108可以包括使得系统100能够从工人或其他用户接收控制输入的各种设备中的任一种。接收人机接口输入的合适输入设备的示例可以包括键盘、鼠标、轨迹球、触摸屏、语音输入设备、图形平板设备等。
[0019] 网络设备110可以包括使得系统100能够从外部设备发送和/或接收数据的各种设备中的任一种。合适的网络设备110的示例包括从另一计算机或外部数据存储设备接收数据的网络适配器或外围互连设备,这对于以高效的方式接收大数据集可以是有用的。
[0020] 机器学习应用112可以使用各种算法来执行本文描述的操作的各方面。在示例中,如上面所讨论的,机器学习应用112可以包括存储到存储器104并且可由处理器102执行的指令。计算机可执行指令可以从使用多种编程语言和/或技术创建的计算机程序编译或解释,所述多种编程语言和/或技术没有限制并且单独或组合地包括Java、C、C++、C#、Visual Basic、JavaScript、Python、Perl、PL/SQL等。一般而言,处理器102接收例如来自存储器104、计算机可读介质等的指令,并且执行这些指令,从而执行一个或多个过程,包括本文描述的一个或多个过程。这样的指令和其他数据可以使用多种计算机可读介质来存储和传送。
[0021] 在机器学习系统中,基于模型的推理是指基于要分析的世界观的机器学习模型114操作的推断方法。一般地,机器学习模型114被训练来学习在输入值与输出值之间提供精确相关性的函数。在运行时,机器学习引擎使用机器学习模型114中编码的知识对照观察到的数据来导出诸如诊断或预测之类的结论。示例机器学习库是通过加州山景城的Alphabet公司可获得的TensorFlow引擎,尽管可以附加地或替代地使用其他机器学习系统。
[0022] 不同类别的机器学习模型114在使用中。生成模型学习联合概率分布 ,而鉴别模型学习条件概率分布 。鉴别分布 可以用于直接将示例 分类成类 。然而,生成模型114可以用于将示例以概率分布单独地拟合到每个类中。当对新点进行分类时,生成模型可以用于确定其中该点最有可能来自哪个分布。
[0023] 如本文所述,模型114是生成模型114。关于生成模型114,令 标示将传感器数据x分类成K个类的机器学习系统。令 由K个不同的生成模型组成 ,使得每个个体生成模型 对应于对第 个类的分布进行建模的生成模型。在深度生成模型114中,每个生成模型 通过被深度神经网络的参数向量 参数化的深度神经网络来建模。从生成模型114,可以获得从与第 个类相关联的分布 生成样本x的似然性,并且模型114可以从与第 个类相关联的分布生成样本 。
[0024] 在其中系统100最大化跨来自属于类 的训练数据116的样本之上的似然性的期望值的过程中,估计每个模型 的参数。相反,那些模型114也可以被训练成最小化跨来自不属于类 的训练数据116的样本之上的负对数似然性,如下:负对数似然性的期望值可以被解释为跨样本分布之上的损失函数
。
[0025] 因而,本公开描述了一种创建互逆生成模型114和互逆深度生成模型114以及如何从标记的训练数据116训练它们的方法。使用训练数据116将这些模型114一起训练为集合,以同时最大化源自目标分布的样本的似然性,并最小化源自目标分布之外的样本的似然性。模型114集合中的每个模型114负责单个类 。
[0026] 构建在互逆生成模型114上的分类系统能够实现高性能水平,同时对分布外样本或甚至分布偏移(其中存在对与数据和类相关联的分布特性的偏移)是鲁棒的。该方法解决了与基于鉴别的模型的使用相关联的显著间隙(对分布外样本或分布偏移不鲁棒),同时维持了通常与鉴别模型相关联的高性能水平。
[0027] 图2是用于互逆生成模型114的训练过程200的示例图。如所示出的,粗实线箭头标示损失关于其被最小化的训练示例(分布内训练示例);细实线箭头标示损失关于其被最大化的训练示例(分布外训练示例);并且虚线箭头标示损失关于其被最小化的所生成示例(合成的分布外训练示例)。
[0028] 给定由 (对于 )参数化的 个生成器的集合,通过确保损失函数跨来自第第 个类的样本(分布内)之上被最小化,并且跨不源自第 个类的样本(分布外)之上被最大化,可以构建互逆生成模型114。通过优化如下两个不同的任务来获得针对第 个类的个体互逆生成模型114的参数 :1)关于属于其第 个类的样本最小化损失(最大化似然性),从而从目标分布中准确地建模样本;以及2)关于不属于第 个类的样本最大化损失(最小化似然性),从而不准确地建模不源自目标分布的样本。通过提升2),模型114正在最小化其在分布外样本的代理上的性能,该代理是通过将来自剩余类的训练样本与来自剩余互逆生成模型114的生成样本相组合而获得的。
[0029] 针对 个类的互逆生成模型114的训练可以如下执行。所使用的输入可以包括训练集 (例如,训练数据116), 个(随机)初始化的生成模型114的集合( ),初始化为假的二元停止条件 ,分布内样本与分布外样本之间的平衡因子,以及现实样本与合成样本之间的平衡因子 、 ,损失函数 。
[0030] 在这些输入的情况下,可以执行以下过程:WHILE 为假
FOR 中的
1‑对分布内样本 进行采样,使得每个采样样本的标签为
2‑对分布外样本 进行采样,使得每个采样样本的标签不是
3‑从剩余的互逆生成模型生成分布外样本
4‑更新第 个互逆生成模型的参数
更新停止条件
因而,可以使用生成模型114,该生成模型114被明确地训练为关于分布内样本集合最小化损失函数,并且关于分布外样本集合最大化损失函数,该分布外样本或是来自训练集,或是被生成的——如果用于训练生成模型114的软件可获得的话。
[0031] 图3是用于训练和使用往复式生成模型114的过程300的示例性实施例的示例图。在示例中,过程300可以在训练过程200之后使用系统100来执行。
[0032] 在操作302处,往复式生成模型114的集合被初始化。K个生成模型的集合可以被配置为将传感器数据分类成K个类,使得一旦被训练,该K个生成模型114的集合中的每个生成模型114就被配置为将示例分类在K个类中相应一个类中或从其分类出来。
[0033] 在操作304处,对每个往复式生成模型114的分布内样本进行采样。在示例中,从训练数据116中拉取分布内样本,作为被分类为属于相应生成模型114的类的样本。
[0034] 在操作306处,对每个往复式生成模型114的分布外样本进行采样。在示例中,从训练数据116中拉取分布外样本,作为被分类为不属于相应生成模型114的类的样本。
[0035] 在操作308处,从往复式生成模型114的集合中除生成模型114之外的每个剩余的互逆生成模型114生成分布外样本。这些附加样本被生成为代理,以提供被分类为不属于生成模型114的类的附加样本。通过使用这些附加的生成样本,生成模型114准确地标识分布外样本的能力得以改进。
[0036] 在操作310处,生成模型114的参数被更新。根据分布内样本、分布外样本和生成的分布外样本来执行更新,以关于分布内样本最小化损失函数,从而最大化样本属于生成模型114的类的似然性,并且关于采样的分布外样本和生成的分布外样本二者最大化损失函数,从而最小化样本不属于生成模型114的类的似然性。
[0037] 在操作312处,如经训练的该K个生成模型114的集合用于关于K个类对传感器数据进行分类。在示例中,传感器数据可以从各种各样的传感器接收,所述各种各样的传感器诸如是视频、雷达、LiDAR、超声和/或运动传感器。通过使用生成模型114,传感器数据可以被准确地分类成K个类。基于传感器数据的分类,系统100可以计算用于控制物理系统的一个或多个控制信号,所述物理系统诸如是计算机控制的机器,如机器人、车辆、家用器具、电动工具、制造机器、个人助理或访问控制系统。在操作312之后,过程300结束。
[0038] 本文公开的过程、方法或算法可以被可递送到处理设备、控制器或计算机/由处理设备、控制器或计算机实现,所述处理设备、控制器或计算机可以包括任何现有的可编程电子控制单元或专用电子控制单元。类似地,过程、方法或算法可以以多种形式存储为可由控制器或计算机执行的数据和指令,所述形式包括但不限于永久存储在诸如ROM设备的不可写存储介质上的信息和可变更地存储在诸如软盘、磁带、CD、RAM设备以及其他磁和光介质的可写存储介质上的信息。过程、方法或算法也可以在软件可执行对象中实现。替代地,可以使用合适的硬件组件、诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、状态机、控制器或其他硬件组件或设备,或者硬件、软件和固件组件的组合,来整体或部分地体现过程、方法或算法。
[0039] 虽然上面描述了示例性实施例,但是不旨在这些实施例描述权利要求所涵盖的所有可能的形式。说明书中使用的词语是描述性而不是限制性的词语,并且应理解,在不脱离本公开的精神和范围的情况下,可以进行各种改变。如先前所述,各种实施例的特征可以被组合以形成可能没有被明确描述或说明的本发明的另外实施例。虽然各种实施例可能已经被描述为在一个或多个期望的特性方面提供了在其他实施例或现有技术实现之上的优点或优选于其他实施例或现有技术实现,但是本领域的普通技术人员认识到,一个或多个特征或特性可以被折衷以实现期望的总体系统属性,这取决于具体的应用和实现。这些属性可以包括但不限于成本、强度、耐用性、生命周期成本、适销性、外观、包装、大小、适用性、重量、可制造性、组装容易性等。照此,至任何实施例被描述为在一个或多个特性方面不如其他实施例或现有技术实现合期望的程度上,这些实施例不在本公开的范围之外,并且对于特定应用可以是合期望的。