CN111542843A - 利用协作生成器积极开发 - Google Patents

利用协作生成器积极开发 Download PDF

Info

Publication number
CN111542843A
CN111542843A CN201880076808.4A CN201880076808A CN111542843A CN 111542843 A CN111542843 A CN 111542843A CN 201880076808 A CN201880076808 A CN 201880076808A CN 111542843 A CN111542843 A CN 111542843A
Authority
CN
China
Prior art keywords
computer system
data
machine learning
classifier
training
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
Application number
CN201880076808.4A
Other languages
English (en)
Inventor
J·K·贝克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
D5AI LLC
Original Assignee
D5AI LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by D5AI LLC filed Critical D5AI LLC
Priority claimed from PCT/US2018/053519 external-priority patent/WO2019067960A1/en
Publication of CN111542843A publication Critical patent/CN111542843A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Algebra (AREA)
  • Image Analysis (AREA)
  • Machine Translation (AREA)
  • Complex Calculations (AREA)
  • Feedback Control In General (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

本文描述了用于改进机器学习系统的积极开发的各种系统和方法。在机器学习中,在允许机器学习系统尽可能多地从训练数据中学习和过拟合训练数据之间总是有一个权衡。这种权衡很重要,因为过拟合通常会导致新数据的性能更差。然而,可以利用各种系统和方法来将详细学习和知识获取的过程与施加限制和平滑估计的过程分开,从而允许机器学习系统积极地从训练数据中学习,同时减轻过拟合对训练数据的影响。

Description

利用协作生成器积极开发
优先权要求
本申请要求下列各申请的优先权:2017年9月28日提交的、发明名称为“利用协作生成器积极开发(AGGRESSIVE DEVELOPMENT WITH COOPERATIVE GENERATORS)”的第62/564,754号美国临时专利申请;2018年9月14日提交的、发明名称为“生成器混合模型(MIXTURE OF GENERATORS MODEL)”的第US18/51069号PCT申请;2018年9月17日提交的、发明名称为“深度学习中用回归目标估计退化量(ESTIMATING THE AMOUNT OF DEGRADATIONWITH A REGRESSION OBJECTIVE IN DEEP LEARNING)”的第US18/51332号PCT申请;以及2018年9月19日提交的、发明名称为“具有递归神经网络的鲁棒的自动关联存储器(ROBUSTAUTO-ASSOCIATIVE MEMORY WITH RECURRENT NEURAL NETWORK)”的第US18/51683号PCT申请,这些专利申请中的每一个都通过引用整体并入本文。
背景技术
机器学习是一个由计算机实现的自我学习算法的过程,该算法可以通过从样本数据输入建立模型来对数据进行预测。有许多类型的机器学习系统,如人工神经网络(ANN)、决策树、支持向量机等。在用新数据进行有意义的预测之前,这些系统首先必须在一些样本输入上进行训练。例如,ANN通常由多层神经元组成。每个神经元都与许多其他的神经元连接,并且链路会增强或抑制它们对已连接的神经元的激活状态的影响。每个单独的神经单元可以有一个求和函数,该函数将所有其输入的值组合在一起。在每个连接和神经元本身上可能存在阈值函数或限制函数,使得信号在传播到其他神经元之前必须超越该限制。节点的每个相应输入的权重可以通过错误成本函数的偏导数的反向传播来训练,其中估计值在训练数据样本上累积。一个大而复杂的ANN在节点之间可以有数百万个连接,并且每个连接的权重必须被学习。
发明内容
在一个总体方面,本发明被设计成克服与积极训练机器学习系统相关的限制。当训练机器学习系统时,在允许机器学习系统尽可能多地从训练数据中学习和过拟合训练数据之间总是有一个权衡。这种权衡很重要,因为过拟合通常会导致新数据的性能更差。然而,本文所述的各种系统和方法可以单独使用或以各种组合的方式使用,以将详细学习和知识获取的过程与施加限制和平滑估计的过程分开,从而允许机器学习系统积极地从训练数据中学习,同时减轻过拟合对训练数据的影响。
通过以下描述,本发明的这些和其他益处将变得显而易见。
附图说明
本发明的各种实施例在本文中通过示例结合以下附图进行描述,其中:
图1A示出了根据本公开的一个方面的积极训练机器学习系统的过程的流程图。
图1B示出了根据本公开的一个方面,利用生成器从不受限系统生成受限系统的系统的框图。
图1C示出了根据本公开的一个方面的积极训练机器学习系统的过程的流程图。
图1D示出了根据本公开的一个方面的积极训练机器学习系统的示例特定的比较开发的过程的流程图。
图1E示出了根据本公开的一个方面的积极训练机器学习系统的错误纠正技术的过程的流程图。
图1F示出了根据本公开的一个方面的用于增量开发机器学习系统的多个过程的流程图。
图1G示出了根据本公开的一个方面的置信估计系统的框图。
图2示出了根据本公开的一个方面的用于生成用于训练机器学习系统的数据的系统的框图。
图3示出了根据本公开的一个方面的共享知识的多个协作系统的框图。
图4示出了根据本公开的一个方面的用于训练协作生成器的系统的框图。
图5示出了根据本公开的一个方面的用于机器学习系统的通用网络架构的框图。
图6A示出了根据本公开的一个方面的用于软绑定节点激活的过程的流程图。
图6B示出了根据本公开的一个方面的用于软绑定节点激活的过程的流程图。
图6C示出了根据本公开的一个方面的随机分类自动编码器网络(SCAN)的框图。
图6D示出了根据本公开的一个方面的增强SCAN(SCAN+)的框图。
图6E示出了根据本公开的一个方面的通过生成器馈送数据的几种类型的自动编码器网络的框图。
图6F示出了根据本公开的一个方面的用于在神经网络之间转移知识的系统的框图。
图7示出了根据本公开的一个方面的包含退化回归机器学习系统的系统的框图。
图8示出了根据本公开的一个方面的图7中描绘的退化回归机器学习系统的框图。
图9A示出了根据本公开的一个方面的用图7中描绘的退化回归机器学习系统实现的随机自动编码器的框图。
图9B示出了根据本公开的一个方面的图7中描绘的退化回归机器学习系统的实现的框图。
图9C示出了根据本公开的一个方面的图7中描绘的退化回归机器学习系统的实现的框图。
图10示出了根据本公开的一个方面的用于训练协作生成器的系统的框图。
图11示出了根据本公开的一个方面的半对抗网络的框图。
图12示出了根据本公开的一个方面的使用生成器来扩充选择数据集的过程的流程图。
图13示出了根据本公开的一个方面的包含附加目标的聚类过程的流程图。
图14示出了根据本公开的一个方面的用于对大量实验估计变量的梯度进行数值估计的过程的流程图。
图15示出了根据本公开的一个方面的图14中描绘的过程的详细估计过程的流程图。
图16示出了根据本公开的一个方面的使用生成器进行数据扩充的过程的流程图。
图17A示出了根据本公开的一个方面的用于纠正困难分类错误的过程的流程图。
图17B示出了根据本公开的一个方面的变分变换器(VT)的框图。
图17C示出了根据本公开的一个方面的用于生成错误纠正变换的过程的流程图。
图18示出了根据本公开的一个方面的用于生成器混合模型(MGM)的系统的框图。
图19示出了根据本公开的一个方面的诸如图18中所示的系统的MGM的过程的流程图。
图20示出了根据本公开的一个方面的MGM的框图。
图21示出了根据本公开的一个方面的用于创建特征检测节点的过程的流程图。
图22示出了根据本公开的一个方面的用于在复杂分类器中定位和生成决策边界描述的过程的流程图。
图23示出了根据本公开的一个方面的用于生成连接两个数据示例的示例的过程的流程图。
图24示出了根据本公开的一个方面的用于数据分割和扩展机器学习网络或集成的过程的流程图。
图25示出了根据本公开的一个方面的在数据示例的数据集中定位近邻的过程的流程图。
图26示出了根据本公开的一个方面的用于改变软标签和共享知识的过程的流程图。
图27A示出了根据本公开的一个方面的由生成器促进的用于转移学习的过程的流程图。
图27B示出了根据本公开的一个方面的由生成器促进的用于在软绑定神经网络之间转移学习的过程的流程图。
图28示出了根据本公开的一个方面的节点或复合节点的各种组合的图。
图29示出了根据本公开的一个方面的用于利用纠正训练来训练鲁棒关联存储器的过程的流程图。
图30示出了根据本公开的一个方面的用于训练关联存储器来记住函数或多值关系的过程的流程图。
图31示出了根据本公开的一个方面的具有组合网络的分类器集成的框图。
图32示出了根据本公开的一个方面的用于将神经网络中的节点训练为决定性的过程的流程图。
图33示出了根据本公开的一个方面的用于训练单个的节点和/或网络作为一个整体来抵抗对抗示例的过程的流程图。
图34示出了根据本公开的一个方面的包含具有目标的中间层的神经网络的框图。
图35示出了根据本公开的一个方面的网络或集成的重复数据分割和增量增长的过程的流程图,该过程导致训练集的性能的持续改进。
图36示出了根据本公开的一个方面的具有附加目标的变分自动编码器(VAE)或SCAN的框图。
图37示出了根据本公开的一个方面的包含真实与生成判别器的生成器的框图。
图38示出了根据本公开的一个方面的包含真实与生成判别器的生成器的框图。
图39示出了根据本公开的一个方面的用于训练尤其是深度神经网络的过程的流程图。
图40示出了根据本公开的一个方面的通过创建和组合集成来增量改进机器学习系统的性能的过程的流程图。
图41示出了可以用于实现本公开的各个方面的计算机系统的图。
图42示出了可以用于本公开的各个方面的类型的深度神经网络的图。
具体实施方式
以下专利申请的每一个都通过引用整体并入本文:2018年9月14日提交的、发明名称为“生成器混合模型(MIXTURE OF GENERATORS MODEL)”的第US18/51069号PCT申请;2018年9月17日提交的、发明名称为“深度学习中用回归目标估计退化量(ESTIMATING THEAMOUNT OF DEGRADATION WITH A REGRESSION OBJECTIVE IN DEEP LEARNING)”的第US18/51332号PCT申请;2018年9月19日提交的、发明名称为“具有递归神经网络的鲁棒的自动关联存储器(ROBUST AUTO-ASSOCIATIVE MEMORY WITH RECURRENT NEURAL NETWORK)”的第US18/51683号PCT申请;2018年9月26日提交的、发明名称为“深度学习中集成的联合优化(JOINT OPTIMIZATION OF ENSEMBLES IN DEEP LEARNING)”的第PCT/US18/52857号PCT申请;以及2018年9月28日提交的、发明名称为“深度学习中的多目标生成器(MULTI-OBJECTIVE GENERATORS IN DEEP LEARNING)”的第PCT/US18/53295号PCT申请。
现在将描述某些方面,以提供对本文公开的设备和方法的结构、功能、制造和使用的原理的全面理解。附图中示出了这些方面的一个或多个示例。本领域普通技术人员将理解,本文具体描述并在附图中所示的设备和方法是非限制性示例方面,并且各个方面的范围仅由权利要求限定。结合一个方面示出或描述的特征可以与其他方面的特征相结合。这种修改和变化旨在包含在权利要求的范围内。此外,除非另有说明,本文使用的术语和表达是为了方便读者描述说明性方面的目的而选择的,并不限制其范围。
以下的描述已经通过使用框图、流程图和/或示例阐述了设备和/或过程的方面,其可以含有一个或多个功能和/或操作。如本文所使用的,框图和流程图中的术语“框”指的是由计算机系统执行的计算机实现的过程的步骤,其可以被实现为机器学习系统或机器学习系统的集合。根据结合每个特定框描述的功能,每个框可以被实现为机器学习系统或非机器学习系统。此外,每个框可以指由计算机系统(其可以全部或部分包含机器学习系统)或执行所描述的步骤的单独计算机系统(其可以包含例如机器学习系统)执行的计算机实现的指令所体现的过程的多个步骤中的一个,计算机系统又与其他计算机系统(其可以包含例如附加的机器学习系统)连接,用于执行结合每个图进行描述的总体过程。
还应注意的是,在本文呈现的各种流程图和框图中,不同的线类型指示所描述的过程和系统的组件之间的连接类型。具体地,神经网络图中的实线通常表示激活和然后反向传播的组合,并且虚线通常表示反向传播和/或超参数控制。
目前描述的过程和系统的各个方面都基于机器学习的积极开发的原则。在机器学习中,一方面,系统尽可能多地从训练数据中学习,另一方面,过拟合训练数据,这两者之间总是存在权衡。这种权衡很重要,因为过拟合通常会导致新数据的性能更差。
积极开发的限定性原则是将详细学习和知识获取的过程与施加限制和平滑估计以减少过拟合的过程分开的概念。图1A是这个范例的说明性实施例的高级流程图。图1A所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。在这个说明性实施例中,框192创建相对不受限的分类系统U。该分类系统不一定完全不受限。该分类系统比从其派生出来的任何系统都更不受限。标注197列出了框192的系统可能具有的属性的一些说明性示例。例如,该系统可以有无限数量的学习参数。也就是说,通过连续几轮的增量开发,更多的学习参数被添加进来,而没有施加限制。在本发明的一些实施例中,如图29所示,系统U的最终示例是鲁棒的关联存储器,其本质上记住训练数据。关联存储器,也称为内容可寻址存储器,通过关联而不是像常规计算机存储器那样通过地址或位置来检索数据。换句话说,关联存储器不知道给定数据项在其存储器中的位置;相反,其将输入模式与输出模式相关联。关联存储器的功能是接收输入的搜索数据(或标签),然后返回与该标签相关联的所有数据。诸如深度神经网络的机器学习系统可以根据所述被训练成作为关联存储器。在一些实施例中,例如,由图35中所示的过程使用称为数据分割的过程的连续轮次。在一些实施例中,例如,如图40中所示,存在连续轮次的集成增长,并且然后将集成组合成单个网络。
在一些实施例中,不受限机器学习系统U的属性选择和迭代地构建不受限机器学习系统U的更高性能版本的过程可以由学习教练199控制。学习教练199是独立的机器学习系统,其学习控制和指导一个或多个机器学习系统的开发和训练,例如框192的不受限机器学习系统U和框193的受限机器学习系统R。体现学习教练199的机器学习系统在2018年3月5日提交的、发明名称为“机器学习系统的学习教练(LEARNING COACH FOR MACHINELEARNING SYSTEM)”的第US18/20887号PCT申请中有更详细的描述,其全部内容通过引用并入本文。
在框193处,计算机系统4100创建受限制的系统R并且施加限制。在一些实施例中,创建一个以上的受限系统R。在一些实施例中,一次一个地创建和分析受限系统R。在一些实施例中,同时创建和分析几个受限系统R。在一些实施例中,在图1A中被称为“受限制的”系统以不一定被认为是限制的更复杂的方式不同于系统U。例如,图1A中的系统193可以具有更多的特征节点。特征节点如图21中所示。特征节点通常具有减少参数自由度的效果。然而,特征节点本身可能会过拟合数据,因此特征与过拟合的关系比某些其他技术更复杂。
在框194处,计算机系统4100平滑决策边界,并执行其他动作来减少尽管有限制仍发生的任何过拟合。例如,框194可以使用图22和23中所示的技术来测试决策边界的平滑性或不规则性。在一些实施例中,框193中的限制足够平滑决策边界,并且框194是可选的。框195测试当前系统配置的性能,优选地在训练和开发中没有使用的数据上,并且然后将控制返回到框193以创建另一个受限系统R,或者返回到框192以创建另一个较少受限系统U。
因此,图1A中所示的过程是一个迭代循环,其中在每次传导通过循环之后,不受限系统U或受限系统R被替换。在传导通过图1A循环的过程中,不受限的系统U和相应的受限的系统R之间的差异的一个特征是它们各自在训练数据和独立开发测试数据上的性能的比较。一般来说,任何系统在训练数据上的性能都要优于其在独立测试数据上的性能,除了数据随机抽样的性能统计波动。在从图1A中的框192到框195并返回到192的相同传导通过循环中,不受限系统U和相应的受限系统R之间的一致特征差异在于(1)不受限系统U在训练数据上的性能应该比受限系统R在相同训练数据上的性能更好,以及(2)受限系统R在独立开发测试集上的性能应该比不受限系统U的性能更好,除了由于数据的随机选择引起的统计波动。
如果受限系统R在训练数据上的性能优于不受限系统U的性能超过指定的统计显著性水平,则受限系统R可用于替换不受限系统U,以成为下一次传导通过循环的不受限系统U。类似地,如果不受限系统U在开发测试数据上的性能优于受限系统R的性能超过指定的统计显著性水平,则受限系统U可用于替换系统R,以成为下一次传导通过循环的新的受限系统R。
迭代循环的目标是开发一个在独立开发测试数据上性能尽可能高的系统。重复迭代循环,直到满足停止标准。在各个方面,停止标准可以是,例如:(1)在训练数据上不受限系统U的性能和独立测试数据上受限系统R的性能之间没有统计上的显著差异,(2)已经达到预定的性能目标,或者(3)已经达到迭代次数或计算量的预定限制。
标注197列出了在一些实施例中不受限系统U的一些示例属性。例如,不受限机器学习系统U192可以:(i)具有无限数量的参数(例如,如果机器学习系统U192是神经网络,则可以向网络添加无限数量的节点和弧),(ii)在集成中具有无限数量的成员,(iii)学习特殊情况(例如,机器学习系统U192可以构建子系统来正确地分类单个数据项),(iv)能够自编程(例如,如果机器学习系统U192是神经网络,则学习教练可以改变机器学习系统U192的架构),(v)能够进行数据选择(换句话说,可以选择训练数据的适当子集来训练机器学习系统U192的单个元素,例如具有为不同元素选择的训练数据的不同子集的神经网络中的节点),和/或(vi)能够扩充数据(换句话说,可以通过变换或扰动训练数据项或通过用生成器创建附加数据来获得附加训练数据)。结合图1C、1D、1E、1F和其他附图,讨论了关于不受限机器学习系统U的这些和其他属性的更多细节。
标注198列出了在一些实施例中由框193和194开发的受限系统所拥有的一些示例属性。例如,受限机器学习系统可以:(i)具有有限的参数和有限的自由度,(ii)应用正则化,这可以有助于限制自由度的数量或者可以有助于平滑决策边界,并且通常可以降低受限制的机器学习系统(由框193和194开发)过拟合训练数据的趋势,(iii)被训练成鲁棒性(换句话说,受限机器学习系统可以被训练成对扰动、变换和噪声具有鲁棒性),和/或(iv)利用平滑扩充(例如,附加的训练数据可以通过变换或扰动训练数据项或在数据空间区域中用生成器创建附加的数据来获得,在数据空间区域中,由于训练数据项的稀疏性,决策边界不能平滑)。通过框193和194开发的受限机器学习系统的这些和其他属性将结合图1B和其他附图更详细地讨论。
标注196列出了一些示例属性,这些属性通常适用于不受限系统U192和受限系统R(通过框193和194开发)。例如,任一系统可以是任何类型的机器学习分类器,包含但不限于:决策树、支持向量机、随机森林、隐马尔可夫过程模型、人工神经网络或其他。每个机器学习系统可以使用适合其类型的任何训练算法。每个机器学习系统可以有无限数量的超参数。例如,如果不受限机器学习系统U192或受限机器学习系统(通过框193和194开发)是神经网络,则神经网络可以具有超参数(例如,学习速率),该超参数对于网络中的每个节点具有定制值。
本发明的许多实施例使用生成器。许多生成器是深度神经网络。然而,生成器可以用来支持任何类型的机器学习系统的开发;因此,当在系统开发中使用深度神经网络生成器时,诸如图1A的不受限系统U(192)或受限系统(193和194),不要求不受限系统或受限系统也是神经网络。
在图1B中示出了在生成器123的帮助下从不受限系统开发受限系统的方式的一个说明性示例的框图。图1B所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图1B示出了从第一分类器124到第二分类器125的知识转移。这种知识转移可以称为“转移学习”。然而,短语“转移学习”在该领域中有时被赋予不同于本文描述的过程的技术定义。因此,从分类器124到分类器125的知识转移过程在本文被称为“模仿学习”。在图27A和27B中示出了通过模仿学习的其他说明性实施例。这个框图可用于在任何两个分类器之间转移知识。例如,第一分类器124可以是不受限的分类器,并且第二分类器125可以是受限的分类器。作为说明性实施例,第二分类器125可以如下进行训练:
1.生成器123生成无限数量的数据示例。在其他附图中示出了协作生成器的许多实施例。
2.这些数据示例中的一些由第一分类器124分类。
3.由第一分类器124分类的一些数据示例和由第一分类器124输出的它们相关联的分类类别形成了第二分类器125的训练集。由第一分类器124生成的其他数据示例和分类类别被设置为开发、验证和测试数据。
4.使用来自第一分类器124的数据示例作为目标输出来训练第二分类器125,并且使用独立的测试数据来评估第二分类器。换句话说,第二分类器125的目标是产生与第一分类器124相同的输出。
5.框126在训练中没有使用的数据上测试第二分类器125。
6.第二分类器125不同于第一分类器124。例如,在一些实施例中,标注127列出了当第二分类器125在图1A的框193和194中被训练成受限制的分类器时可能施加在第二分类器125上的一些示例限制。
以下列表给出了在一些实施例中可能对第二分类器125施加的限制的示例。并非所有这些限制都适用于所有实施例或所有类型的机器学习系统。例如,许多这些限制只适用于神经网络。对于每种类型的机器学习系统,这个列表应理解为从适用于这种类型机器学习系统的限制中选择限制。在一些实施例中,在这些潜在限制中进行选择的过程可以由在计算机系统4100上实现的学习教练199来管理。对于这个选择过程,学习教练199可以测量与训练数据不相交的开发数据上的性能(如从框126到学习教练199的连接所指示的),并且选择改进开发数据上性能的限制。一些示例限制包含:
1.有限参数:参数数量或有效自由度数量减少。
2.多个目标:分类器被训练以满足除了原始分类任务之外的其他目标。具有附加的目标限制了分类器在原始任务上过拟合的能力。使用多个目标的说明性示例如图4中所示,并且另一个示例如图34中所示。在本公开中讨论的许多生成器使用多个目标来改进它们超越训练数据进行泛化的能力。
3.正则化:平滑学习参数的估计或限制其范围。有许多正则化技术。例如,L2正则化向成本函数添加一个额外项,该额外项与学习参数的平方和成比例,将参数推向零值,从而防止它们变得过大。神经网络训练领域的技术人员已知几种形式的正则化。
4.鲁棒性:本发明的各种实施例使用技术来使学习对噪声或者甚至是有意对抗示例更加鲁棒。使学习变得鲁棒的一个额外益处是其降低了系统过拟合的能力。图29、32和33给出了各种实施例中鲁棒性训练的示例。
5.平滑扩充:本发明的各种实施例使用生成器来扩充用于各种目的的训练数据,包含对更多训练数据的简单需求。然而,作为附加的益处,使用随机生成器扩充单个数据示例使得系统有必要围绕原始数据示例对一组数据进行分类,而不仅仅是单个数据示例本身。此外,诸如SCAN(见图6C)或MGM(见图20)的生成器可以通过超参数来控制,以增加或减少其生成的示例的概率分布的标准偏差。这个属性允许控制决策边界中的隐含平滑度。
6.特征表示:在机器学习系统中用特征检测分类器显式地表示一个或多个较低级的特征有助于稳定训练。图21示出了特征发现的说明性实施例。
7.软绑定:在本发明涉及神经网络的一些实施例中,软绑定是一种技术。在一些方面,软绑定包括向一组节点中的每个节点的成本函数添加一个项(在一些情况下称为“松弛项”),以惩罚节点使它们的激活值彼此偏离。定制的超参数可以限制对特定数据示例的软绑定,例如,聚类内的数据示例。在图6A、6B和27B中示出了软绑定的说明性实施例。如图6C和9所示,软绑定也用于训练SCAN。在许多其他实施例中,其隐含地用于知识共享。
8.学习参数的(硬和软)绑定:卷积神经网络使得图像中不同位置的卷积网络中的连接权重相同,并且共享它们所有的训练数据。本发明的一些实施例将这个过程泛化为包括硬绑定和软绑定,并且允许绑定任意组学习参数。对于软绑定,学习的参数可以参与多个重叠的软绑定集。在神经网络中,软绑定不仅可以应用于学习参数,如连接权重,还可以应用于数据相关的值,诸如节点激活。一个数据示例的节点的激活可以与另一个数据示例中的节点的激活或者一组数据示例软绑定。网络中,甚至处理相同数据示例的不同网络中的两个或更多个节点的节点激活也可以是软绑定。所有软或硬绑定的情况都会减少有效的自由度的数量。
9.共享知识:共享知识是关于特征或数据示例的知识,可以在机器学习系统的各部分之间或在多个协作的机器学习系统之间共享。本发明的各种实施例通过向成本函数添加项来帮助系统学习导入的知识,从而实现共享知识的集成。成本函数中的这些添加项的效果类似于额外目标和正则化项的效果。它们减少了参数的有效自由度数量。图6F中示出了一种用于转移和共享知识的方法的说明性实施例。软绑定节点激活也可以共享知识。知识可以通过模仿学习来转移,例如,如图1B、27A和27B中所示。
10.丢弃:丢弃是一种在神经网络中随机选择节点并且将这些节点的激活值临时设置为零的技术。这个过程迫使网络的其余部分在没有被丢弃的节点的帮助下,在丢弃期间学习对数据示例进行分类。本发明的一些实施例扩展了超参数的数量,以定制丢弃的控制。一些实施例实现非随机的、受控的丢弃。在一些实施例中,一些实施例实现了对丢弃的泛化,例如通过使得从丢弃中选择的概率因节点而异,取决于超参数,并且取决于数据条件。对于训练神经网络领域的技术人员来说,丢弃是已知的。
11.应用于节点激活的噪声:本发明的一些实施例以类似于丢弃的方式向神经网络中的节点添加噪声。也就是说,对于激活值的某种形式的扰动,随机选择一些节点,除了扰动的形式不限于将激活值设置为零。例如,节点可以将其激活值乘以指定范围内的随机正数,或者可以将随机正数或负数添加到激活函数的输入中,或者可以进行其他随机改变。超参数将控制变化的类型、变化的允许值范围以及进行变化的概率。对于丢弃的泛化,节点激活中的这些随机变化因节点而异,并且在一些实施例中可以是数据相关的。在一些实施例中,噪声对网络中节点的应用可以由学习教练控制。
12.固定值节点:固定值节点是内层中的节点,没有来自其他节点的任何连接。固定节点的激活值不依赖于下层的激活。激活值可以是输入节点的副本,其可以由外部规范设置,或者其可以由偏置设置或添加到偏置,偏置可以是学习参数或可以由超参数设置。就反向传播而言,固定节点的行为类似于网络中间层的输入节点。然而,它们不一定依赖于输入。固定节点的添加对自由度的数量有相对中性的影响,但对学习过程有稳定的影响。固定节点的说明性示例如图34中所示。
13.内部节点的目标:神经网络内层中的节点可能有多个目标,就像输出节点一样。多个目标向成本函数添加附加项。局部目标的成本函数直接将其导数添加到反向传播到节点的梯度上。与多个输出目标一样,内层的多个目标有效地减少自由度的数量。内部节点目标的说明性示例如图34中所示。
14.更平滑的边界:任何更平滑边界的规范都可以通过模仿学习来直接训练,而不必找到一组拟合边界的参数值。期望的边界甚至不需要有参数表示。模仿学习将教会机器学习系统逼近期望的边界。图22中示出了生成决策边界以研究其属性的说明性实施例。图22和23呈现了决策边界平滑性或不规则性的诊断示例。图1B、27A和27B示出了模仿学习的说明性示例。
15.数据丢弃:数据丢弃不同于称为“丢弃”的过程,“丢弃”指的是神经网络中节点的随机丢弃。相比之下,“数据丢弃”指的是在超参数的控制下,数据示例的影响被丢弃或降低。数据丢弃适用于所有类型的机器学习系统。在下面的伪代码中引入的超参数dm控制数据示例m的“影响”权重。在本发明的一些实施例中,在扩展的超参数集中,每个数据示例都有一个超参数dm。在数据示例m上的训练中,对任何学习参数的任何增量更新都乘以数据示例的影响权重dm。默认情况下,所有影响权重都等于一。任何数据示例m的效果都可以通过改变其影响权重来增加或减少。将dm设置为零有效地删除数据示例m。删除数据示例名义上减少了训练数据的数量。但是,如果导致过拟合的数据示例的影响权重降低或设置为零,这将直接减少过拟合的数量。数据丢弃可以由学习教练控制。例如,数据项的影响权重的变化可以基于独立测试集上的性能相对于训练集中的数据项的影响权重的变化的偏导数的估计来调整。
16.标签、特征值和其他类别值变量的随机变化:类别值变量的随机变化有助于训练系统对新数据出现的随机或意外变化保持鲁棒。这些随机变化也降低了系统过拟合的能力。在一些实施例中,这些变化可以由学习教练控制。例如,学习教练可以通过强化学习过程探索这些属性的可能变化。
17.决定性节点:在一些实施例中,选择一些或所有节点以具有决定性目标,如图32中所定义的。一旦节点对一组数据示例起决定性作用,其就不太可能在进一步的训练中改变。在早期训练中,决定性可能是不期望的。然而,在以后的训练中,决定性降低了自由度的有效数量。在网络规模增量增长的一些实施例中,期望网络较旧部分中的节点在网络扩展之前被训练得更加有决定性。
在图1A的框193或图1C的框103中,被训练的任何受限制的系统可以体现以上列表中的任何示例限制或其他限制。这些系统中的任何一个都可以通过模仿学习来训练,例如,如图1B或图中27A所示。此外,在一些实施例中,它们中的许多或者可以通过例如图27B中所示的模仿学习过程来训练,该过程更具体地应用于神经网络。图27B中节点的软绑定帮助接收知识的网络从原始网络转移有用的知识,同时满足任何施加的限制。
图1B中有限制的模仿学习的范例是一个非常普遍的范例,其依赖于具有质量生成器。在本公开的图4、6C、8、9、10、11、20、36、37、38和其他附图中示出了训练协作生成器的新颖方法的许多说明性示例。图27A和27B中说明了模仿学习的附加的方法。在图6F中示出了一种用于转移在一组节点中表示的知识的方法。
每当第二分类器125以任何方式不同于第一分类器124时,都可以使用图1B中使用的模仿学习技术。第二分类器125不一定比第一分类器124更受限。例如,第二分类器125可以比第一分类器124具有更多的学习参数。作为示例,图27B使用图1B中的技术的变体来训练第二分类器2704,第二分类器是具有第一分类器2703的几倍层数的神经网络。
一般来说,在机器学习中,有些数据用于训练机器学习系统,并且预留一些数据用于测试。谨慎的做法是为最终测试保留测试数据,使得测试数据的知识不会影响设计决策。为了能够测试仍在开发中的系统的性能,另一组数据,称为“验证”数据,也优选预留来进行测试。
优选地,验证数据应被视为测试数据。也就是说,除了测试正在开发的系统的性能之外,其不应用于开发目的。如果从训练数据预留的数据需要用于任何其他目的,则在本讨论中称为“开发”数据。例如,开发数据可用于确定控制参数的最佳值,称为控制学习过程的“超参数”。例如,某些超参数的值可能会影响学习过程对训练数据进行欠拟合或过拟合的趋势。验证数据经常被用于这种目的,但是这混合了开发和测试,当开发过于积极时会导致问题。
在这个讨论中,“过拟合”指的是被训练的系统学习训练数据的详细属性的属性,该属性不能泛化到新数据。“欠拟合”指的是没有尽可能详细地学习那些能够泛化的属性的属性。过拟合改进了训练数据上的性能,但使新数据上的性能更差。过拟合和欠拟合可以通过对验证数据或开发数据进行测试来检测。然而,如上所述,最好为最终测试保留验证数据,并将开发数据用于中期测试。如果预留的开发数据在开发数据测试126上的性能比在训练数据上的性能差得多(例如,在指定的统计显著性水平上使用零假设测试),则(i)可以对第二分类器125施加附加的限制,或者(ii)生成器123可以用于生成将由第一分类器124分类的附加的数据,并且用作第二分类器125的附加的训练数据。
复杂、高级的机器学习系统和方法实际上可以学习开发数据的属性,即使其未被明确地用于训练。这个过程可能导致类似于过拟合训练数据的效果。也就是说,开发数据上的性能可能不再代表新数据上的性能。出于本讨论的目的,有可能导致开发数据上的性能不再代表新数据上的性能的开发工作被称为“积极开发”。当一组开发数据不再准确预测新数据上的性能时,其会被一个新的开发集所取代。
本发明的说明性实施例使用积极开发来实现比不太积极开发更低的错误率。它们可能使用两组或更多组开发数据。例如,第二开发集可用于测试第一开发集上的积极开发是否实际上导致了新数据(即第二开发集)上的性能退化。当这种退化发生时,可以缩减第一开发集上的积极技术,或者可以采取其他纠正措施,例如切换到第二开发集。
图1C是在本发明的各种实施例中使用的积极开发过程的说明性实施例。图1C中所示的过程可以由计算机系统执行,诸如图41所示的计算机系统4100。积极开发的过程预留一组与训练数据不相关的数据用于验证测试。其还为开发预留数据。开发数据不仅用于开发期间的测试,而且更主动地用于错误的诊断和纠正。因此,存在多个开发集,使得当早期的开发集不再预测新数据的性能时,可以使用新的开发集。
在框100处,计算机系统4100使用指定的训练集T和第一开发集Dev1开始开发过程。其中具有多个开发集使得能够进行多轮开发。其还支持一个称为增量开发的过程。增量开发包含将一组开发数据添加到训练集中,并且使用新的开发集。当第一开发集Dev1不再准确预测新数据的性能时,就会发生开发集的这种转移,因为开发已经间接地调谐了系统。当Dev1不再准确预测新数据上的性能时,系统通过将Dev1添加到集T来将其转换为训练数据,检索第二开发集Dev2,并且然后重复所描述过程n次迭代,其中Devn对应于第n次迭代的开发集。增量开发将参考图1F进行更详细的解释。
在框101处,计算机系统4100选择开发的范围。在本框中使用的意义上,“全局”开发指的是对机器学习系统的整个训练数据集和整个数据结构进行优化的学习参数和超参数。“区域”开发范围指的是孤立于数据空间的某个区域或被训练的数据结构的特定子集的开发。“局部”开发范围指的是孤立于一组数据示例的开发,这些数据示例在某种意义上彼此“接近”,即,在某个距离阈值内的邻居,或者在附图结构中的少量步骤中连接的邻居,或者某些其他度量的近邻。区域开发和局部开发之间不一定有任何区别,两者在范围上可以统称为“中间”开发。“单个”开发范围指的是主要关注单个数据示例或数据结构中的单个元素的开发,例如单个节点及其连接弧。这种范围级别的划分只是一个帮助讨论的指南。没有明确的操作判别将一个开发范围与另一个分开。重要的特征是,开发过程的一部分是首先在一个范围级别工作,并且然后缩小范围以进行更详细的分析。
图1C中所示的实施例将限制较少的系统U与一个或多个其他系统相比较。一般来说,其他系统与U系统相比更受限或有所不同,这有助于创建更平滑的决策边界。在一些实施例中,一些其他系统可以使用倾向于减少过拟合的专门技术,但是在一些情况下,这可能导致过拟合。遵循积极开发的原则,系统U被设计成使用尽可能多地学习细节的技术,即使有过拟合的风险。例如,在积极开发中,系统U可以被设计成增加学习参数的数量和机器学习系统的复杂性。在深度神经网络的情况下,系统U可以使用如图27B中所示的技术设计成层数大大增加。其他系统中的每一个都是为了纠正由过拟合引起的问题。例如,它们试图通过正则化或通过减少参数的自由度的数量来平滑决策边界,可能通过直接减少学习参数的数量。然而,在一些实施例中,一些其他系统可以做出效果更复杂的改变。
图1D和1E中示出了积极开发训练的一些实施例的细节。图1D和1E中所示的训练技术可以在图1B的范例中使用或者独立使用。例如,与系统U不同的一些系统可能只在超参数的设置上有所不同,如正则化参数。在一些实施例中,这样的系统可以直接在与系统U相同的数据上训练,而无需通过模仿学习。作为另一种选择,可以使用图27A中所示的实施例进行模仿学习。如果机器学习系统是神经网络,则可以使用图27B中所示的实施例。
在图1C的框102和103处,计算机系统4100建立来自系统U和一个或多个其他系统的结果之间的比较。在框102处,计算机系统4100选择另一个或多个系统来与系统U进行比较,并且设置可能需要被设置以包含错误权衡的任何控制参数的值。对于系统U与其他系统中的一个的每一对,其目的是使两个系统包含一系列系统变化,从而造成一种错误权衡的情况。也就是说,系统U应该修复其他系统产生的一些错误,反之亦然。这种选择是有意的,因为比较允许详细检查错误中涉及的数据示例。在框103处,计算机系统4100然后训练要与系统U进行比较的一个或多个系统。
在框104处,计算机系统4100进行数据扩充和半监督标记。数据扩充利用了结合其他附图解释的各种生成器。例如,数据扩充可以通过SCAN(见图6C)或VAE完成。半监督标记与扩展超参数集的自动优化(例如,如图14和15中所示)以及聚类和特征检测过程(例如,如图13和21中所示)相互作用。
在框105处,计算机系统4100进行示例特定的比较开发,如图1D所示。框106然后保存配置。也就是说,其以足够的细节保存了当前最佳系统的描述,以便将其复制。例如,其保存系统架构的描述、所有学习参数的值、所有超参数的值,以及训练集和开发集的内容的其他指示的链接、索引。
在框106处保存配置之后,框107在独立数据上测试配置的性能,例如,尚未使用的开发集(即,Devn+1,其中Devn是已转换为训练集T的最新开发集),或者作为最终测试的验证集。在框109处,这个配置的性能可以被传送到其他(例如,外部或外侧)计算机系统。开发集上的性能测试也可以在内部用于比较不同配置的性能。
在所示过程的一些方面,在由计算机系统4100执行过程期间,框108被省略或跳过。在框108处,计算机系统4100可选地改变数据选择。其可能会改变开发范围,或者其可能通过将当前开发集添加到训练集中并获得新的开发集来开始全新一轮的开发。在任何情况下,其将控制返回到框101。
除了配置性能之外,计算机系统4100还可以在框109处主动地传送其他信息。例如,如图2和3中所示,图1C中所示的系统可能只是在同一任务上协作的许多系统中的一个系统。在一些实施例中,在框109处,计算机系统4100可以与这些其他系统共享知识。例如,在框109处,计算机系统4100可以共享其从聚类和从开发特征检测器中获得的知识。聚类的一个实施例在例如图13中示出。例如,在图21中示出了特征检测的一个实施例,其与聚类相互作用并且增强聚类。在框109处,计算机系统4100还可以从其他系统请求这样的知识,或者主动接收它。其还可以共享系统从其单个数据示例的错误分析中获得的知识。其还可以共享配置,例如在框106中保存的完整配置、特征检测器的配置或者在稍后将解释的一些实施例中使用的某些支持系统的配置。2018年5月31日提交的、发明名称为“具有学习教练的异步代理和无性能退化地在结构上修改深度神经网络(ASYNCHRONOUS AGENTS WITHLEARNING COACHES AND STRUCTURALLY MODIFYING DEEP NEURAL NETWORKS WITHOUTPERFORMANCE DEGRADATION)”的第US18/35275号PCT申请中提出了知识共享和数据共享的说明性示例,其全部内容通过引用并入本文。
在框110处,计算机系统4100可选地使用学习教练来控制超参数和实验。框110还可以使用图14和15中所示的通用优化过程直接优化超参数,这将在下面进行更详细的描述。
图1D是在本发明的各种实施例中用于示例特定的比较开发中的一些技术的概述。图1D中所示的各种技术可以由计算机系统执行,例如图41所示的计算机系统4100。图1D中所示的说明性实施例包含许多不同的用于改进分类器性能的示例性技术,并且以特定顺序将其示出。其他实施例可以仅使用所示技术的子集,并且可以以不同的顺序将其使用。在一些情况下,一些技术可能不适用,或者一些实施例可以简单地选择不将其使用。以任何顺序应用的适用技术的任何子集都是可操作的,并且是说明性的实施例。换句话说,本文公开的系统的各个方面可以以任何组合和任何顺序利用任何数量的这些错误纠正技术。
除了框112,图1D中所示的所有技术都可以应用于任何类型的分类器,而不仅仅是神经网络。例如,尽管用于数据扩充的生成器是神经网络,但是其可以为任何类型的分类器生成数据。作为另一示例,可以用任何类型的分类器进行聚类,并且可以结合聚类来训练神经网络特征检测器,如图21中所示。聚类本身不需要通过神经网络来完成。基于神经网络的特征检测器然后可以用特征值标记所有数据示例。然后,这些标签可以用于通过模仿学习来训练任何类型的分类器,如图1B或27A中所示。
图1D和1E中所示的训练和错误纠正技术不需要图1B中所示的模仿学习范例,但它们之间是兼容的。一般来说,图1D和1E中增加学习参数的数量或拟合度的技术将被用于训练图1B中的第一分类器124,而限制拟合度的技术将被用于训练图1B中的第二分类器125。对于在第二分类器125的训练中施加目标的那些技术,该目标可以被施加为多目标实施例中的附加目标。图27A和27B中所示的模仿学习实施例可以将知识从限制较少的机器学习系统转移到限制较多的机器学习系统,或者从限制较多的机器学习系统转移到限制较少的机器学习系统。
尽管下面结合图1D讨论了各种不同的错误纠正技术,但是该系统可以包含附加的、未枚举的的错误纠正技术,如框112所示。这些附加技术的一些示例如图1E中所示。与图1D中所示的技术不同,图1E中所示的许多技术是神经网络特有的,因为其直接作用于网络中的节点。与图1D一样,图1E中所示的技术可以由计算机系统来执行,例如图41所示的计算机系统4100。
由图1D的框113表示的第一种错误纠正技术创建了示例特定的扩充数据和控制。图6C、9、12、16、36、37和38的SCAN和VAE可以生成与指定示例或一小组示例相关的数据。超参数可以控制生成过程中使用的标准偏差与训练过程中潜在变量值的比率,从而控制生成数据在指定示例周围的扩散量。一个单独的超参数可以控制每个标准偏差,这很有用,例如,如果一些潜在的变量已经被训练成特征检测器(如可以通过SCAN来完成)。SCAN和VAE也可以被训练以避免生成被分类为不同类别的数据示例,或者避免生成类似于指定的负示例的数据,如图6C的框608所示。
扩充的数据有几个目的。首先,大型机器学习系统,尤其是大型神经网络,需要大量的训练数据。这些机器学习系统的性能随着可用数据的增加而提高。一般来说,生成数据不如等量的真实数据有用,但是任何种类的更多数据总是有用的。例如,即使是有噪声的数据和失真也能使经过训练的系统更加鲁棒,并减少由真实数据的可变性引起的错误。示例特定的生成数据在一些实施例中甚至更有用,因为其可以针对特定的问题区域。
第二,来自随机生成器的数据扩充以平滑的概率分布填充数据空间,减少分类器过拟合的趋势。
最后,SCAN或VAE被训练来避免负示例的能力可以被用作生成示例的指南,这将有助于训练分类器来学习一个流形,该流形可以绕过附近的其他类别的聚类。
还有一个超参数dm,即影响权重,其控制训练过程中给予每个数据示例的相对权重。由于过拟合而导致错误的训练示例可以将其影响权重降低为零。数据示例甚至可以例如通过半监督学习或部分监督学习的过程来改变其身份或标签。
由框114表示的第二种错误纠正技术从系统U和其他分类器的开发数据上的性能中收集信息。此活动的模型是系统调谐,通常由系统开发人员手动完成。例如,框114试图帮助系统找到可以与训练集中的数据示例相关联的问题区域,并且然后用图1D和图1E中的其他技术来修复。
积极开发允许相对不受限系统U由于过拟合而产生一些错误的可能性。根据定义,过拟合可能会在新数据(例如开发数据)上产生错误。在框114处,计算机系统4100寻找可能由于过拟合而导致的错误。例如,其可以在开发集中寻找被系统U错误分类但被其他系统中的一个(系统R)正确分类的数据示例XDEV。在框114处,计算机系统4100然后寻找被系统U正确分类但未被系统R正确分类的一个或多个邻近示例YDEV。每个数据示例YDEV上的错误可能已经通过在XDEV上以及可能在其他数据上引起错误的过拟合而被纠正。计算机系统4100然后在框114处试图找到训练集中每个数据示例YDEV的近邻示例YT。优选地,每个示例YT被系统U正确地分类,但是被至少一个其他系统(例如系统S)错误地分类,该系统可以与系统R相同或不同。然后,在框114处,计算机系统4100向数据示例YT呈现一对权衡包括系统U和S,作为在图1D的其他框中所示的技术的问题示例。本发明的各种实施例可以以类似于本示例的其他方式使用开发数据来找到可能与训练集中的数据示例相关的问题案例。
在本示例中,114框必须在XDEV附近找到YDEV,并且在YDEV附近找到YT。在高维空间中,很难找到与给定示例接近的数据示例。图25中示出了一种技术的说明性实施例,该技术用于寻找与指定数据示例接近的数据示例。
由框115表示的第三种错误纠正技术通过例如使用聚类、软绑定和图13和21中所示的其他技术来训练聚类和特征。聚类可以通过无监督学习来完成,但是与特征发现一起完成可能会产生更有意义的聚类。节点激活的特征检测、聚类和软绑定都支持并增强彼此。节点激活的软绑定在图6A和6B中进行了解释。
节点的软绑定提供了一种正则化形式,其也鼓励更好地表示知识,例如特征检测。节点激活的软绑定是SCAN训练的基本部分。SCAN还支持作为潜在变量的特征检测节点,以及聚类和类别的软绑定,这是SCAN名称中“分类”特征的来源。超参数可以控制聚类和类别的软绑定的相对程度。
由框116表示的第四种错误纠正技术检测潜在的问题区域。首先,在框116处,计算机系统4100找到一个或多个数据示例,这些数据示例被错误分类或者在分析的某些其他部分被视为问题情况。例如,如果一个正确分类的数据示例被怀疑会导致过拟合错误,则其仍然是一个问题案例。在一些实施例中,如果正确分类的数据示例的得分很勉强,其可以被视为问题案例。问题示例可以是来自训练集T或开发集Dev的数据示例。如果该示例来自开发集,则在由框116进行的分析中获得的信息的使用将受到限制。例如,问题示例可能需要使用类似于框114所描述的过程来在训练集中查找示例,而不是直接使用。在一些实施例中,可以使用生成的示例。
对于被错误分类或接近错误分类的示例,确定了两个感兴趣的类别:类别A,数据示例的正确分类,以及类别B,错误分类或接近错误分类的类别。框116例如通过使用图22中所示的过程找到两个类别之间的决策边界。在说明性实施例中,框116将这个决策边界发送到框117,以检查过拟合或其他不规则性。
在框116处,计算机系统4100使用特定于类别A的生成器和特定于类别B的生成器来生成一组类似于X的随机示例。在各个方面,生成器是随机自动编码器的一种形式,例如VAE或SCAN。图6C和9中示出了说明性SCAN。随机数据示例可用于估计示例X的邻域中的每个类别的条件概率分布。框116测试这些概率分布重叠了多少。
在一个实施例中,在框116处,计算机系统4100使用过程,例如图25中所示的过程,从训练数据T或开发数据Dev中找到接近于示例X或者在一些实施例中接近于X区域中的决策边界的示例。不能使用来自开发集Dev的实际示例,但是一些实施例可以使用由框116做出的定性结论。第一定性判断可以是在X的区域中是否有大量数据示例接近X或接近决策边界。在一些实施例中,这个定性判断中的贴近度不是数据空间中的距离,而是分类得分与边界或X的得分有多近。
在某个指定的距离阈值内的数据示例可用于估计该区域中两个类别的非参数后验概率。如果T或Dev中没有其他数据示例在距X的某个指定阈值距离内,则数据示例X被指定为“孤立的”。在一些实施例中,可以忽略孤立的错误。在一些实施例中,训练数据上的单个孤立的错误或者紧密在一起但以其他方式孤立的少量错误将被建模并分类为异常。例如,可以训练具有中心环绕的特殊检测器来检测孤立的示例,并在附近但有些分离的随机示例上进行负训练。中心环绕检测器应该能够检测到足够接近的示例和新示例,而不会对类别B的示例进行错误分类。中心环绕检测器的性能需要在未用于其训练或开发的数据上进行测试。作为替代,孤立的错误可以被视为“贝叶斯错误”,如下一段所述。图18和20中使用了中心环绕检测器的说明性示例。
如果类别B的后验概率比类别A的后验概率大得多,则很难在不对类别B的示例造成错误的情况下对示例X进行正确分类。在这种情况下,数据示例X被称为“贝叶斯错误”。在一维数据空间中,最小可能错误率被称为“最小贝叶斯错误”率。在一维数据空间中,最小错误是通过将任何“贝叶斯错误”作为错误分类来实现的。在更高维的情况下,“贝叶斯错误”可以被修复,但是需要特殊的过程,例如空间度量或变换的改变,如图17A、17B和17C中所示。因此,在这种情况下,框116给示例X定性命名为“贝叶斯错误”。
如果有足够多的类别A示例足够接近X,则X被指定为“可聚类的”。也就是说,如果类别A示例来自T,一些实施例可能能够从那些示例和X创建聚类模型,使得聚类的先验概率和聚类内X的条件概率足够高,使得X作为类别A的聚类成员的后验概率高于X作为类别B的后验概率。则在不增加错误率的情况下,示例X可以被分类为A。由于X在聚类中的条件概率受聚类形状的影响,因此在选择聚类中包括哪些示例时可能需要一些实验。例如,可以训练神经网络,以基于条件概率X的错误成本函数来作出这个决定。
如果类别A的邻近示例的数量足够使X来自类别A的后验概率大于来自类别B的后验概率,则X被指定为“不必要的”错误。应该可以在不增加错误率的情况下修复X上的错误。例如,可以在训练中简单地给X额外的权重,或者可以将在X附近随机生成的示例添加到训练数据中。也许X的错误分类是由于欠拟合,并且错误可以通过放松正则化简单地纠正。如果存在欠拟合,通过向机器学习系统添加附加的学习参数,例如使用图1E或图1F中所示的一种或多种方法,可以修复示例X和可能的其他错误。
由框117表示的第五错误纠正技术从框116接收潜在问题区域的决策边界。其还接收关于由图22中所示过程计算的决策面的正交向量的信息。垂直于决策面方向的快速变化是过拟合的标志。在框117处,计算机系统4100还执行其他测试以寻找过拟合的证据,例如测试沿着曲线的分类得分的平滑性和一致性,例如连接两个数据示例的曲线,如图23中所描述的。
过拟合在开发数据上更容易检测。在框117处,计算机系统4100考虑过拟合的受害者,而不是导致过拟合的数据示例。在一个说明性实施例中,计算机系统4100在框117处调整拟合度控制,使得较少受限的系统U在开发集Dev中的一个或多个数据示例X上产生错误,并且一个或多个受限的系统(例如系统R)纠正这个错误。在一些实施例中,示例X仅仅被传递回框116。然而,已知正则化修复系统R中的错误。在一些实施例中,替换或者除了将示例X传递回框116之外,框117尝试使用局部正则化来修复错误。请注意,X上的错误是过拟合的受害者,而不是过拟合的原因,但是框116主要是为了纠正或避免过拟合的原因。由R产生的额外错误是由过多的正则化引起的,所以局部化的正则化可能表现得更好。
正则化可以被局部化以仅应用于某些数据示例,或者,在神经网络中,其可以被局部化以仅应用于某些节点和连接。作为说明性示例,实施例将被描述为具有两种形式的局部化。在一些实施例中,包含不使用神经网络的机器学习系统,数据局部化可以单独使用。
在所描述的情况下,已经发现至少一个被系统U错误分类的数据示例X。说明性实施例将针对示例X进行描述。相同的过程可以被应用于由系统U产生的、可以通过局部正则化来修复的任何其他错误。
局部正则化的说明性示例首先使用随机生成器来随机生成与数据示例X相关的一组数据示例。局部正则化可以通过选择网络中的一些节点并在X和生成的示例之间软绑定这些节点的激活值来实现。平滑度可以通过绑定强度或控制生成器标准偏差的超参数来控制。生成器的标准偏差也控制平滑的局部化程度。平滑也可以通过对生成数据示例进行平均训练来实现,这适用于任何类型的机器学习系统。
在框117处,计算机系统4100试图通过用上述局部正则化替换R中的全局正则化来避免系统R产生的错误。
由框118表示的第六种错误纠正技术试图纠正一些“贝叶斯错误”和其他看似难以处理的错误。难以正确分类的数据示例通常是其自身类别的罕见变体或失真,而不是偶然与其他类别非常匹配。在框118处,计算机系统4100试图找到将困难模式改变为看起来更像其类别的正常示例的变换,将其从“贝叶斯错误”改变为框116的术语中的可聚类示例。
在一个实施例中,框116包含图17A中所示的过程,该过程试图找到这样的变换。该变换由神经网络计算。用于数据扩充的生成器也是神经网络。然而,该变换直接对数据起作用,并且不假设进行分类的机器学习系统的类型。
图17B是VT,其架构类似于VAE,只是被训练成变换器而非自动编码器。在一些实施例中,VT用于类似于图17A中描述的变换过程的目的。然而,在图17B中所示的说明性实施例中,变换器被反过来使用。在图17B中,VT被训练来变换目标类别的原型示例,使其看起来像难以分类的示例模式。然后,由图17B中的随机变换器生成的示例被用作扩充的训练数据,使得分类器可以正确地识别其他变换的示例。
返回参考图1D,框118也有责任通过例如利用图14和15中公开的过程调谐超参数来调谐由其自身和由一些其他过程使用的生成器,这将在下面更详细地描述。
由框119表示的第七种错误纠正技术通过与目前描述不同的方法将范围缩小到区域开发范围。在框119处,计算机系统4100不是寻找并集中于困难的单个示例,而是占据示例的整个空间并将其分解成更小的部分。在框119处,计算机系统4100使用单独的支持分类器,即数据选择器,来分割数据空间并划分数据。数据选择器以与其分配训练数据相同的方式将操作数据分配到分区箱中。数据选择器可以是任何类型的机器学习系统。其可以是与主机器学习系统不同的类型,也可以是任何类型。
在其最简单的形式中,数据选择器可以是任意的分类器,其简单地以与主分类系统的分类任务无关的方式可再现地划分数据。即使这样一个不相关的支持分类器也能达到将数据空间分成更小区域的效果,这些区域对于主分类器来说可能更容易处理。
一种更高级形式的数据选择器与作为集成的主分类器结合使用。在这个说明性实施例中,数据选择器被训练来预测集成中的哪个成员在对每个特定示例进行分类时表现最佳。集成的成员在通过数据选择器分配的示例上进行训练。即使数据选择器最初在这个预测上很差,如果其预测是一致的,它们会变成一个自我实现的预测,因为集成中的每个成员都被训练以专门处理数据选择器发送给它的数据类型。
在一种不同的专门化形式中,数据选择器本身可以是用于主要分类任务的最先进的集成分类器。然后,它可以根据其成员所做的分类来选择数据。主分类器的集成成员(即第二集成)然后可以专门验证数据选择器(即第一集成)的结果,不仅可以访问原始数据,还可以访问输出得分,甚至第一集成成员的内部分析。此外,第二集成可以有更多的成员,例如,一个成员专门处理第一集成的两个特定成员不一致的情况。第二集成的其他成员,即主分类器,可以专门处理不一致的两个选择是特定类别对的情况。2018年4月16日提交的、发明名称为“多级机器学习和识别(MULTI-STAGE MACHINE LEARNING AND RECOGNITION)”的第US18/27744号PCT申请中讨论了这些说明性示例和其他示例,其全部内容通过引用并入本文。
尽管本发明的各种实施例中的大多数训练名义上是监督学习,其中所有数据示例都被标记,最终所有标记都是“软的”。也就是说,如果有足够的证据表明标签的改变会改进性能,则可以改变标签。系统可以共享关于标签的知识和意见,例如,如图1C的框109所示进行通信。框120管理审查和改变标签的过程,例如,通过在开发过程的不同时间调用图26中所示的过程。
在一些实施例中,框121使用图19和20中所示的MGM。如图20中所示,MGM含有生成器和检测器。MGM既可以生成模拟数据,也可以对其进行分类。
在包含MGM的框121的实施例中,MGM可以用作模拟器,并且其用作分类器将在下面结合图1E的框183进一步详细解释。在一些实施例中,MGM中的生成器中的一个被训练成模拟主分类器中的每个聚类。主分类器是什么类型的机器学习系统并不重要。如果主分类器使用聚类,并且可以报告哪些数据示例被分配给每个聚类(以及如果分配不是全有或全无,则相对权重是多少),则可以训练MGM来对其进行模仿。
一旦MGM已经被训练来模拟聚类,则MGM可以被用于通过其他过程来指导超参数的设置。例如,如果任何框想要知道不同类型的正则化对欠拟合或过拟合程度的相对有效性,其可以首先尝试在模拟器上测试正则化的类型,并且一旦其缩小了选择范围,就在主分类器上验证最终选择。例如,这个概念扩展到任何一个过程对任何一组超参数的任何实验。真实的训练数据量是有限的,但是MGM可以为开发和实验生成无限量的数据。框121管理与MGM的关系,使得各个过程不需要知道细节。
如标注122所示,任何过程都可以调谐某些超参数,例如,通过使用图14和15所示的过程,或者通过对开发数据的简单试验和测试。
图1E是在本发明的一些实施例中使用的各种过程的说明性示例的流程图。与图1D一样,图1E中所示的说明性实施例使用许多不同的技术或过程来改进分类器的性能,并以特定的顺序将其示出。系统的各种实施例可以采用图1E中描述的任何数量、任何组合和任何顺序的过程,至少对于实现为神经网络的分类器。
图1E中所示的许多过程假设主要分类器是神经网络。例如,框181向神经网络添加层,并且框182响应于特定情况添加节点。框183使用MGM作为主分类器或者作为主分类器内的一个系统。本发明的一些实施例旨在应用于任何种类的机器学习系统,并且仅使用在任何类型的机器学习系统上工作的过程,例如图1D中所示的那些。
用于改进分类器性能的第一过程由框181表示,该框通过添加一个或多个层来扩展神经网络。可以在当前输出层之后、就在输入层之后或在任何中间层处添加新层。如果要将新层添加到已经过收敛训练的网络中,一种安全的添加方法是就在数据分割之前进行网络扩展,如图1F的框152中所使用并且如图24中所示。2018年6月1日提交的、发明名称为“神经网络的梯度方向的数据分割(DATA SPLITTING BY GRADIENT DIRECTION FOR NEURALNETWORKS)”的第US18/35598号PCT申请中提出了类似于图24中所示的实施例的数据分割和网络扩展的其他说明性实施例,其全部内容通过引用并入本文。图27A和27B示出了向网络添加层的另一说明性示例。添加节点的另一说明性实施例如图28中所示。
用于改进分类器性能的第二过程由框182表示。在框182处,计算机系统4100通过用特殊单元替换单个节点来扩展网络,该特殊单元由以特殊方式连接的几个节点组成,以构建各种复合单元。例如,单个sigmoid节点可以由分别代表“检测”、“拒绝”和“中性”的三重节点替换,如例如图28中的2803所示。这种三节点结构可以用来替换图18和20中的输出节点。图18解释了用于训练替换节点的系统的说明性描述。作为另一示例,修正线性单元(ReLU)可以由一组节点替换,其中该组中的每个节点具有有限的范围,并且节点具有单调增加的偏差。
用于改进分类器性能的第三过程由框183表示。在框183处,计算机系统4100使用MGM作为分类器,作为主分类器或者作为集成的成员。在图1D的框121中,MGM作为模拟器被引入,并在图19和20中示出。
用于改进分类器性能的第四过程由框184表示。在框184处,计算机系统4100使用多个系统。图2和3中示出了多个协作系统的说明性配置。在美国临时专利申请序列号62/515,142中更详细地描述了多个系统(即异步代理)的更详细的说明性示例。
用于改进分类器性能的第五过程由框185表示。在框185处,计算机系统4100使用对齐的网络,这有助于非常深度神经网络的训练。在一些实施例中,当第一网络中的层数扩展或收缩时,使用对齐的网络。深度网络的层数可以扩展,以改进其学习复杂非线性函数的能力。在一些实施例中,每层的节点数量保持大致相同或增加。在一些实施例中,减少每层的节点数量以减小过拟合的趋势。无论层数是扩展的还是收缩的,在一些实施例中,训练是从头开始进行的,但是将第一网络中的节点软绑定到第二扩展或收缩网络中的对齐层中的节点。在一些实施例中,第二网络通过模仿学习来训练,如图1B、27A和27B中所示。2018年6月15日的、发明名称为“深度网络的对齐训练(ALIGNED TRAINING OF DEEP NETWORKS)”的第US18/37812号PCT申请中更详细地讨论了对齐的网络,其全部内容通过引用并入本文。
用于改进分类器性能的第六过程由框186表示。在框186处,计算机系统4100使用选择性训练来尝试训练一个集成或一组节点,其可以是输出节点或特征检测器,以避免使多个节点在同一数据示例上犯相同的错误。当两个或更多个节点犯相同的错误时,它们会从错误成本函数中的额外惩罚项接收反馈。2018年6月22日提交的、发明名称为“用于错误去相关的选择性训练(SELECTIVE TRAINING FOR DECORRELATION OF ERRORS)”的第US18/39007号PCT申请中讨论了用于错误去相关的选择性训练的细节,其全部内容通过引用并入本文。
用于改进分类器性能的第七过程由框187表示。在框187处,计算机系统4100在本发明的各种实施例中出于几个目的找到指定数据示例的近邻。图25中示出了用于在指定集(例如训练集T)中寻找数据示例的方法的说明性实施例。例如,在图1D的框116中,寻找近邻可能是有用的。这对于k最近邻分类也可能是有用的。除了可能用作操作分类器之外,k最近邻分类还可以在开发其他形式的分类器时用作诊断工具。例如,如果数据示例被错误分类,则了解近邻是否也被错误分类是很有用的。例如,在图1D的框116的一些实施例中,在数据示例X附近发现在一个聚类中的邻居可以帮助确定X是否是可聚类的。图25中示出了用于发现近邻的说明性实施例的示例。
用于改进分类器性能的第八过程由框188表示。寻找近邻对于估计局部概率分布也是有用的。在框188处,计算机系统4100可以通过计算数据示例X周围的区域内属于这个类别或聚类的邻居的数量并除以该区域的体积来估计该类别或聚类的概率密度函数。知道概率密度函数允许最大似然标记X。其还有助于诊断X的错误分类是否是“贝叶斯错误”。
用于改进分类器性能的第九过程由框189表示。在框189处,计算机系统4100使用数据选择(例如图1D的框119所讨论的)来有效地训练和使用被称为“多级”系统的配置中的大量协作分类器集。多级系统使用潜在大量的末级分类器,但是使用数据选择,使得操作期间用于训练或分类的计算量减少到与单个系统所需的计算量相当的量。比如N个末级系统中的每一个只需要处理平均为1/N的一部分数据。然而,N个末级系统的分类能力相当于N个元素的集成。多级系统在美国临时专利申请序列号62/486,650中进行了更详细的讨论。
用于改进分类器性能的第十过程由框190表示。在框190处,计算机系统4100使用变换来纠正错误,包含否则难以纠正的错误。框190的两个说明性实施例使用变换来修复错误,其中数据示例X是类别A的实例。这两个说明性实施例不同地使用变换,并且被设计用于两种不同的情况。在这两种情况下,数据示例X不是类别A的典型示例,而是被错误分类为类别B。
在情况一中,数据示例X以某种方式失真或变换,使得存在与X相似的类别B的多个示例。这种情况可以例如通过图1G中所示的置信估计系统来检测。例如,图1G中的系统可以确定作为类别B的分类具有高置信度,并且此外,在类别B的真实示例的这些得分的分布中,示例X与类别B的匹配程度的内部得分排名是可接受的。在第一种情况中,框190可以进一步包含诸如图17A中所示的实施例的过程,以找到将数据示例X改变回类似于类别A的其他示例的模式的逆变换。此逆变换被训练成避免将类别B的任何示例改变成类似于类别A的示例的模式。
在情况二中,数据示例X是与类别A中的任何其他示例都不是紧密匹配的罕见示例,但也至多是与类别B中的任何示例的普通匹配。这种情况也可以例如通过图1G中所示的置信估计系统来检测。在这第二种情况中,框190可以包含过程,例如图17C中所示的实施例,以找到类别A的原型示例Y和随机变换器f,使得f(Y)类似于X。类似于X的数据扩充示例由随机变换器f(Z)为Z=Y和Y的数据扩充而生成。由随机生成器或随机变换产生的数据扩充示例通过在超参数控制下减少标准偏差而保持与指定目标相似。这些生成数据示例被用作类别A的附加训练示例。优选地,这些数据扩充示例由变换f和用于Z的数据扩充生成器生成,其包括以类别B的示例反向传播为负示例的训练,例如如图9和18中所示。
框191将控制返回到调用过程,例如图1D的框112。
图1F示出了一组被称为增量开发的过程的说明性实施例的流程图。图1F所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图1F示出了增量开发的六个实施例。框132、133和134中所示的第一实施例通常用于本发明的各种实施例中,并且由图2中所示的示例示出。在这个实施例中,增量开发包括从一个小的训练集和两个或更多个开发集中的第一个开始(框132)。通过指定训练和测试数据进行积极开发(133),然后,在说明性示例中,将第一开发集添加到训练数据,并获得新的开发数据集(134)。控制返回到框132,并且重复该过程,直到开发数据用尽。
在框142、143和144处,计算机系统4100执行类似的增量开发过程,逐渐增加类别集的复杂性,从而增加任务的难度。
框151、152、153和154中所示的增量开发稍微复杂一些。对于这一组框151、152、153和154,计算机系统4100通过添加新的元素来增量添加新的成员到集成或增长任何机器学习系统。在一个说明性实施例中,新的集成成员或新元素是通过一个称为“数据分割”的过程创建的,如图24中所示。如图24、27A和27B中所示,数据分割还能够增长神经网络的规模。框152可以进行数据分割,以增量增长集成的规模,同时也增量增长或不增长要添加到集成中的新网络的规模。
数据分割包括将训练数据分割成两个或更多个子集,同时向机器学习系统添加新的元素。新元素是现有元素的副本。例如,新元素可以是添加到集成中的新成员。在一些实施例中,神经网络中的节点与其输入和输出连接一起被复制。更一般地,在任何类型的机器学习系统中,要复制的元素是能够仅在训练数据的子集上接收选择性训练的任何元素。在本发明的一些实施例中,当检测到在一些数据示例上,随机梯度下降试图在一些示例中在一个方向上进行改变,而在其他示例上在非常不同的方向上进行改变时,进行数据分割。
数据分割通过有选择地在分割数据的不同子集上训练副本,使得副本能够被训练得与原件不同。例如,在神经网络中,可以通过干预反向传播过程并允许反向传播仅进行到原件或副本来分别训练原始节点和副本,这取决于数据分割的哪个子集含有当前数据示例。在原件和副本被选择性地训练到足以显著不同之后,包含原始元素和副本的整个系统可以在整个训练集上继续正常训练。在一些实施例中,选择性训练由数据选择器节点控制,例如图28所示的数据选择器节点2802。
在框153处,计算机系统4100向任何机器学习系统添加元素,诸如添加到神经网络的一个或多个节点或者添加到集成的成员。如果数据选择器节点被添加到集成中,它们也可以构建多级分类器,其具有与具有较少计算的集成相当的性能,如图1E的框189所讨论的。
框155、156和157示出了添加更多学习参数的过程,这适用于任何类型的机器学习系统。这个增量开发的说明性示例既适用于生成器,也适用于分类器。给一个已经被训练到局部最优的系统添加更多的学习参数有几个潜在的问题。任何偏离局部最优的变化都可能导致更差的性能。在某些系统中,可能无法初始化新参数,以使新的、更大的系统计算出与旧系统完全相同的值。即使有可能计算出相同的值,新参数的那些设置也可能导致新系统在新的、更大的参数空间中也处于局部最小值或至少是静止点。因此,在对机器学习系统添加学习参数进行一次性更改时,从头开始重做训练是常见的做法。然而,这种方法仍然有几个潜在的问题。首先,它在计算上很昂贵。其次,再训练可能无法找到一个和先前解决方案一样好的解决方案。例如,在训练较大的神经网络时,据报道,不仅性能最终会饱和,正如可能预期的那样,而且随着网络深度的进一步增加,性能会退化,甚至在训练数据上也是如此。最终,性能会灾难性地退化。
在增量开发中,实施例优选地不从头再训练,而是增量训练。例如,新的较大系统可以被初始化以模仿较小的系统。一些实施例设置新的参数值以精确地复制较小的系统,条件是知道如何这样做。一些实施例,或者出于必要或者出于偏好,学习模仿较小的系统。例如,此模仿可以通过模仿学习来学习,如图1B、27A和27B中所示。
如果新的、更大的系统处于或接近静止点,则本发明的各种实施例使用几种策略来逃离局部最小值或远离甚至不稳定的静止点附近的缓慢学习。一些实施例使用对参数进行一次或多次随机扰动的策略,试图找到一组性能至少与先前的局部最优值接近一样好的值,并且具有在几个迭代内引导训练远离静止点的梯度。一些实施例保留旧的、更小的系统的先前版本的记录,并且不是从头开始,而是从更早的配置重新开始训练。选择的早期配置是在训练过于接近静止点之前的系统的配置。一些实施例用数据分割来重新开始训练,如框152所解释的。
对于框162、163和164,计算机系统4100增量向系统添加特征。该过程从没有特征开始,因此在添加一个或多个特征之后出现进行积极开发的框164。
对于框172、173和174,计算机系统4100处理可能在同一分类任务或不同任务上工作的协作系统的集,但是这些协作系统共享特征检测器或其他知识,例如数据上的半监督标签。这组框增量添加到它们与之通信的系统集中。
图1G是在本发明的各种实施例中使用的用于训练置信度的方法的说明性实施例的框图。图1G中所示的系统和方法可以由计算机系统执行,例如图41所示的计算机系统4100。图1G中所示的系统还具有附加的功能。例如,其可以用作分析错误分类的诊断工具,帮助回答诸如“来自类别A的数据示例X被错误分类为类别B的原因是什么?”的问题。置信度或相关统计有助于判别以下两种原因:(1)示例X与类别A的实例匹配良好,但是类别B的类似示例太多,因此选择了类别B;(2)示例X是一种罕见的、有噪声的或失真的模式,其从类别A中获得较差的得分,从类别B中获得一般但更好的得分。然而,分类器的softmax输出仅报告最佳得分答案与其他得分的相对得分。其没有提供关于示例X与类别B匹配程度的内部度量是好是坏的信息。
图1G的说明性实施例具有几个重要的属性:(1)最终置信度估计基于一个或多个置信度估计(1G03和1G05);(2)置信度估计的定义和计算不是作为一个绝对度量,而是作为一个关于特定数据源的估计1G01;(3)作为分类器运行的系统的置信估计是与作为检测器运行的相同或不同系统的置信估计不同的概念;(4)检测器的置信等级也以背景数据的特定来源1G08为条件;(5)置信估计使用分类器或检测器1G02的内部状态的观测值及其输出得分和被分类的数据;(6)置信估计器1G05可以向分类器或检测器1G02的辅助输出(1G06和1G07)发送成本函数导数反馈;(7)分类器或检测器1G02可以基于来自置信估计器1G05的成本函数反馈,使用梯度下降来优化辅助输出;(8)置信估计系统1G05也可以计算其他有用的统计并使其可用。
分类器或检测器1G02可以是通过梯度下降训练的任何形式的机器学习系统。置信估计经常被讨论,就好像它们是绝对度量或者是特定于对单个数据示例进行的分类或检测的度量。作为绝对度量的讨论隐含地相对于一个度量,例如可能未命名的数据源的平均性能,例如训练数据或独立的验证集。只有当数据示例是代表这个类别中所有数据示例的分类标签,或者存在错误概率的参数模型时,对单个数据示例的置信度的讨论才有意义。
在本发明的实施例中,具有单个分类或检测决策的置信度是有用的。图1G中的说明性实施例使得置信估计以明确识别的数据源1G01为条件。如果期望的估计或多或少特定于单个数据示例,则数据源1G01可以是随机生成器,其生成被设计为在这个单个数据示例周围的小区域中的数据扩充。另一方面,置信估计可以是以某一可观察条件为条件的广义估计。例如,置信估计可以以具有特定值的分类器的分类类别为条件。对于训练数据或其他标记数据,置信估计可以以给定的标签为特定值为条件。
对于检测器,检测置信度的数值等级还取决于数据的分布,这些数据可能被错误地检测为目标实例。例如,如果非目标数据与目标数据非常相似,则即使检测器和被检测的数据没有改变,检测的可信度也应该比非目标数据大不相同时低。因此,为了估计检测器的置信,图1G中的说明性实施例表示与1G01分开的非目标数据源1G08,用于估计检测器的置信的非目标数据源只是目标数据源。因此,为了估计检测器中的置信,图1G中所示的系统可以独立于目标数据1G01的组成来改变非目标数据1G01的组成。
框1G02是被评级的分类器或检测器。其常规输出为1G04。分类器1G02还产生辅助输出C1(1G06),其被发送到1G03,和辅助输出C2(1G07),其被发送到置信估计机器学习系统1G05,其为被训练的置信估计系统。
基于多种标准的置信估计通常比基于单一标准的估计表现更好。图1G中的说明性实施例允许使用框1G03的多个标准,该框包括先前训练的置信估计器以及固定的、未训练的测量,例如标准统计测试。框1G03中先前训练的置信估计器可选地使用来自分类器/检测器1G02的辅助输出1G06。
置信估计系统1G05接收来自分类器/检测器1G02的输出1G04以及其自己的辅助输出1G07,并且可选地接收由1G03中的置信估计器使用并预先训练的辅助输出1G06。
置信估计系统1G05将其错误成本函数的导数反向传播到辅助输出1G07,这使得机器学习系统1G02学习生成对置信估计系统1G05有用的辅助输出。在一些实施例中,1G05还将其错误成本函数反向传播到先前训练的系统1G03和辅助输出1G06。
一般来说,置信估计系统1G05优选不将其错误成本函数反向传播到常规输出1G04,其原理是这样做会干扰所研究的系统。
置信估计系统1G05包括置信得分计算,该计算用正确分类或检测的目标1和错误的目标0来训练。这种置信得分计算是通过标准的机器学习技术来训练的,例如神经网络的随机梯度下降的反向传播。
在一些实施例中,置信估计系统1G05还包括非线性回归估计器,其估计在数据源的概率分布上平均的错误度量的概率。例如,概率度量可以是正确分类或检测的概率或错误概率的对数。为了训练这个回归系统,每个训练示例测量来自数据源1G01的随机样本的系统1G02的错误率,并且在检测的情况下,测量来自1G08的错误率。系统1G05然后拟合错误概率的回归曲线作为置信得分的函数。
系统1G05可以通过其辅助输出1G07收集关于系统1G02的内部状态的信息。在一些实施例中,这些信息中的一些是被动收集的。也就是说,由系统1G02内部计算的一些量被观察并通过进一步的处理传递到辅助输出1G07,但是错误成本函数从1G05的反向传播在其影响被动观察的量之前被终止。也就是说,如果系统1G02是例如神经网络,并且来自1G05的错误函数通过1G02的神经网络的一部分被反向传播,则反向传播不会被传输到被被动观察的任何值。在一些实施例中,被动观察的变量可以包含系统1G02的其他元素甚至不可见的变量。例如,1G05可以被动地观察节点激活函数的输入。在应用softmax归一化之前,其可以被动地观察输出节点的原始得分。
在一些实施例中,系统1G05还收集关于其从1G02观察到的内部值的统计。例如,其可能会收集一个或多个这些观察变量的直方图或足够的统计。在一些实施例中,在softmax归一化之前的输出节点的原始得分的这种统计模型允许系统1G05回答与在这个图的讨论开始时提出的问题相关的问题:“与这个类别的已知示例分布相比,这个数据示例与输出类别的匹配程度如何?”。系统1G05的一些实施例在置信得分的计算中使用与这个模型分布相关的统计。此外,一些实施例使得这个统计在外部可用。
图2是可以在本发明的各种实施例中使用的用于生成数据的系统的说明性实施例的框图。图2中所示的系统可以由计算机系统执行,例如图41所示的计算机系统4100。框201、202、203、204和205是机器学习系统,它们协作生成数据以帮助训练客户端机器学习系统261。框201-205被一起分组在名称为“协作数据生成服务”的框206中。尽管协作数据生成服务206被描绘为包含三个生成器(在框201、202和203处)和两个分类器(在框204和205处),但是这个实施例仅仅是说明性的。在各种实施例中,协作数据生成服务206包含机器学习系统的任何组合,包含一个或多个生成器和零个或多个分类器。在一些实施例中,生成器扩充数据,例如如图1A、1B、1C和1D所示。在一些实施例中,生成器与分类器协作以支持模仿学习,例如如图1B、27A和27B中所示。更一般地说,任何类型的生成器都可以生成未标记的数据。诸如VAE、SCAN和MGM的生成器可以为受监督的训练生成数据。在分类器的帮助下,任何类型的生成器都可以生成用于监督训练的数据。
有许多可能类型的生成器,例如递归神经网络(RNN)、隐马尔可夫过程模型(HMM)、VAE、生成对抗网络(GAN)、玻尔兹曼机器、生成随机网络、完全可见的信念网络、随机回归树和其他,包含SCAN和MGM,两者都在本公开中进行了引入。结合图6C描述说明性的SCAN。图4、6C、8、9、10、11、20、36、37和38中示出了生成器的说明性示例。生成器也可以是应用特定的合成器,例如语音或音乐合成器,可选地添加噪声。这些生成器类型中的许多(但不是全部)是由特定类型的深度神经网络来表示的。在本发明的一些说明性实施例中,优选使用多于一种类型的生成器,使得它们相互学习并受益于协作。这些机器学习系统可以协作的方式的说明性示例将参考其他附图进行描述。
框209提供“真实”数据,即,不是由协作数据生成服务206生成的数据,而是通过一些其他方式获得的数据。本发明的实施例中,多个生成器和分类器在数据生成服务中协作,可以为训练和其他开发目的提供更多的数据。
框211、221、222、231和241表示可以使用数据的不同方式的各种实施例。在机器学习领域,通常谨慎的做法是将训练数据211和测试数据241分开。在机器学习中,和许多其他统计估计过程一样,有两种不同的参数。首先,有些参数需要学习或估计。这些参数的值描述了作为学习过程最终结果的特定分类器或生成器。其次,还有控制学习过程的参数。这些控制参数称为超参数。当需要明确判别时,学习或估计的普通参数称为“学习参数”。
超参数的值可以由系统开发人员预先指定。然而,有时有必要尝试超参数值的各种组合,以找到似乎最有效和高效的值。当测量一组超参数值的性能时,同样谨慎的做法是使用从训练数据中预留的数据进行测量。其还应该与最终测试数据分开。这种预留数据被称为验证数据231。
在本发明的一些实施例中,可能有数百万甚至数十亿个学习参数。在一些实施例中,也可以有数百万或数十亿个超参数。超参数的最佳值可以通过自动或半自动优化过程找到。在一些实施例中,客户端系统的训练可以包括多轮训练和性能测试。因此,除了预留验证数据231,被称为“开发数据”的附加数据也被预留(221和222)。图2中显示了两组开发数据221和222,但是可以使用更多。类似地,可能有一组以上的验证数据231。数据框211、221、222、231和241被一起分组到数据框207中。
一般来说,所有的测试数据都是真实数据,尽管在一些实施例中,生成数据可以用于测试。在许多实施例中,至少一些训练、开发和验证数据是真实数据,而不是生成数据。
在许多情况下,真实数据的数量是有限的。另一方面,通常对协作数据生成服务可以创建的生成数据量没有限制。尽管真实数据可以用于由框211、221、222、231和241表示的任何目的,但是这种使用对于开发(221和222)和验证数据(231)是可选的。
协作数据生成服务(框201-205)可以提供额外的训练数据211,并且可以提供一些或全部开发数据(221和222)和验证数据231。在一些实施例中,例如图4中所示的过程,其甚至可以提供测试数据。
由框207表示的数据被提供给框261,用于一个或多个客户端机器学习系统的训练和开发。将参考其他附图更详细地描述客户端机器学习系统的训练和开发过程。
图3是共享知识的多个协作系统的说明性实施例的框图,例如在图1的框109中。图3是本公开中描述的任何系统的实施例的说明性示例。然而,一些说明性实施例在单个计算机系统上运行。图1的框109的知识和数据共享允许可变速率的数据通信,例如,与具有高带宽连接的其他系统发送和接收更多数据,而与具有低带宽连接的系统发送和接收更少数据。
例如,在图3中所示的说明性实施例中,在框301、302、303或304中的任何一个中一起示出的系统都可以在具有高数据带宽互连的单个计算机或计算机聚类上实现。尽管仅示出了两个分类器和两个生成器,但是任何数量的分类器或生成器可以在这样的聚类中被分组在一起。在这样的聚类内,包括数百万或数十亿字节的完整配置描述可以像系统具有它认为值得通信的配置那样频繁地通信,或者像一个系统向另一个系统请求这样的配置那样频繁地通信。这种聚类中的系统可以更频繁地传送需要更少字节的数据。例如,在获得新的、更好的结果的任何地方,都可以传送新的最佳性能得分,以便每个系统可以跟踪其相对于其他系统的进度,这将有助于其决定何时请求更详细的数据。
另一方面,框301、302、303和304可以表示位于更远位置的计算机或聚类,通过广域网或分组交换网络(如因特网)连接。这些框之间的通信可以不太频繁和/或数据不太密集。特别地,需要大量字节的数据结构(例如配置描述)可以不太频繁地通信。最佳得分可以相对更频繁地进行通信,例如,当一个聚类作为一个整体出现新的最佳得分时,而不是每次单个系统发现新的最佳得分时。
标注305给出了几种可以被传送的知识的示例。除了最佳得分和配置之外,示例还包含特征检测和与节点软绑定相关的信息。特征检测需要很少的字节来传送已经检测到特征的事实,仅需要标识特征类型的标签和数据示例的标识符或索引。另一方面,为了能够在单独的系统上检测特征,可能有必要传送分数配置的描述,例如,以特征检测节点为顶点的神经网络的子网络。此外,关于开发数据的测试结果可以如结合图1C的框109所描述的那样被共享,超参数可以被共享(例如,超参数可以如结合图1D的框121和122所描述的那样被调谐),并且数据加权和标记(例如,如结合图1D的框113和114所描述的那样)可以被共享。
节点的软绑定是一种特定于神经网络的知识,其不一定与其他类型的机器学习系统等同。结合图6A和6B更详细地解释用于软绑定节点的说明性系统和过程。节点的软绑定的一个示例包括在训练期间将一个数据示例的节点的激活程度与一个或多个其他数据示例的相同节点的激活程度进行绑定。对于这个示例,要传送的必要数据是至少两个数据项的索引和网络中节点位置的标识符。因此,不需要传送许多字节来指定少量软节点关系。另一方面,绑定规范的可能数量是节点数量乘以数据子集的数量。一些实施例可以具有许多节点绑定布置,而一些实施例可以只有几个。
图4是两个或更多个生成器和分类器的协作的说明性示例的框图,例如可以在本发明的各种实施例中使用的。框401、402和403中的每一个都是可以在计算机系统上实现的机器学习系统,例如图41所示的计算机系统4100。框403是分类器。也就是说,给定输入数据值的示例,其试图确定这个示例的分类。框401和框402都是生成器。也就是说,它们中的每一个都是一个机器学习系统,其被训练来产生与特定目标相匹配的模式。在说明性实施例中,框401和框402优选是两种不同类型的生成器。生成器的类型可以包含,例如,RNN、HMM、SCAN、VAE,或者来自诸如在GAN中使用的随机输入向量的通用生成器。在各种实施例中,生成器可以是相同类型或不同类型。对于这个说明性示例,存在至少两个生成器和至少一个分类器;然而,生成器的数量或分类器的数量没有上限。
在框404处,计算机系统4100反向传播来自附加目标的错误成本偏导数。除了主要目标之外,额外的目标以多种方式改进生成器训练。对于任何类型的生成器,附加的目标可以使生成器更鲁棒,并且更好地泛化。在诸如GAN的生成器中,额外的目标有助于避免模式崩溃。模式崩溃是一种在GAN中出现的学习失败,其中生成器收敛到多模式分布中模式的适当子集。在任何生成器中,额外的“避免”目标可以帮助训练生成器避免产生不需要的示例。例如,在一些实施例中,第一生成器401和第二生成器402都可以具有生成指定分类类别的示例的任务。作为附加目标,框404可以包含被训练来识别期望类别的分类器或检测器。当任一生成器生成的示例与指定类别不匹配时,框404向该生成器提供负反馈。
框404的任何额外目标的相对强度由超参数控制。将超参数设置为零等同于禁用副目标,包含负反馈示例。不失一般性,对于本发明实施例中的每个生成器,应该理解,如果生成器产生不期望的示例,则可能存在提供负反馈的额外目标。
三个机器学习系统协作,在学习过程中互相帮助。生成器401和402为分类器403生成训练数据。分类器403为生成器401和402提供错误成本函数(的偏导数)。可选地,生成器401和/或生成器402可以具有从另一源提供的附加目标。此外,在一些实施例中,框405比较两个或更多个生成器的输出,并且当它们不同时,反向传播错误成本。框405使用将在下面描述的不同的训练过程。这个训练过程的属性中的一个是其可以训练GAN以避免模式崩溃。
分类器403的任务是判别由生成器401生成的数据和由生成器402生成的数据。对于存在多于两个生成器的其他实施例,分类器403的任务可以更一般地表示为确定生成器集中的哪个生成器产生了给定数据。生成器401和生成器402生成训练和开发数据以训练分类器403。注意,这是图2的数据框207的特殊情况。所有数据,包含所有训练数据和所有测试数据,都是生成数据。没有“真实”数据,或者换句话说,所有生成数据都是这个生成器判别任务的真实数据。
此外,这种数据的数量是无限的。如果需要更多数据,生成器401和生成器402只需生成更多数据。此属性非常重要,也非常有价值。其极大地促进了学习过程。通常,一个复杂的机器学习系统的学习参数的数量,以及因此而产生的能力,会受到具有太多参数的系统过拟合训练数据的趋势的限制。各种正则化方法被用来限制自由度的有效数量,但是这也限制了系统的表示能力。在图4所示的实施例中,对训练数据的数量没有限制。
在一个说明性实施例中,机器学习系统401、402和403的训练在多轮中进行,分类器403的目标函数和可能的其他超参数在轮之间进行调整。在说明性实施例中,优选地,在每一轮中,机器学习系统401、402或403中仅一个被训练和更新。例如,机器学习系统可以以循环方式训练:首先训练和更新分类器403,然后是生成器401,然后是生成器402,然后是分类器403,依此类推。
在所示过程的一些方面,在由计算机系统4100执行系统期间,框406被省略或跳过。在框406处,计算机系统4100可选地为分类器403提供附加数据和/或目标。从框406定义的分类任务的观点来看,分类器403可以具有比任务406通常具有的更多的学习参数,因为分类器403具有判别两个生成器的附加任务,并且对于生成器判别任务具有无限量的训练数据。
当训练分类器403时,可以使用机器学习领域的技术人员已知的任何机器学习训练技术来对其进行训练。例如,如果分类器403是深度神经网络,则可以使用随机梯度下降来对其进行训练,其中更新是在微批次中完成的,并且错误成本函数的偏导数是通过反向传播计算的,如下面的伪代码所示:
带有梯度归一化和学习教练控制的随机梯度下降的伪代码
1.al-1.0(m)=1,是常数,因此wl,o,j是层l中节点j的偏置f
2.对于每个历元直到满足停止标准
a.输入一组(微批次号t)训练示例;对历元中的每个微批次进行重复
1.对于每个训练示例m,设置ao,i(m)并执行以下步骤:
i.前馈(softmax输出):对于每个l=1、2……L-1
计算
Figure BDA0002511764350000401
al,j(m)=σ(zl,j(m);Tl,j,t);
ii.softmax输出:
Figure BDA0002511764350000402
iii.输出错误梯度(m):
a.
Figure BDA0002511764350000403
iv.反向传播错误梯度:对于每个l=L-1、L-2……2、1
计算
Figure BDA0002511764350000404
2.计算微批次的梯度:
Figure BDA0002511764350000405
3.计算动量:
vl,i,j→v′l,i,j=μl,i,jvl,i,jl,i,jΔl-1,i
4.计算层的范数:
sl=Maxil,i|
5.梯度下降:对于每个1=L-1、L-2……2、1更新权重
wl,i,j→w′l,i,j=wl,i,j(1-λl,i,j)-v′l,i,j
深度神经网络是一种分层网络,如图6A中所示,其有一个以上的隐藏层,即输入和输出之间有一个以上的层。此伪代码示例使用带交叉熵错误成本函数的sigmoid输出节点。这适用于生成器的独立训练,因为它们的输出类似于回归,其值被归一化以拟合有限的范围。然而,在如图4中所示的协作训练中,分类器403的输出的输出错误梯度被反向传播以计算相对于其输入的梯度,该梯度也是一个生成器的输出。然后,每个生成器输出的梯度通过其网络反向传播。如果只有两个生成器,则sigmoid输出适用于训练分类器403。否则,优选使用softmax输出。然而,对于生成器的协作训练,分类器403具有特殊的错误成本函数,这将在下面讨论。这个伪代码说明了一个扩展的超参数集。后面的数字将说明附加的新超参数。
关于深度神经网络训练的常规过程,应注意上述伪代码的几个方面:
·超参数λl,i,j、ηl,i,j和μl,i,j是定制的,对于每个学习参数,即对于网络中的每个连接<l,i,j>,可能有不同的值。
·每个节点都有一个温度Tl,i,t,它是为节点定制的,也是为微批次t定制的。温度添加了一种额外的正则化形式,并且让网络学习匹配概率分布。
·存在逐层梯度归一化sl。这种归一化促进多层深度神经网络的训练。
·对于每个数据示例都有一个相对权重因子dm。这个超参数使系统能够修复过拟合的单个示例。
这些特殊的超参数是可选的,并且为了说明的目的,在本伪代码中给出。它们用于本发明的一些实施例中,而不用于其他实施例中。大量超参数的管理可以由学习教练来处理,学习教练是学习如何管理和优化超参数以及执行改进客户端机器学习系统的学习过程的其他操作的独立机器学习系统。
如果机器学习系统401、402或403中的任何一个是除了神经网络之外的机器学习系统类型,其可以通过机器学习领域的技术人员已知的适合于这种类型的机器学习系统的任何方法来训练。
在图4中所示的实施例中,具有两种或更多种不同类型的生成器是有优势的,因为协作学习使它们能够相互学习彼此的长处和缺点。例如,GAN能够产生非常真实的图像,但是其不能产生特定于给定输入模式的模式,并且其有遭受一种称为模式崩溃的学习失败的倾向。SCAN或VAE可以生成与给定输入模式相关的数据,并且不受模式崩溃的影响。然而,当生成图像时,例如,VAE倾向于生成模糊图像,该模糊图像不如由GAN生成的图像清晰和真实。在这个示例中,两种生成器类型都是深度神经网络,并且可以通过上面示出的伪代码进行训练。
如图4中所示的一起训练可以帮助这些生成器类型中的任何一种避免其缺点,并且学习模仿其他生成器的长处。框405增强了两个或更多个生成器学习彼此模仿的过程。然而,随机生成器的单个输出很少匹配另一随机输出,即使两个生成器是相同的。框405的实施例操作建设性迭代匹配过程。正常随机下降训练计算每个数据示例的估计梯度的一个增量,并且更新学习的参数,例如神经网络中的连接权重,每个微批次一次。框405的说明性实施例改为反馈错误成本函数,并且让每个生成器多次重采样,以试图找到更好地匹配其他生成器的示例。在来自框405的错误函数与其他反向传播的错误成本函数组合并且相对于学习参数的估计偏导数的增量被累积之前,迭代握手过程被允许继续一些有限数量的周期。框405是可选的,但是当其被使用时,其强制地防止任何生成器忽略其部分数据空间。例如,其可以防止GAN中的模式崩溃。注意,如果使用上述说明性示例中描述的迭代重采样,其有助于生成器愚弄分类器403。
分类器403的任务是判别由生成器401生成的模式和由生成器402生成的模式。在分类器403将被训练的训练轮次中,401和402被用作训练数据源。分类器403由将用于分类器的正常训练的相同训练算法训练,除了利用存在潜在无限量的训练和开发数据的事实的差异。例如,分类器403可以具有更多数量的学习参数。如果分类器403是神经网络,则其可以比具有更有限的训练数据量的分类器具有更多的层、每层更多的节点以及节点之间更多的连接。无论机器学习系统分类器403是什么类型,其可能具有更多的学习参数,并且在其训练期间其不太需要正则化,因为训练数据的量可能是无限的。
生成器401和402中的每一个的任务是学习对方的长处,并学习克服各自的缺点。为了帮助它们做到这一点,当生成器中的一个正在被训练时,分类器403本身不是正在被训练,而是其反向传播表示生成器正在被训练的目标的错误成本函数。例如,如果生成器401正在被训练,分类器403反向传播错误函数,该错误函数奖励生成器401生成与生成器402生成的模式相似的模式,并惩罚其生成可识别不同的模式。
尽管生成器401或402的单轮训练可能看起来对分类器403是对抗的,但是理解多轮训练过程是完全协作的而不是对抗的是重要的。这一点看似微妙,但其却很重要。在每一轮训练分类器403中,生成器帮助分类器403学习它们生成的模式之间可能存在的任何区别。在每一轮中,每个生成器被训练得更像另一个生成器,同时仍然满足框404所提供的任何额外目标,这可能是每个生成器所特有的。
在多轮中,三个机器学习系统401、402和403中的每一个在它们的共同目标上都变得更好。在每一轮中,分类器403学习判别生成器之间的较小差异,然后教它们减少这些差异。因此,为了长期目标,生成器希望分类器403尽可能精确,并且分类器403希望在判别细微差异方面变得越来越好。这个共享的协作目标意味着,例如,如果具有更多学习参数的更大的机器学习系统403可以更精确,则这对于所有三个机器学习系统都是有利的。
这种协作的、共同的目标与对抗的关系形成了鲜明的对比,例如在GAN中。GAN可以被看作是由一个解码器组成的生成器,该解码器具有随机输入,试图愚弄一个分类器,该分类器将真实数据与生成数据判别开来。这种情况被模拟为两人零和博弈。顾名思义,这是一种严格的对抗关系。在两人零和博弈中,一个玩家的任何收益都是另一个玩家的损失。
对于有限数量的真实数据,在这种对抗关系中,分类器的最佳策略是记住训练数据,并且拒绝不在训练数据中的任何模式为非真实的。作为补充,生成器的最佳策略也是记住训练数据,并且从不从训练数据中生成任何不是示例的模式。此外,如果有足够的参数且没有限制,机器学习系统(如深度神经网络)可以并且将会学习记住训练数据。然而,尽管这些是博弈的最佳策略,但这样的生成器和分类器是微不足道的,基本上是无用的。因此,在设计和训练GAN时会受到限制。不允许网络任意大,施加正则化,并且通常在收敛之前被终止训练。
在图4中所示的机器学习系统的多轮协作训练中,这种限制是不必要的。事实上,其中一个生成器,比如说401,甚至可以是具有从框404提供的作为副目标的真实与生成判别的GAN。尽管GAN与其自身的真实与生成判别器之间存在对抗关系,但多轮训练仍然是协作的,图4中所示的系统克服了训练GAN的常见问题。
通过多轮训练和丰富的超参数集,反复获得一组新的开发数据是谨慎的,尤其是如果学习教练正在自动优化超参数或者正在改变机器学习系统401、402或403中的一个或多个的架构。这是在图2的数据框207中具有多个开发数据集时所预期的需求。幸运的是,在图4中所示的实施例中,总是有可能生成更多的开发数据。
作为图4的说明性示例,假设生成器401是GAN,以及生成器402是SCAN。在超参数的控制下,SCAN 402可以被设计成生成具有高可变性的宽范围模式,即使只有有限数量的输入模式。因为GAN 401必须学习产生类似于SCAN 402的模式,所以简单地记住用于训练真实与生成判别器的真实训练数据不是最佳的。
此外,分类器403的训练数据量不受限。因此,分类器403在规模和复杂性方面不受限。例如,在学习教练的控制下,分类器403可以从一轮增长到下一轮。如果分类器403是深度神经网络,则其可以添加额外的节点和额外的层。作为使分类器403变得更大和更有能力的结果,生成器401和402也可以增长和变得更有能力,这本身会引起GAN的对抗训练的问题。
SCAN 402也会有一个副目标。作为自动编码器,其目标是再现其输入数据的示例。这个属性意味着可以对SCAN进行训练,以生成均与单个分类类别相关联的数据示例。如果这种类别特定的SCAN被用作图4中的生成器402,则生成器401(其可以是GAN或一些其他非类别特定的生成器)也将在多轮训练中学习以产生主要与特定类别相关联的模式。在一些其他实施例中,生成器402可以是VAE,而不是SCAN。
在图4中所示的实施例中,一个剩余的缺点是,如果其中一个生成器是GAN,则相关的真实与生成判别器中的真实数据量仍然是有限的。这个缺点将在图8中得到解决。
图4中所示的实施例可以将任何其他类型的生成器用于生成器401或生成器402。每当两个生成器最初具有不同的属性时,它们都将通过多轮协作训练变得更有能力。这两个生成器不需要是不同类型的生成器来获得这种益处。例如,它们可以是同一类型,但具有不同的架构。它们可以有相同的类型和相同的结构,但是它们的超参数允许有不同的范围,因此它们可以被训练成互相模仿,即使它们不能完全互相复制。
另一个有趣的配对将基于RNN的生成器与SCAN仪配对。基于具有n-grams的HMM的生成器可以取代RNN。GAN或VAE可以取代SCAN。例如,RNN或HMM能够产生真实的文本,即使该文章通常没有意义。它们对其他类型的序列也有类似的能力,包含图像的顺序扫描或漫游。序列中每个连续元素的概率分布取决于前面的上下文。独立的SCAN、VAE或GAN不具备学习这种上下文相关行为的固有能力。另一方面,它们中的每一个都有独特的能力,这是RNN或HMM所缺乏的。
一些实施例通过具有两个以上的生成器来学习甚至更多的能力,在这种情况下,分类器403的输出优选地将是softmax函数,代表对于给定数据示例的单个最可能生成器的分类器选择。
生成器401或生成器402可以是已经与另一个生成器配对并且由图4中所示系统训练的生成器。然后,其将具有来自两种或更多种类型的生成器的属性,并且可以通过再次与另一种类型的生成器配对来获得更多属性。
图5示出了在本发明的各种实施例中有用的通用网络。图5中所示的系统可以在计算机系统上实现,例如图41所示的计算机系统4100。通过适当的超参数设置,其可以模拟以下任何网络类型:常规自动编码器、SCAN、VAE、去噪自动编码器或GAN。作为图4中的生成器,图5中的通用网络可以学习模仿SCAN、VAE或GAN,甚至不知道它在模仿什么类型。
对于不同的超参数,图5中的通用网络可以是具有回归型输出的分类器(自动编码器或去噪自动编码器)或生成器(SCAN、VAE或GAN)。在框501中,其可选地将数据示例作为输入(自动编码器、去噪自动编码器、SCAN、VAE)。在框502中,其可以在没有任何输入的情况下产生噪声(GAN),或者向输入添加噪声(去噪自动编码器)。框503是处理噪声或纯净或有噪声输入的深度神经网络。
在网络503中,可能有一个瓶颈层将网络分成编码器、瓶颈层和解码器(自动编码器)。瓶颈层可以由参数控制的噪声向量生成器(SCAN)替换。图5中的网络有两个目标。如果网络正在模拟常规的GAN,则其使用真实与生成目标509,通过真实与生成分类器508接收反向传播。分类器508的输入节点处的偏导数的符号被颠倒,因此网络503的目标是愚弄真实与生成分类器508。如果其正在模拟任何其他纯网络类型,则其使用目标507,其目标是纯净输入数据501或有噪声的数据502。这个目标通过解码器网络506反向传播。
然而,图5中的网络不必仅仅模拟这些单目标网络类型中的一种。通过多个目标和控制每个对象相对强度的调谐后的超参数,图5中的网络可以被训练得比任何纯单目标网络性能更好。换句话说,有了多个目标,网络就可以被训练去学习那些单个网络无法单独学习的东西。在本讨论中,已经以这种方式用多个目标训练过的生成器类型的名称加上了+号。因此,图5中所示的网络可以专门化为增强型GAN(GAN+)、增强型VAE(VAE+)或SCAN+。
例如,从模拟GAN的网络开始,添加目标507将有助于防止模式崩溃。框505可以在网络中的任何地方添加噪声,标准偏差由可以为每个节点定制的超参数控制。节点的噪声量或标准偏差(如果有)可以是超参数(可以由学习教练控制和定制)和控制节点的激活水平(允许噪声属性取决于数据示例)的乘积。允许学习教练控制定制的超参数使得学习教练能够优化网络在开发数据上的性能。例如,学习教练可以测量网络在真实与生成分类任务上的性能,该分类任务是在与用于训练真实与生成分类器的数据分离的开发数据上评估的。
框505也可以以除了仅添加噪声之外的其他方式退化模式。例如,如果模式是图像,则其可能会模糊图像,或者其可能以较低的分辨率对图像进行采样。其可能会使图像失真或移动图像的一部分。如果模式是文本,则其可能会改变单词的顺序或者用一个单词取代另一个单词。
学习教练可以控制网络中的噪声量,不仅可以防止模式崩溃,还可以直接优化网络生成真实的输出的程度,该输出可以泛化到不在训练数据中的模式。超参数还可以控制自动编码目标507(或多个不同目标中的每一个)的相对强度,并且学习教练同样可以控制这些超参数,这进一步增加了网络泛化的趋势。
另一方面,从模拟SCAN或VAE的网络开始,添加真实与生成分类器509的第二个目标将有助于增强的SCAN或VAE生成更真实的模式。
框505向网络中的任何节点添加小至中等噪声的能力是训练网络变得更鲁棒的工具,这种属性可以容易地在独立开发数据上测量,但是很难仅从训练数据来估计。学习教练可以访问开发数据,以便其可以优化控制噪声的超参数,从而优化鲁棒性程度。
图6A示出了在本发明的各种实施例中使用的称为节点软绑定的技术。图6A示出了除了输入(1201或1202)和输出1204之外还具有七个隐藏层1203的深度前馈神经网络。然而,神经网络的各种实施例可以包含任意数量的隐藏层1203。用于对二维图像进行分类的卷积神经网络通过使小局部区域的神经网络的平移移位对于每个平移移位中的对应连接都具有相同的权重来泛化卷积滤波器的概念。在本讨论的术语中,相同权重的约束称为“硬绑定”。在所有其连接的权重相同的情况下,每个平移移位中节点的激活值将具有相同的激活值。图6A中所示的过程和神经网络可以由计算机系统执行,例如图41所示的计算机系统4100。
相反,软绑定仅适用于节点激活值,并且仅使用正则化,而不是强制值相同。软绑定的正则化包括向错误成本函数添加一个项,当两个或更多个软绑定值相同时,该项最小化。每个软绑定正则化项都有一个相关的超参数,如乘法缩放因子,其代表特定软绑定错误项的相对强度或权重。这些超参数正则化并鼓励特征发现。软绑定是硬绑定的泛化,因为当绑定正则化权重达到无穷大时,硬绑定是软绑定的极限情况。仅考虑同一节点在不同数据示例上的配对软绑定(如标注1205的虚线箭头所示),附加超参数的潜在数量是数据示例数量乘以网络中节点数量的平方。
另一种软绑定使用相同类型的正则化项,但是将单个网络内或者相同或不同数据示例上的不同网络之间的不同位置的两个或更多个节点的激活值绑定,如标注1206的虚线箭头所示。
在一些实施例中,一个或多个节点的激活可以被软绑定到整个数据示例集,例如与给定分类类别相关联的所有数据示例,或者给定聚类中的所有数据示例。在一些实施例中,节点可以被软绑定为一个以上的组的成员,每个组具有不同的正则化强度。例如,对于一个聚类内的示例,强度可能最强,对于分类类别的所有数据示例,强度可能稍弱,而对于所有数据示例的集,强度可能弱得多。当一组节点被软绑定时,正则化项可以基于当前数据示例的节点激活和该组中心的平均激活或其他表征之间的差异。错误项可以基于均方错误或机器学习领域的技术人员已知的任何标准。
图6B是通过软绑定确定要关联的节点和关联超参数的值的过程的说明性实施例的流程图。图6B所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。框631选择要相关的一个或多个节点。选择哪些节点应该相关取决于节点绑定的目的,并且有时还取决于对节点激活的观察。
在框632处,计算机系统4100选择哪些数据示例应该具有跨越这些数据示例的节点或节点集的激活。例如,如果该节点表示一个特征,则该特征可能出现在一些数据示例中,而不出现在其他数据示例中。例如,“红色”是红色谷仓和红色消防车共有的特征,但不是所有谷仓或所有消防车都共有。
在框633处,计算机系统4100设置控制软绑定强度的超参数值。如果某个特征是某个类别的必备特征,或者如果某个节点已经学习了这个特征或被指定学习这个特征,则这个节点的激活可以与该类别的数据示例的高强度绑定。如果该特征对于其他类别是可选的,则这些绑定的强度将会降低。如果该特征对于某些类别是唯一的,并且因此在其他类别中是不期望的,则该节点对于那些其他类别的激活也可以具有强绑定,因为这些激活也期望匹配以指示该特征不存在。
在一些实施例中,每个数据示例dm的权重由图6中所示过程之外的其他过程设置。在一些实施例中,图6B中的过程可以影响这个决定。在那些实施例中,这种影响由框634完成。
在框635处,计算机系统4100训练网络,为每个软绑定节点的错误函数提供软绑定项。
在框636处,计算机系统4100优化超参数。在大多数实施例中,超参数优化作为整个过程的一部分来完成,而不是由图6B中所示的过程单独完成。每当影响软绑定强度参数到数据权重影响参数的超参数优化完成时,过程返回到框633。
标注637列出了节点激活的软绑定可能完成的一些情况示例:
1.正则化:软绑定可能被广泛用作一种正则化的形式。以几种方式,其比其他形式的正则化更灵活。因为其适用于节点激活而不是连接权重,所以其可以有选择地应用于某些数据示例,而不适用于其他数据示例。
2.SCAN潜在向量共享:软绑定是一种使SCAN能够将一个类别或聚类的潜在变量绑定在一起的技术。
3.特征协议:软绑定是一种工具,其将展示这种特征的数据示例中的一个特征节点绑定在一起。软绑定在发现和训练如图13和21中所示的过程中的特征方面起着重要的作用。软绑定允许与其他系统共享特征的知识。
4.知识的向量表示:神经网络可以学习明确高效地表示知识。例如,自动编码器学习将其输入的知识表示为其瓶颈层中激活值的向量。这种知识是可以转移的,例如如图6F中所示。
5.本体:知道橡树是一种树以及枫树是一种树,机器学习系统可以寻找它们共有的特征。代表这些特征的节点可以被软绑定到数据示例,并且甚至跨模态。例如,特征“树枝”和“叶子”可以在图像和文本中共享。
6.分体:鼻子是脸的一部分。系统可以学习到,一般来说,一张脸的图像会有一个鼻子,并且可以在不同的脸图像中软绑定代表鼻子的节点。
7.同义词:同义词有相同或相似的含义。表示共享语义属性的节点可以是软绑定的。
8.词类:词类可以以句法属性来描述,这些属性为所有具有相同词类的词所共有。
9.聚类:与在同一类别但不在同一聚类中的示例相比,在同一聚类中的示例倾向于共享更多的特征。聚类中的节点可以比不在聚类中的节点软绑定更大的强度。例如如图13和21中所示,聚类表示和软绑定特征可以相互帮助训练。
10.生成分组数据:软绑定节点可以帮助系统学习表示和生成组织成组的数据,例如如图12中所示。
上面列出的使用仅仅是节点软绑定使用的代表性示例。该技术可以应用在许多其他示例中。
如果说明性实施例中软绑定的目的是与积极开发相关联的正则化,则一些实施例可以任意软绑定许多节点。然后,软绑定的强度可以由超参数控制,以在从欠拟合到过拟合的范围内调整正则化的量。当积极开发的范围是区域性或局部性的时,如结合图1所讨论的,节点绑定可以由框632限制为在相同区域或数据空间的局部体积中的数据示例。
在一些实施例中,目的是检测一个类别的不同实例可能共享的一个或多个特征。为此目标,在训练过程的开始或早期选择网络中的一个或多个节点位置。如果某个类别的大多数实例都具有相同的特征,则网络训练将学习关联那些被软绑定的节点来表示这些特征。例如,当有一个已知的分体时,也就是说,当已知给定类别中的大多数对象都有某些部分时,可以使用这个过程。这个过程也可以用来自动发现先验未知的新特征。在其他情况下,可以基于特定于特别的分类或生成任务的标准来选择节点。
在一些实施例中,如果已经确定类别的数据示例可以被组织成聚类,则可以选择在聚类内的数据示例中激活一致的节点进行软绑定。在一些实施例中,决策顺序可以颠倒,聚类由节点激活之间的一致程度来确定。图13和21中示出了聚类训练、特征训练和节点绑定的说明性交互示例。
对于SCAN、VAE和其他参数化随机网络,在一些实施例中,代表随机过程的参数的潜在变量的每个节点可以被选择为在相同聚类或相同类别中的数据示例之间相关和软绑定的节点。图12、16和17中所示的一些实施例使用这种类型的示例。
图6C是SCAN的说明性实施例的框图,SCAN是在前面的讨论中已经多次提到的一种生成器。SCAN是一种自动编码器,其也可以用作生成器,并且如图6C中所示,包括编码器604和解码器606,并且使用以下项:输入数据603;由参数概率分布的参数指定的随机变量的样本605,例如中心趋势的度量(例如,均值622)、离散的度量(例如,标准偏差623);可选地,其他参数624;以及解码器网络604、606的超参数621。自动编码器是深度神经网络领域的技术人员已知的一种网络。自动编码器网络有时被称为通过“无监督”训练来学习,因为其不需要标记的训练数据。更准确地说,自动编码器网络通过“自我监督”训练来学习。自动编码器网络的学习可以使用随机梯度下降训练,就像在监督训练中一样。然而,自动编码器提供其自己的目标,其仅为输入103的副本。
在这个实施例中以及在一般的自动编码器中,输入603由编码器网络604编码成瓶颈层中的简化表示,本文以样本随机变量605的形式表示。在说明性实施例中,随机变量被表示为统计上独立的随机变量,每个随机变量具有参数分布。样本随机变量605的分布由与它们各自的参数概率分布相关的参数表示。优选地,每个参数分布的参数包含中心趋势的度量,例如均值622,和离散的度量,例如标准偏差623,以及可选的其他参数624,所有这些都由超参数621控制。例如,对于独立的高斯随机变量,均值622和标准偏差623或方差是足够的参数。参数分布的其他示例在下面讨论。编码器604基于控制超参数621从输入数据603生成概率分布参数622、623和624。实现图6C中描绘的系统的计算机系统(例如,图41的计算机系统4100)然后生成样本随机变量605(例如,通过随机数生成器程序),其遵循或满足概率分布参数622-624,用于输入到解码器606。图6C示出,并且下面的描述假设使用了均值622和标准偏差623,但是在其他实施例中,可以使用除均值之外的其他中心趋势统计,并且可以使用其他离散统计,例如方差替换标准偏差。对于一些参数分布(如伯努利分布和泊松分布),单个分布参数确定了均值和标准偏差。这种分布在下面作为特例讨论。因此,应该认识到,本发明不一定限于使用均值和标准偏差。优选地,当参数分布可以用表示中心趋势和离散的参数或用另一个参数表示来表示时,选择具有表示中心趋势和离散的参数的参数表示。例如,[a,b]范围内的均匀分布可以由两个参数表示:(i)中值m=(a+b)/2和(ii)范围r=(b-a),而不是由参数a和b表示。
编码器604和解码器606都可以用神经网络实现。统计622、623和624(如果有)是编码器604的输出层,并且框622、623和624(如果有)中的节点激活值也可以被称为“潜在变量”,因为它们的作用类似于概率推理中的潜在变量。满足统计622-624的样本随机变量605(类似于瓶颈层)然后由解码器网络606解码,以产生尽可能接近输入603的副本的输出。自动编码器604通常不能产生输入的精确副本,因为样本随机变量605受到控制统计622-624的显著限制,阻止了自动编码器网络604表示身份函数。如图6C中所示,SCAN类似于确定性自动编码器,除了瓶颈层已经由来自概率分布605的随机采样所替换,此概率分布由概率分布622、623和可能624的参数指定。SCAN类似于VAE(除了其使用不同的正则化错误项),并引入许多超参数用于正则化的详细控制。
训练自动编码器,包含SCAN,通常包括以下步骤:获得一组训练数据;对于每一项训练数据,进行前馈传导以计算每一层的节点激活,并从解码器606产生输出;使用原始输入作为目标来比较所生成的输出的偏差;通过网络反向传播错误;以及对所有网络连接执行权重更新。此过程对于训练自动编码器领域的技术人员来说是已知的。各种标准技术通常被结合到训练过程中,包含在训练数据的微批次之后执行权重更新,将动量结合到权重更新、权重衰减和其他正则化过程中。这些可选技术中的每一种对于训练自动编码器领域的技术人员来说都是已知的。
为了避免编码器网络模型简单地学习身份函数的问题,自动编码器需要对代码层的表示能力有某种形式的限制。在确定性自动编码器中,这种限制通常采取瓶颈层的形式,通过要求(i)比输入少得多的节点数,或者(ii)稀疏的瓶颈层的激活,即瓶颈层中节点的不可忽略的激活被限制到节点的小子集,来要求减少数据的表示。VAE用提取数据的分布的随机表示来替换瓶颈层。在训练VAE时使用的损失函数包括重建数据和源数据之间的散度的度量,以及表示随机层中的潜在变量和零均值单位高斯分布或其他指定的简单统计分布之间的库尔巴克-莱布勒散度的第二项。正则化潜在变量的目的与确定性自动编码器的瓶颈层中的限制相同,因此不鼓励简单地记住训练数据。这种方法的一个缺点是,其具有减少不同类别的潜在变量之间的差异的效果,降低了它们在数据中差别地表示不同类别或分类的能力。
SCAN消除了VAE潜在变量的正则化。结果,与VAE相比,SCAN生成了从编码器604到解码器606的更丰富的参数分布族和更有效的知识传输。超参数621控制或约束随机层中的潜在变量。为了避免编码器网络简单地学习身份函数的问题,SCAN可能对其潜在变量有约束。例如,中心趋势622的均值或其他度量的幅度可以相对于标准偏差或其他离散度量623的幅度而受到约束。否则,编码器可以在均值中编码任意数量的信息,并且还可以相对于标准偏差将均值缩放到非常大。这种策略将产生一个网络,在极限情况下,等同于一个没有瓶颈的确定性自动编码器。例如,编码器可以简单地将每个输入乘以一个非常大的因子S,使用这些值作为均值,并对每个标准偏差使用一个非常小的值。解码器可以学习将每个随机变量除以S,并以非常小的标准偏差获得输入值。然而,就像确定性自动编码器的身份函数一样,这种编码和解码策略不会学习有用的知识表示。
为了防止这种策略,优选约束均值向量的幅度的某种度量或与标准偏差向量的幅度或其他离散度量相比的其他中心趋势度量。也就是说,对于某个范数,均值向量应该被约束为具有不大于某个指定值(比如1.0)的范数,而标准偏差向量应该被约束为具有不小于某个指定值(比如1.0)的范数。一些实施例使用较小的标准偏差范数。例如,用于为单个数据示例生成数据扩充的SCAN可以使用较小的标准偏差,例如0.1。基本要求是均值和标准偏差都要受到约束,使得均值不能相对于标准偏差(或其他中心趋势和离散的度量,条件是使用)任意增长。请注意,一些参数分布,如伯努利分布和泊松分布,本质上满足这样的条件,因此在这种情况下不需要应用额外的约束。这些分布不需要具有代表离散的单独参数(例如,标准偏差623)。
使用哪个向量范数是一个设计决策。本发明的一些实施例可以约束均值的最大绝对值和标准偏差的最大绝对值,即,使用上确界范数。一些实施例可以使用L2范数,并约束均值平方的平均平方根和标准偏差平方的平均平方根。一些实施例可以使用L1范数并约束均值的绝对值的平均值和标准偏差的绝对值的平均值。一些实施例可以使用不同于标准偏差的均值的范数。一些实施例可以约束该均值具有小于或等于指定约束的范数,而一些实施例可以约束该均值具有等于指定值的范数。一些实施例可以约束标准偏差具有大于或等于指定值的范数,而一些实施例可以约束标准偏差具有等于指定值的范数。每个范数的指定值由超参数控制。一些实施例对于每个均值和每个标准偏差具有一个超参数,而一些实施例对于每个范数可以使用一个默认值,比如1.0。
上一段中提到的用于代表均值162的节点激活的每个过程也可以用代表方差或标准偏差623的节点激活来完成,反之亦然。然而,特性和目标是非常不同的,所以不同的过程是优选的。例如,用于数据扩充的生成器增强鲁棒性和鼓励泛化的程度在某种程度上取决于标准偏差与均值的比率。为此目标,单个均值622或它们的向量范数应该被限制为小于或等于指定值,但是单个标准差应该被限制为大于或等于某个指定值。
均值622的潜在变量和标准偏差623的潜在变量之间的差异的另一个方面是,在将关于当前模式的信息从编码器604传送到解码器606时,均值622比标准偏差623的潜在变量更有效。
在说明性实施例中,与标准偏差相关联的每个潜在变量可以被视为超参数,而不是学习参数。等效地,相关的超参数可以指定潜在变量的值。例如,在一些实施例中,每个标准偏差可以被设置为值1.0。均值622和编码器606然后学习生成受此约束的期望模式。
标准偏差623与均值622之比的最佳值在很大程度上取决于基于SCAN的生成器的用途。这种外部考虑在开发过程中比在反向传播训练中处理得更好。例如,如果生成数据将用于表示更大的可变性以使分类器更鲁棒,则标准偏差应该足够大以填充训练数据中的大部分间隙,而不会大到在为一个类别生成数据和为另一类别生成数据之间产生大量重叠。有某一中值代表了最佳的权衡。这种权衡很难用错误成本目标来表示,但最佳值可以在开发过程中通过实验找到,实验可以测量开发数据上的实际性能。这个实验是超参数调谐的一个示例,这对于机器学习领域的技术人员来说是已知的。这种超参数调谐可以由一个独立的机器学习系统(称为学习教练)自动完成。学习教练是第二机器学习系统,其被训练来帮助管理第一机器学习系统的学习过程。在以下申请中更详细地描述了学习教练,这些申请通过引用整体并入本文:2017年9月18日提交的、发明名称为“机器学习系统的学习教练(LEARNING COACH FOR MACHINE LEARNING SYSTEM)”的第PCT/US 17/52037号PCT申请;以及2018年3月5日提交的、发明名称为“机器学习系统的学习教练(LEARNING COACH FORMACHINE LEARNING SYSTEM)”的第PCT/US18/20887号PCT申请。
如果基于SCAN的生成器被用于数据扩充,以平滑分类器中的决策边界并使它们有些模糊,则类似的权衡优化发生。这种技术减少了训练过拟合的倾向,即使有足够的学习参数来做到这一点。同样清楚的是,决策边界的太多不确定性将是有害的。使用开发数据通过实验可以找到最佳的权衡值。这个实验是超参数调谐的一个示例,这对于机器学习领域的技术人员来说是已知的。
解码器606优选是多层前馈神经网络,并且因此是通用逼近器。任何d维分布都可以通过取一组d个正态分布变量并通过一个足够复杂的函数映射该组变量来生成。因此,大多数实施例对框605使用简单的概率分布,通常是独立的高斯分布或均匀分布,如果需要,将随机样本605变换成更复杂的非独立分布留给解码器606。在这些基于高斯的实施例中,没有附加的概率分布参数624。
在一个说明性实施例中,随机样本变量605的概率分布是独立的高斯,而潜在变量是均值622和标准偏差623。假设独立的高斯而不是假设比如具有完全协方差矩阵的独立高斯将不失一般性,因为解码器606可以有效地学习将独立随机变量变换成具有任意协方差矩阵的随机变量所需的变换。
图6D是SCAN+的说明性实施例的框图。SCAN+类似于SCAN,如结合图6C所述,添加了附加目标608。一个重要的附加目标是避免产生不期望的示例。例如,如果图6D中所示的实施例旨在生成指定类别的示例,则框608可以包含分类器或检测器,如果来自SCAN的生成示例匹配不同类别或者被检测器608拒绝,则该分类器或检测器将通过SCAN反向传播错误成本梯度。在一些实施例中,来自外部来源的负示例被用于负训练。来自分类器的错误成本函数的梯度可以通过示例模式反向传播,即使该模式来自外部源并且不是由生成器产生的。
在一些实施例中,框608还包含一个或多个负示例。一个负示例是一个生成器被训练来避免生成的数据示例。在说明性实施例中,框608包含被识别为“Neg”的分类器,其被训练以检测一个或多个负示例中的任何一个。当分类器Neg检测到任何负示例时,这个分类器将负反馈传播回解码器606。作为一个分类器,Neg从其训练示例中进行泛化,并且对于Neg分类为检测到负示例的任何示例,向解码器606给出负反馈。在一些实施例中,负示例用于禁止被训练成产生特定类别的示例的生成器产生任何其他类别的示例。当生成器用于一个或多个单独数据示例的数据扩充时,也可以使用负示例。
在另一说明性实施例中,SCAN+可以具有真实与生成判别器作为附加目标608,如在GAN中一样。在一个实施例中,与GAN不同,真实与生成判别器不会与判别器处于两人零和博弈对抗关系。因为SCAN或SCAN+生成特定于其已经训练了潜在变量向量的数据示例集的模式,所以在优选实施例中,其可以生成特定于一组数据示例的模式,该组数据示例与训练了真实与生成判别器的真实示例集不相交。框608中的这个额外目标帮助SCAN+产生更真实的模式,而没有模式崩溃。图6E、9、11、18、36、37和38给出了具有多个目标的附加示例的生成器。
当使用SCAN来学习或帮助发现聚类时,均值622的节点激活可以暂时软绑定到当前临时分配给同一聚类的所有数据。每当数据示例被重新分配给不同的聚类时,这些绑定都应该改变。
在某些方面,对于其他数据示例,代表高斯中的一个的均值的每个节点被软绑定到相应的节点。例如,当前数据示例的节点激活可以被绑定到来自同一分类类别的所有其他示例,其强度由每个类别可能不同的超参数确定。其也可以用由另一超参数确定的强度软绑定到训练数据中的每个数据示例。这种说明性的软绑定将正则化任何一个目标的均值,使其在这个类别的数据示例中一致,但对于不同的类别还是不同的。这种行为与VAE中使用的库尔巴克-莱布勒散度所导致的正则化形成对比,其将所有数据的所有均值推向零,这反过来又会减少类别之间的差异。减少均值之间的差异减少了从编码器604到解码器606的知识转移量。
均值622的节点激活的软绑定也可以帮助系统学习其他知识,就像在确定性网络中一样。例如,如果一个特征由几个分类类别共享,则具有这个特征的所有数据示例都可以被软绑定。如果网络尚未学习检测该特征,则将任意节点软绑定到预期具有该特征的所有数据示例,可以帮助网络学习将这个节点与该特征相关联,并训练自己以检测该特征。
图6E是在本发明的各种实施例中有用的网络的另一种组合的说明性示例。图6E说明了自动编码器或随机自动编码器不需要真实数据来训练的观点。当模式是一个生成的模式时,尽管有瓶颈或其他限制,学习复制一个模式需要基本上相同的能力,就像当该模式是一个真实的模式时一样。图6E通过提供由生成器612产生的数据作为输入数据613来训练自动编码器611。自动编码器由编码器614、瓶颈层615和解码器616组成。其通过错误函数的反向传播来训练,该错误函数将其输出与输入617的副本以及可能来自附加目标618的副本进行比较。
允许使用生成数据来训练自动编码器的重要属性是1)目标617是已知的,因为其只是输入的副本,以及2)自动编码器必须学习的任务在生成数据上类似于在真实数据上的任务。假设通用噪声网络为自动编码器目标提供了显著的强度,图5中的SCAN、VAE和通用噪声网络共享这些属性。
因此,对于这些网络类型中的任何一种,训练数据都可以由生成器提供。这意味着图6E所示的实施例是另一种情况,其中存在无限量的训练数据,这又意味着,无论网络有多大,都可以生成足够的训练数据,使得网络不具有仅仅简单记住训练数据的能力。当唯一的目标是自动编码目标617时,记住训练数据不是问题。然而,其对于避免从618过拟合目标可能是重要的。
图6F是说明性实施例的框图,其展示了知识的有效表示和转移的示例。框641是任意的神经网络。其可以是分类器或生成器。框646是网络641内的任意一组节点。例如,框646可以是网络641的单个内层中的所有节点。
框642是具有瓶颈层647的自动编码器。例如,瓶颈层647可以是具有比输入少得多的节点的层。作为另一示例,瓶颈层647可以具有任何数量的节点,但是具有硬约束或正则化项,使得其学习稀疏表示,即,只有少量节点被激活超过指定阈值的表示。作为第三示例,瓶颈层647可能由于其节点的软绑定而具有减少的自由度数量。在各种实施例中,自动编码器642可以是单独的独立网络、网络641的一部分或另一网络的一部分。
瓶颈层647中的节点被软绑定到网络643中的一组节点648。网络643可以是原始网络641,或者可以是单独的网络。例如,网络643可以是计算机系统上的网络,其仅通过具有有限带宽的数据通信信道连接到运行网络641的计算机系统。
由节点集646(进而由瓶颈层647)表示的知识被高效且有效地转移到网络643。例如,转移过程比模仿学习更高效,如图1B、27A或27B中所示。
图6C-6F中所示的各种系统和过程可以在计算机系统上实现,例如图41所示的计算机系统4100。
图7-9C是根据本发明各种实施例的机器学习数据生成器系统的框图。机器学习数据生成器系统可以在计算机系统上实现,例如图41所示的计算机系统4100。
图7示出了在各种实施例中有用的本公开的另一方面。图7中所示的系统包含数据生成器701,其可以是任何类型的生成器,例如自动编码器、VAE、GAN或SCAN。噪声系统703产生噪声或其他退化,或者在内部施加到生成器701(例如,生成器701的神经网络的内层,如从缩放单元705到生成器701的虚线所示),或者施加到生成器输出702,如从缩放单元705到生成器输出702的实线所示)。噪声系统703优选地总是在特定度量(例如L2范数)中的恒定水平或接近恒定水平处产生噪声或其他退化。
噪声缩放控制系统704设置缩放因子,该缩放因子缩放来自噪声系统703的噪声或其他退化量。对于生成器701的每个输出,来自噪声缩放控制系统704的噪声/退化量可以变化。缩放操作在缩放单元705中完成。例如,缩放单元705可以将来自噪声系统703的噪声的幅度乘以0和1之间的数字(例如,来自噪声缩放控制系统704的缩放因子)。或者,缩放单元705可以应用范围从零到某个正数的任何单调缩放,其中零的缩放对应于没有噪声或其他退化,并且其中噪声/退化的量随着缩放因子的增加而增加。同样,对于来自生成器701的每个退化输出模式702,噪声/失真的量可以变化。在一些实施例中,生成器701可以是随机生成器,其控制其生成的样本的概率分布的离散度。在这样的实施例中,噪声缩放控制系统704还可以直接控制生成器701的离散度。
该系统还包含回归型机器学习系统706。机器学习回归系统通过训练学习在给定某一输入的情况下预测一个值。在这种情况下,回归型机器学习系统706试图估计已经应用输出模式的噪声/退化的缩放因子。如果针对每个退化输出模式702改变缩放因子,则回归系统706学习估计输入到回归系统706的每个退化输出模式702的缩放因子。在回归型机器学习系统706的训练期间,噪声缩放控制系统704向框707提供噪声或其他退化的缩放因子的数值,作为回归系统706基于输入模式702进行预测的目标值。回归型机器学习系统706因此被训练来估计缩放因子,该缩放因子控制输入模式702中的噪声/退化量。任何合适的机器学习系统都可以用于回归系统706,尽管在优选实施例中,回归型机器学习系统706包括用随机梯度下降训练的多层前馈神经网络。多层前馈神经网络和通过随机梯度下降的前馈神经网络的训练将结合图42进行更详细的描述。
由于一种类型的退化可能产生与第二种类型的退化相匹配的不同缩放的效果,在一些实施例中,训练多个回归型机器学习系统,对每种类型的退化噪声建模一个。
虽然使用了术语“退化”,但是在一些实施例中,噪声系统703不产生噪声,而是将一些参数化变换应用于生成器701的输出702。例如,如果噪声系统703的输入数据是图像,则噪声系统703可以平移图像或旋转图像。在这样的实施例中,噪声缩放控制系统704控制平移、旋转或其他变换的量。
注意,像自动编码器系统一样,回归系统706可以在生成数据上训练,而不仅仅是在有限数量的真实世界训练数据上。因此,对于可用于训练回归系统706的训练数据量没有限制。无论回归型机器学习系统706中有多少学习参数,都可以提供足够的训练数据,使得回归型机器学习系统706不能仅仅记住训练数据。
此外,可以作为开发数据的生成数据量没有限制,以测试回归系统706在与训练数据不相交的新数据上的性能。其中开发测试允许回归系统706的正则化和其他超参数被优化以减少或消除过拟合,尤其是当与每当开发测试指示需要时生成附加训练数据的能力相结合时。开发测试还可以测量并因此优化回归系统706的能力,以泛化到新的情况或数据空间的新区域中的数据。
在许多应用中,根据需要生成新的训练和开发数据的能力非常重要。例如,回归系统706可以用于在GAN中替换真实与生成判别器,或者用于包括真实与生成判别器的任何多目标机器学习系统中。足够复杂的真实与生成判别器可以学习记住全部或部分真实训练数据。在这种情况下,被训练成其对手的判别器和生成器的泛化能力都很差。限制判别器的复杂性或不对其进行收敛训练可能会减少这种记忆效应,但会损害其判别真实示例和生成示例的能力。使用图7的退化回归系统替换对抗性判别器避免了这种损害。
图8是来自图7的退化回归系统706的训练后使用的说明性示例。在图8中所示的说明性实施例中,已经训练的回归系统706(例如,根据图7所示的过程训练的)与从随机输入数据801生成输出模式803的解码器802配对。回归系统706反向传播错误函数,因此解码器802必须是一种支持反向传播的机器学习系统,例如前馈神经网络。多层前馈神经网络和通过随机梯度下降的前馈神经网络的训练将结合图42进行更详细的描述。
因为解码器802从随机输入801生成输出模式803,解码器802类似于用于GAN的生成器,除了在图8中,GAN的真实与产生的判别器已经被回归系统706替换,该回归系统可能已经如图7中那样被训练。因为回归系统706没有被训练成与生成器(例如,解码器802)对抗,所以将图8中所示的实施例称为对抗系统是不合适的,即使其表面上类似于GAN。
解码器802的输出803作为输入被馈送到回归系统706,回归系统706将激活向前馈送到回归系统输出,回归系统输出是生成的模式803中的退化程度的估计。回归系统706然后基于目标806反向传播错误成本函数,目标回归值为零。零值,意味着零估计退化,是生成器/解码器802的目标。尽管回归系统706反向传播错误成本函数,但在图8中所示的实施例中,回归系统706没有被训练。相反,其已经通过如图7中所示的过程进行了训练。相反,回归系统706将错误成本函数的偏导数反向传播到它的输入框,即生成的模式803,其为解码器802的输出。
来自回归系统706的错误成本函数导数然后通过生成器/解码器网络802反向传播,然后通过随机梯度下降对其进行训练。反向传播和随机梯度下降对于训练神经网络领域的技术人员来说是已知的,并且结合图42进行描述。尽管组件相似,但图8中所示系统的训练行为与GAN的训练行为完全不同。因为回归系统706与生成器/解码器802不对抗,所以回归系统706不被训练成简单地记住其训练示例,即训练GAN固有的两人零和对抗博弈的最佳解决方案。相反,回归系统706被训练成从其训练数据中进行泛化,并在独立开发数据上进行测试。此外,回归系统706具有无限量的训练数据和开发数据,如以上结合图7所述。
生成器/解码器802通过来自回归系统706的反向传播来训练,其方式与GAN中的生成器根据来自真实与生成分类器的反向传播的负值来训练相同。然而,因为回归系统706被训练成从其训练数据中进行泛化,所以图8的生成器/解码器802也学习这样做。
一些实施例可选地包含网络805,该网络反向传播用于训练生成器/解码器802的附加目标,这进一步增加了生成器/解码器802学习从其训练数据进行泛化的趋势。附加目标可以通过附加神经网络805反向传播。例如,网络805可以包括真实与生成的判别器,例如在GAN中使用的判别器,这对于深度学习领域的技术人员是已知的。作为另一示例,网络805可以包括分类器。一般来说,来自网络805的一个或多个附加目标降低了生成器/解码器802训练过拟合其训练数据的能力,并因此帮助生成器/解码器802学习泛化。
除了用于在使用这种分类器的任何系统中替换真实与生成的分类器之外,退化回归系统706可以作为附加目标添加到不使用真实与生成的分类器的任何系统中。
图9A示出了说明性实施例,其中退化回归系统706被添加到随机自动编码器901,例如VAE或SCAN,结合图6C、9、12、16、36、37和38对其进行了讨论,并将在下面进一步详细讨论。在图9A所示的实施例中,随机自动编码器901被用作生成器。在本实施例中,还可以添加机器学习去噪网络908。VAE的训练对随机生成的样本进行平均。这个训练中的平均通常导致输出模式有些模糊。这种模糊是VAE相对于例如GAN的缺点中的一个。优选地,退化回归系统706在数据示例上训练,其中退化的一些或所有示例是VAE输出与其输入相比的示例。在这种情况下,去噪网络908学习去除随机自动编码器901的输出中的模糊,尤其是当随机自动编码器901除了任何其他退化或变换之外还用VAE实现时。
如图9A中所示,随机自动编码器901包括编码器904和解码器906。在训练期间,编码器904接收输入模式903并输出参数概率分布的参数,例如均值和标准偏差905,从中生成随机变量911的样本(例如高斯分布)。解码器906学习从随机变量911的样本输出输入模式903。
在生成期间,不使用编码器904和训练数据903;只有解码器906用于从随机变量911的集中生成输出,这些输出基于参数概率分布905的参数。这些组件和训练过程对于训练随机自动编码器(例如VAE)领域的技术人员来说是已知的。在图9A中所示的实施例中,除了从输入903直接返回到随机自动编码器901的输出的正常错误成本函数之外,随机自动编码器901的训练被修改为包含来自退化回归系统706的反向传播以及通过去噪网络908的反向传播。
当用于随机自动编码器的训练时,退化回归系统706优选地已经被训练。退化回归系统706优选从零退化的目标反向传播,如前所述。
在一些实施例中,去噪系统908也已经被训练,并且当用于训练随机自动编码器901时。然而,在一些实施例中,可以首先训练随机自动编码器901,并将其用于训练去噪系统908。在一些实施例中,去噪系统和随机自动编码器901一起被训练。例如,去噪系统908可以结合到解码器906中。在这样的实施例中,当训练随机自动编码器901时,输入数据903被提供给去噪子网络908下面的解码器906中的层。
在一些实施例中,输入数据903在去噪系统908之后作为目标被提供,替换或补充在去噪系统908之前被提供。例如,在去噪自动编码器中,可以在输入903和编码器904之间添加噪声,并且可以在去噪系统908之后将输入903作为目标提供。作为另一示例,在例如VAE中的随机自动编码器901的情况下,输入903可以在去噪系统908之后作为目标被提供,并且去噪系统908可以被训练以去除由VAE生成的图像中经常出现的模糊。
在图7的噪声系统703产生输出的变换(例如平移或旋转,而不是退化)的实施例中,则在图9A中,去噪系统908被训练来执行逆变换,而不是作为去噪系统。
图9A中的退化回归系统706用于训练随机自动编码器901,并因此优选在图9A所示的训练过程中不进行训练。可选地,去噪网络908可以在图9A中所示的随机自动编码器901的训练期间具有附加的训练。
可选地,框310可以将附加目标反向传播到随机自动编码器901。例如,框910可以包括对抗的真实与生成判别器,其输出被反向传播到随机自动编码器901。来自真实与生成判别器的反向传播增加了随机自动编码器901生成真实数据的趋势。此外,回归系统706训练随机自动编码器901以更好地泛化的能力解决了纯GAN的一些问题。作为另一示例,框910可以从分类器的目标反向传播。在这个示例中,随机自动编码器901被训练成生成可以更容易被正确分类的数据。
在各种实施例中,随机自动编码器可以包括类似于VAE的SCAN,除了在SCAN中由编码器904输出的参数905是控制随机层911的参数概率分布的参数之外,不像在VAE中那样被正则化以最小化库尔巴克-莱布勒散度。相反,在SCAN中,超参数直接控制均值相对于标准偏差905的相对幅度。2018年9月7日提交的、发明名称为“随机分类自动编码器网络(STOCHASTIC CATEGORICAL AUTOENCODER NETWORK)”的第16/124,977号美国专利申请中更详细地描述了SCAN,其全部内容通过引用并入本文。SCAN或其他随机自动编码器的训练类似于上述VAE的训练。
图9B示出了说明性实施例,其中类似于图9A中针对VAE或SCAN所描述的训练可以应用于能够通过反向传播来训练的任何生成器951。图9B的实施例采用图9A中的去噪系统908、回归系统706和其他目标910。去噪系统908和生成器951的训练方式与图9A中去噪系统908和随机自动编码器901的训练方式相同。在一些实施例中,去噪系统908是可选的,或者等效地,生成器951除了可以具有与图8的生成器802不同的设计外,生成器951像图8的生成器802一样被训练。
图9C示出了一个说明性实施例,其中去噪系统968被训练来减少来自任何噪声数据源的噪声。在本实施例中,回归系统706和其他目标910与图9A中的回归系统706和其他目标910相同。然而,在本实施例中,去噪系统968的训练可以限于可用作训练数据的噪声数据963的量,与其他实施例相比,这限制了去噪系统968学习泛化的能力。
图10示出了类似于图4所示的协作生成器的训练的说明性实施例。图10中所示的系统可以由计算机系统执行,例如图41所示的计算机系统4100。图10中所示的实施例明确地示出了常规SCAN(1003)、如图9A中所示的已被增强的SCAN(SCAN+1001)、常规GAN(1004)、用退化回归系统替换如图8中所示的对抗的真实与生成判别器训练的非对抗生成器(GAN+1002)以及可能的其他生成器1005。在一些实施例中,可以使用VAE来替换或补充SCAN。在一些实施例中,框1009反向传播附加目标。图10中所示的系统以与图4中所示的系统相同的方式被训练,除了分类器1006具有用于每个生成器的输出节点,并且优选地使用具有最大似然错误成本函数的softmax输出函数。
图11是一种类型的生成器的说明性实施例的框图,该生成器类似于GAN,但是其具有不受模式崩溃影响的目标类型。图11中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。这种类型的生成器将被称为“半对抗”网络。或者,其可以被称为“半协作网络”。框1101、1102和1103通过解码随机输入来生成模式,类似于GAN。然而,框1104、1105和1106反向传播表示由框1104和1105表示的两个或更多个分类器之间的某种目标一致或不一致量的目标,而不是真实与生成判别器。在一些实施例中,框1107反向传播附加目标。
本发明的各种实施例代表了目标函数1106的设计和框1104和1105的训练过程的不同可能性。
在一个说明性实施例中,框1104和1105被训练成单独数据上的普通分类器。在本实施例中,框1104和1105从框1106反向传播目标,但是不基于这个反向传播进行训练。因此,分别像图4、7、8和9中的框403、706、804和912一样,它们不经受模式崩溃。像图4、7、8和9所示的实施例一样,本实施例可以被称为协作学习。
在一些其他实施例中,框1104和1105至少部分在从训练解码器框1102的目标反向传播期间被训练。例如,在一个实施例中,框1104和1105可以是试图学习提供相对独立的知识并且不在任何数据示例上犯相同错误的集成的两个成员。因此,除了其作为分类器的正常训练外,它们也可能有一些训练,其中它们的目标是在它们都错了的数据上不一致。因此,在这样的数据上,来自框1106的目标成本函数可以奖励它们的输出激活中的差异。通过符号反转,反向传播到所生成的模式1103,并且然后到解码器框1102将有助于减少这些差异。也就是说,框1102被训练来生成框1104和1105在其上犯相同错误的数据,而框1104和1105学习对该难以分类的数据给出不同的答案。这种训练是对抗性的,但不会导致模式崩溃,因为生成与训练框1104和1105的原始分类数据相同的数据示例通常既不满足这种对抗性训练中框1104和1105的目标,也不满足框1102的目标。参考图1E的框186讨论训练一个集成的两个成员不犯相同错误的另一实施例。
图11的一个实施例在本文讨论的其他系统的各种实施例中特别有价值。本实施例处理1104的分类器1的和1105的分类器2几乎相同的情况。在这种情况下,反向传播试图在分类器1的一个方向和分类器2的相反方向上移动最大输出的激活的目标将导致相对于输入变量的偏导数,该偏导数倾向于具有相反的符号和可比较的幅度。这种情况的说明性实施例不反向传播全维度梯度。相反,其仅反向传播其中从两个分类器反向传播的偏导数具有相同符号或者其中一个具有显著更大幅度的维度。
图12是使用生成器来扩充选择数据集的说明性实施例的流程图。图12中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。在框1221处,计算机系统选择要扩充的数据集。选择的数据集可以是训练集中的所有数据、单个分类类别中的所有数据、数据聚类中的数据或具有已知选择标准的任何其他集。在一些实施例中,其可以是上面提到的受一个或多个额外条件约束的集中的一个,例如选择的数据也接近给定的数据示例或者其接近给定的决策边界。
在框1222处,计算机系统4100使用选择的数据来训练SCAN,如例如结合图6C所描述的。SCAN的训练使用了许多超参数,如下所述。
在框1223处,计算机系统4100设置超参数来控制用于SCAN的节点激活正则化的形式,本文称为“软绑定”。上文更详细地描述了软绑定。如果数据集是数据示例的聚类或是局部的,则优选地,对应于潜在变量的节点被软绑定在所有数据上。如果数据集更加多样化,则聚类内的数据示例可以用更大的强度进行软绑定,而更大的组可以用更小的强度进行软绑定。
在框1224处,计算机系统4100为选择数据中的“数据影响”权重数据示例设置超参数。在说明性实施例中,每个数据示例有一个这样的权重。每个数据示例对所有数据示例的任何总和的贡献乘以这个权重。这等同于让示例按照权重指示的次数出现。在一些实施例中,可以由学习教练控制的自动过程可以在逐个示例的基础上调整这个参数以改进性能。例如,其可以降低一个数据示例的权重,这个数据示例可能会因产生过拟合而导致错误率增加。
在框1225处,计算机系统4100为代表离散(例如,标准偏差或方差)的潜在变量设置超参数。作为一个说明性的示例,这些潜在变量都可以设置为相同的值,该值由超参数控制。这个选择对于许多目的是足够的。然而,与所有超参数一样,离散(如标准偏差)潜在变量的超参数可以由学习教练进行优化和微调谐。
在框1226处,计算机系统4100优化至少一个超参数(例如,“数据拟合”超参数),控制输入数据的拟合度和过拟合与欠拟合之间的权衡。在一些实施例中,框1226可以具有测量或估计这种权衡的直接方式。在其他实施例中,其通过实验性地完成框1227和1228并在其预期应用中使用生成数据来测量对性能的影响。这样,在框1226处,计算机系统可以测量这个应用中的性能,并使用这样的性能测量来执行框1226中的调谐。这个迭代优化过程由从框1228返回到框1226的循环来指示。
在框1227处,计算机系统使用选择的数据和指定的超参数值(例如,包含数据拟合参数)训练SCAN。然后在框1228处,计算机系统使用在步骤1227处训练的SCAN生成扩充数据,并将其用于预期应用或作为开发的实践应用。
图13是对本发明的各种实施例有用的说明性聚类方法的流程图。图13中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图13所示的方法使用一个分类器来进行聚类,并且除了聚类需求之外,还优化一个或多个其他目标。
基本聚类学习操作由计算机系统4100执行,如从框1327到框1329的迭代循环所示。聚类的特征是将哪些数据示例分配给该聚类。分配可以是确定性的,其中每个数据示例被分配给一个且仅一个聚类,或者可以是加权的或概率性的,其中每个数据示例被分配给任意数量的聚类,其中每个分配的程度由0和1之间的数字指示。在说明性实施例中,表示数据示例的分配程度的数字被限制为总和为1。
给定现有的聚类,在框1327处,计算机系统4100训练分类器以尝试识别聚类分配值。作为分类器目标的现有分配可以是确定性的或加权的。由迭代循环1327-1329完成的聚类学习是无监督学习,因为没有类别的外部规范。在框1327中,当前聚类分配是实现分类器的机器学习系统的监督训练的输出目标。
对于每个数据示例,分类器尝试根据其当前的聚类分配对数据示例进行分类。作为说明性示例,在框1327处训练的分类器可以是机器学习系统,其具有用于每个聚类的输出节点,具有作为输出激活函数的softmax函数。也就是说,每个输出应该是非负的,并且输出被限制为总和为1。在框1327处训练的分类器可以例如通过最大似然成本函数上的随机梯度下降来训练。
一旦在框1327处训练了分类器,计算机系统4100就在框1328处使用该分类器对数据进行分类,可能包含以前没有分类的新数据。
在框1329处,计算机系统4100然后重新计算数据示例到聚类的分配。在一个说明性实施例中,数据示例的每个聚类的分配权重被设置为相应输出节点的激活值。在另一个说明性实施例中,分配是确定性的,并且每个数据示例被分配给对应于具有最高激活值的输出节点的聚类,在绑定的情况下随机选择。
尽管框1327-1329的基本聚类操作可以用无监督学习来完成,但是其也可以是有监督的或半监督的。例如,可以为每个类别分配单独的输出节点。在说明性实施例中,在框1329中执行的重新分配可以在具有已知类别的每个数据示例只能被分配给对应于和已知类别标签对应的输出节点的聚类的约束下执行。未标记的数据示例仍然可以在无监督的情况下分配。
控制返回到框1327,直到满足某种收敛或其他停止标准。
图13的其他框处理初始设置和基本聚类操作之外的任务。
在框1321处,计算机系统4100选择要聚类的数据示例。
在框1322处,计算机系统4100选择期望数量的聚类。聚类会将选择的数据精确地分组到指定数量的聚类中。作为第二次传导调整,可以进行单独的测试来决定是分割还是合并某些聚类。框1322还可以指定机器学习系统的架构以用作分类器。在一些实施例中,在框1327中的训练期间,可以改变这个架构。
在框1326处,计算机系统4100初始化数据到聚类的分配。例如,如果有N个聚类,每个数据示例可以被分配给权重为1/N加上介于-ε和+ε之间的随机数的聚类j,其中ε是小正数。
在框1323处,计算机系统4100指定除了聚类之外的任何期望的目标,并且框1325将它们表示为训练分类器1327的错误成本函数中的附加项。在说明性实施例中,聚类由通过随机梯度下降训练的分类器完成,因此任何附加的目标可以简单地作为附加项添加到梯度下降的错误成本函数中。
标注1324给出了在本发明的各种实施例中有用的副目标的一些示例。
框1324中的第一示例提供了在本发明的各种实施例中有用的能力。在图1A的框103、104和105的错误分析和错误纠正中,可能存在一个单独的数据示例X,其难以在不过拟合和导致其他错误的情况下正确分类。潜在修复此错误的一种方法是从与X相同的类别中找到附近的数据示例聚类。如果X与聚类一起分组,则有可能训练分类器来正确地对其进行分类,而不会将其过拟合为单个示例。例如,通过简单地干预在框1329中执行的聚类分配,可以将示例X与特定聚类分组。
然而,目标是正确地分类示例X,而不会由于过拟合而导致额外的错误。作为说明性示例,可以通过向分类器1327添加附加目标来达到这个目标。如果分类器基于示例X上的训练被训练成过拟合,首先识别一个或多个可能被错误分类的数据示例Y。向分类器1327添加一个或多个附加输出节点以表示数据示例Y。只有当示例Y的正确类别不同于X的类别并且它们被错误分类为与X相同的类别时,示例Y的分类才被视为过拟合。将额外的项添加到错误成本函数中,以表示示例Y都应该被分类器1327分类为额外节点中的一个而不是表示X类别的聚类的输出节点中的一个的目标。也就是说,不仅应该如上所述监督示例Y的框1329中的分配,而且在分类器1327的训练期间,当数据示例来自Y时,对于对应于类别X的聚类的任何输出节点的任何激活,在错误成本函数中应该有一项。
框1324中的第二个示例也涉及避免过拟合。同样的想法是,如果一个单独的困难数据项被建模为一个更大的聚类的成员而不是孤立的,则它就不太可能导致过拟合。在这个第二示例中,不要强制将问题示例分配到特定的聚类中,而是向成本函数添加项,以阻止聚类操作使用单个数据示例或少量数据示例创建聚类。例如,可以向分类器1327的错误成本函数添加一个项,该项奖励最大化数据示例在聚类中的分布的熵。
另一示例特定于分类器1327是神经网络的实施例。在一些实施例中,对于一些数据示例,软绑定节点激活是有用的,例如结合图6A和6B所讨论的。节点激活的软绑定通常作为一种正则化方法是有用的。然而,在本发明的各种实施例中,存在软绑定的实施例,其与聚类结合特别有用。作为一个说明性的示例,在图1的框104和105中,聚类可以用于错误分析和纠正过拟合错误。在这个说明性示例中,正在对来自单个类别C的数据示例与来自其他类别的一些数据示例进行聚类,例如上述数据示例Y。数据示例Y仅与数据类别C相区别,而不是聚类。
在这个说明性实施例中,为了正则化,一些节点激活被软绑定在来自类别C的所有数据示例上。进行进一步的软绑定以帮助找到代表区别特征的节点,将类别C与其他类别判别开来,或者将类别C内的一个聚类与另一聚类判别开来。首先找到可能是区别特征的良好代表的节点。例如,选择在类别C的大部分数据示例上被强激活的节点。这些节点是代表将类别C与其他类别判别开来的特征的候选者。将这些节点的节点激活软绑定到类别C的所有数据示例。
接下来,选择在某些聚类中被强激活但在其他聚类中没有被强激活的节点。这些节点是代表判别一个聚类和另一个聚类的特征的候选者。首先,使软绑定的强度足够低,这样它就不会主导聚类目标,但足够强,这样它就有一定的影响力。随着向聚类分配数据变得更加稳定,软绑定的强度可能会增加。软绑定和特征发现相互支持。将结合图21进一步讨论特征检测。在这个软绑定的示例中,绑定权重取决于聚类分配。当使用这种类型的副目标时,框1329将控制传递回框1323,包含迭代循环中的框1323和框1325。
图14和15是用于数值估计大量实验估计变量的梯度的方法的流程图,例如本发明各种实施例中的超参数。图14是整个过程的流程图。图15是发生在图14的框1403和框1406中的详细估计过程的流程图。图14和15所示的每个过程可以由计算机系统执行,例如图41所示的计算机系统4100。
本发明的一些实施例具有数百万个超参数。实验性地估计这么多超参数的偏导数将会非常昂贵。框1401将超参数分组为不相交的子集,其中每个子集含有相关的超参数,对这些超参数应用乘法缩放因子是有意义的。图14和15的技术也可以用来估计任何可微的确定性或随机函数的梯度。
由于导致超参数自然分组的各种原因,本发明的各种实施例具有大量超参数。举例来说,下面的列表显示了在本发明的实施例中,在神经网络的说明性示例中扩展超参数数量的几种方式:
●为每个单独的学习参数(如神经网络中的连接权重)或数据结构元素(如神经网络中的节点)定制的常规超参数:
○学习速率(ηl,i,j)
■学习速率计划(ηl,i,j)
○正则化参数(λl,i,j)
○动量参数(μl,i,j)
●可用作学习参数但作为超参数控制的参数:
○温度(例如,神经网络中的sigmoid节点)(Tl-1,i,t)
○数据示例的聚类分配权重(dm)
●新概念的超参数:
○节点激活软绑定的强度(wm,n,l,j)
○SCAN中潜在变量的约束
○任何随机生成器生成期间的标准偏差缩放
○在错误分析和纠正过程中的数据权重(dm)
其他类型的机器学习系统具有可比较的定制和扩展的超参数集。这个列表中的每个行项目形成一个自然组。通过保持一个或多个下标不变,可以在这样的行项目中创建较小的组。
在框1402处,计算机系统4100创建组级超参数作为框1401中创建的每个子集的缩放因子。
框1403和框1404使用图15中详述的过程来估计在框1402中创建的每个组级超参数的偏导数,并选择具有最大绝对值的那些。
作为说明性示例,在框1405处,计算机系统4100从框1404中选择的组中随机选择一些单独的超参数。一些实施例,例如那些具有关于单个超参数的影响的独立信息的实施例,可以使用确定性选择方法来替换或补充随机选择。系统的一些实施例可以跳过或不包含框1401至1404,而是直接选择单个超参数。
在框1406处,计算机系统4100使用图15中详细描述的过程来估计选择的单个超参数的偏导数。
在框1407处,计算机系统4100选择一组新的单个超参数,包含尚未测试的新超参数和来自框1406中先前测试的最佳超参数。选择具有最大绝对值的偏导数的超参数。梯度被估计为向量,这些估计的大绝对值偏导数和其他偏导数被设置为零。
估计的偏导数是随机变量,因此对具有大幅度偏导数的选择超参数的重复测试减小了这些偏导数估计值的置信区间的规模。每个超参数的偏导数估计值的标准偏差基本上与其期望值无关,因此,即使在重复测试之前,对于较大幅度的偏导数,置信区间的相对规模也较小。从框1407返回到框1406的循环指示这种重复测试,其与测试新的单个超参数相结合。
当满足停止标准时,框1408选择已经被一致测试为具有绝对值相对较大的偏导数的超参数。
图15是估计超参数偏导数过程细节的流程图。框1501选择一组超参数或从外部源接收这样的选择,例如图14的框1402、1405或1407。
在框1502处,计算机系统4100获得或选择要执行的一组评估。在一些实施例中,这些评估可以是复杂的确定性或随机函数的评估,其导数在封闭形式下不可用。在这些实施例中,函数可以是许多变量的任何函数。变量不一定是超参数。即使对于复杂的确定性函数,由于框1504中的随机扰动,图15的过程的估计也是随机的。
在积极开发的大多数实施例中,评估将是机器学习系统的实验运行,对于选择的超参数具有特定的值。例如,要优化的函数可以是由超参数控制的学习过程的速度或效率的度量。在积极开发的实施例中,要优化的函数可以是通过图1所示的过程开发的机器学习系统的持续开发数据上的性能,其中一些超参数控制框103、104和105中的错误检测和错误纠正。
在框1503处,计算机系统4100用超参数的指定值对要优化的函数或目标进行基本评估。
注意,任何超参数都可以用任意的缩放变化来重新定义。优选地,所有超参数自然地具有可比较的缩放,或者先前已经被重新缩放为可比较的。
在框1504处,计算机系统4100在每个超参数中进行零均值随机扰动。扰动的幅度被限制为很小,使得除非一阶导数非常接近于零,否则由一阶导数引起的函数值的变化将主导由较高阶导数引起的变化。扰动可以从有界连续分布中选择,或者可以简单地从一个小的非零整数倍数集中选择,例如,对于随机k,扰动=k*ε。
根据中心极限定理,大量N个这样的扰动的和将是一个高斯分布,其均值为零,并且方差等于单个样本方差的N倍。这种和的标准偏差与n的平方根成正比。
对于N次评估中的每一个,为每个超参数生成不同的随机扰动。在框1505处,计算机系统4100记住这些扰动中的每一个的量,使得它们可以在框1512处被计算机系统4100使用。
在框1506处,计算机系统4100计算N次评估中的一个。超参数中的每一个在每次评估中都接收一个扰动,因此在每次评估中,与基本评估的差异是所有超参数扰动影响的总和。
在框1507处,计算机系统4100记住扰动超参数的评估与基本评估相比的变化。在内部循环框1512中也需要这个量。
在框1510处,计算机系统4100开始对所有超参数或其他变量的循环,其中偏导数将被估计。
在框1511处,计算机系统4100开始对已经完成的N次评估的内部循环。这个循环将被执行M*N次,其中M是变量的数量,N是评估的数量。然而,评估是计算中最昂贵的部分,并且只有N+1次评估。
在框1512处,计算机系统4100通过将评估n相对于基数的变化除以评估n中变量m的扰动,对评估n的变量m的偏导数进行估计。此统计的期望值是变量m的偏导数,因为其他变量都被零均值随机量扰动。根据中心极限定理,此统计的标准偏差正比于变量数量的平方根乘以其他变量偏导数的平均绝对值。
在框1513处,计算机系统4100累积所有评估的这些估计,并且将控制返回到框1511,直到已经累积了变量M的所有N次评估。然后,控制被传递到框1514。
在框1514处,计算机系统4100通过将来自框1513的累加除以N来计算由所有评估平均的变量m的偏导数的估计。此统计的期望值等于变量m的偏导数,标准差正比于M的平方根乘以其他变量的偏导数的平均绝对值除以N的平方根。
图15中的过程仅旨在对小部分偏导数(即绝对值最大的偏导数)进行精确估计。因此,在这个小百分比的变量的绝对值大于其他变量的平均绝对值的程度上,N可以小于M。
在框1515处,计算机系统4100选择并报告偏导数的幅度大于指定值的这些变量,其中指定值被选择得足够大,使得选择变量的偏导数的幅度在统计上大于估计的标准偏差。
通过图14中所示的分组和选择,减少了图15中所示过程实例中使用的变量数量。框1406和1407的重复以及框1408的选择倾向于剔除在图15的过程的单次运行中偶然获得大幅度偏导数估计的变量。
图16是流程图,示出了在本发明的各种实施例中使用生成器进行数据扩充的过程。图16中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。在框1601处,计算机系统4100选择一个或多个特定数据示例来扩充。
在框1602处,计算机系统4100根据应用和生成目的选择使用哪个生成器。在一些实施例中,生成器根在与选择示例都来自同一类的数据示例上来训练。这种训练限制可用于多种类型的生成器,包含GAN、VAE和SCAN。此外,对于VAE和SCAN,在一些实施例中使用与选择数据示例相关联的潜在变量的向量。这种选择的益处对于SCAN来说更大,因为SCAN潜在变量向量可以通过使用适当的软绑定和副目标来训练得更有区别。VAE的KL散度正则化倾向于降低潜在向量的区别。
在框1603处,计算机系统4100设置超参数的值,该超参数控制所生成样本的概率分布中的标准偏差或扩散量的其他度量。注意,对于具有在训练期间控制标准偏差的超参数的生成器,在框1603中设置的超参数是不同的,并且它们的目的是允许为扩充而生成数据的扩散具有比生成器训练期间更大或更小的扩散量。除了副目标之外,这也是工具中的一种,可以调谐数据扩充,以优化有助于机器学习系统学习泛化的数据扩充和生成可能增加与其他类别混淆的示例的数据扩充之间的权衡。
如果在框1601中选择了一个以上的数据示例,则计算机系统4100在框1604处随机选择其中一个。
在框1605处,计算机系统4100使用选择的生成器来随机生成与在框1604中选择的一个相关的新数据示例。框1605循环回到框1604,直到满足停止标准。然后,其循环回到框1601,选择更多的数据示例来扩充,直到满足第二停止标准。
在框1610处,计算机系统4100实现或包含额外的目标以克服生成器1602的缺点或给出期望的额外属性。例如,GAN或类似GAN的生成器可以包含额外的目标,以避免模式崩溃,例如试图混淆图4中的“哪个生成器”分类器,或者避免图37中的剽窃检测器。在一些实施例中,SCAN或VAE生成器具有来自框1612的目标,该目标增加了生成器生成真实模式的能力。例如,在这些实施例中,1612可以具有真实与生成分类器,或者可以具有如图9A所示的退化回归系统。在一些实施例中,框1611提供帮助防止框1602的生成器生成不期望的模式的附加目标,例如图4中讨论的负反馈和图18中讨论的负示例。例如,在一些实施例中,当生成器1602生成被分类为像一组负示例中的一个的数据示例时,框1611反向传播惩罚项,包含在先前训练中遇到的负示例。
在框1610处,计算机系统4100还可以实现其他目标,例如图38的框3821和3822的目标,或者如图11中在分类器之间获得目标一致或不一致的目标。
在一些实施例中,计算机系统4100在框1600处软绑定节点激活。潜在变量在SCAN中是软绑定的。其他节点也可能是软绑定的。任何生成器类型都可能有软绑定节点。
在图8、9、10和11中,具有软绑定其潜在变量1600和各种增强生成器的能力的SCAN,具有额外的目标1610,包含生成更真实的模式1612和限制有害的过度生成1611的能力,对于这个目的是特别好的。SCAN+生成器具有所有这些能力。
图17A是在本发明的各种实施例中用于纠正困难分类错误的过程的说明性实施例的流程图。图17A所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图17A的概念是,一个模式可能会以一种使其难以识别的方式被变换或扭曲。如果变换很少,或者根本不存在于训练数据中,则机器学习系统很难学习直接对其进行分类。即使变换的示例出现在训练数据中,机器学习系统通常也很难学习将该变换应用到其他数据。如果变换很少,尝试学习正确分类变换的示例也可能导致过拟合并导致其他错误。图17A通过使用不同的方法避免了这些问题。其使用生成器生成足够多的示例来训练逆变换的模型。然后,其可以将这个逆变换应用于难以分类的单个示例。在图1的讨论中引入的术语中,可能在局部或单个范围的开发过程中,图17A针对的是单个难以纠正的错误。
在框1701处,计算机系统4100选择数据示例,优选地是主分类器出错的数据示例。如果一个以上的数据示例要应用该错误纠正过程,则每个示例都可以在图17A中所示过程的单独应用中完成。让A代表数据示例的正确类别,并且让B代表该示例被错误分类的类别。
在框1702处,计算机系统4100获得训练的分类器。此分类器只是在框1705中为变换的训练提供成本函数的辅助。在一些实施例中,框1702中的分类器是正在执行错误纠正的主分类器。在一些实施例中,在框1702中选择或创建的分类器是仅在局部区域中的数据上和仅在在框1701中选择的示例的类别上以及可能与其混淆的类别上训练的更简单的分类器。
在框1703处,计算机系统4100选择类别B和其他类别的类似示例。在一些实施例中,类似的示例是通过用该实施例用于测量接近度的任何标准寻找最近邻居来选择的。在一些实施例中,从类别B中选择一个或多个数据示例,并且使用如图1A、1B、1C、12和16中所述的数据扩充来生成更多的数据示例。在框1705中,选择这些示例以约束要训练的变换。此训练的一个目标将是找到一种变换,避免将这些示例中的任何一个错误地分类为类别A。类别B示例是最重要的。在一些实施例中,其他类别是可选的。
在框1704处,计算机系统4100生成框1703中选择的示例的随机扰动。作为一个说明性的示例,这些扰动可以由图16中所示的过程生成。作为另一示例,如果模式是图像或语音或音频信号,则可以简单地通过向信号或图像添加随机噪声来生成扰动。
一方面,如果含有来自框1701的数据示例的数据空间的体积中的其他类别示例的密度足够高,则从计算机系统4100执行的过程中省略框1704。需要在1703中选择或在1704中生成足够多的示例,以便框1705中的变换(如下所述)学习进行将泛化到新数据的变换。如果在框1704中的示例之间存在间隙,则变换可以仅学习将数据示例变换成这些间隙中的一个。
在框1705处,计算机系统4100训练变换。例如,该变换可以由神经网络表示,该神经网络将1701中选择的数据示例作为输入,并生成另一个模式作为输出。变换可以是任何可训练的生成器或模式变换器,它们接受一个模式作为输入,并将其变换成另一模式。框1710将目标应用于框1706中的纠正变换模式的分类的过程。
计算机系统4100在框1705处的训练使用在框1702中获得的分类器,并且反向传播来自目标的偏导数,该目标表示已经被变换的示例的正确类别。也就是说,变换应该将在框1701中选择的示例变换成被正确识别为其类别实例的模式,而在框1703中选择的每个其他类别示例的变换仍然被识别为其自己类别的实例,如在框1704中生成的任何模式。换句话说,变换的应用应该纠正在框1701中选择的示例中的错误,而不在框1703中选择的或者在框1704中生成的示例中引入任何新的错误。为了实现这一目标,可能需要降低框1704中生成器的标准偏差。
在框1706处,计算机系统4100使用该变换进行错误纠正。框1706中的过程有点像数据扩充,除了其为在分类时间而不是在训练期间完成的。其不会生成附加的训练数据。相反,在分类时间,变换被应用于类别B的选择实例。例如,如果图17A的过程是在局部范围的开发期间完成的,则只有这个局部范围中被分类为类别B的数据示例被选择来进行变换。如果选择示例的变换被分类为类别A,则该示例的分类被更改为类别A。这个过程导致错误纠正。在操作时间,将变换应用于被分类为类别B的数据示例。然后对变换后的数据进行第二轮分类。变换已经被训练来变换类别A的示例,这样它们将在这个第二轮中被正确分类。其还被训练,以变换类别B的数据示例,以这种方式,在其变换后的第二轮中,这些数据示例仍被分类为类别B。
限制此类变换的数据示例是图1中引入局部和区域范围概念的原因中的一个。使用图17A中的变换是积极错误纠正的实例。任何此类变换的性能都必须在开发数据上进行验证。
图17B是在本发明的各种实施例中有用的另一种类型的随机变换生成器1751的框图。图17B中所示的系统可以在计算机系统上实现,例如图41所示的计算机系统4100。编码器1754、潜在变量1755、高斯分布1756和解码器1757与VAE或SCAN的相应部件相同。然而,系统1751不是被训练成随机自动编码器(其中输出目标是输入的副本),而是被训练成模式对。对于每个训练示例,有一个输入模式1753和一个单独的模式1758作为输出目标。因为其类似于变分或SCAN,但被训练成一个变换而不是一个自动编码器,所以其将分别被称为VT或随机分类变换器(SCT)。
图17C是在本发明的各种实施例中用于生成可以纠正错误的变换的说明性实施例的流程图。图17C中所示的过程可以由计算机系统执行,诸如图41所示的计算机系统4100。将分类错误被纠正的分类器称为C。
在框1721处,计算机系统4100选择特定类别的原型示例,其将被称为类别A。在各种方面,计算机系统4100使用生成器,诸如VAE+或SCAN+来扩充选择的原型。优选地,选择的原型被分类器C正确分类。
在框1722处,计算机系统4100选择在类别A中但被错误分类为在类别B中的数据示例。让该示例由X表示。框1722还使用生成器来扩充示例X。优选地,生成器被训练成包含在X附近的数据示例,这些数据示例是作为负示例的除了A之外的类别。负示例可以包含在生成器的训练中,例如,如图9和18中所示。在框1724中,为了具有足够的训练数据来训练VAE+或SCAN+变换器,提供了这些X的数据扩充。
在框1724处,计算机系统4100使用有序对作为训练数据来训练VT或SCT,变换的输入从框1721生成的扩充数据中选择,输出目标从框1722生成的扩充数据中随机选择。除了正训练示例之外,VT或SCT变换器还优选地用除了A之外的类别的负示例来训练接近X的数据示例。然后,通过从由框1721生成的扩充数据中随机选择其输入,训练的VT或SCT被用于生成扩充数据。
在框1725处,计算机系统4100训练分类器,通过由框1724的VT或SCT生成的输出示例,用优化的超参数扩充分类器的训练数据。
在框1726处,计算机系统4100在开发数据上测试在框1725中训练的分类器的性能。框1726可以或者将控制传递回框1724,或者通过框1727将控制传递回框1721,以生成另一个用于测试的VT。当满足停止标准时,框1726停止,并指示最佳性能的分类器。
图18和19表示用于将生成器与检测器配对的系统和方法的说明性实施例,其在本发明的各种实施例中是有用的。在图20的说明性实施例中使用所示方法来构建MGM。图18是说明性实施例的框图,且图19是训练系统的说明性示例的流程图。在说明性实施例中,检测器1802和生成器1812被训练成检测和生成与单个聚类相关的数据。该聚类可能已经通过对未标记数据的无监督学习而被训练,或者该聚类可能是单个类别的标记数据中的一个聚类。图18-20所示的系统和过程可以由计算机系统执行和/或在计算机系统上实现,例如图41所示的计算机系统4100。
图18中的框1801代表检测器1802的输入。该检测器有三种可能的输出。输出1803表示检测事件。激活此输出代表检测。例如,如果输出1803是唯一的输出节点并且具有sigmoid激活函数,则激活值的范围可以是0到1,激活大于某个阈值,比如0.5,表示检测,而小于该阈值的激活表示没有检测。常规的检测器只需要一个输出,等同于输出1803。然而,此说明性实施例表示关于未检测(例如,拒绝或中性)的附加信息,并在其训练过程中使用此信息。输出1804表示检测到负示例,并且输出1805表示中性非检测。如结合图1的框1807、1808、1809和1810所解释的,检测、拒绝或中性这三个选项中的每一个都由来自三种类型事件的示例的监督训练来训练。在一些实施例中,三个输出节点中的每一个被单独训练;例如,它们每个都可以用sigmoid激活函数训练。在一些实施例中,三个节点被分组在一起,并且softmax计算被应用于它们的激活。用输出节点的sigmoid激活或softmax激活的训练对于训练神经网络领域的技术人员来说是已知的。在任一情况下,每个输出节点的激活都在[0,1]的范围内。使用softmax激活,三个节点的激活被限制为总和为1.0。根据三个节点中哪一个具有最大激活,输出被称为指定检测、拒绝或中性输出。softmax归一化的使用不会改变哪个输出节点具有最大得分的身份。对于sigmoid输出,最大激活可以是[0,1]范围内的任何数字。使用softmax归一化时,最大得分必须至少为1/3。此外,训练中可能存在差异,使得一种表示在一些实施例中可能是优选的,而另一种表示在其他实施例中可能是优选的。
框1801从几个来源中的任何一个接收其输入。其从框1809接收聚类内数据。当有被标记的数据时,从框1810,其接收来自与聚类相同的类别的数据,但是不在聚类中。此外,其可以从框1807接收一般背景数据(即,不是来自该类别的数据)。当来自框1807的数据被检测器1802误分类为检测时,计算机系统4100使错误分类的数据从框1807复制到框1808(如标注1806所示)。作为检测器1802的目标输出为1804“拒绝”的示例,已经复制到框1808的数据被用于检测器1802的连续训练。来自框1809的聚类内输入数据的目标输出是“检测”。来自框1810的类别内输入数据的目标输出是“中性”,但是在各种实施例中,来自框1810的输入数据的分类作为检测不会导致该示例被计算机系统4100复制到框1808作为负示例。
来自框1807的背景数据的检测器1802的目标输出也是“中性”。如上所述,作为检测,此数据的错误分类导致错误分类的数据被计算机系统4100复制到框1808作为负示例。但是,如果背景数据被分类为“拒绝”,则此分类被接受。在一些实施例中,当背景数据被分类为“拒绝”时,没有从“中性”的标称目标进行反向传播。
框1801也可以从生成器1812接收输入。在一些实施例的训练的一些阶段,在检测器1802中,计算机系统4100还反向传播偏导数,作为生成器1812的训练的一部分。生成器1812可以是任何形式的生成器。在一些实施例中,其为随机自动编码器,例如VAE或SCAN,从框1811接收其输入。使用VAE作为生成器对于神经网络领域的技术人员是已知的。尽管图18中所示的说明性实施例使用随机自动编码器作为生成器1812,具有编码器和解码器,但是应该理解,可以使用一些其他形式的生成器。当生成器1812是自动编码器或另一种可以在指定的训练数据上进行训练的生成器时,优选地,其最初仅在来自聚类的数据上进行训练。在一些实施例中,当聚类中的数据太少时,生成器1812也可以在来自该类别的数据上训练。作为生成器,一旦被训练,其可能被限制为只使用对应于来自聚类的数据的潜在变量。如图19中所示,在一些实施例中,生成器1812的后续训练将包含正和负示例。
尽管图18仅示出了一个检测器1802和一个生成器1812,但是在一些实施例中,多个生成器可以与单个检测器1802配对;或者多个检测器1802可以与单个生成器1812配对。在有多个生成器的实施例中,生成器可以都是相同类型或一种以上的类型。在配对训练中,如果框1812是自动编码器,则其具有多个目标、作为目标的输入、来自检测器1802的反向传播以及可能的附加目标1814。因此,在图10的术语中,生成器1812是增强型生成器,例如VAE+或SCAN+。
图19描绘了配对训练过程的说明性实施例的流程图。在框1901中,计算机系统4100选择一个类别。在框1902中,计算机系统4100训练该类别内的聚类。在框1902中可以使用该领域中已知的任何聚类算法。作为说明性的示例,对于高斯混合模型,聚类可以作为K均值聚类或期望最大化聚类来完成。在框1902中训练的聚类稍后可以由计算机系统4100在框1911中修改。在框1903中,计算机系统4100选择在步骤1902中训练的聚类中的一个,使得用于选择聚类的生成器-检测器对(例如,图20中的生成器-检测器对2050A-C)可以通过步骤1904到1911被训练,如下所述。如果有多个聚类,并因此有多个相应的生成器-检测器对,则可以为每个这样的聚类/生成器-检测器对完成步骤1904-1911。
在框1904中,计算机系统4100在独立的基础上训练图18的生成器1812,其中具有选择聚类的训练示例。也就是说,生成器1812被训练而没有来自图18的相应检测器1802的反向传播。生成器1812的进一步训练将在框1908中完成。在框1905中,计算机系统4100在独立的基础上用选择聚类的真实训练示例训练图18的检测器1802。在一些实施例中,在框1905中的训练检测器1802中,计算机系统400还可以使用在框1904中初始训练的由生成器1812生成的数据示例。在框1906中,计算机系统4100使用图18的生成器1812来生成表示来自选择聚类的数据(即,“聚类内”数据)的数据。也就是说,所使用的潜在变量向量是来自聚类的数据示例的潜在向量。在框1907中,计算机系统4100使用在步骤1905中训练的图18的检测器1802,对在步骤1906中由生成器1812生成的数据进行分类。在框1908中,计算机系统4100训练生成器1812,其包含来自检测器1802的反向传播。该过程循环返回并重复框1906、1907和1908,直到满足停止标准。作为说明性示例,停止标准可以是(i)收敛,(ii)对迭代次数的指定限制,或者(iii)由于验证数据的退化而提前停止。
如果满足停止标准,则过程进行到框1909,此处计算机系统4100使用具有来自聚类和来自其他聚类的潜在变量的生成器1812来生成聚类内(正)和聚类外(负)数据。然后,在框1910中,计算机系统4100在框1909中由生成器1812生成的数据上训练检测器1802。该过程然后循环返回以从框1909获得更多的训练数据,直到满足训练检测器1802的停止标准。作为说明性示例,在步骤1910训练检测器的停止标准可以是(i)收敛,(ii)对迭代次数的指定限制,或者(iii)由于验证数据的退化而提前停止。
一旦满足训练检测器1802的停止标准,该过程进行到框1911,此处计算机系统4100使用更新的检测器1802来对来自该类别的数据进行分类,并将数据重新分配到该聚类中或从该聚类中分配出去。然后,该过程将控制返回到框1906,以生成聚类内模式数据,直到满足停止标准。作为说明性示例,停止标准可以是(i)收敛,(ii)对迭代次数的指定限制,或者(iii)由于验证数据的退化而提前停止。一旦满足停止标准,就可以对在步骤1902训练的任何附加聚类一次一个地重复该过程,以便为那些附加聚类生成生成器-检测器对。
图20是作为聚类的混合的类别的生成模型的说明性实施例的框图,每个聚类由如图18和19中所示的生成器-检测器对表示。因为每一类输入数据被建模为聚类的混合,并且每个聚类有一个生成器-检测器对2050A-C,这样,系统2070被称为MGM。在图20中,只有三个聚类,都在同一类别中;因此,仅示出了三个生成器-检测器对2050A-C,但是应当理解,每个类别和任何数量的类别可以有任何数量的聚类/生成器-检测器对。
每个生成器-检测器对2050A-C可以包括一个生成器和一个检测器,如图20中所示,并且优选地,对于该类别中的每个聚类有一个生成器-检测器对2050A-C。参考图20,假设有三个聚类,因此有三个生成器-检测器对2050A-C,即:生成器1(框2001)和检测器1(框2011)形成聚类1的生成器-检测器对2050A;生成器2(框2002)和检测器2(框2012)形成聚类2的生成器-检测器对2050B;以及生成器3(框2003)和检测器3(框2013)形成聚类3的生成器-检测器对2050C。生成器-检测器对2050A-C由例如结合例如图18和19描述的计算机系统4100训练。一旦被训练,图20中所示的系统2070可以由计算机系统4100作为生成器、聚类分类器或类别分类器来操作。计算机系统4100还可以继续以独立模式训练检测器2011-2013,而不更新聚类定义。
在例如计算机系统4100的控制下,传输交换机2010(以软件实现)根据系统2070执行的操作在图20中的元素之间建立不同的连接。在系统训练期间,如图18和19中所示,每个生成器(例如,图18中的生成器1812或图20中的生成器2001、2002或2003)连接到其相应的检测器(例如,图18中的检测器1802或图20中的检测器2011、2012或2013)。
为了生成表示类别的数据,在节点2000中,计算机系统4100选择类别中的一个聚类。基于其先验概率选择每个聚类。计算机系统4100使用所选聚类的生成器(比如聚类2的生成器2(等))为所选聚类(例如聚类2)生成数据示例,该数据示例被发送到传输交换机2010。在交换机2010处,当系统2070作为生成器运行时,计算机系统2100将生成数据发送到框2004供外部使用。
当系统作为分类器操作时,在交换机2010处,计算机系统4100可以从框2005接收真实数据或生成数据。真实或生成数据2005可以存储在计算机系统4100的板上和/或板外。如果数据2005是生成数据,则其可以由数据生成器(未示出)生成。交换机2010将来自框2005的数据发送到每个检测器2011-2013,一个检测器对应一个聚类。如图18中所示,在说明性实施例中,检测器2011-2013中的每一个具有三个可能的输出,代表“检测”、“拒绝”和“中性”,它们分别由图20中标记为D、R和N的节点表示。
从每个聚类检测器2011-2013,计算机系统4100优选地将“检测”激活馈送到两个节点。一个目的地是“最大节点”2021。最大节点2021的激活是特定类别中所有聚类的“检测”输出的最大激活。例如,如图20中所示,最大节点2021的激活值等于检测器1-3 2011-2013的检测输出的单个最大激活值。最大节点2021的激活可以用作类别分类任务中类别的得分。最大节点2021优选地在分类任务的训练期间接收反向传播,并且反过来计算机系统4100将错误成本函数导数反向传播到具有最大值的检测器2011-2013。
在聚类分类模式中,第二目的地是节点集2031中的专用节点。对于每个检测器2011-2013,在节点集2031中有一个节点,因此对于指定类别中的每个聚类有一个节点。计算机系统4100将每个聚类检测器2011-2013的“检测”激活发送到节点集2031中其各自的专用节点。在说明性实施例中,计算机系统4100对节点集2031执行softmax操作;即,其将其节点的激活归一化总和为一。在训练期间,计算机系统4100将节点集2031训练用于聚类分类。对于每个数据示例,节点集2031的目标对于正确的聚类是值一,而对于所有其他节点是值零。在节点集2031中,计算机系统4100将此目标分别反向传播到聚类检测器2011、2012和2013。
因此,在计算机系统4100的控制下,传输交换机2010有三种操作模式:(1)训练,(2)生成,(3)分类。此外,还有两种分类子模式:(i)类别分类和(ii)聚类分类,它们由计算机系统4100控制,分别选择节点集2031或节点2021作为系统的输出。
这种持续的训练细化了检测器按照定义对聚类进行分类的能力,并且继续训练类别分类。在一个说明性实施例中,还通过返回到图18中所示的配对生成器检测器训练过程来更新聚类定义。
虽然上面结合图18-20描述的说明性实施例主要是用神经网络作为生成器来描述的,特别是用VAE作为生成器1812的示例,但是应该理解,可以使用其他类型的生成器。例如,可以使用不同类型的随机自动编码器,称为SCAN。SCAN具有与VAE相同的形式,但是使用不同的目标,并且对自动编码器中随机层的参数概率分布的参数施加不同的约束。2018年9月7日提交的、发明名称为“随机分类自动编码器网络(STOCHASTIC CATEGORICALAUTOENCODER NETWORK)”的第16/124,977号美国专利申请中更详细地描述了SCAN,其全部内容通过引用并入本文。
作为另一示例,可以在结合图18-20描述的系统和过程中使用GAN。GAN使用随机层和解码器网络,如图18中的生成器1812,但是没有编码器。在训练GAN时,也训练了对抗分类器,尽管这在图18中没有示出。对抗分类器试图判别真实数据和由GAN生成器生成的合成数据。GAN生成器的训练目标是愚弄对抗分类器。在图18和20中所示的系统中,在本发明的各种实施例中,GAN生成器除了愚弄其相关的对抗分类器的目的之外,还优选地具有VAE的目的,而不是使其输出匹配其输入的自动编码器的目的。GAN没有编码器,因此其解码器的输入与随机层直接相关,而与编码输入数据示例无关。
在一些实施例中,生成器的混合物可以包括多种不同类型的生成器(例如,VAE、SCAN、GAN)。在这样的实施例中,如果生成器不能够被训练来生成仅表示特定聚类或类别的数据项,则在图18中所示的实施例中,该生成器可以与能够被训练来生成表示特定聚类或类别的数据项的另一生成器配对,以便生成图19的框1906和1909中所需的数据示例。
图21是用于基于并支持聚类创建特征检测节点的方法的说明性实施例的流程图。图21中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图21的过程使用节点的软绑定,因此其为特定于应用节点绑定的神经网络或其他机器学习网络的。
图21中的流程图可以通过两种方式中的任何一种开始。在框2101处,计算机系统4100开始于对每个分类类别的数据示例进行聚类。本领域中已知的任何聚类算法都可以由框2101实现。作为一说明性的示例,聚类可以如图13中所示完成。作为另一说明性示例,如图18、19和20所示,可以使用配对的生成器和检测器来完成框2101中的聚类。
对于另一入口点,在框2100处,计算机系统4100跳过这个初始聚类。相反,其从外部源导入特征规范,或者使用下面描述的其他方法中的一种来查找特征,而不需要首先聚类。在本说明性实施例中,特征规范包括指定一组数据示例中的哪些示例展示了该特征,哪些没有。可以从多个来源导入特征规范。注意,例如,图21中所示的实施例在框2106中导出了特征规范。因此,框2100可以例如导入在图21所示过程的先前应用中已经学习和导出的特征规范。
一个特征的外部规范的另一个来源是一个特殊的分类器,其为一个专用的特征检测器。此外部分类器在特征的标记数据示例上进行训练,并且然后可以自动标记任何其他数据示例。如图1B、27A和27B所示,通过模仿学习,标记的示例可用于训练特征检测器节点。在一些实施例中,如图34中所示,深度神经网络的中间层中的特征节点具有目标和错误成本函数,用于检测为每个数据示例指定的特征以及从其网络的更高层反向传播的目标。在一些实施例中,特征检测由具有激活函数的单个节点表示,例如sigmoid。在一些实施例中,其由更复杂的结构表示,例如图28中的三节点结构2803,其表示拒绝错误检测以及检测。
入口点2100或2101可以单独使用,或者它们都可以与在框2001中获得的聚类和在框2100中获得的外部特征规范一起使用。
在说明性实施例中,在框2102处,计算机系统4100选择现有网络中的节点来成为代表特征的节点。在一些实施例中,其添加额外的节点作为特征节点,以便保留已经被训练的网络中的任何现有知识。
在框2103处,计算机系统4100软绑定每个特征节点的每个聚类中的所有数据示例。如果仅使用入口点2100并且聚类尚未形成,则在第一传导中跳过此框。
在框2104处,计算机系统4100训练分类系统,包含软绑定特征节点。在一些实施例中,训练基于MGM训练,如图18、19和20中所示。
在框2105处,计算机系统4100基于数据以及特征节点的激活值进行聚类。聚类内节点激活的软绑定正则化了特征学习。特征值有助于定义更有区别的聚类。
控制循环回到框2103,此时计算机系统4100继续训练分类器和特征,并继续更新聚类,直到满足停止标准。根据实施例设置的标准,框2105直接进行到框2106或进行到框2107,以训练配对的特征检测器和生成器,如图18中所示。
在框2107处,计算机系统4100使用来自图18的配对生成器和检测器的技术来生成用于训练特征检测器的更多数据。图18的技术的一个优点是其包括了负示例上的训练,允许生成器在不过度泛化的情况下进行泛化。
在框2108处,计算机系统4100在扩充数据上训练检测器,并且然后将控制传递到框2106。
在框2106处,计算机系统4100导出每个特征节点的规范。
图22是用于在复杂分类器中定位和生成决策边界描述的过程的说明性实施例的流程图。图22中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。在本发明的一些实施例中,知道决策边界的位置和形状的一些属性是有用的。然而,对于具有数百万个参数的机器学习系统,通常没有决策边界的明确表示。图22的说明性实施例适用于任何类型的机器学习系统,除了需要反向传播的框2204和2205。可以跳过这些框,或者在框2202中,可以通过模仿学习来训练允许反向传播的判别器,例如神经网络,以模仿原始系统的决策边界。
在框2201处,计算机系统4100选择两个聚类或两个类别。一些实施例优选地选择代表两个不同类别并且包括一些被误认为另一类别的点的两个聚类。选择聚类而不是整个类别将分析保持在局部区域,并通过消除复杂决策面的一些原因来简化分析。复杂决策面的其余原因是过拟合和其他问题,这些都是诊断的主题。聚类算法的一些实施例可以选择代表相同类别的两个聚类。
在框2202处,计算机系统4100获得并训练判别两个聚类的分类器。在框2204中,此判别器需要反向传播导数。如果原始系统不能做到这一点,此判别器可以是一个新的系统,如神经网络,训练模仿原始系统。为了模拟原始系统,生成器可以在决策边界附近生成任意多的数据示例,因此模拟可以任意精确。
在框2203处,计算机系统4100训练具有生成示例的副目标的生成器,使得来自框2202的判别器以相等的得分对两个聚类进行评分,例如,两个聚类在softmax中都得到0.5的得分。换句话说,生成器被训练来生成靠近决策面的数据示例。
在框2204处,计算机系统4100反向传播来自判别器的偏导数,以获得与决策面正交的向量。
在框2205处,计算机系统4100寻找正交向量方向上的快速变化,作为过拟合或一些其他问题的指示。框2205还可以以其他方式表征决策面及其形状和平滑度。例如,在一些实施例中,在框2205处,计算机系统可以将超平面拟合到生成数据示例的集,并测量来自超平面的扩散。
在框2206、2207和2208处,计算机系统4100测试在训练条件变化下边界的稳定性,无论这些变化是数据的变化、超参数的变化、机器学习系统的架构的变化,还是基于相同数据或从相同分布采样的不同数据训练的完全不同的机器学习系统的替代。
在框2206处,计算机系统4100使用例如SCAN或VAE,以及在其他附图中讨论的任何增强,在决策边界附近生成数据示例。其可以使用任何一种可以控制的生成器来生成给定示例附近的示例。
在框2207处,计算机系统4100对训练条件进行一些改变。变化可以大也可以小。例如,其可以是单个超参数的一个小变化以估计偏导数。在另一个极端,其可能是一个完全不同的机器学习系统,在从同一分布中提取的不同数据上进行训练。
在框2208处,计算机系统4100通过测量在框2206中生成的测试点示例处的分类得分的变化来测试在变化下决策边界的稳定性。
图23示出了用于生成连接两个数据示例的示例的过程的流程图。图23中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图23的过程生成了数据示例,这些数据示例沿着连接两个指定数据点的曲线提供点。在一些实施例中,例如,测试一个分类和另一个分类之间的转换是否平滑和单调或者是否波动是有用的。然而,两个原始数据点之间的线性插值可能是不真实的,因为非常高维空间中的大多数点不具有真实数据的属性。相比之下,图23中使用的生成器可以具有副目标,以使其生成数据示例更加真实,例如图8、9和10中的生成器或具有类似副目标的其他生成器。
在框2301处,计算机系统4100选择两个数据示例。
在框2302处,计算机系统4100生成更多的示例作为两个选择示例的数据补充。
在框2303处,计算机系统4100获得或训练用于扩充数据的判别器。对于任何数据示例X,让S1(X)是第一个数据示例的得分,以及S2(X)是第二个数据示例的得分。对应于框2304的生成器,如下所述,可以使用统计量R=S1(X)/(S1(X)+S2(X))。
在框2304处,计算机系统4100训练具有多个目标的生成器。目标中的一个是统计量R具有介于0和1之间的指定值。在一些实施例中,可以为每个期望的R值训练单独的生成器。
在框2305处,计算机系统4100为覆盖范围0到1的一组R值生成数据,并对生成数据拟合曲线。
在框2306处,计算机系统4100沿着曲线生成更多数据示例。
在框2307处,计算机系统4100检查沿着和靠近曲线的分类的一致性。
在框2308处,如果必要,计算机系统4100采取纠正措施。例如,其可以增加正则化的量。注意,图23测试了在一个小的局部区域中纠正措施的需要,而不是在整个数据空间中应用增加的正则化。
图24是用于安全地改变神经网络以修复单个数据示例的问题的过程的说明性实施例的流程图,即使神经网络已经被训练成收敛。图24中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。说明性实施例实现了称为数据分割的过程,该过程已经结合图1F的框152进行了描述。在新网络(或新集成)至少在训练数据上改进性能的意义上,它是“安全的”。由于有更多的参数,新的网络可能会过拟合数据,并在新数据上表现更差。图24中所示的过程拟合积极开发的范例,并且在本发明的各种实施例中是有用的,在这些实施例中,过拟合由图1A和其他附图中所示的技术来处理。在一些实施例中,图24中所示的过程可以用于构建图1A的框192的不受限系统U。
尽管图24中所示的说明性实施例是特定于神经网络的,但是数据分割可以应用于具有可微的目标函数的任何类型的机器学习系统,如结合图1F的框152所解释的。在应用于一般机器学习系统的数据分割的说明性实施例中,机器学习系统创建集成或向现有集成添加成员,而不是像图24中那样使用一个或多个单独的节点或连接。
当一个网络被扩展到可以代表身份的网络中时,扩展的网络能够计算任何较小的网络能够计算的东西。因此,至少在训练数据上,具有其最佳参数设置的扩展网络的性能至少与较小网络的最佳性能一样好。然而,当非常深的网络被进一步扩展和重新训练时,它们通常比较小的网络表现更差,有时甚至在训练数据上灾难性地更差。一个问题是,扩展网络很难学习较小网络所学习的一切,也很难学习在扩展部分表示身份。
从一个经过充分训练的较小网络实例开始,可以初始化扩展网络,复制较小网络的所有参数,并将扩展部分初始化为身份。这是在图24的框2407中完成的过程。例如,可以用偏置来初始化ReLU,使得ReLU的输出与其输入相同。任何神经元,例如sigmoid神经元,可以由原始神经元加上线性单元和求和神经元的组合来替换,如图28的2801所示的结构,其中从sigmoid神经元到求和神经元的连接被初始化为零。在一些实施例中,替换在2801中所示的线性神经元,使用ReLU或可以被初始化以表示身份的一些其他激活函数。通过这种方式,任何想要的网络扩展都可以被初始化为等同身份。
仍然存在一个问题。在所描述的场景中,原始网络已经过收敛训练。根据所述初始化的扩展网络将位于或接近一个静止点,可能是一个局部最小值。静止点也可以是扩展网络的错误成本函数中的局部最小值。图24中所示的过程通过首先在训练数据的选择子集(2405)上训练(2408)至少新网络的扩展部分来避免这个问题,产生不在静止点并且已经在选择子集上具有改进的性能的网络配置。
说明性实施例中的过程开始于处理被原始网络错误分类的单个数据示例。在一些实施例中,该过程从一个以上的错误分类数据示例开始。在一些实施例中,使用除了错误分类之外的标准来指定一个或多个选择的数据示例。例如,可以选择一个数据示例,因为许多节点在该数据示例上是非决定性的,如图32所定义。
在说明性实施例中,在框2401处,计算机系统4100为指定的一个或多个数据示例识别网络中的改变元素。框2401包含用于选择网络中的改变元素的标准2402。在一个实施例中,如果错误成本函数相对于连接权重的偏导数具有大的绝对值,则选择连接权重或与连接相关联的弧作为改变元素。其他实施例可以使用标准2402的以下一个或多个示例来选择节点作为改变元素(除了或替换相对于连接权重的错误成本函数的偏导数是否具有大的绝对值):(1)与该节点的任何其他目标相结合的错误成本函数具有相对于该节点的激活值的导数,该导数具有高于某个特定阈值的绝对值;(2)节点在图32定义的意义上是非决定性的;或者(3)该节点具有被识别为改变元素的输入或输出连接。
在框2405处,计算机系统4100找到共享一些相同改变元素的其他数据示例。对于框2401中的数据示例,其他数据项上的偏导数是否具有与导数相同的符号并不重要。
在框2406处,计算机系统4100可选地克隆原始网络。只有新的副本将被扩展。如果原始网络未被克隆,其将被一个扩展网络替换,在该扩展网络中复制了选择的改变元素。通过复制连接的每个节点来创建连接的副本。
在框2407处,计算机系统4100如上所述扩展网络,产生新的扩展网络,该网络被初始化以进行与原始网络相同的计算。在一些实施例中,该扩展网络被用作集成中的新成员。在一些实施例中,该扩展网络取代了先前的网络。
在框2408处,计算机系统4100最初仅在框2405中选择的数据上训练新网络。在一些实施例中,由计算机系统4100在框2408处执行的训练使用所有数据,但是对在框2405中选择的数据给予额外的权重。
在一些实施例中,如果原始网络已经被克隆,则在框2409处,计算机系统4100添加组合网络,该组合网络确定在组合得分中给予两个网络中的每一个多少权重。组合网络最初被训练成在除框2405中选择的数据之外的所有数据上偏好原始网络,并且在选择的数据上偏好新网络。
在由超参数确定的大量数据选择性训练之后,常规训练被恢复。在框2404处,计算机系统4100在所有数据上训练集成和组合网络或扩展的替换网络。
图25是用于在指定的一组数据示例中找到数据示例X的近邻的过程的说明性实施例的流程图。图25中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。例如,指定的集可以是训练数据集T或开发数据集Dev。示例X不一定在指定的集中。例如,其可能是随机生成器生成的数据示例。在本发明的各种实施例中,寻找近邻可能是有用的。
在框2501处,计算机系统4100获得数据示例X。
在框2502处,计算机系统4100询问搜索是否应该使用强力。如果是,控制进行到框2503。如果不是,控制进行到框2506。
在框2503处,计算机系统4100将X与指定集中的每个示例进行比较,并且选择最接近的示例。如果指定的集很小,这个强力过程是一个合理的选择。然而,在一些应用中,例如,训练集T可能非常大。例如,一些图像分类任务拥有超过一百万张图像。
在框2506处,计算机系统4100训练关联存储器。关联存储器应该是能够从模式的不完整或噪声版本中检索存储模式的类型。图29中给出了这种关联存储器的一个示例。对于任何一个指定的集,关联存储器只需要训练一次。
在框2507处,计算机系统4100生成类似于X的随机模式。优选地,生成器应该基于随机自动编码器,例如,SCAN。
在框2508处,计算机系统4100向关联存储器呈现随机示例,并检索关联的输出模式。
在框2509处,计算机系统4100测量检索到的示例的接近度以及其是否在指定的集中。例如,可以使用散列函数来高效地检查示例是否在指定的集中。并非来自关联存储器的所有检索都在指定的集中,并且并非所有检索都接近于X。在任何情况下,都需要多个示例,因此控制返回到框2507以重复循环,直到找到期望数量的示例。
本发明的许多实施例使用监督学习。也就是说,它们使用标记的训练数据。然而,对于一些数据示例,标称标签可能不确定。例如,与具有已知标签A的数据示例X相关联的生成数据示例Y可能与X有足够大的不同,以至于A不是Y的正确标签。已经被手动标记的数据示例可能已经被不正确地标记。可能会有数据示例被某些过程自动标记,例如半监督学习。
图26公开了一个通过使用软标签(即标签可能被改变的数据示例)来解决数据可能被错误标记的问题的过程。图26中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图26有两个决定是否删除可疑数据示例或改变其标签的过程。标记的数据示例被各种诊断过程确定为可疑的。例如,如果其影响权重超参数dm的最佳值接近0或为负,则标记数据示例m是可疑的。如果通过实验确定:如果改变标称标签分类性能会得到改进,其也是可疑的。
如果数据示例是生成数据或通过半监督学习标记的数据,则使用从框2610开始的过程。如果数据示例是用指定标签提供的训练数据,则使用从框2620开始的过程。
从框2610,过程进行到框2605,此处计算机系统4100要求其他系统对数据示例进行分类。在本发明的一些实施例中,不同的系统在它们划分训练和开发数据的方式或者它们使用开发数据集的顺序上是不同的。在这样的实施例中,其是是否使用来自框2605的信息的判断调用。一些实施例可以跳过此框。
在从框2610开始的过程中,只标记生成数据。然而,关于另一个系统如何对生成数据示例进行分类的知识可能会泄露关于在另一个系统的训练数据中的附近数据示例的信息。这种危险可能很严重,例如,在一个小的低维数据空间的任务中有许多查询。如果数据空间是高维的,并且只使用了少量的这种类型的查询,则泄露禁止信息的危险较小。如果所有系统都预留相同的验证和测试数据,则最终的验证和测试仍然有效。
在框2601处,计算机系统4100用可用的分类器对数据进行分类。
在框2602处,计算机系统4100编译该信息。如果报告比设计者设置的某一标准差,则dm被设置为0,从未来的训练中删除该示例。在一些实施例中,如果标签被改变,则运行测试以查看分类性能是否被改进。如果是,则标签被改变,但是新标签被标记为临时的。只要改变回临时标签可以改进分类性能,临时标签就可以被改变回。
在框2603处,计算机系统4100选择产生错误示例的生成器。
在框2604处,在一些实施例中,计算机系统4100降低生成器的标准偏差。然而,生成器标准偏差是一个超参数,在超参数的优化中可以改变。在一些实施例中,其他类别的邻近示例被用作负示例来训练生成器。
在从框2620开始的过程中,控制进行到框2607,此处,当可疑数据示例的标签改变时,计算机系统4100测试性能。如果测试结果在大于ε的幅度上为正(这可以基于统计显著性),一些实施例可以改变标签(例如,由计算机系统4100在框2608处)。新标签被标记为临时的。
在多个系统使用相同训练数据的实施例中,或者在许多其他系统将使用该数据示例作为训练数据的增量开发的后期阶段中,计算机系统4100要求使用该数据示例作为训练数据的系统在框2609处报告它们对标签的体验。如果一致同意,则标签就会改变。
图27A和27B是由生成器促进的模仿学习的说明性实施例的框图。图27B的元素与图27A的元素相同,除了图27B是特定于神经网络的,并且包含网络2701和网络2706中的节点之间的软绑定。图27A和27B中所示的系统和过程可以在计算机系统上实现,例如图41所示的计算机系统4100。例如,图27A中的实施例和图27B中的实施例都可以用于将知识从限制较少的机器学习系统(例如图1A中的系统U)转移到限制较多的系统。例如,任一实施例也可以用于将知识从集成转移到单个分类器。图27A的实施例可以用于将知识从一种类型的机器学习系统转移到另一种类型的机器学习系统。
在图27A或27B中,框2703是一个生成器或模拟器。例如,2703可以是如图6C中所示的SCAN,或者如图20中所示的MGM。生成器1(框2703)为机器学习系统2701生成数据以进行分类,并为机器学习系统2706生成数据以模仿机器学习系统2701进行的分类。
在图27A或27B中,框2704是扩充真实数据的生成器。例如,框2704可以是例如增强的VAE+、增强的SCAN+或MGM。
在框2702处,示例机器学习系统2701从生成器1 2703接收输入。
如框2705所示,训练机器学习系统2706可以从生成器1或生成器2接收输入。当框2705从生成器1接收输入时,机器学习系统2706的目标2708是机器学习系统2701从相同输入产生的输出2707。当框2705从生成器2接收扩充真实数据时,机器学习系统2706的目标2708是真实数据的数据示例的类别,其是由生成器2产生的扩充数据的基础。
图27B中所示的实施例专用于神经网络,并且包括两个网络之间的节点软绑定。如图所示的网络示出了一个示例:具有较少的层的网络将知识转移到具有扩大数量层的网络。然而,图27B中所示的实施例也可以用于将知识从具有更多层的网络转移到具有更少层的网络。图27B中所示的实施例可以将知识从任何神经网络分类器转移到任何其他神经网络分类器。应当注意,网络2701、2706中的层数仅仅是说明性的,且网络2701、2706可以具有任何数量的层。
图27B举例说明了由两个生成器支持的从原始网络2701到扩展网络2706的模仿学习。使用图27B中所示实施例的一个示例是在数据分割之后神经网络的扩展。如果其是在数据分割时完成的,则数据分割的选择子集最初被用于在由生成器2 2704扩充的真实数据中生成多于其比例的数据份额。生成器1 2703生成用于转移的数据,如图1B中所示。生成器22704扩充真实数据,因此每个生成器有无限量的数据。除了从网络2701的输出分类接收的输出目标和从扩充真实数据2704接收的类别标签之外,还存在原始网络中的节点到扩展网络中的节点的内部软绑定。在一些实施例中,软绑定不应用于用于进行数据分割的问题数据。
为了便于说明,图27B只显示了几个箭头,表示从原始网络软绑定到扩展网络的节点。然而,在一些实施例中,较小网络的所有节点将被绑定到较大网络中的一个或多个节点。此外,尽管原始网络2701中的任何节点可以被绑定到扩展网络2706中的任何节点,但是在网络2706具有更多层的许多实施例中,对于原始网络2701中的每一层,在新网络2706中将有一个或少量层,其是原始网络中那一层的副本,原始网络2701中的每个节点最初被软绑定到该层的每个副本中的相应节点。在一些实施例中,优选地,软绑定的强度在新网络2706的训练期间逐渐降低。
图27B中所示的技术也可用于将知识从任何网络转移到试图学习相同分类任务的任何其他网络。例如,图27B的技术可用于将知识从图1C中所示的积极开发中相对不受限系统U转移到比系统U更受限的任何其他网络。
尽管图27B示出了层数的显著扩大,但是在一些实施例中,一次仅添加一层。图27B也可以用于仅进行局部改变的情况,例如添加或删除单个节点。在一些实施例中,当进行局部改变时,在局部改变的区域之外,所有节点最初被软绑定到具有相对强的绑定的新网络中的相应节点。
在一些实施例中,在训练过程中,对于非局部变化以及局部变化,图27B中所示的软绑定最终被降低到零强度。
图28示出了在本发明的各种实施例中有用的节点或复合节点的组合的示例。所描绘的节点可以在由计算机系统实现的机器学习网络中使用,例如图41所示的计算机系统4100。第一个示例2801是由非线性(NL)节点(即节点2)组成的复合节点,例如与线性(L)节点(即节点1)配对的sigmoid,也称为线性伴随。在一些实施例中,将线性伴随添加到非线性节点,以避免“消失梯度”问题,该问题有时在具有激活函数的节点(例如sigmoid)被训练到饱和时出现。如果该对替换现有的单个非线性节点,则线性节点的连接权重最初为零。在一些实施例中,当在图1E的框181或图1F的框153或156的增量开发期间向网络添加新层时,使用诸如示例2801的复合结构。在这样的实施例中,节点1(线性伴随节点)被初始化为身份,并且非线性节点的权重最初为0。
第二示例2802是由三个节点组成的复合节点,它替换了在如图24和图1F的框152所示的数据分割中被分割的节点。节点5是一个特殊控制(SC)节点。特殊的控制节点控制连接的权重,自编程数据选择。如果节点在数据分割时被分割,则最初会训练特殊控制节点来实现数据分割。特殊控制节点的激活值p被替换为节点3的连接权重,而(1-p)被替换为节点4的连接权重。如果节点5的激活值为0或1,其会有效地选择另外两个节点中的一个,并且删除另一个。在数据分割中,节点5最初被训练来为常规数据选择原始节点,比如节点3,并为特殊分割数据选择另一个节点,即节点4。
示例2803是用作检测器的三节点结构的示例。这种三节点检测器结构中的节点用作图18和20中的输出节点。在一些实施例中,这种三节点结构被用作深度神经网络的内层中的特征检测器。在一些实施例中,这种检测器的训练与常规的分类器有些不同。在常规的分类器中,正确的分类作为监督训练的目标给出。在两类分类问题中,通常使用sigmoid输出节点,一类的目标值为1,另一类的目标值为0。在一些实施例中,检测可以代表许多类别中的一个类别D,问题是检测类别D的实例并拒绝所有其他类别。然而,在检测问题的训练数据中,可能没有分类标签来判别所有其他类别。
在本发明的一些实施例中,使用三节点结构2803。对于带有类别D标签的训练示例,节点6(“检测”)的目标输出为1,且其他两个节点的目标输出为0。然而,在说明性实施例中,不在类别D中的数据示例的目标输出根据节点6的激活量被修改。在本说明性实施例中,如果节点6被不在类别D中的示例高度激活,则期望该示例被训练成被主动拒绝。也就是说,该示例的目标应该是节点7处于活动状态。
对于不在类别D的示例,如果节点6的激活高于超参数指定的阈值,则节点7的目标值(“拒绝”)为1,而对于其他两个节点为0。然而,如果节点6的激活低于阈值,则该示例不需要被主动拒绝,因此节点6的目标值为0,但是节点7和8的目标值由超参数控制,作为控制拒绝示例的相对比例的设计决策。例如,如果“拒绝”标签仅在需要拒绝节点6的高激活时使用,则在该节点6的低激活的情况下,节点7具有0目标值且节点8可以具有1目标值。如果需要相对较高比例的“拒绝”标签,则在这种情况下,节点7和节点8都可以具有0.5的目标值。目标是对节点6进行训练以检测类别D的实例,对节点7进行训练以学习主动拒绝被错误地识别为类别D或接近被错误地识别为类别D的数据示例,对节点8(“中性”)进行训练以吸收大多数其他数据示例,但是“拒绝”和“中性”之间的相对比例可以由超参数独立控制。
在一些实施例中,这些复合节点结构被引入到网络中,作为增量开发期间网络的补充。在一些实施例中,用复合节点结构替换单个节点的局部改变,例如在刚刚讨论的示例中,简单地跟有普通训练,如果复合结构允许,优选地用数据分割。在其他实施例中,使用了如图1B或图27A中所示的模仿学习。
图29是具有纠正训练的鲁棒关联存储器的说明性实施例。图29中所示的系统和过程可以在计算机系统上实现,例如图41所示的计算机系统4100。关联存储器2904是大型机器学习系统,例如深度神经网络。从某种意义上说,关联存储器代表了机器学习系统过拟合其训练数据的最终结果。关联存储器的任务是记住其训练数据。如图29中所示,一个鲁棒的关联存储器不仅能记住其训练数据,还能从仅给出部分退化输入的训练数据中检索出一个示例。在图29中,虚线箭头代表训练的反向传播,并且实线箭头代表激活的前馈,反向传播方向相反。
图29示出了鲁棒关联存储器的训练。每个训练示例都多次出现随机退化。原始输入数据模式(2901)退化和/或被变换或失真(2902)。然后,退化模式的子集被采样(2903)。关联存储器机器学习系统被训练成以原始的、未退化的输入数据示例作为其目标(2906)来预测完整模式(2905)。预测模式(2905)也作为输入反馈到关联存储器(2904)。随着每一轮反馈,关联存储器(2904)细化其对完整的、未退化的模式的预测(2905)。在这种递归中,例如,关联存储器可以在第一轮递归中恢复部分丢失的部分并去除部分噪声和失真。有了更完整、更清晰的输入,其在下一轮会恢复得更多,依此类推。记住的模式是这个递归过程的固定点。
图29中所示的训练过程还包含负示例的负反馈,如2907和2908。例如,除了记住的训练数据示例之外,由关联存储器2904实现的递归函数还可以具有其他固定点。在一些实施例中,关联存储器被训练成通过训练它不产生额外的固定点作为输出来消除这种额外的固定点,所述输出是作为负示例来自额外的固定点的负反馈(2907或2908)。负反馈的另一个示例使用是使关联存储器2904忘记或擦除其先前已经训练记住的模式的记忆。在本发明的一些实施例中,另一示例是训练单独的关联存储器来学习一个分类类别中的所有模式,而不是从任何其他类别中学习示例。例如,根据独立的分类器的判断,负示例然后向与预期类别不同的类别匹配的输出提供负反馈。
在本发明的一些实施例中,如图29中所示的关联存储器被用作最终的不受限分类器系统U,从该系统中导出其他更受限系统,例如如图1A的框192和193中所使用的。
关联存储器还可以记住一个函数或一个多值关系(例如,一组变换),图30中给出了一个说明性实施例。函数或关系的输入和输出可以是向量值的,因此函数或关系可以例如表示机器学习系统的数据空间的变换。图30中所示的说明性实施例的框和功能类似于图29中的相应元素,但有一个主要的例外:图29的框2903中出现的输入模式的随机子集的采样被图30中的关联存储器仅提供函数或关系的输入这一事实所替换。在一些实施例的一些实例中,仅向关联存储器提供输入的退化版本。
在本发明的一些实施例中,如图30中所示的关联存储器用于记住一组变换,例如图17A、17B和17C中讨论的那些变换。例如,由图30的实例学习的一组变换可以用于学习将在图29的框2902中使用的一组变换。其甚至可以学习在图30的另一个实例中使用的一组变换。
由于输入的噪声、失真和二次采样,鲁棒的关联存储器限制了它的过拟合。在一些实施例中,有意减少噪声、失真和二次采样的量,以在积极开发中产生更不受限系统U,如图1A中所示。在其他实施例中,甚至系统U也可能期望具有比图29的关联存储器更多的限制或不同的架构。在这种情况下,通过模仿学习,例如如图1B、27A和27B所示,可以从诸如图29的关联存储器中训练期望的系统U。在一些实施例中,诸如图29的关联存储器也用于训练例如在图1A的框193中创建的更具限制性的系统。这种通过来自关联存储器的模仿学习的训练可以替换或补充来自相对不受限系统的模仿学习。
图31是具有组合网络的分类器集成的说明性实施例的框图。图31中所示的系统可以在计算机系统上实现,例如图41所示的计算机系统4100。在一些实施例中,组合网络被初始化以匹配集成的正常投票或组合规则。然后,组合网络使用随机梯度下降进行训练,以改进性能。图40示出了图31的技术在多轮增量开发和性能改进中的应用。
在说明性实施例中,将具有输出3113的组合网络3112添加到具有输出3105、3107和3109的训练分类器3102、3103和3104的集成中。虽然只示出了三个集成成员,但是该集成可以具有任意数量的成员。
框3101为集成中的每个分类器提供输入。框3111为集成的每个成员以及组合网络3112提供输出目标。
在说明性实施例中,组合网络是具有可选特殊功能节点的前馈神经网络,例如y=x2和y=log(x)。在一些实施例中,特殊函数节点用于表示集成的正常组合规则。使用反向传播来训练组合网络3112,以计算随机梯度下降的偏导数。在一些实施例中,组合网络3112还含有数据选择器节点,如图28中的2802中所示。
来自组合网络3112的反向传播导致集成成员网络3102、3103和3104被联合训练以优化它们的组合目标,即组合网络3112的输出3113的目标3111。通过这种反向传播,组合网络3112不仅仅是仅优化自身的组合网络。
上述联合优化还提供了超越单独训练集成成员所能实现的性能的性能改进,甚至当使用诸如增强的技术时,在给定所有先前的集成成员的情况下,训练新的集成成员以优化增量性能改进。当集成成员被增量添加时,并且然后组合网络3112被优化,通过组合网络3112的联合优化添加了基于后来添加的所有集成成员来优化每个现有集成成员的附加步骤。此外,来自组合网络3112的反向传播也可以实现对其他集成构建技术的这种联合优化,在其他集成构建技术中,新的集成成员被独立地训练或者不被训练以优化给定先前集成成员的增量性能。
在本说明性实施例中,除了每个集成成员的常规输出节点与目标输出3111相匹配之外,集成的每个成员还具有标记为“其他”的附加输出节点集(3106、3108和3110),作为附加输入提供给组合网络3112。这些附加节点通过来自组合网络3112的反向传播来训练,而没有来自目标输出3111的任何错误成本函数。它们被训练来学习任何能产生最佳组合输出3113的东西。组合网络可以训练这些节点从每个网络成员的内部节点获得信息,这将使组合网络能够改变其如何组合来自集成成员的得分。例如,组合网络可能能够学习计算每个集成成员的置信得分,并在组合得分中给予集成成员适当的权重。置信得分和如何使用它可以在没有人为规则的情况下被自动学习。通过这种机制,组合网络的能力是可以在常规的固定集成投票规则或其他组合规则中计算的任何东西的超集。
图32是将神经网络中的节点训练为决定性的过程的说明性实施例的流程图。图32中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。此过程适用于具有激活函数的节点,如sigmoid函数或tanh函数,其中有两个极端激活级别,中间为中性激活。在这个实施例中,一个节点可以有一个以上的目标,包含从输出目标的错误成本函数的反向传播,到其他节点的软绑定,以及应用于网络中间层的附加目标,如图34中所示。如果任何反向传播的目标和任何正则化项的组合导数的方向将导致学习参数的更新以增加节点激活和节点的中性激活值之间的差异,则节点在数据示例中是决定性的。为了定义决定性的属性的目的,将一组节点(如示例2801所示)视为一个单元,将标记为“+”的组合节点的导数作为该单元的导数。在说明性实施例中,定义了激活函数中的中性点。例如,sigmoid或tanh激活的中性点是拐点,sigmoid激活0.5或tanh激活0.0。对于ReLU,中性点是0.0处的断点。
在基于决定性选择节点的一些实施例中,该选择基于指定的一组数据示例,例如整个训练集,或者一个类别中的所有示例或者一个聚类中的所有示例。在一些实施例中,对于一组数据示例来说,节点具有决定性的选择标准是该节点对于除了该组示例中的指定部分之外的所有示例都具有决定性。如果该节点对于集中超过指定部分的示例为非决定性,则该节点对于该组示例为非决定性。
在框3201处,计算机系统4100向每个选择的节点添加决定性目标。在一个说明性实施例中,该决定性的目标是将任何反向传播的目标或正则化项的组合导数乘以在节点不是决定性的每个数据项上大于1.0的常数的形式。乘法常数或其他惩罚的规模由超参数控制。在一些实施例中,纠正量也基于激活偏离中性点的量。例如,一些实施例使用与激活和中性点之间的差值的绝对值成正比的L1惩罚。一些实施例使用与激活值和中性点之间的差值的平方成正比的L2惩罚。如果网络目标相对于节点激活的导数与激活一致,则不添加惩罚。
在框3202处,计算机系统4100创建超参数来控制惩罚的强度。此超参数在框3203和框3206中具有不同的值。在一些实施例中,它也可以在整个训练过程中变化。例如,一些实施例在早期训练期间不施加决定性或施加较少的决定性,但后来逐渐增加决定性惩罚。一些实施例仅在训练接近结束时施加决定性以例如实现针对对抗示例的鲁棒性,如图33中所示。
在框3203处,计算机系统4100训练具有低到中等的决定性惩罚强度值。此训练的目的是通过一个较慢的过程使大多数节点具有决定性,该过程允许在施加更强的惩罚之前对参数空间进行更多的探索。
在框3204处,计算机系统4100在框3203中的训练之后选择仍然不是决定性的节点。
在框3205处,计算机系统4100可选地克隆一些或所有非决定性的节点,并进行选择性的数据分割训练,如图24中所示。
在框3206处,计算机系统4100设置更强的决定性惩罚,并用此惩罚训练。
在增量开发的一些实施例中,其中网络是增量增长的,例如在图1E的框181和图1F的框153和156中,在网络扩展之前,网络的较旧部分中的节点被训练得更具决定性。随着网络较新部分的训练,这使得这些旧节点更加稳定。在其他实施例中,可能更希望保持网络的较旧部分更加流畅。该过程受超参数控制,且超参数可根据情况需要进行优化。
图33是本发明的说明性实施例中的反对抗策略的流程图。图33中所示的各种技术可以由计算机系统执行,例如图41所示的计算机系统4100。
图33的过程分为两部分。在框3300处开始的第一个过程使得一个或多个单独的节点更能抵抗对抗示例。还有从框3307处开始的第二个过程,该过程将网络作为一个整体训练成更能抵抗对抗示例。图33的过程可以从框3300处或框3307处开始。当过程的一部分完成时,另一部分就可以完成了。在一些实施例中,这两个部分连续重复多次。在其他实施例中,仅执行两个过程中的一个。
在框3300处,计算机系统4100接收一个或多个节点的列表,以使其更加鲁棒。如果没有指定节点,则在框3300处,计算机系统4100本身指定一组节点,在图32所描述的意义上,这些节点不是决定性的。在一些实施例中,在框3300,计算机系统4100选择错误成本函数相对于节点的偏导数在幅度上大于指定值的节点。在一些实施例中,计算机系统4100可以将一个或多个节点添加到它在框3300处接收的指定节点的列表中。在这样的实施例中,在框3300处,计算机系统4100可以添加非决定性的节点或者具有大幅度偏导数的节点,或者两者都添加。
在一些方面,在框3300处,计算机系统4100可以向一个或多个指定节点中的每一个的激活函数添加线性伴随节点或额外的线性项。线性伴随节点的一个示例是图28中所示的复合节点结构2801。线性分量帮助一个或多个指定的节点在训练中学习变得更有决定性。线性分量的斜率由超参数控制。在一些实施例中,所有线性分量的斜率最终被设置为零,以使网络对于小的变化更加鲁棒。
在框3301处,计算机系统4100向输入节点添加偏置。这些偏差调整每个输入节点的水平,使得当在训练数据中求平均时,输出目标相对于每个输入节点的偏导数为零。这为基于输入节点以及内部节点的数据分割设置了级。
在框3302处,计算机系统4100执行数据分割。例如,结合图1F的框152讨论了数据分割过程的说明性实施例,并且在图24中更详细地描述了另一说明性实施例。数据分割引入了额外的节点,其有助于降低网络的错误率。通过将数据聚类成具有相似梯度的组,然后可以通过随机梯度下降将这些组训练到局部最小值,数据分割还有助于网络减少单个数据项上的梯度幅度。
在框3303处,计算机系统4100将节点训练得更加有决定性,例如通过图32中所示的过程。决定性节点比非决定性节点更能抵抗对抗示例。
在框3304处,计算机系统4100用具有硬限制的激活函数替换一些或所有节点激活函数的激活函数。例如,sigmoid激活函数可以由hardsig(x)=max(0.01,min(0.99,sig(x)))替换。一个在硬极限激活的节点显然能抵抗小的对抗变化。在一些实施例中,激活函数包含由最终将被设置为零的超参数控制的具有小斜率的线性分量。
在框3305处,计算机系统4100引入“阶梯”激活函数,即,在自变量的分数部分上单调分段常数函数和sigmoid函数的和,这产生平滑的阶梯形函数,其中sigmoid的温度作为平滑程度的控制。在一些实施例中,计算机系统4100利用温度的退火时间表,最终将温度降低到零,这使得阶梯函数在框3305处变成不连续的分段平坦阶跃函数。一些实施例在最低层中使用阶梯函数,其中它们在防止由于输入中的小的对抗变化而导致的输出变化方面具有最大的影响。例如,每个输入节点的零温度阶梯激活函数将消除任何小于步长的变化。
在框3306处,计算机系统4100通常执行退火,并且还降低任何线性分量的斜率,最终将它们收敛到零。框3306然后将控制传递给框3307。
框3307可以开始该过程或者可以跟随框3306。在框3307处,计算机系统4100生成对抗示例。在说明性实施例中,计算机系统4100在框3307处通过对每个输入变量进行小的改变来进行对抗改变。每个输入变量的变化方向通过从选择的输出目标函数反向传播偏导数来确定。
任何输入模式的对抗示例都可以简单地通过反向传播当前输入模式的正确分类的目标来生成。如果小变化的总和乘以它们各自的梯度分量足以将正确答案的输出得分降低到低于最佳得分错误答案的得分,则该过程将产生一个对抗示例。然而,刚才描述的技术只为每个模式选择一个对抗方向。
相反,在框3307处,计算机系统4100优选地选择指定不正确答案子集的每个成员的得分的输出函数作为目标。因此,在框3307处,计算机系统4100可以在2n-1个子空间中的任何一个中生成对抗示例,其中n是分类的类别数。例如,在框3307处,计算机系统4100可以让输出目标针对所有选择的错误答案,以获得相同的得分,并且仍然具有2n-1个不同的对抗方向。在框3307处,通过随机选择错误答案的子集,计算机系统4100可以为每个数据示例生成实际上无限数量的对抗示例,以帮助训练网络针对对抗变化具有鲁棒性。
在框3308处,计算机系统4100以不同的方式使系统鲁棒。基于输出函数相对于输入值的偏导数而生成的对抗示例,无论是简单的一维示例,还是框3307的多维示例,都特定于计算偏导数的网络的配置。以这种方式计算出来的对抗示例不一定会导致集成的成员犯同样的错误。从理论的角度来看,使用集成而不是单一的网络并不能避免对抗示例的问题。通过将集成投票计算实现为组合网络,任何集成都可以嵌入到单个网络中,如图31中所示。然后,在此组合网络上的反向传播可以找到整个集成的对抗示例。实际上,在框3308处,计算机系统4100通过训练集成来抵抗在框3307处生成的对抗示例,从而创建对对抗示例的抵抗。一旦该集成被训练,计算机系统4100然后就可以生成与整个集成对抗的示例,并且在框3307处在这些示例上训练该集成。
在框3309处,计算机系统4100使用通常仅在训练期间使用的丢弃过程,用于操作使用期间以及训练期间的分类。对于随机选择的一组节点,丢弃将激活设置为零。从一个角度来看,丢弃从2m个网络的集成中随机选择一个网络,其中m是网络中的节点数。为这些网络中的一个计算出的对抗示例不一定对另一个有效。可以从在提出对抗示例后随机选择的许多丢弃网络构建实际的集成。因此,对抗示例不能针对随机选择的集成的梯度来计算。
框3309将控制传递给框3300,除非已经满足多次传导的停止标准。
图34是在本发明的各种实施例中有用的一类神经网络的说明性示例的框图。图34中所示的系统可以在计算机系统上实现,例如图41所示的计算机系统4100。神经网络3401在网络的中间层中具有节点集,例如输出节点3403和输出节点3404,它们具有像输出节点一样的目标值3402。在一些实施例中,这些内层输出节点集3403和3404将它们的错误成本函数的偏导数反向传播到网络的较低层中的节点,给那些较低层节点多个目标,包含与最终输出层目标不一样远的目标。多个目标的相对强度由超参数控制。拥有多个目标会减少有效的自由度数量,减少过拟合的趋势。拥有一个不太遥远的目标可以减少训练过程中参数空间的漂移。在一些实施例中,具有输出目标的内层节点集3403和3404也具有来自较高层中的节点的反向传播目标。
在一些说明性实施例中,这些内层输出节点集3403和3404是在现有网络中的输出层之上添加一个或多个层的结果。例如,在图31中,组合网络被添加到集成中,而该集成的每个成员继续有一个目标,即匹配其输出到目标。在增量开发的一些实施例中(例如,图1E的框181、图1F的框153或图1F的框156),添加的节点可以是在前一输出层之上添加的一个或多个层。在一些说明性实施例中,前一输出层继续接收错误成本函数以及从新层接收反向传播。在一些实施例中,具有外部指定目标的输出节点集可以放置在网络内层的任何地方。内层节点的输出目标可能不同于最终输出的目标。例如,在一些实施例中,内层节点可以具有作为特征检测器的目标。
类似地,在一些说明性实施例中,具有外部指定激活值的输入节点3405和3406可以放在网络中的任何地方。输入值可以是从常规输入层复制的值,或者可以是来自不同源的值,例如与其他网络共享的独立支持网络计算特征。
图35是网络或集成的重复数据分割和增量增长的过程的说明性实施例的流程图,该过程导致训练集上的性能的持续改进。图35中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。在一些实施例中,在图1A的框192中,结果网络或集成被用作不受限系统U。
在框3501处,计算机系统4100从现有的一组训练数据中选择数据,或者如果有更多的数据可用或者例如可以通过自动数据扩充来生成,则扩展该组数据。在框3501处,计算机系统4100选择分类器出错或接近出错的数据示例。
在框3502处,计算机系统4100询问是否存在错误或接近错误的示例。例如,这个查询可以由一个如图中1G所示的系统来回答。只要有错误或接近错误,改进的过程就可能继续。
在框3503处,计算机系统4100使用如图24中所示的标准选择一个或多个节点用于数据分割。
在框3504处,计算机系统4100确定数据分割,即哪些数据示例进入数据分割的每个子集。例如,在框3504处,计算机系统4100可以使用图24的框2401中所示的过程。在一些实施例中,在框3504处,计算机系统4100相对于在框3503中选择的节点集形成错误成本函数的偏导数的向量。然后,基于偏导数的向量方向对数据示例进行聚类。
在框3505处,计算机系统4100选择要使用的网络分割的类型。如果一个节点将在现有网络中被分割,则控制进行到框3506、3507或3508。如果要创建新的网络来形成集成或向集成添加成员,则控制进行到框3509。框3506、3507和3508示出了在数据分割之后网络可以增长和训练的三种方式。
对于要分割的每个节点,在框3506处,计算机系统4100将该节点复制到位,该节点的每个副本具有与原始节点相同的连接。然后对具有两个新节点的网络进行训练,但是对于数据分割之后的一定量的训练,反向传播是由一个类似受控丢弃的过程来控制的。对于这一训练间隔,两个新节点中的每一个仅接收来自分割数据的一部分的反向传播。在一些实施例中,如果一个以上的节点被分割,则每个节点可以具有数据的个性化分割。
在框3507处,计算机系统4100还制作要分割的每个节点的副本。此外,在框3507处,计算机系统4100添加数据选择节点,如图28中的节点5所示。首先训练数据选择节点,根据被克隆节点的数据分割对数据进行分类。然后,数据选择节点继续训练,作为网络持续训练的一部分。
在框3508处,计算机系统4100创建一个新节点,该节点是数据分割的一部分的专用检测器。作为说明性实施例,计算机系统4100可以使用类似于图18中框3508处所示的过程。在一些实施例中,当单个数据示例以及可能其单独的数据扩充示例是数据分割的一侧时,使用框3508的过程。在这些实施例中,检测器节点被训练来检测含有选择数据示例及其扩充示例的数据分割的一侧。本说明性实施例允许对单个数据示例进行错误纠正,同时最小化对其他数据示例的影响,从而降低由过拟合引起的错误的风险。专用检测器本身可能无法很好地泛化到新数据。然而,当在如图1A中所描述的不受限系统中使用时,产生的更受限系统可能会学习泛化到新数据。此外,如果具有专用检测器的系统被用作图27B中的网络2701,则其可能能够将知识(包含由专用检测器表示的知识)转移到图27B中的网络2706。网络2706可以具有使其能够将该知识泛化到新数据的架构。
在框3509处,计算机系统4100克隆整个网络,具有两个副本,至少用于一定量的训练,每个有选择地只在数据分割的一个子集上训练。一些实施例使用此过程,使得可以训练新网络产生网络中可能的实质性变化,而不干扰原始网络已经学习的知识。
克隆网络后,控制进行到框3511或框3512。
在框3511处,计算机系统4100将新网络添加到集成中。
在框3512处,计算机系统4100创建含有原始网络和网络副本以及诸如在框3507中使用的数据选择节点的更大的网络。
在一个实施例中,重复图35中所示的过程,直到满足停止标准。在每一次迭代中,训练的性能都得到了改进,产生了一个具有任意高性能的不受限系统U。在一些实施例中,在一些迭代中,例如通过图27B中所示的过程,也建立和训练相应的受限系统R。
图36是带有附加目标的VAE或SCAN的框图。图36中所示的系统可以在计算机系统上实现,例如图41所示的计算机系统4100。取决于约束随机框3603中的潜在变量的方法,框3601、3602、3603、3604和3608包括常规的VAE或SCAN。在图36中所示的说明性实施例中,与常规VAE或SCAN的区别包括框3605、3606和3607。
在框3605处,计算机系统4100在训练集中找到它能找到的与框3604生成的输出模式最近的邻居。在框3606处,计算机系统4100基于取决于实施例的距离度量来计算该近邻和输出模式之间的距离。在一些实施例中,距离度量可以是欧几里德距离或输入变量的数据空间中的一些其他度量。在一些实施例中,距离度量可以是特定编码,例如特征向量。在一些实施例中,框3606找到近邻候选者,从如图29中所示的鲁棒关联存储器中检索它们作为输出。
无论距离度量如何,在框3607处,计算机系统4100将距离与设置距离的最小允许值的约束进行比较。如果在框3607处违反了最小距离约束,则计算机系统4100向成本函数添加额外的惩罚项。这防止了生成器简单地复制输入,并帮助生成器从训练数据中学习泛化。包含附加目标函数的VAE或SCAN系统(诸如结合图36描述的系统),可以被用作例如通过能够检测与原始模式接近但不完全匹配的模式来检测剽窃的系统。
图37和38是使用真实与生成判别器的生成器,诸如在GAN中使用的。然而,它们中的每一个还具有其他目标,这些目标有助于在它们的训练期间防止模式崩溃。图37和38中所示的系统可以在计算机系统上实现,例如图41所示的计算机系统4100。
图37类似于图36,除了添加了真实与生成判别器3719之外。框3608的原始模式目标被框3708的更一般的“其他目标”替换。图37的各种实施例可以代表对VAE、SCAN或GAN的增强。对于VAE或SCAN,框3701和3702仅用于训练。对于GAN,根本不用它们。这三种类型具有不同的随机框3703。GAN直接生成随机变量的向量,而不训练潜在变量作为编码器3702的输出。SCAN和VAE在训练潜在变量时有不同的限制。
像图36一样,图37有一个组件,框3705、3706和3707,可以用来允许系统作为反剽窃检测器。此组件防止真实与生成判别器3719使网络仅记住训练数据。在一些实施例中,真实与生成判别器3719已经在与近邻集不相交的数据集上被训练。框3708提供附加目标。在增强VAE或SCAN的说明性实施例中,附加目标包含产生输入副本的自动编码器目标,并且可以包含其他附加目标。一般来说,框3708的额外目标有助于三种类型的生成器中的任何一种从训练示例中泛化出来,并且有助于防止可能由真实与生成目标3719引起的模式崩溃。
图38是框图的另一个示例,其可以表示任何生成器类型的增强版本。图38添加了两种新类型的目标。框3822被训练来检测噪声或失真。在一些实施例中,其被训练成具有监督训练的判别器,该监督训练包含原始图像和相同图像的噪声和失真版本。框3821是一种不同的目标,它使用分类器,但是分类器是单独训练的,而不是图38中所示训练中使用的目标。在图38的训练中,框3821从其反向传播回生成器的目标是多目标目标。即,在框3821中,分类器的目标输出不是单个类别,而是包含多个类别的目标激活级别。例如,目标可以是类别A和类别B都具有0.5的激活。因为分类器3821的训练数据中没有数据示例应该具有这样的模糊得分,所以框3821施加了隐含的约束,即生成的模式与分类器3821的训练数据不匹配。分类器3821的训练数据可以包含真实与生成判别器3819的训练数据。分类器3821的多类别目标然后防止与判别器3819的训练数据中的一个示例匹配的输出模式对于整个目标是最优的。
图36、37和38提供了三个示例,说明如何对GAN、VAE和SCAN的多目标增强进行训练,以便从其训练数据中进行泛化,并以真实与生成的判别器为目标之一,避免模式崩溃。
图39总结了在本发明的各种实施例中促进训练非常深度神经网络的一些技术。结合图39描述的技术可以由计算机系统执行,例如图41所示的计算机系统4100。为了有助于讨论,这些技术被组织成四个列表,以各种方式相互补充。虽然一般分组中的分配有助于指导讨论,但其不是决定性的。例如,模仿学习可以从一个较小的网络到一个较大的网络完成,促进增量增长,或者从一个较大的网络到一个较小的网络完成,以帮助纠正过拟合。
由于深度神经网络计算的函数的高度非线性,训练过程往往要做很多探索。也就是说,参数空间中的点倾向于在训练期间来回移动,而不是沿着平滑的路径。框3901列出了倾向于帮助训练过程遵循更平滑路径的技术:
1.临时提高温度:在一些实施例中,激活函数是温度为σ(x)=l/(l+exp(x/T))的sigmoid,其中T是超参数,如以上伪代码中所示。在一些实施例中,为每个节点定制温度。这种定制使得学习教练能够控制节点的温度,使得关于节点激活的偏导数停留在sigmoid的中间区域,为需要它的节点产生更大的偏导数,倾向于在早期阶段给出更平滑、更快速的学习。
2.逐层梯度归一化:伪代码中所示的逐层进行的梯度归一化,防止梯度在通过连续层反向传播时以潜在的指数速率连续增大或减小。
3.具有目标的节点:当输出目标通过许多层反向传播时,最终输出目标和许多层之外的节点的激活之间的连接是非常间接的,给出了在波浪中漂流的拔锚之后的船的定性效果。除了反向传播的目标之外,中间层中具有直接目标的节点具有稳定效果。在一些实施例中,中间层中的直接目标是最终输出目标的副本。当网络逐层增量增长时,如图1E的框181和图1F的框156的一些实施例中,这个中间层目标帮助中间层节点保留它们在添加额外层之前学习的知识。图34示出了在中间层中具有节点的网络的说明性实施例,该中间层节点具有输出目标。除了错误成本函数的反向传播之外,节点激活的软绑定还为中间层中的节点提供了目标。
4.丢弃:丢弃是一种已知的技术,尽管对于其成功的原因有几种相互竞争的理论,但这种技术已经被经验表明在许多情况下可以改进深度学习的性能。在本发明的实施例中,通过可以直接控制哪些节点被丢弃的定制超参数以及通过以针对数据训练的方式控制丢弃的数据选择节点,来泛化和控制丢弃。
5.噪声数据选择:尽管数据选择节点泛化了丢弃,因此具有平滑训练过程的效果,但是它们在本发明的实施例中的主要用途是支持数据分割和随后的训练。数据分割有助于增量地增长更大、更深的网络。噪声数据选择节点,另一个丢弃的泛化,也有助于平滑训练过程。丢弃随机选择是否删除一个节点。数据选择节点有一个0到1之间的数据依赖激活,这就像每个节点的分数下降。噪声选择节点的选择过程中添加了随机分量。在一些实施例中,随机分量产生0或1的权重,类似于丢弃,但是概率可能取决于数据选择节点的激活值。
6.跨层复制:直接跨层复制激活值不仅适用于学习,也适用于深度学习的操作使用。其缩短了由多个层分隔的节点之间的路径,从而减少了连接路径长度带来的问题。
向深度神经网络的内层提供知识显然有助于学习任务,而且显然对深度较大网络有更大的帮助。框3902列出了在本发明的各种实施例中使用的导入外部知识的几个示例:
1.模仿学习:模仿学习可以将知识从较小的网络转移到较大的网络,这有助于增长深度较大神经网络。其还可以用来将知识从一个更短、更宽的网络集成转移到单个的、更深的、更薄的、参数总数更少的网络。参数越少,越深的网络越不会有过拟合的趋势。
2.与其他网络的软绑定:在软绑定的实施例中,当网络分析相同的数据示例时,可以软绑定不同网络中的节点。如图2中所示,在许多分类器并行工作的分布式系统中,可能有许多这种软绑定的实例。软绑定在分布式网络中是高效的,因为信息只需要很少的字节就能进行通信。
3.特征节点(半监督学习):特征节点是可以跨不同网络被软绑定的节点的一个示例。更一般地,特征节点可以用来自对相同数据进行分类的其他网络或来自支持网络或专用于检测特征的另一机器学习系统的监督或半监督学习来训练。
本发明的几个实施例在网络中进行结构改变,使其逐渐增长,同时也潜在地降低了其错误率。框3903列出了在同一过程中结合增长和学习的一些示例技术:
1.增量学习
a.一次几层:增加神经网络的深度只是增量学习的一个方面。在不需要重新训练的情况下一次将网络增长几层是能够无任何限制地保持神经网络增长的方法的说明性实施例的关键。在不断降低错误率的同时实现这种增长需要在本公开中集成许多其他技术。
2.数据分割:数据分割是反复降低错误率的关键,除了训练数据上的完美性能外,没有任何限制,如图35中所示。随着网络增量地增长得更深,其还可以用来不断降低错误率。
3.用组合网络集成:如图31中所示,通过在顶部添加一个模拟或改进集成投票方案的组合网络,可以将任何集成转换成单个网络。这种新的、更大的、更深的网络的性能可以通过例如使用数据分割和其他方法将其扩展成集成来改进。如图40中所示,单个网络和集成的这种交替是在增加深度的同时不断继续改进性能的另一个范例。
4.网络内的软绑定:对于节点激活和对于连接权重,可以实现网络内节点的软绑定。它们减少了有效自由度的数量,同时还在网络内共享知识,让获取一些知识的节点与其他节点共享这些知识。
5.内部自动编码器:自动编码器通过无监督学习获取知识。更大的神经网络中的自动编码网络可以自动编码网络中的任何一组节点,而不仅仅是输入节点。自动编码器获取知识,并学习有效地表示这些知识。在更大的网络中有自动编码器时,网络中的其他节点也可以获得这些知识,如图6F中所示。
在本发明的实施例中,各种特殊节点被用于几个目的。框3904列出了一些示例:
1.特征节点(无监督):特征节点已经被提及为受益于并有助于共享外部知识。然而,特征节点也可以通过无监督学习来训练,而无需外部知识。例如,可以联合聚类发现和训练特征。内部自动编码器也可以学习特征,尤其是具有稀疏瓶颈层的自动编码器。
2.稀疏节点集:稀疏节点集可以学习特征,无论它们是自动编码器的瓶颈层还是独立的稀疏节点集。稀疏节点集还降低了有效自由度数量,同时还提供了知识的高效编码。
3.softmax节点集:内部节点集的激活与softmax函数相结合,也自然地学习特征,提供知识的表示,可以通过最活跃节点的索引进行紧凑编码,并降低有效自由度数量。
4.复合节点:任何单个常规节点都可以被复合节点替换,该复合节点可以完美地模拟被替换的节点,同时添加附加的能力。一些实施例可以安排在引入这样的复合节点作为常规节点的替代时降低错误率。
5.数据选择节点:数据选择作为数据分割中的工具很有价值。多个数据选择节点可以通过仅选择网络或集成的一小部分来对任何一个数据示例执行计算,从而显著减少计算量。此外,数据选择节点为网络提供了一种自我编程的方法。
本文描述的系统的实施例基于用于改进或扩充机器学习系统的性能的四种主要技术,这些技术继而组合和纠缠在主要技术之间共享的许多附加技术。主要技术是(1)积极开发,如图1A中所示,(2)增量的无限制的改进,如图35中所示,(3)例如神经网络的深度的增量的增长,如图27B中所示,和(4)协作的生成器,可以生成无限量的数据来支持增长。
每一种主要技术本身都可以极大地改进机器学习系统的性能。然而,它们也可以组合在一起,以对机器学习系统的性能产生指数级的影响。例如,图35中所示的持续增量改进只能保证训练数据上的性能得到改进。然而,当与积极开发相集成时,持续的增量改进提供了构建和训练优秀的不受限系统U的能力。在图1A中所示的积极开发的实施例中,系统U和更受限系统的包含提供了一种利用训练数据的优秀性能来改进开发数据上的性能的方法。
图40是另一种无限制的增量改进方法的说明性实施例的流程图。图40中所示的过程可以由计算机系统执行,例如图41所示的计算机系统4100。图40的过程基于集成的增量增长,例如如图1F的框152和153所示,交替地将集成组合成单个网络,例如如图31中所示。
在一个说明性实施例中,在框4001处,计算机系统4100通过创建一个或多个如图1F的框152和153所示的新的集成成员,从单个系统或更小的集成增量增长集成。如图24中更详细解释的,框152的数据分割操作使得新的集成成员专用于选择的数据子集。在一些实施例中,具有数据选择节点的图28的结构2802继续专门化训练。然而,可以使用任何集成增长方法,因此,图40中所示的过程的一些实施例使用其他方法来增长集成。机器学习领域的技术人员知道许多集成增长方法。在一个实施例中,每个集成成员是可以通过反向传播来训练的神经网络或其他机器学习系统。
在框4002处,计算机系统4100测试由于集成的增量增长而导致的性能改进是否饱和并达到削弱转折。如果没有,则控制返回到框4001,以进一步增长该集成。如果从添加附加的成员到集成的改进达到削弱转折,控制被传递到框4003。
在框4003处,计算机系统4100例如通过图31中所示的方法将集成组合成单个网络。在一些实施例中,该组合网络可以被用作例如图1A中的系统U。
在所示过程的一些方面,在由计算机系统4100执行过程期间,框4004被省略或跳过。在框4004处,计算机系统4100可选地将知识转移到一个或多个系统,这些系统如由例如图1A的框193和194所示的那样受到更多限制。知识转移可以通过例如图1B、27A和27B中所示的方法来完成。
在一个说明性实施例中,在框4005处,计算机系统4100优化系统U和一个或多个受限系统的性能,如通过例如使用本公开的图1A、1C、1D、1E、1F和各种其他附图中所示的方法在开发集上测量的。在一些实施例中,在框405处,计算机系统4100优化训练数据而不是开发数据上的性能。在这些实施例中的一些实施例中,该过程可以总是进行增量改进,例如通过使用图24、31和35中所示的方法,除非该系统已经相对于训练数据处于全局最优。该过程最终收敛于训练数据上的全局最优性能,或者换句话说,收敛于不受限系统U的最优性能。
在满足停止标准之前,框4005然后将控制返回到框4001,以从在框4005中训练的一个或多个系统建立集成。在一些实施例中,在图1A的框192中,最终的组合网络被用作不受限系统U,以开始最后一轮的积极开发。在一些实施例中,停止标准可以是是否已经发生收敛,在某种意义上,该过程在从一次迭代到下一次迭代的性能上没有改进。由于在一些实施例中,除了全局最优之外,在每一步总是可以实现改进,所以这些实施例中的收敛必须在全局最优。在一些实施例中,停止标准可以是计算量或系统的规模达到预定极限。
在框4001、4004或4005中的任何一个处,计算机系统4100可以通过使用一个或多个用于数据扩充的生成器或者通过将先前的开发集增量添加到训练集来添加到训练数据集,如图1F的框134所示。
图41是可用于实现上述实施例的计算机系统4100的图。所示计算机系统4100包括多个处理器单元4102A-B,在所示实施例中,每个处理器单元包括多(N)组处理器核4104A-N。每个处理器单元4102A-B可以包括板上存储器(ROM或RAM)(未示出)和板外存储器4106。板上存储器可以包括主存储器、易失性存储器和/或非易失性存储器(例如,可由处理器核4104A-N直接访问的存储器)。板外存储器4106可以包括辅助的非易失性存储器(例如,不能由处理器核404A-N直接访问的存储器),诸如ROM、HDD、SSD、闪存等。处理器核4104A-N可以是CPU核、GPU核和/或AI加速器核。GPU核并行操作(例如,通用GPU(GPGPU)管线),因此通常可以比CPU核的集更高效地处理数据,但是GPU的所有核同时执行相同的代码。AI加速器是一类设计用来加速人工神经网络的微处理器。它们通常也用作具有主CPU 4110的设备中的协处理器。AI加速器通常有数万个矩阵乘法器单元,它们的运算精度低于CPU核,诸如AI加速器中的8位精度与CPU核中的64位精度。
在各种实施例中,不同的处理器核4104A-N可以训练和/或实现不同的网络或子网络或组件。例如,在参考图20的一个实施例中,第一处理器单元4102A的核4104A-N可以实现生成器2001-2003,并且第二处理器单元4102B的核4104A-N可以实现检测器2011-2013。进一步,第一处理器单元4102A中的不同组的核4104A-N可以分别负责每个生成器2001-2003,并且第二处理器单元4102B中的不同组的核4104A-N可以分别负责每个检测器2011-2013。作为另一示例,在参考图7的一个实施例中,第一处理器单元4102A的核4104A-N可以实现生成器701,并且第二处理器单元4102B的核4104A-N可以实现回归机器学习系统706。作为又一示例,在参考图9的一个实施例中,第一处理器单元4102A的核4104A-N可以实现随机自动编码器901,第二处理单元4102B的核4104A-N可以实现回归机器学习系统706,又一处理单元(未示出)的核可以实现去噪系统908,并且又一处理单元(未示出)的核可以实现针对其他目标910的真实与生成判别器。作为又一示例,在再次参考图9的一个实施例中,第一处理单元4102A的核4104A-N可以实现随机自动编码器901,第二处理单元4102B的第一组核4104A可以实现回归机器学习系统706,第二处理单元4102B的第二组核4104B可以实现去噪系统908,并且第二处理单元4102B的另一组核4104N可以实现针对其他目标910的真实与生成判别器。一个或多个主处理器4110可以协调和控制处理器单元4102A-N。
在其他实施例中,系统4100可以用一个处理器单元4102A-N来实现。在存在多个处理器单元的实施例中,处理器单元可以是协同定位的或分布式的。例如,处理器单元4102可以使用合适的有线和/或无线数据通信链路通过诸如LAN、WAN、因特网等数据网络互连。可以使用合适的数据链路(诸如数据总线(优选地是高速数据总线)或网络链路(例如以太网))在各种处理单元4102之间共享数据。
本文描述的各种计算机系统4100的软件和本文描述的其他计算机功能可以使用任何合适的计算机编程语言(诸如NET、C、C++、Python)并使用传统的、功能性的或面向对象的技术在计算机软件中实现。用于计算机软件和其他计算机实现的指令的编程语言可以在执行之前由编译器或汇编器翻译成机器语言,和/或可以在运行时由解释器直接翻译。汇编语言的示例包含ARM、MIPS和x86;高级语言的示例包含Ada、BASIC、C、C++、C#、COBOL、Fortran、Java、Lisp、Pascal、Object Pascal、Haskell、ML;并且脚本语言的示例包含Bourne script、JavaScript、Python、Ruby、Lua、PHP和Perl。
除非特别声明,否则从前述公开内容中显而易见的是,应当理解,在整个前述公开内容中,使用诸如“处理”、“计算(computing)”、“计算(calculating)”、“确定”等术语的讨论指的是计算机系统(例如,图41的计算机系统4100)或类似的电子计算设备的动作和过程,其操纵计算机系统的寄存器和存储器中表示为物理(电子)量的数据并将该数据变换成类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备中的物理量的其他数据。
图42示出了多层前馈深度神经网络的示例。本发明的许多组件可以包括神经网络,例如图6A中所示的示例神经网络。神经网络是节点和有向弧的集。神经网络中的节点通常被组织成层。在前馈神经网络中,如图42所示,各层可自下而上编号。分层前馈神经网络中的每个有向弧是从较低层的源节点到较高层的目的节点。图42中所示的前馈神经网络有输入层、输出层和三个内层。神经网络的内层也被称为“隐藏”层。每个有向弧都与称为其“权重”的数值相关联。通常,除输入节点之外的每个节点都与称为其“偏置”的数值相关联。神经网络的权重和偏置被称为“学习”参数。在训练期间,学习参数的值由图41所示的计算机系统4100来调整。控制训练过程的其他参数称为超参数。
前馈神经网络可以由计算机系统4100使用随机梯度下降的迭代过程来训练,其中对每个微批次的学习参数进行一次迭代更新。整批训练数据通常被排列成一组较小的、不相交的集,称为微批次。一个时期包括计算机系统4100对包含在整批训练数据中的每个微批次进行随机梯度下降更新。对于每个微批次,计算机通过使用前馈激活计算首先计算网络中每个节点的激活,来估计训练数据项的目标梯度。计算机系统4100然后使用称为“反向传播”的过程(该过程基于微积分的链式法则来计算偏导数)来估计目标相对于学习参数的偏导数,向后通过网络的各层。随机梯度下降、前馈计算和反向传播的过程对于训练神经网络领域的技术人员是已知的。
因此,基于以上描述,很明显,本发明的方面可以用于在各种应用中改进许多不同类型的机器学习系统,包含深度神经网络。例如,仅举几个示例,本发明的方面可以改进推荐系统、语音识别系统和分类系统,包含图像和诊断分类系统。
本文描述的主题的各个方面在以下方面、实现和/或示例中阐述,这些方面、实现和/或示例可以在各种组合中可互换地组合在一起:
在一个示例中,一种限制神经网络学习的计算机实现的方法,其中神经网络包括第一节点,包括:(i)由计算机系统在训练数据集上训练神经网络;以及(ii)在训练期间,由计算机系统将松弛项添加到目标函数相对于神经网络的第一节点和第二节点中的每一个的学习参数的反向传播导数,松弛项根据第一节点和第二节点的学习参数是否彼此偏离,将惩罚添加到第一节点的学习参数和第二节点的学习参数中的每一个的成本函数。在另一示例中,一种限制神经网络学习的计算机实现的方法,其中神经网络包括第一节点,包括:(i)由计算机系统在训练数据集上训练神经网络;以及(ii)在训练期间,由计算机系统将松弛项添加到目标函数相对于神经网络的第一节点和第二节点中的每一个的激活值的反向传播导数,松弛项根据第一节点和第二节点的激活值是否彼此偏离,将惩罚添加到第一节点和第二节点中的每一个的成本函数。
一方面,该方法还包括由计算机系统通过超参数控制松弛项的权重。
一方面,超参数包括应用于松弛项的乘法缩放因子。
一方面,神经网络包括第二节点。
一方面,神经网络包括第一神经网络,并且第二神经网络包括第二节点。
一方面,该方法还包括在训练期间,由计算机系统将松弛项添加到目标函数相对于第一节点和第三节点中的每一个的学习参数的反向传播导数,松弛项根据第一节点和第三节点的学习参数是否彼此偏离,将惩罚添加到第一节点和第三节点中的每一个的成本函数。
一方面,对于训练数据集中的每个数据示例,松弛项被添加到目标函数相对于第一节点和第二节点中的每一个的学习参数的反向传播导数。
一方面,对于训练数据集中的数据示例子集,松弛项被添加到目标函数相对于第一节点和第二节点中的每一个的学习参数的反向传播导数。
一方面,添加了松弛项的数据示例的子集对应于训练数据集已经被划分到其中的分类类别。
一方面,添加了松弛项的数据示例的子集对应于训练集已经被机器学习系统划分到其中的数据聚类,机器学习系统被训练成根据聚类分配值对训练数据集进行聚类。
一方面,学习参数包括第一节点和第二节点中的每一个的连接权重。
一方面,松弛项要求第一节点和第二节点的连接权重相等。
在一个示例中,一种用于开发机器学习系统的计算机实现的方法包括:(i)由计算机系统创建第一机器学习系统;(ii)由计算机系统创建第二机器学习系统;(iii)由计算机系统通过学习教练选择应用于第二机器学习系统的一个或多个限制;其中由学习教练选择的一个或多个限制使第二机器学习系统在与训练数据集不相交的数据上产生较少的错误;(iv)由计算机系统确定第二机器学习系统的性能是否优于第一机器学习系统的性能超过训练数据集上的统计显著性阈值;以及(v)由计算机系统创建第三机器学习系统,根据第二机器学习系统的性能是否优于第一机器学习系统在训练数据集上的性能,第三机器学习系统比第二机器学习系统受到更多或更少的限制。
一方面,该方法还包括:(i)由计算机系统确定第二机器学习系统的性能是否优于第一机器学习系统的性能超过测试数据集上的统计显著性阈值,测试数据集与训练数据集不相交;以及(ii)由计算机系统创建第三机器学习系统,根据第二机器学习系统的性能是否优于第一机器学习系统在测试数据集上的性能,第三机器学习系统比第二机器学习系统受到更多或更少的限制。
一方面,第二机器学习系统在训练数据集上产生更多错误。
一方面,第一机器学习系统和第二机器学习系统每个都包括分类器。
一方面,该方法还包括由计算机系统平滑第二机器学习系统的决策边界。
一方面,由学习教练选择的一个或多个限制包括第二机器学习系统包括比第一机器学习系统更少的参数。
一方面,由学习教练选择的一个或多个限制包括第二机器学习系统被训练以满足除了其匹配第一机器学习系统的输出的目标之外的附加目标。
一方面,由学习教练选择的一个或多个限制包括第二机器学习系统在其输出向量空间中产生比第一机器学习系统更平滑的决策边界。
一方面,由学习教练选择的一个或多个限制包括应用于第二机器学习系统的学习参数的正则化。
一方面,正则化包括L2正则化。
一方面,由学习教练选择的一个或多个限制包括第二机器学习系统被训练成比第一机器学习系统对噪声或对抗数据示例更鲁棒。
一方面,该方法还包括由计算机系统用通过生成器生成的数据示例来扩充训练数据集,其中由学习教练选择的一个或多个限制包括第二机器学习集的生成数据示例的概率分布的标准偏差低于第一机器学习系统的生成数据示例的概率分布的标准偏差。
一方面,由学习教练选择的一个或多个限制包括由第二机器学习系统内的特征检测分类器表示的一个或多个较低级特征。
一方面,由学习教练选择的一个或多个限制包括添加到目标函数相对于第二机器学习系统的第一节点和第二节点中的每一个的学习参数的反向传播导数的松弛项,松弛项根据第一节点和第二节点的学习参数是否彼此偏离,将惩罚添加到第一节点和第二节点中的每一个的成本函数。
一方面,学习参数包括第一节点和第二节点中的每一个的连接权重。
一方面,由学习教练选择的一个或多个限制包括添加到目标函数相对于神经网络的第一节点和第二节点中的每一个的激活值的松弛项,松弛项根据第一节点和第二节点的激活值是否彼此偏离,将惩罚添加到第一节点和第二节点中的每一个的成本函数。
一方面,由学习教练选择的一个或多个限制包括第二机器学习系统的一个或多个随机选择的节点的激活值被设置为零。
一方面,由学习教练选择的一个或多个限制包括添加到第二机器学习系统的一个或多个随机选择的节点的激活值的噪声。
一方面,由学习教练选择的一个或多个限制包括添加到第二机器学习系统的一个或多个固定值节点,一个或多个固定值节点包括独立于第二机器学习系统的底层中的激活的激活值。
一方面,第二机器学习系统包括输入层、一个或多个内层和输出层;以及由学习教练选择的一个或多个限制包括一个或多个内层中的节点,节点被训练以满足不同于输出层的目标的附加目标。
一方面,输出层的目标包括匹配第一机器学习系统的输出。
一方面,由学习教练选择的一个或多个限制包括从第二训练数据集中随机选择的数据示例的影响被移除或减少。
一方面,该方法还包括:(i)由计算机系统将训练数据集划分成不相交的开发数据子集;(ii)由计算机系统在连续不相交的开发数据子集上训练第二机器学习系统;(iii)由计算机系统确定当前不相交的开发数据子集是否准确地预测了第二机器学习系统在新数据上的性能;以及(iv)根据当前不相交数据子集是否准确预测第二机器学习系统在新数据上的性能,计算机系统停止在当前不相交开发数据子集上的训练,并且开始在连续的当前不相交开发数据子集上的训练。
一方面,第一机器学习系统包括第一分类器,并且第二机器学习系统包括第二分类器,并且该方法还包括:(i)由计算机系统通过第一生成器生成模拟数据;(ii)由计算机系统通过第二生成器生成扩充数据,扩充数据是从真实数据生成的;(iii)由计算机系统向第一分类器提供模拟数据;(iv)由计算机系统将模拟数据或扩充数据提供给第二分类器;以及(v)根据第二分类器是接收模拟数据还是扩充数据,由计算机系统在第一分类器的输出或生成扩充数据的真实数据的分类类别上训练第二分类器。
一方面,第一分类器包括第一神经网络,第一神经网络包括第一节点,并且第二分类器包括第二神经网络,第二神经网络包括第二节点,并且该方法还包括:在训练期间,由计算机系统将松弛项添加到目标函数相对于第一神经网络的第一节点和第二神经网络的第二节点中的每一个的学习参数的反向传播导数,松弛项根据第一节点和第二节点的学习参数是否彼此偏离,将惩罚添加到第一节点的学习参数和第二节点的学习参数中的每一个的成本函数。
一方面,第一分类器包括第一神经网络,第一神经网络包括第一节点,并且第二分类器包括第二神经网络,第二神经网络包括第二节点,并且该方法还包括:在训练期间,由计算机系统将松弛项添加到目标函数相对于第一神经网络的第一节点和第二神经网络的第二节点中的每一个的激活值的反向传播导数,松弛项根据第一节点和第二节点的激活值是否彼此偏离,将惩罚添加到第一节点和第二节点中的每一个的成本函数。
一方面,第一分类器和第二分类器是不同类型的机器学习系统。
一方面,第一分类器包括集成。
一方面,该方法还包括由计算机系统重复该方法,直到满足停止标准。
一方面,停止标准包括在训练数据集上较少受限的学习系统的性能和独立测试数据集上较多受限机器学习系统的性能之间是否存在统计上显著的差异。
一方面,停止标准包括预定的性能目标是否已经实现。
一方面,停止标准包括是否已经达到对迭代次数或计算量的预定限制。
一方面,第二机器学习系统包括神经网络,神经网络包括互连成多个层的多个节点,该方法还包括:(i)由计算机系统在训练数据集上训练神经网络;以及(ii)在神经网络的训练期间,由计算机系统用替换节点集替换神经网络的替换节点,替换节点集提供复合输出。
一方面,替换节点集包括对应于检测的第一节点、对应于中性的第二节点和对应于拒绝的第三节点。
一方面,被替换的节点包括整流的线性单元,替换节点集的每个节点包括有限的范围,并且替换节点集包括单调增加的偏置。
一方面,该方法还包括:(i)由计算机系统在训练数据集上训练第二机器学习系统;(ii)由计算机系统在第二机器学习系统的训练期间从训练数据集获得数据示例;(iii)由计算机系统确定是否将数据示例与训练数据集中的所有数据进行比较;(iv)由计算机系统训练关联存储器,关联存储器配置为从输入中检索存储的模式;(v)由计算机系统通过生成器生成与数据示例相似的生成数据示例;(vi)由计算机系统从关联存储器检索对应于生成数据示例的检索数据示例;(vii)由计算机系统测量生成数据示例和检索数据示例之间的接近程度;以及(viii)由计算机系统确定检索数据示例和数据示例是否在指定的数据集中。
一方面,该方法还包括由计算机系统迭代地生成生成数据示例,直到已经识别出指定集的期望数量的生成数据示例。
一方面,该方法还包括:(i)由计算机系统迭代地生成生成数据示例,并且由计算机系统确定与生成数据示例相对应的检索数据示例是否在指定数据集中;以及(ii)由计算机系统根据指定数据集中的许多生成数据示例来确定数据示例是否是可聚类的。
在一个示例中,一种用于在第一机器学习分类器系统和第二机器学习分类器系统之间转移学习的计算机实现的方法,第二机器学习分类器系统不同于第一机器学习分类器系统,包括:(i)由计算机系统获得训练数据集;以及(ii)由计算机系统在训练数据集上训练第二机器学习分类器系统,目标是在训练数据集上与第一机器学习分类器系统一致。
一方面,该方法还包括:(i)由计算机系统通过第一生成器从训练数据集生成扩充数据集;以及(ii)由计算机系统在扩充数据集上训练第二机器学习分类器系统,目标是在扩充数据集上与第一机器学习分类器系统一致。
一方面,该方法还包括:(i)由计算机系统通过第一生成器从训练数据集生成第一扩充数据集;(ii)由计算机系统通过第二生成器从训练数据集生成第二扩充数据集;(iii)由计算机系统在第一扩充数据集上训练第一机器学习分类器系统;以及(iv)由计算机系统在第一扩充数据集和第二扩充数据集上训练第二机器学习分类器系统,其中第二机器学习分类器系统的训练目标包括:当在第一扩充数据集上训练第二机器学习分类器系统时,第一机器学习分类器系统的输出;以及当在第二扩充数据集上训练第二机器学习分类器系统时,来自第二扩充数据集的数据示例的类别。
一方面,第一机器学习分类器系统是原始神经网络,并且第二机器学习分类器系统是原始神经网络的扩展神经网络。
一方面,原始神经网络包括第一节点,并且扩展神经网络包括第二节点,并且该方法还包括:在训练期间,由计算机系统将松弛项添加到目标函数相对于原始神经网络的第一节点和扩展神经网络的第二节点中的每一个的学习参数的反向传播导数,松弛项根据第一节点和第二节点的学习参数是否彼此偏离,将惩罚添加到第一节点的学习参数和第二节点的学习参数中的每一个的成本函数。一方面,原始神经网络包括第一节点,并且扩展神经网络包括第二节点,并且该方法还包括:在训练期间,由计算机系统将松弛项添加到目标函数相对于原始神经网络的第一节点和扩展神经网络的第二节点中的每一个的激活值的反向传播导数,松弛项根据第一节点和第二节点的激活值是否彼此偏离,将惩罚添加到第一节点和第二节点中的每一个的成本函数。
一方面,学习参数包括第一节点和第二节点中的每一个的连接权重。
在一个示例中,一种用于增量改进第一神经网络的计算机实现的方法,该方法包括:(a)由计算机系统复制第一神经网络以生成第二神经网络,第一神经网络和第二神经网络形成集成;(b)由计算机系统将组合机器学习系统添加到集成中,组合机器学习系统接收第一神经网络和第二神经网络中的每一个的输出;(c)由计算机系统训练组合机器学习系统、第一神经网络和第二神经网络;(d)由计算机系统创建包括组合机器学习系统、第一神经网络和第二神经网络的新神经网络;以及(e)由计算机系统重复步骤(a)-(d),其中在步骤(d)创建的新神经网络作为在步骤(d)之后的步骤(a)中复制的第一神经网络,直到满足停止标准。
一方面,该方法还包括:(i)由计算机系统向第一神经网络和第二神经网络中的每一个添加附加输出节点;以及(ii)由计算机系统训练附加输出节点,以学习组合机器学习系统的最佳组合输出。
一方面,该方法还包括由计算机系统初始化组合机器学习系统,以对应于集成的预定组合规则。
一方面,组合机器学习系统包括神经网络。
一方面,组合机器学习系统包括特殊函数节点,特殊函数节点包括非线性激活函数。
一方面,特殊函数节点代表集成的预定组合规则。
一方面,组合机器学习系统包括连接到第一节点和第二节点的数据选择器节点,数据选择器节点配置为根据其激活选择性地丢弃第一节点或第二节点中的一个。
在一个示例中,一种用于为联合目标优化多个集成机器学习系统的计算机实现的方法包括:(i)由计算机系统将组合机器学习系统添加到多个集成机器学习系统,组合机器学习系统接收多个集成机器学习系统中的每一个的输出;以及(ii)由计算机系统通过经由组合机器学习系统向多个集成机器学习系统中的每一个反向传播表示联合目标的成本函数的偏导数,来训练组合机器学习系统和多个集成机器学习系统。
一方面,组合机器学习系统包括配置为表示多个集成机器学习系统的组合规则的特殊函数节点。
一方面,该方法还包括由计算机系统初始化组合机器学习系统,以匹配多个集成机器学习系统的组合规则或投票规则。
一方面,该方法还包括在组合机器学习系统和多个集成机器学习系统的训练期间,由计算机系统向多个集成机器学习系统增量添加新的集成机器学习系统。
一方面,该方法还包括:(i)由计算机系统通过组合机器学习系统为多个集成机器学习系统中的每一个计算置信得分;以及(ii)由计算机系统根据置信得分为多个集成机器学习系统中的每一个的输出分配权重。
在一个示例中,一种改进神经网络的计算机实现的方法,该方法包括:由计算机系统基于梯度方向的相似性将训练数据集分成N个训练数据子集,其中N>1;由计算机系统扩展神经网络以生成扩展神经网络,扩展神经网络包括扩展部分和原始部分;以及由计算机系统在N个训练数据子集中的一个上训练扩展神经网络的扩展部分。
一方面,该方法还包括由计算机系统在训练数据集上训练扩展神经网络的扩展部分和原始部分。
一方面,该方法还包括由计算机系统在扩展神经网络之前复制神经网络。
一方面,该方法还包括在训练扩展神经网络的扩展部分之前,由计算机系统将扩展神经网络初始化为等同于神经网络。
一方面,将扩展神经网络初始化为等同于神经网络包括:由计算机系统将所有的节点和连接从神经网络复制到扩展神经网络,以定义神经网络的原始部分;以及由计算机系统将扩展神经网络的扩展部分设置为身份函数。
一方面,将扩展神经网络的扩展部分设置为身份函数包括由计算机系统向扩展部分中的每个节点添加偏置,使得每个节点的输出等于其输入。
一方面,将扩展神经网络的扩展部分设置为身份函数包括通过计算机系统将扩展部分中的每个节点连接到求和神经元,其中每个连接到每个求和神经元的初始权重为零。
一方面,将扩展神经网络的扩展部分设置为身份函数包括通过计算机系统将扩展部分中的每个节点的激活函数初始化为身份函数。
一方面,扩展神经网络包括比神经网络更多数量的节点和相应的连接。
在一个示例中,一种用于改进神经网络在训练数据集上的性能的计算机实现的方法包括:由计算机系统从训练数据集获得数据;由计算机系统从数据中确定神经网络是否出错或者具有小于数据示例的阈值的置信度;由计算机系统根据选择标准选择神经网络的节点;由计算机系统复制节点以形成复制节点;由计算机系统基于梯度方向的相似性将训练数据集分成N个训练数据子集,其中N>1;其中N个训练数据子集中的一个对应于节点,并且N个训练数据子集中的另一个对应于复制节点;以及由计算机系统在训练数据上训练神经网络,使得节点和复制节点中的每一个仅接收其相应训练数据子集的反向传播。
一方面,从训练数据集获得数据包括由计算机系统选择训练数据集的子集。
一方面,从训练数据集获得数据包括由计算机系统通过生成器从训练数据集生成扩充数据。
一方面,该方法还包括:由计算机系统在置信估计系统处接收神经网络的输出;由计算机系统在置信估计系统处接收神经网络的辅助输出;由计算机系统将错误成本函数的导数从置信估计系统反向传播到辅助输出;以及由计算机系统通过置信估计系统根据神经网络的辅助输出计算置信度。
一方面,选择标准包括节点在其数据的激活函数中是否处于中性点。
一方面,复制节点被添加到神经网络。一方面,复制节点被添加到新的神经网络。
在一个示例中,一种用于确定机器学习系统的输出中的置信的计算机实现的方法,该机器学习系统配置为输出标准输出和辅助输出,该方法包括:由计算机系统从一个或多个数据源向机器学习系统提供数据,数据包括机器学习系统的目标数据和非目标数据;由计算机系统实现和计算机系统训练的置信估计机器学习系统根据所提供的数据接收机器学习系统的标准输出和辅助输出,以确定机器学习系统的输出是否正确;由计算机系统实现的置信估计机器学习系统根据标准输出和辅助输出是否正确来计算置信得分;以及由计算机系统实现的置信估计机器学习系统将损失函数的导数反向传播到机器学习系统的辅助输出;其中将损失函数的导数反向传播到辅助输出不会改变机器学习系统的标准输出。
一方面,机器学习系统包括分类器或检测器。
一方面,辅助输出包括第一输出,并且机器学习系统还配置为输出第二辅助输出,该方法还包括:由计算机系统向补充估计器提供第二辅助输出;由计算机系统实现的补充估计器计算补充置信得分;以及由计算机系统根据补充置信得分训练置信估计机器学习系统。
一方面,该方法还包括由计算机系统实现的置信估计机器学习系统将损失函数的导数反向传播到机器学习系统的补充估计器和第二辅助输出。
一方面,补充估计器包括先前训练的机器学习系统。一方面,补充估计器包括统计测试。
一方面,该方法还包括改变提供给机器学习系统的目标数据和非目标数据的比率。
一方面,该方法还包括由计算机系统实现的置信估计机器学习系统计算非线性回归,非线性回归估计提供给机器学习系统的目标数据和非目标数据的概率分布上的平均错误度量的概率。
一方面,该方法还包括由计算机系统实现的置信估计机器学习系统收集关于从辅助输出观察到的机器学习系统的内部值的统计。
一方面,该方法还包括由计算机系统实现的置信估计机器学习系统向外部系统输出所收集的关于机器学习系统的内部值的统计。
一方面,将损失函数的导数反向传播到辅助输出不会改变机器学习系统的标准输出,因为反向传播不会从辅助输出通过机器学习系统进行。
在一个示例中,一种用于为神经网络创建特征检测节点的计算机实现的方法包括:由计算机系统接收特征规范,特征规范定义了数据集中的哪些数据示例展现特征以及哪些数据示例不展现特征;由计算机系统选择神经网络中的节点作为特征的特征检测节点;由计算机系统将松弛项添加到目标函数相对于每个选择节点的激活值的反向传播导数,松弛项根据选择节点的激活值是否彼此偏离,将惩罚添加到每个选择节点的成本函数;由计算机系统在数据集上训练神经网络;由计算机系统通过神经网络对数据集中的数据示例进行聚类;由计算机系统生成包括来自数据集的附加数据的扩充数据集;由计算机系统在扩充数据集上训练神经网络;以及由计算机系统从训练的神经网络中导出每个选择节点的特征规范。
一方面,接收特征规范包括从外部源接收特征规范。一方面,外部源包括机器学习分类器,机器学习分类器在标记的数据示例上被训练,并且配置为将标签应用于接收的数据。一方面,接收特征规范包括通过聚类算法将数据示例聚类成多个分类类别。
一方面,该方法还包括由计算机系统向神经网络添加附加节点作为特征检测节点。
在一个示例中,一种用于开发机器学习系统的计算机实现的方法包括:由计算机系统通过生成器在示例数据的阈值内生成生成数据;以及由计算机系统在生成数据上训练机器学习系统。
一方面,生成器包括变分自动编码器。一方面,生成器包括随机分类自动编码器网络。
一方面,该方法还包括由计算机系统通过超参数控制生成数据相对于示例数据的标准偏差。
一方面,该方法还包括由计算机系统通过负示例训练生成器。一方面,负示例禁止生成器生成与示例数据属于不同类别的生成数据。一方面,负示例禁止生成器生成与示例数据太不同的生成数据。
一方面,该方法还包括:由计算机系统向第一机器学习分类器和第二机器学习分类器提供数据集,第一机器学习分类器比第二机器学习分类器受到的限制少,因为第二机器学习分类器在与数据集不相交的数据上产生较少的错误;以及由计算机系统从数据集中识别第一机器学习分类器错误分类和第二机器学习分类器正确分类的有问题的数据,其中示例数据是有问题的数据中的一个数据。一方面,第一机器学习分类器包括第一节点,并且第二机器学习分类器包括第二节点,该方法还包括:由计算机系统将松弛项添加到目标函数相对于第一节点和第二节点中的每一个的学习参数的反向传播导数,松弛项根据第一节点和第二节点的学习参数是否彼此偏离,将惩罚添加到第一节点的学习参数和第二节点的学习参数中的每一个的成本函数。
一方面,全局正则化已经被应用于第二机器学习分类器,并且该方法还包括:由计算机系统移除应用于第二机器学习分类器的全局正则化;由计算机系统将局部正则化应用于第二机器学习分类器,局部正则化对于有问题的数据是局部的。
在一个示例中,一种用于开发机器学习系统的计算机实现的方法包括:由计算机系统对数据集的每个数据应用影响权重,影响权重控制训练期间每个数据的相对权重;以及由计算机系统在数据集上训练机器学习系统。
一方面,影响权重为负。
一方面,该方法还包括由计算机系统减少导致机器学习系统产生错误的数据集的任何数据的影响权重。一方面,将任何数据的影响权重减小到零有效地从数据集中删除数据。一方面,影响权重由超参数控制。
在一个示例中,一种用于开发包括第一机器学习分类器和第二机器学习分类器的机器学习系统的计算机实现的方法包括:由计算机系统向第一机器学习分类器和第二机器学习分类器提供数据集,第一机器学习分类器比第二机器学习分类器受到的限制少,因为第二机器学习分类器在与数据集不相交的数据上产生较少的错误;以及由计算机系统从数据集中识别第一机器学习分类器错误分类和第二机器学习分类器正确分类的有问题的数据。
一方面,该方法还包括由计算机系统增加第二机器学习系统的有问题的数据的局部正则化。
一方面,该方法还包括由计算机系统识别数据集中相对于由第一机器学习系统正确分类的有问题的数据的附近数据示例。一方面,该方法还包括由计算机系统降低附近数据示例的影响权重。一方面,附近数据示例可以与有问题的数据在同一类别中,也可以不在同一类别中。
一方面,该方法还包括由计算机系统识别数据集中对应于有问题的数据的类别的共分类数据示例。一方面,该方法还包括由计算机系统降低共分类数据示例的影响权重。
一方面,该方法还包括:由计算机系统训练关联存储器,关联存储器配置为从输入中检索存储的模式;由计算机系统通过生成器生成与有问题的数据相似的生成数据示例;由计算机系统从关联存储器检索对应于生成数据示例的检索数据示例;由计算机系统测量生成数据示例和检索数据示例之间的接近程度;以及由计算机系统确定检索数据示例和数据示例是否都在类别中。一方面,该方法还包括由计算机系统通过生成器从示例数据生成数据集。
在一个示例中,一种用于开发包括第一机器学习分类器和第二机器学习分类器的机器学习系统的计算机实现的方法包括:由计算机系统向第一机器学习分类器和第二机器学习分类器提供数据集,第一机器学习分类器比第二机器学习分类器受到的限制少,因为第二机器学习分类器在与数据集不相交的数据上产生较少的错误;由计算机系统识别来自数据集的有问题的数据,有问题的数据是第一机器学习分类器错误分类并且第二机器学习分类器正确分类的数据,或者是第一机器学习分类器或第二机器学习分类器具有小于阈值的置信度的数据;以及由计算机系统识别有问题的数据的多个分类类别。
一方面,该方法还包括由计算机系统在置信估计系统处接收第一机器学习分类器或第二机器学习分类器中的至少一个的输出;由计算机系统在置信估计系统处接收第一机器学习分类器或第二机器学习分类器中的至少一个的辅助输出;由计算机系统将错误成本函数的导数从置信估计系统反向传播到辅助输出;以及由计算机系统根据第一机器学习分类器或第二机器学习分类器中的至少一个的辅助输出,通过置信估计系统来计算置信度。
一方面,多个分类类别包括对有问题的数据的正确分类。一方面,多个分类类别包括第一机器学习分类器或第二机器学习分类器为其分配高于平均分类得分的有问题的数据的类别。
一方面,该方法还包括由计算机系统从多个分类类别的每一个中为有问题的数据生成附加数据。一方面,附加数据是通过生成器生成的。
一方面,该方法还包括由计算机系统计算有问题的数据的多个分类类别之间的决策边界。一方面,该方法还包括由计算机系统计算有问题的数据的区域中的多个分类类别之间的决策边界。一方面,该方法还包括由计算机系统计算与决策边界正交的向量。一方面,该方法还包括由计算机系统识别沿着决策边界的区域,其中向量的方向的幅度变化超过阈值变化。一方面,该方法还包括由计算机系统平滑决策边界。
一方面,该方法还包括由计算机系统针对多个分类类别中的每一个,在有问题的数据的阈值距离内,从数据集计算数据示例的概率分布。一方面,该方法还包括:由计算机系统根据概率分布确定任何有问题的数据是否是孤立的错误;以及由计算机系统忽略任何孤立的错误。一方面,该方法还包括:由计算机系统确定在有问题的数据的阈值距离内是否存在用于分类类别中的每一个的至少阈值数量的数据示例;以及由计算机系统为多个分类类别中至少有阈值数量的数据示例的任何一个创建聚类模型。
一方面,该方法还包括由计算机系统训练一个或多个检测器,该检测器配置为识别有问题的数据。一方面,训练一个或多个检测器包括由计算机系统将有问题的数据提供给一个或多个检测器,作为训练一个或多个检测器的模板。一方面,训练检测器包括:由计算机系统获得多个生成器,多个生成器中的每一个对应于分类类别中的一个;由计算机系统从多个生成器中随机选择选择的生成器,多个生成器中的每一个对应于分类类别中的一个;由计算机系统通过选择的生成器生成生成数据示例;由计算机系统向多个分类器中的每一个提供生成数据示例和来自对应于选择的生成器的分类类别的真实数据示例;由计算机系统根据生成数据示例和真实数据示例是否对应于与一个或多个检测器中的每一个相关联的分类类别,通过一个或多个检测器中的每一个输出检测输出;由计算机系统确定来自一个或多个检测器中的每一个的每个检测输出的最大激活;由计算机系统将第一损失函数的导数反向传播到一个或多个检测器中输出最大激活的那一个;由计算机系统归一化来自一个或多个检测器的检测输出;以及根据生成数据示例或真实数据示例的归一化检测输出是否被一个或多个检测器正确分类,由计算机系统向一个或多个检测器反向传播第二损失函数的导数。一方面,多个生成器中的每一个对应于限定生成器-检测器对的一个或多个检测器中的一个;以及每个生成器-检测器对对应于分类类别中的一个。
一方面,该方法还包括由计算机系统改变有问题的数据的分类类别的标签。一方面,改变有问题的数据的分类类别的标签包括:由计算机系统通过第三机器学习分类器对有问题的数据进行分类;由计算机系统确定由第三机器学习分类器为有问题的数据输出的分类得分是否满足标准;以及根据分类核是否满足标准,由计算机系统改变有问题的数据的分类类别的标签。一方面,第一机器学习分类器包括第一节点,并且第二机器学习分类器包括第二节点,并且该方法还包括:由计算机系统将松弛项添加到目标函数相对于分类类别的标签被改变的有问题的数据的第一节点和第二节点中的每一个的激活值的反向传播导数,松弛项根据第一节点和第二节点的激活值是否彼此偏离,将惩罚添加到第一节点和第二节点中的每一个的成本函数。一方面,该方法还包括:由计算机系统在数据集上训练机器学习系统;由计算机系统迭代地增长机器学习系统,并且由计算机系统在数据集上重新训练增长的机器学习系统。一方面,机器学习系统包括集成机器学习系统;且增长集成机器学习系统包括由计算机系统向集成机器学习系统添加一个或多个集成成员。一方面,集成机器学习系统包括连接在一起以形成集成的多个神经网络。一方面,机器学习系统包括神经网络;且增长机器学习系统包括由计算机系统向神经网络添加新的节点。一方面,该方法还包括由计算机系统将数据集划分成多个数据子集。一方面,该方法还包括:由计算机系统确定在机器学习系统的训练期间随机梯度下降是否试图在第一方向上对数据集的一些数据示例进行改变,以及在第二方向上对数据集的其他数据示例进行改变,其中数据集被相应地划分。
在一个示例中,一种用于开发机器学习分类器的计算机实现的方法包括:由计算机系统训练支持机器学习分类器来划分数据;由计算机系统用支持分类器将数据集划分成多个数据子集;以及由计算机系统在多个数据子集上训练机器学习分类器。
一方面,支持分类器配置为将数据划分成任意子集。
一方面,该方法还包括训练机器学习分类器,包括由计算机系统在数据子集中的每一个上连续训练机器学习分类器。
一方面,机器学习分类器包括多个集成成员,并且在多个数据子集上训练机器学习分类器包括:由计算机系统将数据子集中的一个分配给集成成员中的每一个;以及由计算机系统在数据子集上训练机器学习分类器的集成成员。一方面,支持机器学习分类器和机器学习分类器包括相同的分类任务。一方面,机器学习分类器的集成成员中的每一个被训练来验证或纠正由支持机器学习分类器执行的初步分类。
在一个示例中,一种用于开发机器学习分类器的计算机实现的方法包括:由计算机系统向第一机器学习分类器和第二机器学习分类器提供数据集,第一机器学习分类器比第二机器学习分类器受到的限制少,因为第二机器学习分类器在与数据集不相交的数据上产生较少的错误;由计算机系统训练多个生成器以从数据集生成数据,多个生成器中的每一个对应于与数据集相关联的多个分类类别中的一个;以及由计算机系统通过生成器生成生成数据。
一方面,训练多个生成器包括:由计算机系统从多个生成器中随机选择选择的生成器,多个生成器中的每一个对应于多个分类类别中的一个;由计算机系统通过选择的生成器生成生成数据示例;由计算机系统向第一机器学习分类器和第二机器学习分类器中的每一个提供生成数据示例和来自对应于选择的生成器的分类类别的真实数据示例;由计算机系统根据生成数据示例和真实数据示例是否对应于与第一机器学习分类器和第二机器学习分类器中的每一个相关联的分类类别,经由多个分类器中的每一个输出检测输出;由计算机系统确定来自第一机器学习分类器和第二机器学习分类器中的每一个的每个检测输出的最大激活;由计算机系统将第一损失函数的导数反向传播到第一机器学习分类器和第二机器学习分类器中输出最大激活的那一个;由计算机系统对来自第一机器学习分类器和第二机器学习分类器的检测输出进行归一化;以及根据第一机器学习分类器和第二机器学习分类器是否正确地分类了生成数据示例或真实数据示例的归一化检测输出,由计算机系统将第二损失函数的导数反向传播到第一机器学习分类器和第二机器学习分类器。
一方面,该方法还包括由计算机系统通过生成数据来调谐与第一机器学习分类器和第二机器学习分类器相关联的超参数。
一方面,该方法还包括由计算机系统通过生成数据来确定应用于第二机器学习分类器的正则化方法的有效性。
在一个示例中,一种用于开发包括用于控制机器学习系统的性能的多个超参数的机器学习系统的计算机实现的方法包括:由计算机系统将多个超参数分组为不相交的超参数子集;以及由计算机系统通过执行以下步骤估计超参数子集中的每一个的偏导数:由计算机系统在超参数设置为指定值的数据集上执行机器学习系统的基本评估;由计算机系统对超参数中的每一个的应用值进行非零扰动的机器学习系统的多次评估;以及由计算机系统根据机器学习系统对超参数中的每一个的评估与基本评估相比的变化来估计相对于超参数中的每一个的偏导数。
一方面,该方法还包括由计算机系统利用随机梯度下降,以根据超参数子集中的每一个的估计偏导数来优化超参数。
在一个示例中,一种用于增量开发机器学习系统的计算机实现的方法包括:由计算机系统在具有多个分类类别的训练数据集上训练机器学习系统;以及由计算机系统迭代地增加多个分类类别的复杂性,并且由计算机系统在训练数据集上重新训练机器学习系统。
一方面,机器学习系统包括神经网络。一方面,分类类别的复杂性对应于与分类类别中的每一个相关联的许多参数。
在一个示例中,一种用于创建协作生成器-分类器系统的计算机实现的方法包括:由计算机系统接收从多个生成器中的一个输出的数据示例;由计算机系统训练分类器,以确定数据示例是从多个生成器中的哪一个生成的;由计算机系统比较来自多个生成器的输出;以及由计算机系统根据来自多个生成器的输出是否彼此不同,将错误成本反向传播给多个生成器。
一方面,多个生成器包括多个不同的生成器类型。
一方面,分类器包括深度神经网络;以及训练深度神经网络包括由计算机系统使用随机梯度下降,在微批次中进行更新,并且通过反向传播计算错误成本函数的偏导数。
一方面,多个生成器配置为生成无限数量的数据示例。
一方面,该方法还包括由计算机系统迭代地训练分类器和多个生成器中的每一个。
一方面,该方法还包括由计算机系统反向传播用于训练分类器的附加分类器目标或附加数据的错误成本。
一方面,该方法还包括由计算机系统反向传播用于训练多个生成器的附加生成器目标的错误成本。一方面,附加目标包括负反馈。
一方面,分类器是多个分类器中的一个,多个分类器中的每一个配置为提供检测输出,检测输出指示数据示例是否对应于与多个分类器中的每一个相关联的分类类别,该方法还包括:由计算机系统从多个生成器中随机选择选择的生成器,多个生成器中的每一个对应于分类类别中的一个;由计算机系统通过选择的生成器生成生成数据示例;由计算机系统向多个分类器中的每一个提供生成数据示例和来自对应于选择的生成器的分类类别的真实数据示例;由计算机系统根据生成数据示例和真实数据示例是否对应于与多个分类器中的每一个相关联的分类类别,通过多个分类器中的每一个输出检测输出;由计算机系统确定来自多个分类器中的每一个的每个检测输出的最大激活;由计算机系统将第一损失函数的导数反向传播到多个分类器中输出最大激活的那一个;由计算机系统归一化来自多个分类器的检测输出;以及根据生成数据示例或真实数据示例的归一化检测输出是否被多个分类器正确分类,由计算机系统向多个分类器反向传播第二损失函数的导数。一方面,多个生成器中的每一个对应于限定生成器-检测器对的多个分类器中的一个;以及每个生成器-检测器对对应于分类类别中的一个。
一方面,该方法还包括由计算机系统选择数据示例;由计算机系统为数据示例选择N个分类类别;由计算机系统将数据示例分配给分类类别,其中数据示例中的每一个的权重为1/N;由计算机系统选择一个或多个其他目标;由计算机系统创建多目标损失函数,其中一个或多个其他目标各自被表示为损失函数的附加项;由计算机系统在训练数据上训练分类器,以根据多目标损失函数对训练数据进行聚类;以及通过由计算机系统实现的训练分类器,将数据示例重新分配给分类类别。一方面,一个或多个其他目标包括:当数据示例应该被分类在第二分类类别中时,避免数据示例被分类在第一分类类别中;以及损失函数的附加项包括对第一分类类别中的数据示例进行分类的惩罚。一方面,一个或多个目标包括避免创建包含小于阈值的多个数据示例的分类类别;以及损失函数的附加项包括使分类类别中的数据示例分布的熵最大化的奖励。一方面,分类器包括神经网络分类器,神经网络分类器包括互连成多个层的多个节点;一个或多个目标包括正则化数据示例;以及损失函数的附加项包括对于数据示例的预定子集,对于神经网络的第一节点和第二节点的彼此偏离的学习参数的惩罚。
一方面,该方法还包括由计算机系统从多个生成器中的模拟生成器接收数据示例;由计算机系统通过神经网络处理数据示例;当通过其处理数据示例时,由计算机系统将噪声添加到神经网络;以及由计算机系统通过解码器网络将数据示例反向传播到神经网络。一方面,模拟生成器选自自动编码器、随机分类自动编码器网络、变分自动编码器和去噪自动编码器组成的组。一方面,该方法还包括在通过神经网络处理数据示例之前,由计算机系统向从模拟生成器接收的数据示例添加噪声。
在一个示例中,一种用于在决策边界生成数据的计算机实现的方法包括:由计算机系统获得分类器,分类器配置为:判别对应于第一类别和第二类别的数据;以及根据第一类别和第二类别中的每一个为数据提供分类得分;由计算机系统训练生成器,以生成数据示例,其中由分类器提供的第一类别和第二类别的分类得分之间的差值幅度小于差值阈值;由计算机系统通过分类器反向传播偏导数;由计算机系统根据反向传播偏导数获得第一类别和第二类别之间的决策边界的正交向量;由计算机系统表征数据示例的第一类别和第二类别之间的决策边界;以及由计算机系统在表征的决策边界附近生成文本数据示例。
一方面,获得分类器包括训练分类器以判别第一类别和第二类别之间的数据。
一方面,表征决策边界包括:由计算机系统将超平面拟合到数据示例;以及由计算机系统测量超平面的扩散。一方面,表征决策边界包括由计算机系统确定正交向量的变化率幅度大于变化率阈值。
一方面,该方法还包括通过计算机系统改变生成器的训练条件。
一方面,该方法还包括由计算机系统测量测试数据示例的分类得分的变化。
一方面,第一类别和第二类别各自包括分类类别。一方面,第一类别和第二类别各自包括数据聚类。
在一个示例中,一种用于使神经网络的节点不太可能响应于神经网络的进一步训练而改变的计算机实现的方法包括:由计算机系统识别神经网络的非决定性节点,非决定性节点包括这样的节点,其中任何反向传播目标和任何正则化项的组合导数不在将导致学习参数的更新以增加节点中的每一个的节点激活和中性激活值之间的差值的方向上;由计算机系统向非决定性节点添加决定性目标,决定性目标包括大于一的乘法常数;由计算机系统将乘法常数设置为第一值;以及由计算机系统训练神经网络。
一方面,该方法还包括由计算机系统识别非决定性节点;由计算机系统将乘法常数增加到第二值,第二值大于第一值;以及由计算机系统训练神经网络。
一方面,乘法常数由超参数控制。
一方面,该方法还包括由计算机系统向神经网络的每个节点添加正则化项,其中如果节点是非决定性节点中的一个,则正则化项为正。
在一个示例中,一种用于训练生成器的计算机实现的方法包括:由计算机系统通过生成器从输入生成模式;由计算机系统将模式提供给第一分类器和第二分类器,第一分类器和第二分类器配置为根据模式输出分类得分;由计算机系统将目标从第一分类器和第二分类器中的每一个反向传播到生成器,目标对应于第一分类器和第二分类器的分类得分之间的目标差值量。
一方面,目标配置为训练生成器以生成第一分类器和第二分类器一致的模式。一方面,目标配置为训练生成器以生成第一分类器和第二分类器不一致的模式。
一方面,该方法还包括由计算机系统向生成器反向传播附加目标。
在一个示例中,一种用于在第一分类器和第二分类器之间转移知识的计算机实现的方法包括:(i)由计算机系统通过第一生成器生成模拟数据;(ii)由计算机系统通过第二生成器生成扩充数据,扩充数据是从真实数据生成的;(iii)由计算机系统向第一分类器提供模拟数据;(iv)由计算机系统将模拟数据或扩充数据提供给第二分类器;以及(v)根据第二分类器是接收模拟数据还是扩充数据,由计算机系统在第一分类器的输出或生成扩充数据的真实数据的分类类别上训练第二分类器。
一方面,第一分类器可以包括第一神经网络,并且第二分类器可以包括第二神经网络。进一步,前述方法还可以包括由计算机系统在训练期间向第一神经网络的第一节点和第二神经网络的第二节点中的每一个的学习参数添加项,该项根据第一节点和第二节点的学习参数是否彼此偏离来惩罚第一节点和第二节点中的每一个。
另一方面,第一分类器和第二分类器可以是不同类型的机器学习系统。
另一方面,第一分类器可以包括集成。
在一个示例中,一种用于增量开发机器学习系统的计算机实现的方法包括:(i)由计算机系统获得包括训练数据集和多个开发数据集的数据集;(ii)由计算机系统在训练数据集上训练机器学习系统;(iii)由计算机系统迭代地将多个开发集中的一个添加到训练数据集,并且由计算机系统在训练数据集上重新训练机器学习系统。
一方面,机器学习系统包括神经网络。
一方面,获得数据集包括由计算机系统通过数据生成系统从训练数据集生成多个开发数据集。
一方面,数据生成系统包括一个或多个生成器和一个或多个分类器,其配置为协作以实现共同的目标。
在一个示例中,一种用于模拟生成对抗网络的计算机实现的方法包括:(i)由计算机系统从生成性对抗网络接收数据示例;(ii)由计算机系统通过神经网络处理数据示例;(iii)当通过其处理数据示例时,由计算机系统将噪声添加到神经网络;以及(iv)由计算机系统通过真实与生成分类器将数据示例反向传播到神经网络,真实与生成分类器配置为确定来自生成对抗网络的数据示例是真实数据示例还是生成数据示例。
一方面,该方法还包括在通过神经网络处理数据示例之前,由计算机系统向从生成对抗网络接收的数据示例添加噪声。
在一个示例中,一种用于增量开发机器学习系统的计算机实现的方法包括:(i)由计算机系统在训练数据集上训练机器学习系统;以及(ii)由计算机系统迭代地增长机器学习系统,并且由计算机系统在训练数据集上重新训练增长的机器学习系统。
一方面,机器学习系统包括集成机器学习系统并且增长集成机器学习系统包括由计算机系统向集成机器学习系统添加一个或多个集成成员。一方面,集成机器学习系统包括连接在一起以形成集成的多个神经网络。
一方面,机器学习系统包括神经网络,并且增长机器学习系统包括向神经网络添加新的节点。
一方面,该方法还包括将训练数据集划分成多个数据子集。一方面,该方法还包括:由计算机系统确定在机器学习系统的训练期间随机梯度下降是否试图在第一方向上对训练数据的一些数据示例进行改变,以及在第二方向上对训练数据的其他数据示例进行改变,其中训练数据集被相应地划分。
上述示例和/或方面中的每一个都可以在计算机系统上实现,该计算机系统包括一个或多个处理器核、耦合到一个或多个处理器核的一个或多个存储器,该一个或多个存储器存储机器学习系统和指令,当由一个或多个处理器核执行时,这些指令使得计算机系统执行计算机实现的方法。
进一步,上述示例和/或方面中的每一个都可以在分布式计算机系统上实现,多个计算机节点通过具有不同数据带宽的连接互连。一个或多个处理器核和/或一个或多个存储器可以分布在计算机节点上。进一步,在一些方面,多个计算机系统节点中的每一个的存储器可以存储指令,当由一个或多个处理器核执行时,指令使计算机系统节点根据与计算机系统节点之间的相应连接相关联的数据带宽在计算机系统节点之间传输数据。
本文给出的示例旨在说明本发明的潜在的和具体的实现方式。应理解,这些示例主要是为了向本领域技术人员说明本发明。示例的一个或多个特定方面并不旨在限制本发明的范围。进一步,应理解,已经简化了本发明的附图和描述,以说明与清楚理解本发明相关的元素。同时,为了清楚起见,消除了其他元素。尽管本文已经描述了各种实施例,但明显的是,本领域技术人员在获得至少一些优点的情况下,可以对这些实施例进行各种修改、变更和改编。因此,在不脱离本文阐述的实施例的范围的情况下,所公开的实施例旨在包括所有这样的修改、变更和改编。

Claims (445)

1.一种限制神经网络学习的计算机实现的方法,其中所述神经网络包括第一节点,所述方法包括:
由计算机系统在训练数据集上训练所述神经网络;以及
在训练期间,由所述计算机系统将松弛项添加到目标函数相对于所述神经网络的所述第一节点和第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
2.根据权利要求1所述的方法,还包括由所述计算机系统通过超参数控制所述松弛项的权重。
3.根据权利要求2所述的方法,其中所述超参数包括应用于所述松弛项的乘法缩放因子。
4.根据权利要求1所述的方法,其中所述神经网络包括所述第二节点。
5.根据权利要求1所述的方法,其中:
所述神经网络包括第一神经网络;以及
第二神经网络包括所述第二节点。
6.根据权利要求1所述的方法,还包括:
在训练期间,由所述计算机系统将第二松弛项添加到目标函数相对于所述第一节点和第三节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第三节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点和所述第三节点中的每一个的成本函数。
7.根据权利要求1所述的方法,其中对于所述训练数据集中的每个数据示例,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述学习参数的所述反向传播导数。
8.根据权利要求1所述的方法,其中对于所述训练数据集中的数据示例的子集,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述学习参数的所述反向传播导数。
9.根据权利要求8所述的方法,其中添加了所述松弛项的所述数据示例的子集对应于所述训练数据集已经被划分到其中的分类类别。
10.根据权利要求8所述的方法,其中添加了所述松弛项的所述数据示例的子集对应于所述训练集已经被机器学习系统划分到其中的数据聚类,所述机器学习系统被训练成根据聚类分配值对所述训练数据集进行聚类。
11.根据权利要求1所述的方法,其中所述学习参数包括所述第一节点和所述第二节点中的每一个的连接权重。
12.根据权利要求11所述的方法,其中所述松弛项要求所述第一节点和所述第二节点的所述连接权重相等。
13.一种用于限制包括第一节点的神经网络的学习的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
在训练数据集上训练所述神经网络;以及
在训练期间,将松弛项添加到目标函数相对于所述神经网络的所述第一节点和第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
14.根据权利要求13所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过超参数来控制所述松弛项的权重。
15.根据权利要求14所述的计算机系统,其中所述超参数包括应用于所述松弛项的乘法缩放因子。
16.根据权利要求13所述的计算机系统,其中所述神经网络包括所述第二节点。
17.根据权利要求13所述的计算机系统,其中:
所述神经网络包括第一神经网络;以及
第二神经网络包括所述第二节点,所述第二神经网络由所述一个或多个存储器存储。
18.根据权利要求13所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在训练期间,将第二松弛项添加到目标函数相对于所述第一节点和第三节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第三节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点和所述第三节点中的每一个的成本函数。
19.根据权利要求13所述的计算机系统,其中对于所述训练数据集中的每个数据示例,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述学习参数的所述反向传播导数。
20.根据权利要求13所述的计算机系统,其中对于所述训练数据集中的数据示例子集,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述学习参数的所述反向传播导数。
21.根据权利要求20所述的计算机系统,其中添加了所述松弛项的所述数据示例的子集对应于所述训练数据集已经被划分到其中的分类类别。
22.根据权利要求20所述的计算机系统,其中添加了所述松弛项的所述数据示例的子集对应于训练集已经被机器学习系统划分到其中的数据聚类,所述机器学习系统被训练成根据聚类分配值对所述训练数据集进行聚类。
23.根据权利要求13所述的计算机系统,其中所述学习参数包括所述第一节点和所述第二节点中的每一个的连接权重。
24.根据权利要求23所述的计算机系统,其中所述松弛项要求所述第一节点和所述第二节点的所述连接权重相等。
25.根据权利要求13至24中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
26.一种限制神经网络学习的计算机实现的方法,其中所述神经网络包括第一节点,所述方法包括:
由计算机系统在训练数据集上训练所述神经网络;以及
在训练期间,由所述计算机系统将松弛项添加到目标函数相对于所述神经网络的所述第一节点和第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
27.根据权利要求26所述的方法,还包括由所述计算机系统通过超参数控制所述松弛项的权重。
28.根据权利要求27所述的方法,其中所述超参数包括应用于所述松弛项的乘法缩放因子。
29.根据权利要求26所述的方法,其中所述神经网络包括所述第二节点。
30.根据权利要求26所述的方法,其中:
所述神经网络包括第一神经网络;以及
第二神经网络包括所述第二节点。
31.根据权利要求26所述的方法,还包括:
在训练期间,由所述计算机系统将第二松弛项添加到目标函数相对于所述第一节点和第三节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第三节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点和所述第三节点中的每一个的成本函数。
32.根据权利要求26所述的方法,其中对于所述训练数据集中的每个数据示例,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述激活值的所述反向传播导数。
33.根据权利要求26所述的方法,其中对于所述训练数据集中的数据示例的子集,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述激活值的所述反向传播导数。
34.根据权利要求33所述的方法,其中添加了所述松弛项的所述数据示例的子集对应于所述训练数据集已经被划分到其中的分类类别。
35.根据权利要求33所述的方法,其中添加了所述松弛项的所述数据示例的子集对应于所述训练集已经被机器学习系统划分到其中的数据聚类,所述机器学习系统被训练成根据聚类分配值对所述训练数据集进行聚类。
36.一种用于限制包括第一节点的神经网络的学习的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
在训练数据集上训练所述神经网络;以及
在训练期间,将松弛项添加到目标函数相对于所述神经网络的所述第一节点和第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
37.根据权利要求35所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过超参数来控制所述松弛项的权重。
38.根据权利要求36所述的计算机系统,其中所述超参数包括应用于所述松弛项的乘法缩放因子。
39.根据权利要求35所述的计算机系统,其中所述神经网络包括所述第二节点。
40.根据权利要求35所述的计算机系统,其中:
所述神经网络包括第一神经网络;以及
第二神经网络包括所述第二节点,所述第二神经网络由所述一个或多个存储器存储。
41.根据权利要求35所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在训练期间,将第二松弛项添加到目标函数相对于所述第一节点和第三节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第三节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点和所述第三节点中的每一个的成本函数。
42.根据权利要求35所述的计算机系统,其中对于所述训练数据集中的每个数据示例,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述激活值的所述反向传播导数。
43.根据权利要求35所述的计算机系统,其中对于所述训练数据集中的数据示例子集,所述松弛项被添加到所述目标函数相对于所述第一节点和所述第二节点中的每一个的所述激活值的所述反向传播导数。
44.根据权利要求42所述的计算机系统,其中添加了所述松弛项的所述数据示例的子集对应于所述训练数据集已经被划分到其中的分类类别。
45.根据权利要求42所述的计算机系统,其中添加了所述松弛项的所述数据示例的子集对应于训练集已经被机器学习系统划分到其中的数据聚类,所述机器学习系统被训练成根据聚类分配值对所述训练数据集进行聚类。
46.根据权利要求35至44中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
47.一种用于开发机器学习系统的计算机实现的方法,所述方法包括:
由计算机系统创建第一机器学习系统;
由所述计算机系统创建第二机器学习系统;
由所述计算机系统通过学习教练选择应用于所述第二机器学习系统的一个或多个限制;
其中由所述学习教练选择的所述一个或多个限制使所述第二机器学习系统在与训练数据集不相交的数据上产生较少的错误;
由所述计算机系统确定所述第二机器学习系统的性能是否优于所述第一机器学习系统的性能超过所述训练数据集上的统计显著性阈值;以及
由所述计算机系统创建第三机器学习系统,根据所述第二机器学习系统的性能是否优于所述第一机器学习系统在所述训练数据集上的性能,所述第三机器学习系统比所述第二机器学习系统受到更多或更少的限制。
48.根据权利要求46所述的方法,还包括:
由所述计算机系统确定所述第二机器学习系统的性能是否优于所述第一机器学习系统的性能超过测试数据集上的统计显著性阈值;
其中所述测试数据集与所述训练数据集不相交;以及
由所述计算机系统创建所述第三机器学习系统,根据所述第二机器学习系统的性能是否优于所述第一机器学习系统在所述测试数据集上的性能,所述第三机器学习系统比所述第二机器学习系统受到更多或更少的限制。
49.根据权利要求46所述的方法,其中所述第二机器学习系统在所述训练数据集上产生更多错误。
50.根据权利要求46所述的方法,其中所述第一机器学习系统和所述第二机器学习系统每个都包括分类器。
51.根据权利要求46所述的方法,还包括由所述计算机系统平滑所述第二机器学习系统的决策边界。
52.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括第二机器学习系统,所述第二机器学习系统包括比所述第一机器学习系统更少的参数。
53.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统被训练以满足除了其匹配所述第一机器学习系统的输出的目标之外的附加目标。
54.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统在其输出向量空间中产生比所述第一机器学习系统更平滑的决策边界。
55.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括应用于所述第二机器学习系统的学习参数的正则化。
56.根据权利要求54所述的方法,其中所述正则化包括L2正则化。
57.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统被训练成比所述第一机器学习系统对噪声或对抗数据示例更鲁棒。
58.根据权利要求46所述的方法,还包括:
由所述计算机系统用通过生成器生成的数据示例来扩充所述训练数据集;
其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习集的生成数据示例的概率分布的标准偏差低于所述第一机器学习系统的生成数据示例的概率分布的标准偏差。
59.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括由所述第二机器学习系统内的特征检测分类器表示的一个或多个较低级特征。
60.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括添加到目标函数相对于所述第二机器学习系统的第一节点和第二节点中的每一个的学习参数的反向传播导数的松弛项,所述松弛项根据所述第一节点和所述第二节点的学习参数是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
61.根据权利要求59所述的方法,其中所述学习参数包括所述第一节点和所述第二节点中的每一个的连接权重。
62.根据权利要求46所述的方法,其中:
所述第二机器学习系统包括神经网络,所述神经网络包括第一节点;以及
由所述学习教练选择的所述一个或多个限制包括添加到目标函数相对于所述神经网络的所述第一节点和第二节点中的每一个的激活值的反向传播导数的松弛项,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
63.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统的一个或多个随机选择的节点的激活值被设置为零。
64.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括添加到所述第二机器学习系统的一个或多个随机选择的节点的激活值的噪声。
65.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括添加到所述第二机器学习系统的一个或多个固定值节点,所述一个或多个固定值节点包括独立于所述第二机器学习系统的底层中的激活的激活值。
66.根据权利要求46所述的方法,其中:
所述第二机器学习系统包括输入层、一个或多个内层和输出层;
由所述学习教练选择的所述一个或多个限制包括所述一个或多个内层中的节点,所述内层被训练以满足不同于所述输出层的目标的附加目标。
67.根据权利要求65所述的方法,其中所述输出层的所述目标包括匹配所述第一机器学习系统的输出。
68.根据权利要求46所述的方法,其中由所述学习教练选择的所述一个或多个限制包括从所述训练数据集中随机选择的数据示例的影响被移除或减少。
69.根据权利要求46所述的方法,还包括:
由所述计算机系统将所述训练数据集划分成不相交的开发数据子集;
由所述计算机系统在连续不相交的开发数据子集上训练所述第二机器学习系统;
由所述计算机系统确定当前不相交的开发数据子集是否准确地预测了所述第二机器学习系统在新数据上的性能;
根据所述当前不相交数据子集是否准确预测所述第二机器学习系统在新数据上的性能,所述计算机系统停止在所述当前不相交开发数据子集上的训练,并且开始在连续的当前不相交开发数据子集上的训练。
70.根据权利要求46所述的方法,其中所述第一机器学习系统包括第一分类器,并且所述第二机器学习系统包括第二分类器,所述方法还包括:
由所述计算机系统通过第一生成器生成模拟数据;
由所述计算机系统通过第二生成器生成扩充数据,所述扩充数据是从真实数据生成的;
由所述计算机系统向所述第一分类器提供所述模拟数据;
由所述计算机系统将所述模拟数据或所述扩充数据提供给所述第二分类器;以及
根据所述第二分类器是接收所述模拟数据还是所述扩充数据,由所述计算机系统在所述第一分类器的输出或生成所述扩充数据的所述真实数据的分类类别上训练所述第二分类器。
71.根据权利要求69所述的方法,其中所述第一分类器包括第一神经网络,所述第一神经网络包括第一节点,并且所述第二分类器包括第二神经网络,所述第二神经网络包括第二节点,所述方法还包括:
在训练期间,由所述计算机系统将松弛项添加到目标函数相对于所述第一神经网络的所述第一节点和所述第二神经网络的所述第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
72.根据权利要求69所述的方法,其中所述第一分类器包括第一神经网络,所述第一神经网络包括第一节点,并且所述第二分类器包括第二神经网络,所述第二神经网络包括第二节点,所述方法还包括:
在训练期间,由所述计算机系统将松弛项添加到目标函数相对于所述第一神经网络的所述第一节点和所述第二神经网络的所述第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
73.根据权利要求69所述的方法,其中所述第一分类器和所述第二分类器是不同类型的机器学习系统。
74.根据权利要求69所述的方法,其中所述第一分类器包括集成。
75.根据权利要求46所述的方法,还包括由所述计算机系统重复所述方法,直到满足停止标准。
76.根据权利要求74所述的方法,其中所述停止标准包括在所述训练数据集上较少受限的学习系统的性能和独立测试数据集上较多受限机器学习系统的性能之间是否存在统计上显著的差异。
77.根据权利要求74所述的方法,其中所述停止标准包括预定的性能目标是否已经实现。
78.根据权利要求74所述的方法,其中所述停止标准包括是否已经达到对迭代次数或计算量的预定限制。
79.根据权利要求46所述的方法,其中所述第二机器学习系统包括神经网络,所述神经网络包括互连成多个层的多个节点,所述方法还包括:
由计算机系统在所述训练数据集上训练所述神经网络;以及
在所述神经网络的训练期间,由计算机系统用替换节点集替换所述神经网络的替换节点,所述替换节点集提供复合输出。
80.根据权利要求78所述的方法,其中所述替换节点集包括对应于检测的第一节点、对应于中性的第二节点和对应于拒绝的第三节点。
81.根据权利要求78所述的方法,其中:
所述替换的节点包括整流的线性单元;
所述替换节点集的每个节点包括有限的范围;以及
所述替换节点集包括单调增加的偏差。
82.根据权利要求46所述的方法,还包括:
由所述计算机系统在所述训练数据集上训练所述第二机器学习系统;
由所述计算机系统在所述第二机器学习系统的训练期间从所述训练数据集获得数据示例;
由所述计算机系统确定是否将所述数据示例与所述训练数据集中的所有数据进行比较;
由所述计算机系统训练关联存储器,所述关联存储器配置为从输入中检索存储的模式;
由所述计算机系统通过生成器生成与所述数据示例相似的生成数据示例;
由所述计算机系统从所述关联存储器检索对应于所述生成数据示例的检索数据示例;
由所述计算机系统测量所述生成数据示例和所述检索数据示例之间的接近程度;以及
由所述计算机系统确定所述检索数据示例和所述数据示例是否在指定的数据集中。
83.根据权利要求81所述的方法,还包括由所述计算机系统迭代地生成生成数据示例,直到已经识别出所述指定集的期望数量的所述生成数据示例。
84.根据权利要求81所述的方法,还包括:
由所述计算机系统迭代地生成生成数据示例,并且由所述计算机系统确定与所述生成数据示例相对应的所述检索数据示例是否在所述指定数据集中;以及
由所述计算机系统根据所述指定数据集中的多个所述生成数据示例来确定所述数据示例是否是可聚类的。
85.一种用于开发机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
创建第一机器学习系统;
创建第二机器学习系统;
通过学习教练选择应用于所述第二机器学习系统的一个或多个限制;
其中由所述学习教练选择的所述一个或多个限制使所述第二机器学习系统在与训练数据集不相交的数据上产生较少的错误;
确定所述第二机器学习系统的性能是否优于所述第一机器学习系统的性能超过所述训练数据集上的统计显著性阈值;以及
创建第三机器学习系统,根据所述第二机器学习系统的性能是否优于所述第一机器学习系统在所述训练数据集上的性能,所述第三机器学习系统比所述第二机器学习系统受到更多或更少的限制。
86.根据权利要求84所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
确定所述第二机器学习系统的性能是否优于所述第一机器学习系统的性能超过测试数据集上的统计显著性阈值;
其中所述测试数据集与所述训练数据集不相交;以及
创建第四机器学习系统,根据所述第二机器学习系统的性能是否优于所述第一机器学习系统在所述测试数据集上的性能,所述第四机器学习系统比所述第二机器学习系统受到更多或更少的限制。
87.根据权利要求84所述的计算机系统,其中所述第二机器学习系统在所述训练数据集上产生更多错误。
88.根据权利要求84所述的计算机系统,其中所述第一机器学习系统和所述第二机器学习系统每个都包括分类器。
89.根据权利要求84所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统平滑所述第二机器学习系统的决策边界。
90.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括第二机器学习系统,所述第二机器学习系统包括比所述第一机器学习系统更少的参数。
91.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统被训练以满足除了其匹配所述第一机器学习系统的输出的目标之外的附加目标。
92.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统在其输出向量空间中产生比所述第一机器学习系统更平滑的决策边界。
93.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括应用于所述第二机器学习系统的学习参数的正则化。
94.根据权利要求92所述的计算机系统,其中所述正则化包括L2正则化。
95.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统被训练成比所述第一机器学习系统对噪声或对抗数据示例更鲁棒。
96.根据权利要求84所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
用通过生成器生成的数据示例来扩充所述训练数据集;
其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习集的生成数据示例的概率分布的标准偏差低于所述第一机器学习系统的生成数据示例的概率分布的标准偏差。
97.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括由所述第二机器学习系统内的特征检测分类器表示的一个或多个较低级特征。
98.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括添加到目标函数相对于所述第二机器学习系统的第一节点和第二节点中的每一个的学习参数的反向传播导数的松弛项,所述松弛项根据所述第一节点和所述第二节点的学习参数是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
99.根据权利要求97所述的计算机系统,其中所述学习参数包括所述第一节点和所述第二节点中的每一个的连接权重。
100.根据权利要求84所述的计算机系统,其中:
所述第二机器学习系统包括神经网络,所述神经网络包括第一节点;以及
由所述学习教练选择的所述一个或多个限制包括添加到目标函数相对于所述神经网络的所述第一节点和第二节点中的每一个的激活值的反向传播导数的松弛项,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
101.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括所述第二机器学习系统的一个或多个随机选择的节点的激活值被设置为零。
102.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括添加到所述第二机器学习系统的一个或多个随机选择的节点的激活值的噪声。
103.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括添加到所述第二机器学习系统的一个或多个固定值节点,所述一个或多个固定值节点包括独立于所述第二机器学习系统的底层中的激活的激活值。
104.根据权利要求84所述的计算机系统,其中:
所述第二机器学习系统包括输入层、一个或多个内层和输出层;
由所述学习教练选择的所述一个或多个限制包括所述一个或多个内层中的节点,所述内层被训练以满足不同于所述输出层的目标的附加目标。
105.根据权利要求103所述的计算机系统,其中所述输出层的所述目标包括匹配所述第一机器学习系统的输出。
106.根据权利要求84所述的计算机系统,其中由所述学习教练选择的所述一个或多个限制包括从所述训练数据集中随机选择的数据示例的影响被移除或减少。
107.根据权利要求84所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
将所述训练数据集划分成不相交的开发数据子集;
在连续不相交的开发数据子集上训练第二机器学习系统;
确定当前不相交的开发数据子集是否准确地预测了所述第二机器学习系统在新数据上的性能;
根据所述当前不相交数据子集是否准确预测所述第二机器学习系统在新数据上的性能,停止在所述当前不相交开发数据子集上的训练,并且开始在连续的当前不相交开发数据子集上的训练。
108.根据权利要求84所述的计算机系统,其中所述第一机器学习系统包括第一分类器,并且所述第二机器学习系统包括第二分类器,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
通过第一生成器生成模拟数据;
通过第二生成器生成扩充数据,所述扩充数据是从真实数据生成的;
向所述第一分类器提供所述模拟数据;
将所述模拟数据或所述扩充数据提供给所述第二分类器;以及
根据所述第二分类器是接收所述模拟数据还是所述扩充数据,在所述第一分类器的输出或生成所述扩充数据的所述真实数据的分类类别上训练所述第二分类器。
109.根据权利要求107所述的计算机系统,其中所述第一分类器包括第一神经网络,所述第一神经网络包括第一节点,并且所述第二分类器包括第二神经网络,所述第二神经网络包括第二节点,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在训练期间,将松弛项添加到目标函数相对于所述第一神经网络的所述第一节点和所述第二神经网络的所述第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
110.根据权利要求107所述的计算机系统,其中所述第一分类器包括第一神经网络,所述第一神经网络包括第一节点,并且所述第二分类器包括第二神经网络,所述第二神经网络包括第二节点,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在训练期间,将松弛项添加到目标函数相对于所述第一神经网络的所述第一节点和所述第二神经网络的所述第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
111.根据权利要求107所述的计算机系统,其中所述第一分类器和所述第二分类器是不同类型的机器学习系统。
112.根据权利要求107所述的计算机系统,其中所述第一分类器包括集成。
113.根据权利要求84所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统重复,直到满足停止标准。
114.根据权利要求112所述的计算机系统,其中所述停止标准包括在所述训练数据集上较少受限的学习系统的性能和独立测试数据集上较多受限机器学习系统的性能之间是否存在统计上显著的差异。
115.根据权利要求112所述的计算机系统,其中所述停止标准包括预定的性能目标是否已经实现。
116.根据权利要求112所述的计算机系统,其中所述停止标准包括是否已经达到对迭代次数或计算量的预定限制。
117.根据权利要求84所述的计算机系统,其中所述第二机器学习系统包括神经网络,所述神经网络包括互连成多个层的多个节点,并且当由所述一个或多个处理器核执行时,所述指令还使计算机系统:
在所述训练数据集上训练所述神经网络;以及
在所述神经网络的训练期间,用替换节点集替换所述神经网络的替换节点,所述替换节点集提供复合输出。
118.根据权利要求116所述的计算机系统,其中所述替换节点集包括对应于检测的第一节点、对应于中性的第二节点和对应于拒绝的第三节点。
119.根据权利要求116所述的计算机系统,其中:
所述替换的节点包括整流的线性单元;
所述替换节点集的每个节点包括有限的范围;以及
所述替换节点集包括单调增加的偏差。
120.根据权利要求84所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在所述训练数据集上训练所述第二机器学习系统;
在所述第二机器学习系统的训练期间从所述训练数据集获得数据示例;
确定是否将所述数据示例与所述训练数据集中的所有数据进行比较;
训练关联存储器,所述关联存储器配置为从输入中检索存储的模式;
通过生成器生成与所述数据示例相似的生成数据示例;
从所述关联存储器检索对应于所述生成数据示例的检索数据示例;
测量所述生成数据示例和所述检索数据示例之间的接近程度;以及
确定所述检索数据示例和所述数据示例是否在指定的数据集中。
121.根据权利要求119所述的计算机系统,还包括由所述计算机系统迭代地生成生成数据示例,直到已经识别出所述指定集的期望数量的所述生成数据示例。
122.根据权利要求119所述的计算机系统,还包括:
由所述计算机系统迭代地生成生成数据示例,并且由所述计算机系统确定与所述生成数据示例相对应的所述检索数据示例是否在所述指定数据集中;以及
由所述计算机系统根据所述指定数据集中的多个所述生成数据示例来确定所述数据示例是否是可聚类的。
123.根据权利要求84至121中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
124.一种用于在第一机器学习分类器系统和第二机器学习分类器系统之间转移学习的计算机实现的方法,所述第二机器学习分类器系统不同于所述第一机器学习分类器系统,所述方法包括:
由计算机系统获得训练数据集;以及
由所述计算机系统在所述训练数据集上训练所述第二机器学习分类器系统,目标是在所述训练数据集上与所述第一机器学习分类器系统一致。
125.根据权利要求123所述的方法,还包括:
由所述计算机系统通过第一生成器从所述训练数据集生成扩充数据集;以及
由所述计算机系统在所述扩充数据集上训练所述第二机器学习分类器系统,所述目标是在所述扩充数据集上与所述第一机器学习分类器系统一致。
126.根据权利要求123所述的方法,还包括:
由所述计算机系统通过第一生成器从所述训练数据集生成第一扩充数据集;
由所述计算机系统通过第二生成器从所述训练数据集生成第二扩充数据集;
由所述计算机系统在所述第一扩充数据集上训练所述第一机器学习分类器系统;以及
由所述计算机系统在所述第一扩充数据集和所述第二扩充数据集上训练所述第二机器学习分类器系统;
其中所述第二机器学习分类器系统的所述训练目标包括:
当在所述第一扩充数据集上训练所述第二机器学习分类器系统时,所述第一机器学习分类器系统的输出;以及
当在所述第二扩充数据集上训练所述第二机器学习分类器系统时,来自所述第二扩充数据集的数据示例的类别。
127.根据权利要求123所述的方法,其中所述第一机器学习分类器系统是原始神经网络,并且所述第二机器学习分类器系统是所述原始神经网络的扩展神经网络。
128.根据权利要求126所述的方法,其中所述原始神经网络包括第一节点,并且所述扩展神经网络包括第二节点,所述方法还包括:
在训练期间,由所述计算机系统将松弛项添加到目标函数相对于所述原始神经网络的所述第一节点和所述扩展神经网络的所述第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
129.根据权利要求127所述的方法,其中所述学习参数包括所述第一节点和所述第二节点中的每一个的连接权重。
130.根据权利要求126所述的方法,其中所述原始神经网络包括第一节点,并且所述扩展神经网络包括第二节点,所述方法还包括:
在训练期间,由所述计算机系统将松弛项添加到目标函数相对于所述原始神经网络的所述第一节点和所述扩展神经网络的所述第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
131.一种用于在第一机器学习分类器系统和第二机器学习分类器系统之间转移学习的计算机系统,所述第二机器学习分类器系统不同于所述第一机器学习分类器系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述第一机器学习系统、第二机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
获取训练数据集;以及
在所述训练数据集上训练所述第二机器学习分类器系统,目标是在所述训练数据集上与所述第一机器学习分类器系统一致。
132.根据权利要求130所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
通过第一生成器从所述训练数据集生成扩充数据集;以及
在所述扩充数据集上训练所述第二机器学习分类器系统,目标是在所述扩充数据集上与所述第一机器学习分类器系统一致。
133.根据权利要求130所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
通过第一生成器从所述训练数据集生成第一扩充数据集;以及
通过第二生成器从所述训练数据集生成第二扩充数据集;
在所述第一扩充数据集上训练所述第一机器学习分类器系统;以及
在所述第一扩充数据集和所述第二扩充数据集上训练所述第二机器学习分类器系统;
其中所述第二机器学习分类器系统的所述训练目标包括:
当在所述第一扩充数据集上训练所述第二机器学习分类器系统时,所述第一机器学习分类器系统的输出;以及
当在所述第二扩充数据集上训练所述第二机器学习分类器系统时,来自所述第二扩充数据集的数据示例的类别。
134.根据权利要求130所述的计算机系统,其中所述第一机器学习分类器系统是原始神经网络,并且所述第二机器学习分类器系统是所述原始神经网络的扩展神经网络。
135.根据权利要求133所述的计算机系统,其中所述原始神经网络包括第一节点,并且所述扩展神经网络包括第二节点,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在训练期间,将松弛项添加到目标函数相对于所述原始神经网络的所述第一节点和所述扩展神经网络的所述第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
136.根据权利要求134所述的计算机系统,其中所述学习参数包括所述第一节点和所述第二节点中的每一个的连接权重。
137.根据权利要求133所述的计算机系统,其中所述原始神经网络包括第一节点,并且所述扩展神经网络包括第二节点,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在训练期间,将松弛项添加到目标函数相对于所述原始神经网络的所述第一节点和所述扩展神经网络的所述第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
138.根据权利要求130至136中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
139.一种用于增量改进第一神经网络的计算机实现的方法,所述方法包括:
(a)由计算机系统复制所述第一神经网络以生成第二神经网络,所述第一神经网络和所述第二神经网络形成集成;
(b)由所述计算机系统将组合机器学习系统添加到所述集成中,所述组合机器学习系统接收所述第一神经网络和所述第二神经网络中的每一个的输出;
(c)由所述计算机系统训练所述组合机器学习系统、所述第一神经网络和所述第二神经网络;
(d)由所述计算机系统创建包括所述组合机器学习系统、所述第一神经网络和所述第二神经网络的新神经网络;以及
(e)由所述计算机系统重复步骤(a)-(d),其中在步骤(d)创建的所述新神经网络作为在步骤(d)之后的步骤(a)中复制的所述第一神经网络,直到满足停止标准。
140.根据权利要求138所述的方法,还包括:
由所述计算机系统向所述第一神经网络和所述第二神经网络中的每一个添加附加输出节点;以及
由所述计算机系统训练所述附加输出节点,以学习所述组合机器学习系统的最佳组合输出。
141.根据权利要求138所述的方法,还包括由所述计算机系统初始化所述组合机器学习系统,以对应于所述集成的预定组合规则。
142.根据权利要求138所述的方法,其中所述组合机器学习系统包括神经网络。
143.根据权利要求141所述的方法,其中所述组合机器学习系统包括特殊函数节点,所述特殊函数节点包括非线性激活函数。
144.根据权利要求142所述的方法,其中所述特殊函数节点代表所述集成的预定组合规则。
145.根据权利要求138所述的方法,其中所述组合机器学习系统包括连接到第一节点和第二节点的数据选择器节点,所述数据选择器节点配置为根据其激活选择性地丢弃所述第一节点或所述第二节点中的一个。
146.一种用于增量改进第一神经网络的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述第一神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
(a)复制所述第一神经网络以生成第二神经网络,所述第一神经网络和所述第二神经网络形成集成;
(b)将组合机器学习系统添加到所述集成中,所述组合机器学习系统接收所述第一神经网络和所述第二神经网络中的每一个的输出;
(c)训练所述组合机器学习系统、所述第一神经网络和所述第二神经网络;
(d)创建包括所述组合机器学习系统、所述第一神经网络和所述第二神经网络的新神经网络;以及
(e)重复步骤(a)-(d),其中在步骤(d)创建的所述新神经网络作为在步骤(d)之后的步骤(a)中复制的所述第一神经网络,直到满足停止标准。
147.根据权利要求145所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
向所述第一神经网络和所述第二神经网络中的每一个添加附加输出节点;以及
训练所述附加输出节点,以学习所述组合机器学习系统的最佳组合输出。
148.根据权利要求145所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统初始化所述组合机器学习系统,以对应于所述集成的预定组合规则。
149.根据权利要求145所述的计算机系统,其中所述组合机器学习系统包括神经网络。
150.根据权利要求148所述的计算机系统,其中所述组合机器学习系统包括特殊函数节点,所述特殊函数节点包括非线性激活函数。
151.根据权利要求149所述的计算机系统,其中所述特殊函数节点代表所述集成的预定组合规则。
152.根据权利要求145所述的计算机系统,其中所述组合机器学习系统包括连接到第一节点和第二节点的数据选择器节点,所述数据选择器节点配置为根据其激活选择性地丢弃所述第一节点或所述第二节点中的一个。
153.根据权利要求145至151中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
154.一种用于针对联合目标优化多个集成机器学习系统的计算机实现的方法,所述方法包括:
由计算机系统将组合机器学习系统添加到所述多个集成机器学习系统,所述组合机器学习系统接收所述多个集成机器学习系统中的每一个的输出;以及
由所述计算机系统通过经所述组合机器学习系统向所述多个集成机器学习系统中的每一个反向传播表示所述联合目标的成本函数的偏导数,来训练所述组合机器学习系统和所述多个集成机器学习系统。
155.根据权利要求153所述的方法,其中所述组合机器学习系统包括配置为表示所述多个集成机器学习系统的组合规则的特殊函数节点。
156.根据权利要求153所述的方法,还包括由所述计算机系统初始化所述组合机器学习系统,以匹配所述多个集成机器学习系统的组合规则或投票规则。
157.根据权利要求153所述的方法,还包括在所述组合机器学习系统和所述多个集成机器学习系统的训练期间,由所述计算机系统向所述多个集成机器学习系统增量添加新的集成机器学习系统。
158.根据权利要求153所述的方法,还包括:
由所述计算机系统通过所述组合机器学习系统为所述多个集成机器学习系统中的每一个计算置信得分;以及
由所述计算机系统根据所述置信得分为所述多个集成机器学习系统中的每一个的输出分配权重。
159.一种用于针对联合目标优化多个集成机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述多个集成机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
将组合机器学习系统添加到所述多个集成机器学习系统,所述组合机器学习系统接收所述多个集成机器学习系统中的每一个的输出;以及
通过经所述组合机器学习系统向所述多个集成机器学习系统中的每一个反向传播表示所述联合目标的成本函数的偏导数,来训练所述组合机器学习系统和所述多个集成机器学习系统。
160.根据权利要求158所述的计算机系统,其中所述组合机器学习系统包括配置为表示所述多个集成机器学习系统的组合规则的特殊函数节点。
161.根据权利要求158所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统初始化所述组合机器学习系统,以匹配所述多个集成机器学习系统的组合规则或投票规则。
162.根据权利要求158所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统在所述组合机器学习系统和所述多个集成机器学习系统的训练期间,向所述多个集成机器学习系统增量添加新的集成机器学习系统。
163.根据权利要求158所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
通过所述组合机器学习系统为所述多个集成机器学习系统中的每一个计算置信得分;以及
根据所述置信得分为所述多个集成机器学习系统中的每一个的输出分配权重。
164.根据权利要求158至162中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
165.一种改进神经网络的计算机实现的方法,所述方法包括:
由计算机系统基于梯度方向的相似性将训练数据集分成N个训练数据子集,其中N>1;
由所述计算机系统扩展所述神经网络以生成扩展神经网络,所述扩展神经网络包括扩展部分和原始部分;以及
由所述计算机系统在所述N个训练数据子集中的一个上训练所述扩展神经网络的所述扩展部分。
166.根据权利要求164所述的方法,还包括由所述计算机系统在所述训练数据集上训练所述扩展神经网络的所述扩展部分和所述原始部分。
167.根据权利要求164所述的方法,还包括在扩展所述神经网络之前,由所述计算机系统复制所述神经网络。
168.根据权利要求164所述的方法,还包括在训练所述扩展神经网络的所述扩展部分之前,由所述计算机系统将所述扩展神经网络初始化为等同于所述神经网络。
169.根据权利要求167所述的方法,其中将所述扩展神经网络初始化为等同于所述神经网络包括:
由所述计算机系统将所有的节点和连接从所述神经网络复制到所述扩展神经网络,以定义所述神经网络的所述原始部分;以及
由所述计算机系统将所述扩展神经网络的所述扩展部分设置为身份函数。
170.根据权利要求168所述的方法,其中将所述扩展神经网络的扩展部分设置为所述身份函数包括由所述计算机系统向所述扩展部分中的每个节点添加偏差,使得每个节点的输出等于其输入。
171.根据权利要求168所述的方法,其中将所述扩展神经网络的所述扩展部分设置为所述身份函数包括通过所述计算机系统将所述扩展部分中的每个节点连接到求和神经元,其中每个连接到每个求和神经元的初始权重为零。
172.根据权利要求168所述的方法,其中将所述扩展神经网络的所述扩展部分设置为所述身份函数包括由所述计算机系统将所述扩展部分中的每个节点的激活函数初始化为所述身份函数。
173.根据权利要求164所述的方法,其中所述扩展神经网络包括比所述神经网络更多数量的节点和相应的连接。
174.一种改进神经网络的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
基于梯度方向的相似性将训练数据集分成N个训练数据子集,其中N>1;
扩展所述神经网络以生成扩展神经网络,所述扩展神经网络包括扩展部分和原始部分;以及
在所述N个训练数据子集中的一个上训练所述扩展神经网络的所述扩展部分。
175.根据权利要求173所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统在所述训练数据集上训练所述扩展神经网络的所述扩展部分和所述原始部分。
176.根据权利要求173所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统在扩展所述神经网络之前复制所述神经网络。
177.根据权利要求173所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统在训练所述扩展神经网络的所述扩展部分之前,将所述扩展神经网络初始化为等同于所述神经网络。
178.根据权利要求176所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统执行以下步骤而使所述计算机系统初始化所述扩展神经网络:
将所有的节点和连接从所述神经网络复制到所述扩展神经网络,以定义所述神经网络的所述原始部分;以及
将所述扩展神经网络的所述扩展部分设置为身份函数。
179.根据权利要求177所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统向所述扩展部分中的每个节点添加偏置,使得每个节点的输出等于其输入,使所述计算机系统将所述扩展神经网络的所述扩展部分设置为所述身份函数。
180.根据权利要求177所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统将所述扩展部分中的每个节点连接到求和神经元,其中每个连接到每个求和神经元的初始权重为零,使所述计算机系统将所述扩展神经网络的所述扩展部分设置为所述身份函数。
181.根据权利要求177所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统将所述扩展部分中的每个节点的激活函数初始化为所述身份函数,使所述计算机系统将所述扩展神经网络的所述扩展部分设置为所述身份函数。
182.根据权利要求173所述的计算机系统,其中所述扩展神经网络包括比所述神经网络更多数量的节点和相应的连接。
183.根据权利要求173至181中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
184.一种用于改进神经网络在训练数据集上的性能的计算机实现的方法,所述方法包括:
由计算机系统从所述训练数据集获得数据;
由所述计算机系统从所述数据中确定所述神经网络是否出错或者具有小于数据示例的阈值的置信度;
由所述计算机系统根据选择标准选择所述神经网络的节点;
由所述计算机系统复制所述节点以形成复制节点;
由所述计算机系统基于梯度方向的相似性将所述训练数据集分成N个训练数据子集,其中N>1;
其中所述N个训练数据子集中的一个对应于所述节点,并且所述N个训练数据子集中的另一个对应于所述复制节点;以及
由所述计算机系统在所述训练数据上训练所述神经网络,使得所述节点和所述复制节点中的每一个仅接收其相应训练数据子集的反向传播。
185.根据权利要求183所述的方法,其中从所述训练数据集获得所述数据包括由所述计算机系统选择所述训练数据集的子集。
186.根据权利要求183所述的方法,其中从所述训练数据集获得所述数据包括由所述计算机系统通过生成器从所述训练数据集生成扩充数据。
187.根据权利要求183所述的方法,还包括:
由所述计算机系统在置信估计系统处接收所述神经网络的输出;
由所述计算机系统在置信估计系统处接收所述神经网络的辅助输出;
由计算机系统将错误成本函数的导数从所述置信估计系统反向传播到所述辅助输出;以及
由所述计算机系统通过所述置信估计系统根据所述神经网络的所述辅助输出计算所述置信度。
188.根据权利要求183所述的方法,其中所述选择标准包括所述节点在其所述数据的激活函数中是否处于中性点。
189.根据权利要求183所述的方法,其中所述复制节点被添加到所述神经网络。
190.根据权利要求183所述的方法,其中所述复制节点被添加到新的神经网络。
191.一种用于改进神经网络在训练数据集上的性能的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
从所述训练数据集获得数据;
从所述数据中确定所述神经网络是否出错或者具有小于数据示例的阈值的置信度;
根据选择标准选择所述神经网络的节点;
复制所述节点以形成复制节点;
基于梯度方向的相似性将所述训练数据集分成N个训练数据子集,其中N>1;
其中所述N个训练数据子集中的一个对应于所述节点,并且所述N个训练数据子集中的另一个对应于所述复制节点;以及
在所述训练数据上训练所述神经网络,使得所述节点和所述复制节点中的每一个仅接收其相应训练数据子集的反向传播。
192.根据权利要求190所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统选择所述训练数据集的子集,使所述计算机系统从所述训练数据集获得所述数据。
193.根据权利要求190所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统通过生成器从所述训练数据集生成扩充数据,使所述计算机系统从所述训练数据集获得所述数据。
194.根据权利要求190所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在置信估计系统处接收所述神经网络的输出;
在置信估计系统处接收所述神经网络的辅助输出;
将错误成本函数的导数从所述置信估计系统反向传播到所述辅助输出;以及
通过所述置信估计系统根据所述神经网络的所述辅助输出计算所述置信度。
195.根据权利要求190所述的计算机系统,其中所述选择标准包括所述节点在其所述数据的激活函数中是否处于中性点。
196.根据权利要求190所述的计算机系统,其中所述复制节点被添加到所述神经网络。
197.根据权利要求190所述的计算机系统,其中所述复制节点被添加到新的神经网络。
198.根据权利要求190至196中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
199.一种用于确定机器学习系统的输出中的置信的计算机实现的方法,所述机器学习系统配置为输出标准输出和辅助输出,所述方法包括:
由计算机系统从一个或多个数据源向所述机器学习系统提供数据,所述数据包括所述机器学习系统的目标数据和非目标数据;
由计算机系统实现和计算机系统训练以确定所述机器学习系统的所述输出是否正确的置信估计机器学习系统根据所提供的数据接收所述机器学习系统的所述标准输出和所述辅助输出;
由所述计算机系统实现的所述置信估计机器学习系统根据所述标准输出和所述辅助输出是否正确来计算置信得分;以及
由所述计算机系统实现的所述置信估计机器学习系统将损失函数的导数反向传播到所述机器学习系统的所述辅助输出;
其中将所述损失函数的所述导数反向传播到所述辅助输出不会改变所述机器学习系统的所述标准输出。
200.根据权利要求198所述的方法,其中所述机器学习系统包括分类器或检测器。
201.根据权利要求198所述的方法,其中所述辅助输出包括第一输出,并且所述机器学习系统还配置为输出第二辅助输出,所述方法还包括:
由所述计算机系统向补充估计器提供所述第二辅助输出;
由所述计算机系统实现的所述补充估计器计算补充置信得分;以及
由所述计算机系统根据所述补充置信得分训练所述置信估计机器学习系统。
202.根据权利要求200所述的方法,还包括由所述计算机系统实现的所述置信估计机器学习系统将所述损失函数的所述导数反向传播到所述机器学习系统的所述补充估计器和所述第二辅助输出。
203.根据权利要求200所述的方法,其中所述补充估计器包括先前训练的机器学习系统。
204.根据权利要求200所述的方法,其中所述补充估计器包括统计测试。
205.根据权利要求198所述的方法,还包括改变提供给所述机器学习系统的目标数据和非目标数据的比率。
206.根据权利要求198所述的方法,还包括由所述计算机系统实现的所述置信估计机器学习系统计算非线性回归,所述非线性回归估计提供给所述机器学习系统的所述目标数据和所述非目标数据的概率分布上的平均错误度量的概率。
207.根据权利要求198所述的方法,还包括由所述计算机系统实现的所述置信估计机器学习系统收集关于从所述辅助输出观察到的所述机器学习系统的内部值的统计。
208.根据权利要求206所述的方法,还包括由所述计算机系统实现的所述置信估计机器学习系统向外部系统输出所收集的关于所述机器学习系统的所述内部值的统计。
209.根据权利要求198所述的方法,其中将所述损失函数的所述导数反向传播到所述辅助输出不会改变所述机器学习系统的所述标准输出,因为所述反向传播不会从所述辅助输出进行通过所述机器学习系统。
210.一种用于确定机器学习系统的输出中的置信的计算机系统,所述机器学习系统配置为输出标准输出和辅助输出,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
从一个或多个数据源向所述机器学习系统提供数据,所述数据包括所述机器学习系统的目标数据和非目标数据;
由所述计算机系统训练以确定所述机器学习系统的所述输出是否正确的置信估计机器学习系统根据所提供的数据接收所述机器学习系统的所述标准输出和所述辅助输出;
由所述置信估计机器学习系统根据所述标准输出和所述辅助输出是否正确来计算置信得分;以及
由所述置信估计机器学习系统将损失函数的导数反向传播到所述机器学习系统的所述辅助输出;
其中将所述损失函数的所述导数反向传播到所述辅助输出不会改变所述机器学习系统的所述标准输出。
211.根据权利要求209所述的计算机系统,其中所述机器学习系统包括分类器或检测器。
212.根据权利要求209所述的计算机系统,其中所述辅助输出包括第一输出,并且所述机器学习系统还配置为输出第二辅助输出,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
向补充估计器提供所述第二辅助输出;
通过补充估计器计算补充置信得分;以及
根据所述补充置信得分训练所述置信估计机器学习系统。
213.根据权利要求211所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过所述置信估计机器学习系统将所述损失函数的所述导数反向传播到所述机器学习系统的所述补充估计器和所述第二辅助输出。
214.根据权利要求211所述的计算机系统,其中所述补充估计器包括先前训练的机器学习系统。
215.根据权利要求211所述的计算机系统,其中所述补充估计器包括统计测试。
216.根据权利要求209所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统改变提供给所述机器学习系统的目标数据和非目标数据的比率。
217.根据权利要求209所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过所述置信估计机器学习系统计算非线性回归,所述非线性回归估计提供给所述机器学习系统的所述目标数据和所述非目标数据的概率分布上的平均错误度量的概率。
218.根据权利要求209所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过所述置信估计机器学习系统收集关于从所述辅助输出观察到的所述机器学习系统的内部值的统计。
219.根据权利要求217所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过所述置信估计机器学习系统向外部系统输出所收集的关于所述机器学习系统的所述内部值的统计。
220.根据权利要求209所述的计算机系统,其中将所述损失函数的所述导数反向传播到所述辅助输出不会改变所述机器学习系统的所述标准输出,因为所述反向传播不会从所述辅助输出进行通过所述机器学习系统。
221.根据权利要求209至219中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
222.一种用于为神经网络创建特征检测节点的计算机实现的方法,所述方法包括:
由计算机系统接收特征规范,所述特征规范定义了数据集中的哪些数据示例展现特征以及哪些数据示例不展现特征;
由所述计算机系统选择所述神经网络中的节点作为所述特征的特征检测节点;
由所述计算机系统将松弛项添加到目标函数相对于每个选择节点的激活值的反向传播导数,所述松弛项根据选择节点的激活值是否彼此偏离,将惩罚添加到每个选择节点的成本函数;
由所述计算机系统在所述数据集上训练所述神经网络;
由所述计算机系统通过所述神经网络对所述数据集中的数据示例进行聚类;
由所述计算机系统生成包括来自所述数据集的附加数据的扩充数据集;
由所述计算机系统在所述扩充数据集上训练所述神经网络;以及
由所述计算机系统从所述训练的神经网络中导出每个选择节点的特征规范。
223.根据权利要求221所述的方法,其中接收所述特征规范包括从外部源接收所述特征规范。
224.根据权利要求222所述的方法,其中所述外部源包括机器学习分类器,所述机器学习分类器在标记的数据示例上被训练,并且配置为将标签应用于接收的数据。
225.根据权利要求221所述的方法,其中接收所述特征规范包括通过聚类算法将数据示例聚类成多个分类类别。
226.根据权利要求221所述的方法,还包括由所述计算机系统向所述神经网络添加附加节点作为所述特征检测节点。
227.一种用于为神经网络创建特征检测节点的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
接收特征规范,所述特征规范定义了数据集中的哪些数据示例展现特征以及哪些数据示例不展现特征;
选择所述神经网络中的节点作为所述特征的特征检测节点;
将松弛项添加到目标函数相对于每个选择节点的激活值的反向传播导数,所述松弛项根据选择节点的激活值是否彼此偏离,将惩罚添加到每个选择节点的成本函数;
在所述数据集上训练所述神经网络;
通过所述神经网络对所述数据集中的数据示例进行聚类;
生成包括来自所述数据集的附加数据的扩充数据集;
在所述扩充数据集上训练所述神经网络;以及
从所述训练的神经网络中导出每个选择节点的特征规范。
228.根据权利要求226所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令使得所述计算机系统从外部源接收所述特征规范。
229.根据权利要求227所述的计算机系统,其中所述外部源包括机器学习分类器,所述机器学习分类器在标记的数据示例上被训练,并且配置为将标签应用于接收的数据。
230.根据权利要求226所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统通过聚类算法将数据示例聚类成多个分类类别,使所述计算机系统接收所述。
231.根据权利要求226所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统向所述神经网络添加附加节点作为所述特征检测节点。
232.根据权利要求226至230中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
233.一种用于开发机器学习系统的计算机实现的方法,所述方法包括:
由计算机系统通过生成器在示例数据的阈值内生成生成数据;以及
由所述计算机系统在所述生成数据上训练所述机器学习系统。
234.根据权利要求232所述的方法,其中所述生成器包括变分自动编码器。
235.根据权利要求232所述的方法,其中所述生成器包括随机分类自动编码器网络。
236.根据权利要求232所述的方法,还包括通过所述计算机系统经超参数控制所述生成数据相对于所述示例数据的标准偏差。
237.根据权利要求232所述的方法,还包括由所述计算机系统用负示例训练所述生成器。
238.根据权利要求236所述的方法,其中所述负示例禁止所述生成器生成与所述示例数据属于不同类别的生成数据。
239.根据权利要求236所述的方法,其中所述负示例禁止所述生成器生成与所述示例数据太不相同的生成数据。
240.根据权利要求232所述的方法,还包括:
由所述计算机系统向第一机器学习分类器和第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;以及
由所述计算机系统从所述数据集中识别所述第一机器学习分类器错误分类和所述第二机器学习分类器正确分类的有问题的数据;
其中所述示例数据是所述有问题的数据中的一个数据。
241.根据权利要求239所述的方法,其中所述第一机器学习分类器包括第一节点,并且所述第二机器学习分类器包括第二节点,所述方法还包括:
由所述计算机系统将松弛项添加到目标函数相对于所述第一节点和所述第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
242.根据权利要求239所述的方法,其中全局正则化已经被应用于所述第二机器学习分类器,所述方法还包括:
由所述计算机系统移除应用于所述第二机器学习分类器的所述全局正则化;
由所述计算机系统将局部正则化应用于所述第二机器学习分类器,所述局部正则化对于所述有问题的数据是局部的。
243.一种用于开发机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
通过生成器在示例数据的阈值内生成生成数据;以及
在所述生成数据上训练所述机器学习系统。
244.根据权利要求242所述的计算机系统,其中所述生成器包括变分自动编码器。
245.根据权利要求242所述的计算机系统,其中所述生成器包括随机分类自动编码器网络。
246.根据权利要求242所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过超参数控制所述生成数据相对于所述示例数据的标准偏差。
247.根据权利要求242所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统用负示例训练所述生成器。
248.根据权利要求246所述的计算机系统,其中所述负示例禁止所述生成器生成与所述示例数据属于不同类别的生成数据。
249.根据权利要求246所述的计算机系统,其中所述负示例禁止所述生成器生成与所述示例数据太不相同的生成数据。
250.根据权利要求242所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
向第一机器学习分类器和第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;以及
从所述数据集中识别所述第一机器学习分类器错误分类和所述第二机器学习分类器正确分类的有问题的数据;
其中所述示例数据是所述有问题的数据中的一个数据。
251.根据权利要求249所述的计算机系统,其中所述第一机器学习分类器包括第一节点,并且所述第二机器学习分类器包括第二节点,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
将松弛项添加到目标函数相对于所述第一节点和所述第二节点中的每一个的学习参数的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述学习参数是否彼此偏离,将惩罚添加到所述第一节点的所述学习参数和所述第二节点的所述学习参数中的每一个的成本函数。
252.根据权利要求249所述的计算机系统,其中全局正则化已经被应用于所述第二机器学习分类器,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
移除应用于所述第二机器学习分类器的所述全局正则化;
将局部正则化应用于所述第二机器学习分类器,所述局部正则化对于所述有问题的数据是局部的。
253.根据权利要求242至251中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
254.一种用于开发机器学习系统的计算机实现的方法,所述方法包括:
由计算机系统对数据集的每个数据应用影响权重,所述影响权重控制训练期间每个数据的相对权重;以及
由所述计算机系统在所述数据集上训练所述机器学习系统。
255.根据权利要求253所述的方法,其中所述影响权重为负。
256.根据权利要求253所述的方法,还包括由所述计算机系统减小导致所述机器学习系统产生错误的所述数据集的任何数据的影响权重。
257.根据权利要求255所述的方法,其中将任何数据的影响权重减小到零有效地从数据集中删除所述数据。
258.根据权利要求253所述的方法,其中所述影响权重由超参数控制。
259.一种用于开发机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
对数据集的每个数据应用影响权重,所述影响权重控制训练期间每个数据的相对权重;以及
在所述数据集上训练所述机器学习系统。
260.根据权利要求258所述的计算机系统,其中所述影响权重为负。
261.根据权利要求258所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统减小导致所述机器学习系统产生错误的所述数据集的任何数据的影响权重。
262.根据权利要求20所述的计算机系统,其中将任何数据的影响权重减小到零有效地从数据集中删除所述数据。
263.根据权利要求258所述的计算机系统,其中所述影响权重由超参数控制。
264.根据权利要求258至262中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
265.一种用于开发包括第一机器学习分类器和第二机器学习分类器的机器学习系统的计算机实现的方法,所述方法包括:
由计算机系统向所述第一机器学习分类器和所述第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;以及
由所述计算机系统从所述数据集中识别所述第一机器学习分类器错误分类和所述第二机器学习分类器正确分类的有问题的数据。
266.根据权利要求264所述的方法,还包括由所述计算机系统针对所述第二机器学习系统在所述有问题的数据处增加局部正则化。
267.根据权利要求264所述的方法,还包括由所述计算机系统识别所述数据集中相对于由所述第一机器学习系统正确分类的所述有问题的数据的附近数据示例。
268.根据权利要求266所述的方法,还包括由所述计算机系统降低所述附近数据示例的影响权重。
269.根据权利要求266所述的方法,其中所述附近数据示例可以与所述有问题的数据在同一类别中,也可以不在同一类别中。
270.根据权利要求264所述的方法,还包括由所述计算机系统识别所述数据集中对应于所述有问题的数据的类别的共分类数据示例。
271.根据权利要求269所述的方法,还包括由所述计算机系统降低所述共分类数据示例的影响权重。
272.根据权利要求270所述的方法,还包括:
由所述计算机系统训练关联存储器,所述关联存储器配置为从输入中检索存储的模式;
由所述计算机系统通过生成器生成与所述有问题的数据相似的生成数据示例;
由所述计算机系统从所述关联存储器检索对应于所述生成数据示例的检索数据示例;
由所述计算机系统测量所述生成数据示例和所述检索数据示例之间的接近程度;以及
由所述计算机系统确定所述检索数据示例和所述数据示例是否都在所述类别中。
273.根据权利要求264所述的方法,还包括由所述计算机系统通过生成器从示例数据生成所述数据集。
274.一种用于开发包括第一机器学习分类器和第二机器学习分类器的机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述第一机器学习分类器、第二机器学习分类器和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
向所述第一机器学习分类器和所述第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;以及
从所述数据集中识别第一机器学习分类器错误分类和第二机器学习分类器正确分类的有问题的数据。
275.根据权利要求273所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统针对所述第二机器学习系统在所述有问题的数据处增加局部正则化。
276.根据权利要求273所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统识别所述数据集中相对于由所述第一机器学习系统正确分类的所述有问题的数据的附近数据示例。
277.根据权利要求275所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统降低对所述附近数据示例的影响权重。
278.根据权利要求275所述的计算机系统,其中所述附近数据示例可以与所述有问题的数据在同一类别中,也可以不在同一类别中。
279.根据权利要求273所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统识别所述数据集中与所述有问题的数据的类别相对应的共分类数据示例。
280.根据权利要求278所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统降低对所述共分类的数据示例的影响权重。
281.根据权利要求279所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
训练关联存储器,所述关联存储器配置为从输入中检索存储的模式;
通过生成器生成与所述有问题的数据相似的生成数据示例;
从所述关联存储器检索对应于所述生成数据示例的检索数据示例;
测量所述生成数据示例和所述检索数据示例之间的接近程度;以及
确定所述检索数据示例和所述数据示例是否都在所述类别中。
282.根据权利要求273所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过生成器从示例数据生成所述数据集。
283.根据权利要求273至281中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
284.一种用于开发包括第一机器学习分类器和第二机器学习分类器的机器学习系统的计算机实现的方法,所述方法包括:
由所述计算机系统向所述第一机器学习分类器和所述第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;
由所述计算机系统识别来自所述数据集的有问题的数据,所述有问题的数据是所述第一机器学习分类器错误分类并且所述第二机器学习分类器正确分类的数据,或者是所述第一机器学习分类器或所述第二机器学习分类器具有小于阈值的置信度的数据;以及
由所述计算机系统识别所述有问题的数据的多个分类类别。
285.根据权利要求283所述的方法,还包括:
由所述计算机系统在置信估计系统处接收所述第一机器学习分类器或所述第二机器学习分类器中的至少一个的输出;
由所述计算机系统在置信估计系统处接收所述第一机器学习分类器或所述第二机器学习分类器中的所述至少一个的辅助输出;
由计算机系统将错误成本函数的导数从所述置信估计系统反向传播到所述辅助输出;以及
由所述计算机系统根据所述第一机器学习分类器或所述第二机器学习分类器中的所述至少一个的所述辅助输出,通过所述置信估计系统来计算所述置信度。
286.根据权利要求283所述的方法,其中所述多个分类类别包括对所述有问题的数据的正确分类。
287.根据权利要求283所述的方法,其中所述多个分类类别包括所述第一机器学习分类器或所述第二机器学习分类器为其分配高于平均分类得分的所述有问题的数据的类别。
288.根据权利要求283所述的方法,还包括由所述计算机系统从所述多个分类类别的每一个中为所述有问题的数据生成附加数据。
289.根据权利要求287所述的方法,其中所述附加数据是通过生成器生成的。
290.根据权利要求283所述的方法,还包括由所述计算机系统为所述有问题的数据计算所述多个分类类别之间的决策边界。
291.根据权利要求283所述的方法,还包括由所述计算机系统计算所述有问题的数据的区域中的所述多个分类类别之间的决策边界。
292.根据权利要求289和290中任一项所述的方法,还包括由所述计算机系统计算与所述决策边界正交的向量。
293.根据权利要求291所述的方法,还包括由所述计算机系统识别沿着所述决策边界的区域,其中所述向量的方向的幅度变化超过阈值变化。
294.根据权利要求291所述的方法,还包括由所述计算机系统平滑所述决策边界。
295.根据权利要求283所述的方法,还包括由所述计算机系统针对所述多个分类类别中的每一个在所述有问题的数据的阈值距离内从所述数据集计算数据示例的概率分布。
296.根据权利要求294所述的方法,还包括:
由所述计算机系统根据所述概率分布确定任何所述有问题的数据是否是孤立的错误;以及
由所述计算机系统忽略任何孤立的错误。
297.根据权利要求294所述的方法,还包括:
由所述计算机系统确定在所述有问题的数据的所述阈值距离内是否存在用于所述分类类别中的每一个的至少阈值数量的数据示例;以及
由所述计算机系统为所述多个分类类别中至少有所述阈值数量的数据示例的任何一个创建聚类模型。
298.根据权利要求283所述的方法,还包括由所述计算机系统训练一个或多个检测器,所述检测器配置为识别所述有问题的数据。
299.根据权利要求297所述的方法,其中训练所述一个或多个检测器包括由所述计算机系统将所述有问题的数据提供给所述一个或多个检测器,作为训练所述一个或多个检测器的模板。
300.根据权利要求297所述的方法,其中训练所述检测器包括:
由所述计算机系统获得多个生成器,所述多个生成器中的每一个对应于所述分类类别中的一个;
由所述计算机系统从所述多个生成器中随机选择选择的生成器,所述多个生成器中的每一个对应于所述分类类别中的一个;
由所述计算机系统通过所述选择的生成器生成生成数据示例;
由所述计算机系统向所述多个分类器中的每一个提供所述生成数据示例和来自对应于所述选择的生成器的所述分类类别的真实数据示例;
由所述计算机系统根据所述生成数据示例和所述真实数据示例是否对应于与所述一个或多个检测器中的每一个相关联的分类类别,通过所述一个或多个检测器中的每一个输出检测输出;
由所述计算机系统确定来自所述一个或多个检测器中的每一个的每个检测输出的最大激活;
由所述计算机系统将第一损失函数的导数反向传播到所述一个或多个检测器中输出所述最大激活的那一个;
由所述计算机系统归一化来自所述一个或多个检测器的所述检测输出;以及
根据所述生成数据示例或所述真实数据示例的归一化检测输出是否被所述一个或多个检测器正确分类,由所述计算机系统向所述一个或多个检测器反向传播第二损失函数的导数。
301.根据权利要求299所述的方法,其中:
所述多个生成器中的每一个对应于限定生成器-检测器对的一个或多个检测器中的一个;以及
每个生成器-检测器对对应于所述分类类别中的一个。
302.根据权利要求283所述的方法,还包括由所述计算机系统改变所述有问题的数据的所述分类类别的标签。
303.根据权利要求301所述的方法,其中改变所述有问题的数据的所述分类类别的标签包括:
由所述计算机系统通过第三机器学习分类器对所述有问题的数据进行分类;
由所述计算机系统确定由所述第三机器学习分类器为所述有问题的数据输出的分类得分是否满足标准;以及
根据所述分类核是否满足所述标准,由所述计算机系统改变所述有问题的数据的所述分类类别的所述标签。
304.根据权利要求301所述的方法,所述第一机器学习分类器包括第一节点,并且所述第二机器学习分类器包括第二节点,所述方法还包括:
由所述计算机系统将松弛项添加到目标函数相对于所述分类类别的所述标签被改变的所述有问题的数据的所述第一节点和所述第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
305.根据权利要求301所述的方法,还包括:
由所述计算机系统在所述数据集上训练所述机器学习系统;以及
由所述计算机系统迭代地增长机器学习系统,并且由所述计算机系统在所述数据集上重新训练所述增长的机器学习系统。
306.根据权利要求304所述的方法,其中:
所述机器学习系统包括集成机器学习系统;以及
增长所述集成机器学习系统包括由所述计算机系统向所述集成机器学习系统添加一个或多个集成成员。
307.根据权利要求305所述的方法,其中所述集成机器学习系统包括连接在一起以形成集成的多个神经网络。
308.根据权利要求304所述的方法,其中:
所述机器学习系统包括神经网络;以及
增长所述机器学习系统包括由所述计算机系统向所述神经网络添加新的节点。
309.根据权利要求304所述的方法,还包括由所述计算机系统将所述数据集划分成多个数据子集。
310.根据权利要求308所述的方法,还包括:
由所述计算机系统确定在所述机器学习系统的训练期间随机梯度下降是否试图在第一方向上对所述数据集的一些数据示例进行改变,以及在第二方向上对所述数据集的其他数据示例进行改变;
其中所述数据集被相应地划分。
311.一种用于开发包括第一机器学习分类器和第二机器学习分类器的机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述第一机器学习分类器、第二机器学习分类器和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
向所述第一机器学习分类器和所述第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;
识别来自所述数据集的有问题的数据,所述有问题的数据是所述第一机器学习分类器错误分类并且所述第二机器学习分类器正确分类的数据,或者是所述第一机器学习分类器或所述第二机器学习分类器具有小于阈值的置信度的数据;以及
识别所述有问题的数据的多个分类类别。
312.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在置信估计系统处接收所述第一机器学习分类器或所述第二机器学习分类器中的至少一个的输出;
在置信估计系统处接收所述第一机器学习分类器或所述第二机器学习分类器中的所述至少一个的辅助输出;
将错误成本函数的导数从所述置信估计系统反向传播到所述辅助输出;以及
根据所述第一机器学习分类器或所述第二机器学习分类器中的所述至少一个的所述辅助输出,通过所述置信估计系统来计算所述置信度。
313.根据权利要求310所述的计算机系统,其中所述多个分类类别包括对所述有问题的数据的正确分类。
314.根据权利要求310所述的计算机系统,其中所述多个分类类别包括所述第一机器学习分类器或所述第二机器学习分类器为其分配高于平均分类得分的所述有问题的数据的类别。
315.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统从所述多个分类类别中的每一个分类类别中为所述有问题的数据生成附加数据。
316.根据权利要求314所述的计算机系统,其中所述附加数据是通过生成器生成的。
317.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统计算所述有问题的数据的所述多个分类类别之间的决策边界。
318.根据权利要求316所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统计算与所述决策边界正交的向量。
319.根据权利要求317所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统识别沿着所述决策边界的区域,其中所述向量的方向的幅度变化超过阈值变化。
320.根据权利要求317所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统平滑所述决策边界。
321.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统计算所述有问题的数据的区域中的所述多个分类类别之间的决策边界。
322.根据权利要求320所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统计算与所述决策边界正交的向量。
323.根据权利要求321所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统识别沿着所述决策边界的区域,其中所述向量的方向的幅度变化超过阈值变化。
324.根据权利要求321所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统平滑所述决策边界。
325.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统针对所述有问题的数据的阈值距离内的所述多个分类类别中的每一个,从所述数据集计算数据示例的概率分布。
326.根据权利要求324所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
根据所述概率分布确定任何所述有问题的数据是否是孤立的错误;以及
忽略任何孤立的错误。
327.根据权利要求324所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
确定在所述有问题的数据的所述阈值距离内是否存在用于所述分类类别中的每一个的至少阈值数量的数据示例;以及
为所述多个分类类别中至少有所述阈值数量的数据示例的任何一个创建聚类模型。
328.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统训练配置为识别所述有问题的数据的一个或多个检测器。
329.根据权利要求327所述的计算机系统,其中训练所述一个或多个检测器包括由所述计算机系统将所述有问题的数据提供给所述一个或多个检测器,作为训练所述一个或多个检测器的模板。
330.根据权利要求327所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统执行以下步骤而使所述计算机系统训练所述检测器:
获得多个生成器,所述多个生成器中的每一个对应于所述分类类别中的一个。
从所述多个生成器中随机选择选择的生成器,所述多个生成器中的每一个对应于所述分类类别中的一个;
通过所述选择的生成器生成生成数据示例;
向所述多个分类器中的每一个提供所述生成数据示例和来自对应于所述选择的生成器的所述分类类别的真实数据示例;
根据所述生成数据示例和所述真实数据示例是否对应于与所述一个或多个检测器中的每一个相关联的分类类别,通过所述一个或多个检测器中的每一个输出检测输出;
确定来自所述一个或多个检测器中的每一个的每个检测输出的最大激活;
反向传播第一损失函数的导数到所述一个或多个检测器中输出所述最大激活的那一个;
归一化来自所述一个或多个检测器的所述检测输出;以及
根据所述生成数据示例或所述真实数据示例的归一化检测输出是否被所述一个或多个检测器正确分类,向所述一个或多个检测器反向传播第二损失函数的导数。
331.根据权利要求329所述的计算机系统,其中:
所述多个生成器中的每一个对应于限定生成器-检测器对的一个或多个检测器中的一个;以及
每个生成器-检测器对对应于所述分类类别中的一个。
332.根据权利要求310所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统改变所述有问题的数据的分类类别的标签。
333.根据权利要求331所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统执行以下步骤而使所述计算机系统改变所述有问题的数据的所述分类类别的标签:
通过第三机器学习分类器对所述有问题的数据进行分类;
确定由所述第三机器学习分类器为所述有问题的数据输出的分类得分是否满足标准;以及
根据所述分类核是否满足所述标准,改变所述有问题的数据的所述分类类别的所述标签。
334.根据权利要求331所述的计算机系统,所述第一机器学习分类器包括第一节点,并且所述第二机器学习分类器包括第二节点,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
将松弛项添加到目标函数相对于所述分类类别的所述标签被改变的所述有问题的数据的所述第一节点和所述第二节点中的每一个的激活值的反向传播导数,所述松弛项根据所述第一节点和所述第二节点的所述激活值是否彼此偏离,将惩罚添加到所述第一节点和所述第二节点中的每一个的成本函数。
335.根据权利要求331所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
在所述数据集上训练所述机器学习系统;以及
迭代地增长机器学习系统,并且在所述数据集上重新训练所述增长的机器学习系统。
336.根据权利要求334所述的计算机系统,其中:
所述机器学习系统包括集成机器学习系统;以及
当由所述一个或多个处理器核执行时,所述指令还通过使所述计算机系统向所述集成机器学习系统添加一个或多个集成成员,使所述计算机系统增长所述集成机器学习系统。
337.根据权利要求335所述的计算机系统,其中所述集成机器学习系统包括连接在一起以形成集成的多个神经网络。
338.根据权利要求334所述的计算机系统,其中:
所述机器学习系统包括神经网络;以及
增长所述机器学习系统包括向所述神经网络添加新的节点。
339.根据权利要求334所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统将所述数据集划分成多个数据子集。
340.根据权利要求338所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
确定在所述机器学习系统的训练期间随机梯度下降是否试图在第一方向上对所述数据集的一些数据示例进行改变,以及在第二方向上对所述数据集的其他数据示例进行改变;
其中所述数据集被相应地划分。
341.根据权利要求310至339中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
342.一种用于开发机器学习分类器的计算机实现的方法,所述方法包括:
由计算机系统训练支持机器学习分类器来划分数据;
由所述计算机系统用所述支持分类器将数据集划分成多个数据子集;以及
由所述计算机系统在所述多个数据子集上训练所述机器学习分类器。
343.根据权利要求341所述的方法,其中所述支持分类器配置为将数据划分成任意子集。
344.根据权利要求342所述的方法,其中训练所述机器学习分类器包括由所述计算机系统在所述数据子集中的每一个上连续训练所述机器学习分类器。
345.根据权利要求341所述的方法,其中所述机器学习分类器包括多个集成成员,并且在所述多个数据子集上训练所述机器学习分类器包括:
由所述计算机系统将所述数据子集中的一个分配给所述集成成员中的每一个;以及
由所述计算机系统在所述数据子集上训练所述机器学习分类器的所述集成成员。
346.根据权利要求344所述的方法,其中所述支持机器学习分类器和所述机器学习分类器包括相同的分类任务。
347.根据权利要求345所述的方法,其中所述机器学习分类器的所述集成成员中的每一个被训练来验证或纠正由所述支持机器学习分类器执行的初步分类。
348.一种用于开发机器学习分类器的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习分类器和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
训练支持机器学习分类器来划分数据;
用所述支持分类器将数据集划分成多个数据子集;以及
在所述多个数据子集上训练所述机器学习分类器。
349.根据权利要求347所述的计算机系统,其中所述支持分类器配置为将数据划分成任意子集。
350.根据权利要求348所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统在所述数据子集中的每一个上连续训练所述机器学习分类器,使所述计算机系统训练所述机器学习分类器。
351.根据权利要求347所述的计算机系统,其中所述机器学习分类器包括多个集成成员,并且当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统执行以下步骤而使所述计算机系统在所述多个数据子集上训练所述机器学习分类器:
将所述数据子集中的一个分配给所述集成成员中的每一个;以及
在所述数据子集上训练所述机器学习分类器的所述集成成员。
352.根据权利要求350所述的计算机系统,其中所述支持机器学习分类器和所述机器学习分类器包括相同的分类任务。
353.根据权利要求351所述的计算机系统,其中所述机器学习分类器的所述集成成员中的每一个被训练来验证或纠正由所述支持机器学习分类器执行的初步分类。
354.根据权利要求347至352中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
355.一种用于开发机器学习分类器的计算机实现的方法,所述方法包括:
由计算机系统向第一机器学习分类器和第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;
由所述计算机系统训练多个生成器以从所述数据集生成数据,所述多个生成器中的每一个对应于与所述数据集相关联的多个分类类别中的一个;以及
由所述计算机系统通过所述生成器生成生成数据。
356.根据权利要求354所述的方法,其中训练所述多个生成器包括:
由所述计算机系统从所述多个生成器中随机选择选择的生成器,所述多个生成器中的每一个对应于所述多个分类类别中的一个;
由所述计算机系统通过所述选择的生成器生成生成数据示例;
由所述计算机系统向所述第一机器学习分类器和所述第二机器学习分类器中的每一个提供所述生成数据示例和来自对应于所述选择的生成器的所述分类类别的真实数据示例;
由所述计算机系统根据所述生成数据示例和所述真实数据示例是否对应于与所述第一机器学习分类器和所述第二机器学习分类器中的每一个相关联的所述分类类别,经由所述多个分类器中的每一个输出检测输出;
由所述计算机系统确定来自所述第一机器学习分类器和所述第二机器学习分类器中的每一个的每个检测输出的最大激活;
由所述计算机系统将第一损失函数的导数反向传播到所述第一机器学习分类器和所述第二机器学习分类器中输出所述最大激活的那一个;
由所述计算机系统对来自所述第一机器学习分类器和所述第二机器学习分类器的所述检测输出进行归一化;以及
根据所述第一机器学习分类器和所述第二机器学习分类器是否正确地分类了所述生成数据示例或所述真实数据示例的归一化检测输出,由所述计算机系统将第二损失函数的导数反向传播到所述第一机器学习分类器和所述第二机器学习分类器。
357.根据权利要求354所述的方法,还包括由所述计算机系统通过所述生成数据来调谐与所述第一机器学习分类器和所述第二机器学习分类器相关联的超参数。
358.根据权利要求354所述的方法,还包括由所述计算机系统通过所述生成数据来确定应用于所述第二机器学习分类器的正则化方法的有效性。
359.一种用于开发机器学习分类器的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习分类器和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
向第一机器学习分类器和第二机器学习分类器提供数据集,所述第一机器学习分类器比所述第二机器学习分类器受到的限制少,因为所述第二机器学习分类器在与所述数据集不相交的数据上产生较少的错误;
训练多个生成器以从所述数据集生成数据,所述多个生成器中的每一个对应于与所述数据集相关联的多个分类类别中的一个;以及
通过所述生成器生成生成数据。
360.根据权利要求358所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统执行以下步骤而使所述计算机系统训练所述多个生成器:
从所述多个生成器中随机选择选择的生成器,所述多个生成器中的每一个对应于所述多个分类类别中的一个;
通过所述选择的生成器生成生成数据示例;
向所述第一机器学习分类器和所述第二机器学习分类器中的每一个提供所述生成数据示例和来自对应于所述选择的生成器的所述分类类别的真实数据示例;
根据所述生成数据示例和所述真实数据示例是否对应于与所述第一机器学习分类器和所述第二机器学习分类器中的每一个相关联的所述分类类别,经由所述多个分类器中的每一个输出检测输出;
确定来自所述第一机器学习分类器和所述第二机器学习分类器中的每一个的每个检测输出的最大激活;
将第一损失函数的导数反向传播到所述第一机器学习分类器和所述第二机器学习分类器中输出所述最大激活的那一个;
对来自所述第一机器学习分类器和所述第二机器学习分类器的所述检测输出进行归一化;以及
根据所述第一机器学习分类器和所述第二机器学习分类器是否正确地分类了所述生成数据示例或所述真实数据示例的归一化检测输出,将第二损失函数的导数反向传播到所述第一机器学习分类器和所述第二机器学习分类器。
361.根据权利要求358所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过所述生成数据来调谐与所述第一机器学习分类器和所述第二机器学习分类器相关联的超参数。
362.根据权利要求358所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统通过所述生成数据来确定应用于所述第二机器学习分类器的正则化方法的有效性。
363.根据权利要求358至361中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
364.一种用于开发包括用于控制机器学习系统的性能的多个超参数的机器学习系统的计算机实现的方法,所述方法包括:
由计算机系统将所述多个超参数分组为不相交的超参数子集;以及
由所述计算机系统通过执行以下步骤估计所述超参数子集中的每一个的偏导数:
由所述计算机系统在所述超参数设置为指定值的数据集上执行所述机器学习系统的基本评估;
由所述计算机系统对所述超参数中的每一个的应用值进行非零扰动的所述机器学习系统的多次评估;以及
由所述计算机系统根据所述机器学习系统对所述超参数中的每一个的评估与所述基本评估相比的变化来估计相对于所述超参数中的每一个的偏导数。
365.根据权利要求363所述的方法,还包括由所述计算机系统利用随机梯度下降,以根据所述超参数子集中的每一个的所述估计偏导数来优化所述超参数。
366.一种用于开发机器学习系统的计算机系统,所述机器学习系统包括用于控制所述机器学习系统的性能的多个超参数,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
将所述多个超参数分组为不相交的超参数子集;以及
通过使所述计算机系统执行以下步骤而估计所述超参数子集中的每一个的偏导数:
在所述超参数设置为指定值的数据集上执行所述机器学习系统的基本评估;
对所述超参数中的每一个的应用值进行非零扰动的所述机器学习系统的多次评估;以及
根据所述机器学习系统对所述超参数中的每一个的评估与所述基本评估相比的变化来估计相对于所述超参数中的每一个的偏导数。
367.根据权利要求365所述的计算机系统,还包括由所述计算机系统利用随机梯度下降,以根据所述超参数子集中的每一个的所述估计偏导数来优化所述超参数。
368.根据权利要求365至366中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
369.一种用于增量开发机器学习系统的计算机实现的方法,所述方法包括:
由所述计算机系统在具有多个分类类别的训练数据集上训练所述机器学习系统;以及
由所述计算机系统迭代地增加所述多个分类类别的复杂性,并且由所述计算机系统在所述训练数据集上重新训练所述机器学习系统。
370.根据权利要求368所述的方法,其中所述机器学习系统包括神经网络。
371.根据权利要求368所述的方法,其中所述分类类别的所述复杂性对应于与所述分类类别中的每一个相关联的多个参数。
372.一种用于增量开发机器学习系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述机器学习系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
在具有多个分类类别的训练数据集上训练所述机器学习系统;以及
迭代地增加所述多个分类类别的复杂性,并且在所述训练数据集上重新训练所述机器学习系统。
373.根据权利要求371所述的计算机系统,其中所述机器学习系统包括神经网络。
374.根据权利要求371所述的计算机系统,其中所述分类类别的所述复杂性对应于与所述分类类别中的每一个相关联的多个参数。
375.根据权利要求371至373中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
376.一种用于创建协作生成器-分类器系统的计算机实现的方法,所述方法包括:
由计算机系统接收从多个生成器中的一个输出的数据示例;
由所述计算机系统训练分类器,以确定所述数据示例是从所述多个生成器中的哪一个生成的;
由所述计算机系统比较来自所述多个生成器的输出;以及
由所述计算机系统根据来自所述多个生成器的所述输出是否彼此不同,将错误成本反向传播给所述多个生成器。
377.根据权利要求375所述的方法,其中所述多个生成器包括多个不同的生成器类型。
378.根据权利要求375所述的方法,其中:
所述分类器包括深度神经网络;以及
训练所述深度神经网络包括由所述计算机系统使用随机梯度下降,在微批次中进行更新,并且通过反向传播计算错误成本函数的偏导数。
379.根据权利要求375所述的方法,其中所述多个生成器配置为生成无限数量的数据示例。
380.根据权利要求375所述的方法,还包括由所述计算机系统迭代地训练所述分类器和所述多个生成器中的每一个。
381.根据权利要求375所述的方法,还包括由所述计算机系统反向传播用于训练所述分类器的附加分类器目标或附加数据的错误成本。
382.根据权利要求375所述的方法,还包括由所述计算机系统反向传播用于训练所述多个生成器的附加生成器目标的错误成本。
383.根据权利要求381所述的方法,其中所述附加目标包括负反馈。
384.根据权利要求375所述的方法,其中所述分类器是多个分类器中的一个,所述多个分类器中的每一个配置为提供检测输出,所述检测输出指示所述数据示例是否对应于与所述多个分类器中的每一个相关联的分类类别,所述方法还包括:
由所述计算机系统从所述多个生成器中随机选择选择的生成器,所述多个生成器中的每一个对应于所述分类类别中的一个;
由所述计算机系统通过所述选择的生成器生成生成数据示例;
由所述计算机系统向所述多个分类器中的每一个提供所述生成数据示例和来自对应于所述选择的生成器的所述分类类别的真实数据示例;
由所述计算机系统根据所述生成数据示例和所述真实数据示例是否对应于与所述多个分类器中的每一个相关联的分类类别,通过所述多个分类器中的每一个输出所述检测输出;
由所述计算机系统确定来自所述多个分类器中的每一个的每个检测输出的最大激活;
由所述计算机系统将第一损失函数的导数反向传播到所述多个分类器中输出所述最大激活的那一个;
由所述计算机系统归一化来自所述多个分类器的所述检测输出;以及
根据所述生成数据示例或所述真实数据示例的归一化检测输出是否被所述多个分类器正确分类,由所述计算机系统向所述多个分类器反向传播第二损失函数的导数。
385.根据权利要求383所述的方法,其中:
所述多个生成器中的每一个对应于限定生成器-检测器对的多个分类器中的一个;以及
每个生成器-检测器对对应于所述分类类别中的一个。
386.根据权利要求375所述的方法,还包括:
由所述计算机系统选择数据示例;
由所述计算机系统为所述数据示例选择N个分类类别;
由所述计算机系统将所述数据示例分配给所述分类类别,其中所述数据示例中的每一个的权重为1/N;
由所述计算机系统选择一个或多个其他目标;
由所述计算机系统创建多目标损失函数,其中所述一个或多个其他目标各自被表示为损失函数的附加项;
由所述计算机系统在所述训练数据上训练所述分类器,以根据所述多目标损失函数对所述训练数据进行聚类;以及
通过由所述计算机系统实现的所述训练分类器,将所述数据示例重新分配给所述分类类别。
387.根据权利要求385所述的方法,其中:
所述一个或多个其他目标包括:当数据示例应该被分类在第二分类类别中时,避免数据示例被分类在第一分类类别中;以及
所述损失函数的所述附加项包括对所述第一分类类别中的所述数据示例进行分类的惩罚。
388.根据权利要求385所述的方法,其中:
所述一个或多个目标包括避免创建包含小于阈值的多个数据示例的分类类别;以及
所述损失函数的所述附加项包括使所述分类类别中的所述数据示例分布的熵最大化的奖励。
389.根据权利要求385所述的方法,其中:
所述分类器包括神经网络分类器,所述神经网络分类器包括互连成多个层的多个节点;
所述一个或多个目标包括正则化所述数据示例;以及
所述损失函数的所述附加项包括对于所述数据示例的预定子集,对于所述神经网络的第一节点和第二节点的彼此偏离的学习参数的惩罚。
390.根据权利要求375所述的方法,还包括:
由所述计算机系统从所述多个生成器中的模拟生成器接收数据示例;
由所述计算机系统通过神经网络处理所述数据示例;
当通过其处理所述数据示例时,由所述计算机系统将噪声添加到所述神经网络;以及
由所述计算机系统通过解码器网络将所述数据示例反向传播到所述神经网络。
391.根据权利要求389所述的方法,其中所述模拟生成器选自自动编码器、随机分类自动编码器网络、变分自动编码器和去噪自动编码器组成的组。
392.根据权利要求389所述的方法,还包括在通过所述神经网络处理所述数据示例之前,由所述计算机系统向从所述模拟生成器接收的所述数据示例添加噪声。
393.一种用于创建协作生成器-分类器系统的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储协作生成器-分类器系统和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
接收从多个生成器中的一个输出的数据示例;
训练分类器,以确定所述数据示例是从所述多个生成器中的哪一个生成的;
比较来自所述多个生成器的输出;以及
根据来自所述多个生成器的所述输出是否彼此不同,将错误成本反向传播给所述多个生成器。
394.根据权利要求392所述的计算机系统,其中所述多个生成器包括多个不同的生成器类型。
395.根据权利要求392所述的计算机系统,其中:
所述分类器包括深度神经网络;以及
当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统使用随机梯度下降来还使所述计算机系统训练所述深度神经网络,在微批次中进行更新,并且通过反向传播计算错误成本函数的偏导数。
396.根据权利要求392所述的计算机系统,其中所述多个生成器配置为生成无限数量的数据示例。
397.根据权利要求392所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统迭代地训练所述分类器和所述多个生成器中的每一个。
398.根据权利要求392所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统反向传播用于训练所述分类器的附加分类器目标或附加数据的错误成本。
399.根据权利要求392所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统反向传播用于训练所述多个生成器的附加生成器目标的错误成本。
400.根据权利要求398所述的计算机系统,其中所述附加目标包括负反馈。
401.根据权利要求392所述的计算机系统,其中所述分类器是多个分类器中的一个,所述多个分类器中的每一个配置为提供检测输出,所述检测输出指示所述数据示例是否对应于与所述多个分类器中的每一个相关联的分类类别,并且当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
从所述多个生成器中随机选择选择的生成器,所述多个生成器中的每一个对应于所述分类类别中的一个;
通过所述选择的生成器生成生成数据示例;
向所述多个分类器中的每一个提供所述生成数据示例和来自对应于所述选择的生成器的所述分类类别的真实数据示例;
根据所述生成数据示例和所述真实数据示例是否对应于与所述多个分类器中的每一个相关联的分类类别,通过所述多个分类器中的每一个输出所述检测输出;
确定来自所述多个分类器中的每一个的每个检测输出的最大激活;
将第一损失函数的导数反向传播到所述多个分类器中输出所述最大激活的那一个;
统归一化来自所述多个分类器的所述检测输出;以及
根据所述生成数据示例或所述真实数据示例的归一化检测输出是否被所述多个分类器正确分类,向所述多个分类器反向传播第二损失函数的导数。
402.根据权利要求400所述的计算机系统,其中:
所述多个生成器中的每一个对应于限定生成器-检测器对的多个分类器中的一个;以及
每个生成器-检测器对对应于所述分类类别中的一个。
403.根据权利要求392所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
选择数据示例;
为所述数据示例选择N个分类类别;
将所述数据示例分配给所述分类类别,其中所述数据示例中的每一个的权重为1/N;
选择一个或多个其他目标;
创建多目标损失函数,其中所述一个或多个其他目标各自被表示为损失函数的附加项;
在所述训练数据上训练所述分类器,以根据所述多目标损失函数对所述训练数据进行聚类;以及
通过所述训练分类器,将所述数据示例重新分配给所述分类类别。
404.根据权利要求402所述的计算机系统,其中:
所述一个或多个其他目标包括:当数据示例应该被分类在第二分类类别中时,避免数据示例被分类在第一分类类别中;以及
所述损失函数的所述附加项包括对所述第一分类类别中的所述数据示例进行分类的惩罚。
405.根据权利要求402所述的计算机系统,其中:
所述一个或多个目标包括避免创建包含小于阈值的多个数据示例的分类类别;以及
所述损失函数的所述附加项包括使所述分类类别中的所述数据示例分布的熵最大化的奖励。
406.根据权利要求402所述的计算机系统,其中:
所述分类器包括神经网络分类器,所述神经网络分类器包括互连成多个层的多个节点;
所述一个或多个目标包括正则化所述数据示例;以及
所述损失函数的所述附加项包括对于所述数据示例的预定子集,对于所述神经网络的第一节点和第二节点的彼此偏离的学习参数的惩罚。
407.根据权利要求392所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
从所述多个生成器中的模拟生成器接收数据示例;
通过神经网络处理所述数据示例;
当通过其处理所述数据示例时,将噪声添加到所述神经网络;以及
通过解码器网络将所述数据示例反向传播到所述神经网络。
408.根据权利要求406所述的计算机系统,其中所述模拟生成器选自自动编码器、随机分类自动编码器网络、变分自动编码器和去噪自动编码器组成的组。
409.根据权利要求406所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统在通过所述神经网络处理所述数据示例之前,将噪声添加到从所述模拟生成器接收的数据示例中。
410.根据权利要求392至408中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
411.一种用于在决策边界生成数据的计算机实现的方法,所述方法包括:
由计算机系统获得分类器,所述分类器配置为:
判别对应于第一类别和第二类别的数据;以及
根据所述第一类别和所述第二类别中的每一个为所述数据提供分类得分;
由所述计算机系统训练生成器,以生成数据示例,其中由所述分类器提供的所述第一类别和所述第二类别的所述分类得分之间的差值幅度小于差值阈值;
由所述计算机系统通过所述分类器反向传播偏导数;
由所述计算机系统根据所述反向传播偏导数获得所述第一类别和所述第二类别之间的所述决策边界的正交向量;
由所述计算机系统表征所述数据示例的所述第一类别和所述第二类别之间的所述决策边界;以及
由所述计算机系统在所述表征的决策边界附近生成文本数据示例。
412.根据权利要求409所述的方法,其中获得所述分类器包括训练所述分类器以判别所述第一类别和所述第二类别之间的数据。
413.根据权利要求409所述的方法,其中表征所述决策边界包括:
由所述计算机系统将超平面拟合到所述数据示例;以及
由所述计算机系统测量所述超平面的扩散。
414.根据权利要求409所述的方法,其中表征所述决策边界包括由所述计算机系统确定所述正交向量的变化率幅度大于变化率阈值。
415.根据权利要求409所述的方法,还包括由所述计算机系统改变所述生成器的训练条件。
416.根据权利要求413所述的方法,还包括由所述计算机系统测量测试数据示例的分类得分的变化。
417.根据权利要求409所述的方法,其中所述第一类别和所述第二类别各自包括分类类别。
418.根据权利要求409所述的方法,其中所述第一类别和所述第二类别各自包括数据聚类。
419.一种用于在决策边界生成数据的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
获得分类器,所述分类器配置为:
判别对应于第一类别和第二类别的数据;以及
根据所述第一类别和所述第二类别中的每一个为所述数据提供分类得分;
训练生成器,以生成数据示例,其中由所述分类器提供的所述第一类别和所述第二类别的所述分类得分之间的差值幅度小于差值阈值;
通过所述分类器反向传播偏导数;
根据所述反向传播偏导数获得所述第一类别和所述第二类别之间的所述决策边界的正交向量;
表征所述数据示例的所述第一类别和所述第二类别之间的所述决策边界;以及
在所述表征的决策边界附近生成文本数据示例。
420.根据权利要求417所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还通过使所述计算机系统训练所述分类器以判别所述第一类别和所述第二类别之间的数据,使所述计算机系统获得所述分类器。
421.根据权利要求417所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统执行以下步骤而使所述计算机系统表征所述决策边界:
为所述数据示例拟合超平面;以及
测量所述超平面的扩散。
422.根据权利要求417所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令通过使所述计算机系统确定所述正交向量的变化率幅度大于变化率阈值而还使所述计算机系统表征所述决策边界。
423.根据权利要求417所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统改变所述生成器的训练条件。
424.根据权利要求421所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统测量测试数据示例的分类得分的变化。
425.根据权利要求417所述的计算机系统,其中所述第一类别和所述第二类别各自包括分类类别。
426.根据权利要求417所述的计算机系统,其中所述第一类别和所述第二类别各自包括数据聚类。
427.根据权利要求417至424中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
428.一种计算机实现的方法,用于使神经网络的节点不太可能响应于所述神经网络的进一步训练而改变,所述方法包括:
由计算机系统识别所述神经网络的非决定性节点,所述非决定性节点包括这样的节点,其中任何反向传播目标和任何正则化项的组合导数不在将导致学习参数的更新以增加所述节点中的每一个的节点激活和中性激活值之间的差值的方向上;
由所述计算机系统向所述非决定性节点添加决定性目标,所述决定性目标包括大于一的乘法常数;
由所述计算机系统将所述乘法常数设置为第一值;以及
由所述计算机系统训练所述神经网络。
429.根据权利要求426所述的方法,还包括:
由所述计算机系统识别所述非决定性节点;
由所述计算机系统将所述乘法常数增加到第二值,所述第二值大于所述第一值;以及
由所述计算机系统训练所述神经网络。
430.根据权利要求426所述的方法,其中所述乘法常数由超参数控制。
431.根据权利要求426所述的方法,还包括由所述计算机系统向所述神经网络的每个节点添加正则化项,其中如果所述节点是所述非决定性节点中的一个,则所述正则化项为正。
432.一种计算机系统,用于使神经网络的节点不太可能响应于所述神经网络的进一步训练而改变,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述神经网络和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
识别所述神经网络的非决定性节点,所述非决定性节点包括这样的节点,其中任何反向传播目标和任何正则化项的组合导数不在将导致学习参数的更新以增加所述节点中的每一个的节点激活和中性激活值之间的差值的方向上;
向所述非决定性节点添加决定性目标,所述决定性目标包括大于一的乘法常数;
将所述乘法常数设置为第一值;以及
训练所述神经网络。
433.根据权利要求430所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统:
识别所述非决定性节点;
将所述乘法常数增加到第二值,所述第二值大于所述第一值;以及
训练所述神经网络。
434.根据权利要求430所述的计算机系统,其中所述乘法常数由超参数控制。
435.根据权利要求430所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统向所述神经网络的每个节点添加正则化项,其中如果所述节点是所述非决定性节点中的一个,则所述正则化项为正。
436.根据权利要求430至433中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
437.一种用于训练生成器的计算机实现的方法,所述方法包括:
由计算机系统从通过所述生成器的输入生成模式;
由所述计算机系统将所述模式提供给第一分类器和第二分类器,所述第一分类器和所述第二分类器配置为根据所述模式输出分类得分;
由所述计算机系统将目标从所述第一分类器和所述第二分类器中的每一个反向传播到所述生成器,所述目标对应于所述第一分类器和所述第二分类器的所述分类得分之间的目标差值量。
438.根据权利要求435所述的方法,其中所述目标配置为训练所述生成器以生成所述第一分类器和所述第二分类器一致的模式。
439.根据权利要求435所述的方法,其中所述目标配置为训练所述生成器以生成所述第一分类器和所述第二分类器不一致的模式。
440.根据权利要求435所述的方法,还包括由所述计算机系统向所述生成器反向传播附加目标。
441.一种用于训练生成器的计算机系统,所述计算机系统包括:
一个或多个处理器核;
一个或多个存储器,耦合到所述一个或多个处理器核,所述一个或多个存储器存储所述生成器和指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机系统:
从通过所述生成器的输入生成模式;
将所述模式提供给第一分类器和第二分类器,所述第一分类器和所述第二分类器配置为根据所述模式输出分类得分;
将目标从所述第一分类器和所述第二分类器中的每一个反向传播到所述生成器,所述目标对应于所述第一分类器和所述第二分类器的所述分类得分之间的目标差值量。
442.根据权利要求439所述的计算机系统,其中所述目标配置为训练所述生成器以生成所述第一分类器和所述第二分类器一致的模式。
443.根据权利要求439所述的计算机系统,其中所述目标配置为训练所述生成器以生成所述第一分类器和所述第二分类器不一致的模式。
444.根据权利要求439所述的计算机系统,其中当由所述一个或多个处理器核执行时,所述指令还使所述计算机系统将附加目标反向传播到所述生成器。
445.根据权利要求439至442中任一项所述的计算机系统,还包括:
通过具有不同数据带宽的连接互连的多个计算机节点;
其中所述一个或多个处理器核和所述一个或多个存储器分布在所述计算机节点上;
其中所述多个计算机节点中的每一个的存储器存储指令,当由所述一个或多个处理器核执行时,所述指令使所述计算机节点根据与所述计算机节点之间的相应连接相关联的数据带宽在所述计算机节点之间传输数据。
CN201880076808.4A 2017-09-28 2018-09-28 利用协作生成器积极开发 Pending CN111542843A (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201762564754P 2017-09-28 2017-09-28
US62/564,754 2017-09-28
USPCT/US2018/051069 2018-09-14
PCT/US2018/051069 WO2019067236A1 (en) 2017-09-28 2018-09-14 MIXING OF GENERATOR MODELS
PCT/US2018/051332 WO2019067248A1 (en) 2017-09-28 2018-09-17 ESTIMATING AMOUNT OF DEGRADATION WITH DEEP LEARNING REGRESSION OBJECTIVE
USPCT/US2018/051332 2018-09-17
USPCT/US2018/051683 2018-09-19
PCT/US2018/051683 WO2019067281A1 (en) 2017-09-28 2018-09-19 ROBUST SELF-ASSOCIATIVE MEMORY WITH CURVED NEURONES NETWORK
PCT/US2018/053519 WO2019067960A1 (en) 2017-09-28 2018-09-28 AGGRESSIVE DEVELOPMENT USING COOPERATIVE GENERATORS

Publications (1)

Publication Number Publication Date
CN111542843A true CN111542843A (zh) 2020-08-14

Family

ID=65807592

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201880067064.XA Active CN111226232B (zh) 2017-09-28 2018-09-14 混合生成器模型
CN201880067035.3A Pending CN111226236A (zh) 2017-09-28 2018-09-28 深度学习中的多目标生成器
CN201880076808.4A Pending CN111542843A (zh) 2017-09-28 2018-09-28 利用协作生成器积极开发

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201880067064.XA Active CN111226232B (zh) 2017-09-28 2018-09-14 混合生成器模型
CN201880067035.3A Pending CN111226236A (zh) 2017-09-28 2018-09-28 深度学习中的多目标生成器

Country Status (4)

Country Link
US (11) US10679129B2 (zh)
EP (3) EP3688676A4 (zh)
CN (3) CN111226232B (zh)
WO (3) WO2019067236A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI769820B (zh) * 2021-05-19 2022-07-01 鴻海精密工業股份有限公司 生成對抗網路優化方法及電子設備
WO2022252013A1 (en) * 2021-05-31 2022-12-08 Robert Bosch Gmbh Method and apparatus for training neural network for imitating demonstrator's behavior
TWI810487B (zh) * 2020-09-25 2023-08-01 國立成功大學 太陽能發電預測方法

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201718756D0 (en) * 2017-11-13 2017-12-27 Cambridge Bio-Augmentation Systems Ltd Neural interface
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
WO2018226492A1 (en) 2017-06-05 2018-12-13 D5Ai Llc Asynchronous agents with learning coaches and structurally modifying deep neural networks without performance degradation
EP3635716A4 (en) 2017-06-08 2021-04-07 D5Ai Llc DATA DISTRIBUTION BY GRADIENT DIRECTION FOR NEURAL NETWORKS
CN110914839B (zh) 2017-06-26 2024-04-26 D5Ai有限责任公司 错误去相关的选择性训练
US11003982B2 (en) 2017-06-27 2021-05-11 D5Ai Llc Aligned training of deep networks
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
WO2019067542A1 (en) 2017-09-28 2019-04-04 D5Ai Llc JOINT OPTIMIZATION OF DEEP LEARNING SETS
US10679129B2 (en) 2017-09-28 2020-06-09 D5Ai Llc Stochastic categorical autoencoder network
JP6886112B2 (ja) * 2017-10-04 2021-06-16 富士通株式会社 学習プログラム、学習装置及び学習方法
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US11455168B1 (en) * 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11250329B2 (en) * 2017-10-26 2022-02-15 Nvidia Corporation Progressive modification of generative adversarial neural networks
US11263525B2 (en) 2017-10-26 2022-03-01 Nvidia Corporation Progressive modification of neural networks
US11763159B2 (en) * 2018-01-29 2023-09-19 International Business Machines Corporation Mitigating false recognition of altered inputs in convolutional neural networks
US11321612B2 (en) 2018-01-30 2022-05-03 D5Ai Llc Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights
WO2019152308A1 (en) 2018-01-30 2019-08-08 D5Ai Llc Self-organizing partially ordered networks
US11093830B2 (en) 2018-01-30 2021-08-17 D5Ai Llc Stacking multiple nodal networks
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
CN111727441A (zh) * 2018-02-09 2020-09-29 渊慧科技有限公司 实现用于高效学习的条件神经过程的神经网络系统
JP7085158B2 (ja) * 2018-04-26 2022-06-16 日本電信電話株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
JP7002404B2 (ja) * 2018-05-15 2022-01-20 株式会社日立製作所 データから潜在因子を発見するニューラルネットワーク
US11151450B2 (en) * 2018-05-21 2021-10-19 Fair Isaac Corporation System and method for generating explainable latent features of machine learning models
US11797864B2 (en) * 2018-06-18 2023-10-24 Fotonation Limited Systems and methods for conditional generative models
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11676026B2 (en) 2018-06-29 2023-06-13 D5Ai Llc Using back propagation computation as data
WO2020009881A1 (en) 2018-07-03 2020-01-09 D5Ai Llc Analyzing and correcting vulnerabillites in neural networks
US11195097B2 (en) 2018-07-16 2021-12-07 D5Ai Llc Building ensembles for deep learning by parallel data splitting
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11468330B2 (en) * 2018-08-03 2022-10-11 Raytheon Company Artificial neural network growth
US11501164B2 (en) 2018-08-09 2022-11-15 D5Ai Llc Companion analysis network in deep learning
WO2020041026A1 (en) 2018-08-23 2020-02-27 D5Ai Llc Efficently building deep neural networks
WO2020046721A1 (en) 2018-08-27 2020-03-05 D5Ai Llc Building a deep neural network with diverse strata
US11037059B2 (en) 2018-08-31 2021-06-15 D5Ai Llc Self-supervised back propagation for deep learning
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11593641B2 (en) * 2018-09-19 2023-02-28 Tata Consultancy Services Limited Automatic generation of synthetic samples using dynamic deep autoencoders
US11151334B2 (en) * 2018-09-26 2021-10-19 Huawei Technologies Co., Ltd. Systems and methods for multilingual text generation field
CN113039556B (zh) 2018-10-11 2022-10-21 特斯拉公司 用于使用增广数据训练机器模型的系统和方法
US20200125924A1 (en) * 2018-10-22 2020-04-23 Siemens Aktiengesellschaft Method and system for analyzing a neural network
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
JP2020086479A (ja) * 2018-11-15 2020-06-04 株式会社日立製作所 計算機、ニューラルネットワークの構築方法、および計算機システム
KR20210111254A (ko) * 2018-11-30 2021-09-10 캐리스 엠피아이, 아이엔씨. 차세대 분자 프로파일링
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
WO2020129412A1 (ja) * 2018-12-17 2020-06-25 ソニー株式会社 学習装置、識別装置およびプログラム
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
US11610098B2 (en) * 2018-12-27 2023-03-21 Paypal, Inc. Data augmentation in transaction classification using a neural network
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11928556B2 (en) * 2018-12-29 2024-03-12 International Business Machines Corporation Removing unnecessary history from reinforcement learning state
US11514330B2 (en) * 2019-01-14 2022-11-29 Cambia Health Solutions, Inc. Systems and methods for continual updating of response generation by an artificial intelligence chatbot
DE102019200565A1 (de) * 2019-01-17 2020-07-23 Robert Bosch Gmbh Vorrichtung und Verfahren zur Klassifizierung von Daten insbesondere für ein Controller Area Netzwerk oder ein automotive Ethernet Netzwerk.
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10510002B1 (en) * 2019-02-14 2019-12-17 Capital One Services, Llc Stochastic gradient boosting for deep neural networks
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US20200293942A1 (en) * 2019-03-11 2020-09-17 Cisco Technology, Inc. Distributed learning model for fog computing
US11704573B2 (en) * 2019-03-25 2023-07-18 Here Global B.V. Method, apparatus, and computer program product for identifying and compensating content contributors
DE102019206620A1 (de) * 2019-04-18 2020-10-22 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines neuronalen Netzes
US11531879B1 (en) 2019-04-25 2022-12-20 Perceive Corporation Iterative transfer of machine-trained network inputs from validation set to training set
US11610154B1 (en) 2019-04-25 2023-03-21 Perceive Corporation Preventing overfitting of hyperparameters during training of network
US11900238B1 (en) * 2019-04-25 2024-02-13 Perceive Corporation Removing nodes from machine-trained network based on introduction of probabilistic noise during training
CN110084863B (zh) * 2019-04-25 2020-12-25 中山大学 一种基于生成对抗网络的多域图像转换方法与系统
US11175959B2 (en) * 2019-05-01 2021-11-16 International Business Machines Corporation Determine a load balancing mechanism for allocation of shared resources in a storage system by training a machine learning module based on number of I/O operations
US11175958B2 (en) 2019-05-01 2021-11-16 International Business Machines Corporation Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations
CN110096810B (zh) * 2019-05-05 2020-03-17 中南大学 一种基于逐层数据扩充深度学习的工业过程软测量方法
JP7202260B2 (ja) * 2019-06-07 2023-01-11 株式会社日立製作所 ハイパーパラメータ管理装置、ハイパーパラメータ管理システム及びハイパーパラメータ管理方法
JP7328799B2 (ja) * 2019-06-12 2023-08-17 株式会社日立製作所 ストレージシステムおよび記憶制御方法
CN110113057B (zh) * 2019-06-12 2023-06-13 中国计量大学 一种利用深度学习的极化码译码器
JP7116711B2 (ja) * 2019-06-14 2022-08-10 株式会社東芝 情報処理装置、情報処理方法及びコンピュータプログラム
US11514311B2 (en) * 2019-07-03 2022-11-29 International Business Machines Corporation Automated data slicing based on an artificial neural network
EP3767533A1 (en) * 2019-07-17 2021-01-20 Robert Bosch GmbH A machine learnable system with normalizing flow
JP7222429B2 (ja) * 2019-07-30 2023-02-15 日本電信電話株式会社 データ選択方法、データ選択装置及びプログラム
US11443137B2 (en) 2019-07-31 2022-09-13 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for detecting signal features
WO2021040944A1 (en) 2019-08-26 2021-03-04 D5Ai Llc Deep learning with judgment
WO2021044467A1 (ja) * 2019-09-02 2021-03-11 日本電信電話株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
EP3789924A1 (en) * 2019-09-09 2021-03-10 Robert Bosch GmbH Stochastic data augmentation for machine learning
JP7392366B2 (ja) * 2019-10-01 2023-12-06 富士通株式会社 最適解獲得プログラム、最適解獲得方法および情報処理装置
US11586912B2 (en) * 2019-10-18 2023-02-21 International Business Machines Corporation Integrated noise generation for adversarial training
EP3816864A1 (en) * 2019-10-28 2021-05-05 Robert Bosch GmbH Device and method for the generation of synthetic data in generative networks
CN111008277B (zh) * 2019-10-30 2020-11-03 创意信息技术股份有限公司 一种自动文本摘要方法
WO2020035085A2 (en) * 2019-10-31 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for determining voice characteristics
US20210150306A1 (en) * 2019-11-14 2021-05-20 Qualcomm Incorporated Phase selective convolution with dynamic weight selection
US11710046B2 (en) * 2019-11-29 2023-07-25 42Maru Inc. Method and apparatus for generating Q and A model by using adversarial learning
WO2021112918A1 (en) 2019-12-02 2021-06-10 Caris Mpi, Inc. Pan-cancer platinum response predictor
US11727284B2 (en) 2019-12-12 2023-08-15 Business Objects Software Ltd Interpretation of machine learning results using feature analysis
US20210192376A1 (en) * 2019-12-23 2021-06-24 Sap Se Automated, progressive explanations of machine learning results
CN111104997B (zh) * 2019-12-25 2023-05-23 青岛创新奇智科技集团股份有限公司 一种基于深度学习的商品二维码生成方法及系统
CN113093967A (zh) 2020-01-08 2021-07-09 富泰华工业(深圳)有限公司 数据生成方法、装置、计算机装置及存储介质
US11138094B2 (en) 2020-01-10 2021-10-05 International Business Machines Corporation Creation of minimal working examples and environments for troubleshooting code issues
US11163592B2 (en) * 2020-01-10 2021-11-02 International Business Machines Corporation Generation of benchmarks of applications based on performance traces
CN111131658B (zh) * 2020-01-19 2021-08-24 中国科学技术大学 图像隐写方法、装置、电子设备及介质
US11675879B2 (en) * 2020-02-20 2023-06-13 K2Ai, LLC Apparatus and method for operating a detection and response system
US11776679B2 (en) * 2020-03-10 2023-10-03 The Board Of Trustees Of The Leland Stanford Junior University Methods for risk map prediction in AI-based MRI reconstruction
TWI714480B (zh) * 2020-03-19 2020-12-21 索爾智慧機械有限公司 拉帽安裝工具測試儀器之數據顯示方法
WO2021194516A1 (en) 2020-03-23 2021-09-30 D5Ai Llc Data-dependent node-to-node knowledge sharing by regularization in deep learning
US11494496B2 (en) * 2020-03-30 2022-11-08 International Business Machines Corporation Measuring overfitting of machine learning computer model and susceptibility to security threats
US11580455B2 (en) 2020-04-01 2023-02-14 Sap Se Facilitating machine learning configuration
US11514318B2 (en) * 2020-04-08 2022-11-29 International Business Machines Corporation Multi-source transfer learning from pre-trained networks
CN111242948B (zh) * 2020-04-29 2020-09-01 腾讯科技(深圳)有限公司 图像处理、模型训练方法、装置、设备和存储介质
US11651225B2 (en) * 2020-05-05 2023-05-16 Mitsubishi Electric Research Laboratories, Inc. Non-uniform regularization in artificial neural networks for adaptable scaling
US20210406693A1 (en) * 2020-06-25 2021-12-30 Nxp B.V. Data sample analysis in a dataset for a machine learning model
US20220035334A1 (en) * 2020-07-29 2022-02-03 Abb Schweiz Ag Technologies for producing training data for identifying degradation of physical components
US20220043681A1 (en) * 2020-08-04 2022-02-10 Oracle International Corporation Memory usage prediction for machine learning and deep learning models
US11909482B2 (en) * 2020-08-18 2024-02-20 Qualcomm Incorporated Federated learning for client-specific neural network parameter generation for wireless communication
US11836600B2 (en) 2020-08-20 2023-12-05 D5Ai Llc Targeted incremental growth with continual learning in deep neural networks
US20220108434A1 (en) * 2020-10-07 2022-04-07 National Technology & Engineering Solutions Of Sandia, Llc Deep learning for defect detection in high-reliability components
KR20220046324A (ko) 2020-10-07 2022-04-14 삼성전자주식회사 인공 신경망을 이용한 추론을 위한 트레이닝 방법, 인공 신경망을 이용한 추론 방법, 및 추론 장치
US11580396B2 (en) 2020-10-13 2023-02-14 Aira Technologies, Inc. Systems and methods for artificial intelligence discovered codes
US11615782B2 (en) * 2020-11-12 2023-03-28 Sony Interactive Entertainment Inc. Semi-sorted batching with variable length input for efficient training
US11818147B2 (en) * 2020-11-23 2023-11-14 Fair Isaac Corporation Overly optimistic data patterns and learned adversarial latent features
US20220180254A1 (en) * 2020-12-08 2022-06-09 International Business Machines Corporation Learning robust predictors using game theory
CN112417895A (zh) * 2020-12-15 2021-02-26 广州博冠信息科技有限公司 弹幕数据处理方法、装置、设备以及存储介质
US11088784B1 (en) 2020-12-24 2021-08-10 Aira Technologies, Inc. Systems and methods for utilizing dynamic codes with neural networks
US11575469B2 (en) 2020-12-28 2023-02-07 Aira Technologies, Inc. Multi-bit feedback protocol systems and methods
US11368250B1 (en) 2020-12-28 2022-06-21 Aira Technologies, Inc. Adaptive payload extraction and retransmission in wireless data communications with error aggregations
US11483109B2 (en) 2020-12-28 2022-10-25 Aira Technologies, Inc. Systems and methods for multi-device communication
US11191049B1 (en) 2020-12-28 2021-11-30 Aira Technologies, Inc. Systems and methods for improving wireless performance
US11477308B2 (en) 2020-12-28 2022-10-18 Aira Technologies, Inc. Adaptive payload extraction in wireless communications involving multi-access address packets
CN112685314A (zh) * 2021-01-05 2021-04-20 广州知图科技有限公司 一种JavaScript引擎安全测试方法及测试系统
US20220253990A1 (en) * 2021-02-10 2022-08-11 Adobe Inc. Media enhancement using discriminative and generative models with feedback
US20220291955A1 (en) 2021-03-09 2022-09-15 Intel Corporation Asynchronous input dependency resolution mechanism
US11489623B2 (en) * 2021-03-15 2022-11-01 Aira Technologies, Inc. Error correction in network packets
US11496242B2 (en) 2021-03-15 2022-11-08 Aira Technologies, Inc. Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets
CN113095377A (zh) * 2021-03-26 2021-07-09 中国科学院电工研究所 一种危险驾驶场景数据随机生成方法及系统
US11675817B1 (en) 2021-06-22 2023-06-13 Wells Fargo Bank, N.A. Synthetic data generation
US20220414447A1 (en) * 2021-06-24 2022-12-29 Paypal, Inc. Implicit curriculum learning
WO2023283501A1 (en) * 2021-07-06 2023-01-12 PAIGE.AI, Inc. Systems and methods to process electronic images for synthetic image generation
US11797425B2 (en) * 2021-07-09 2023-10-24 International Business Machines Corporation Data augmentation based on failure cases
DE102021208726A1 (de) 2021-08-10 2023-02-16 Robert Bosch Gesellschaft mit beschränkter Haftung Training eines Generators für synthetische Messdaten mit augmentierten Trainingsdaten
TWI780940B (zh) * 2021-10-04 2022-10-11 國立中央大學 基於深度學習的任務導向去噪系統及方法
WO2023100190A1 (en) * 2021-12-02 2023-06-08 Telefonaktiebolaget Lm Ericsson (Publ) First node, second node and methods performed thereby for handling data augmentation
US11983238B2 (en) * 2021-12-03 2024-05-14 International Business Machines Corporation Generating task-specific training data
US11948064B2 (en) 2021-12-08 2024-04-02 Visa International Service Association System, method, and computer program product for cleaning noisy data from unlabeled datasets using autoencoders
US20230289658A1 (en) * 2022-01-14 2023-09-14 Home Depot Product Authority, Llc Incremental machine learning training
WO2023192766A1 (en) * 2022-03-31 2023-10-05 D5Ai Llc Generation and discrimination training as a variable resolution game
US11983162B2 (en) 2022-04-26 2024-05-14 Truist Bank Change management process for identifying potential regulatory violations for improved processing efficiency
EP4276724A1 (de) * 2022-05-09 2023-11-15 RTL Deutschland GmbH Automatische prognose von wirkungen eines medien-objekts
WO2024044704A1 (en) * 2022-08-25 2024-02-29 Sabic Global Technologies B.V. Systems and methods for generating training data
US11615316B1 (en) * 2022-09-19 2023-03-28 Rain Neuromorphics Inc. Machine learning using gradient estimate determined using improved perturbations
US11822908B1 (en) * 2023-02-10 2023-11-21 CuraeChoice, Inc. Extensible compilation using composite programming for hardware
CN116807479B (zh) * 2023-08-28 2023-11-10 成都信息工程大学 一种基于多模态深度神经网络的驾驶注意力检测方法

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131055A (en) * 1990-02-16 1992-07-14 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Auto and hetero-associative memory using a 2-D optical logic gate
US5959574A (en) 1993-12-21 1999-09-28 Colorado State University Research Foundation Method and system for tracking multiple regional objects by multi-dimensional relaxation
US6324532B1 (en) * 1997-02-07 2001-11-27 Sarnoff Corporation Method and apparatus for training a neural network to detect objects in an image
US6128606A (en) 1997-03-11 2000-10-03 At&T Corporation Module for constructing trainable modular network in which each module inputs and outputs data structured as a graph
US7318051B2 (en) 2001-05-18 2008-01-08 Health Discovery Corporation Methods for feature selection in a learning machine
US7054847B2 (en) * 2001-09-05 2006-05-30 Pavilion Technologies, Inc. System and method for on-line training of a support vector machine
US7609608B2 (en) * 2001-09-26 2009-10-27 General Atomics Method and apparatus for data transfer using a time division multiple frequency scheme with additional modulation
US7016884B2 (en) * 2002-06-27 2006-03-21 Microsoft Corporation Probability estimate for K-nearest neighbor
US20040010480A1 (en) * 2002-07-09 2004-01-15 Lalitha Agnihotri Method, apparatus, and program for evolving neural network architectures to detect content in media information
US20040042650A1 (en) 2002-08-30 2004-03-04 Lockheed Martin Corporation Binary optical neural network classifiers for pattern recognition
US7437336B2 (en) * 2003-08-01 2008-10-14 George Mason Intellectual Properties, Inc. Polyoptimizing genetic algorithm for finding multiple solutions to problems
KR100506095B1 (ko) * 2003-11-17 2005-08-03 삼성전자주식회사 지능형 시스템에 있어서 표식검출방법 및 장치
US7587064B2 (en) 2004-02-03 2009-09-08 Hrl Laboratories, Llc Active learning system for object fingerprinting
US20070289013A1 (en) * 2006-06-08 2007-12-13 Keng Leng Albert Lim Method and system for anomaly detection using a collective set of unsupervised machine-learning algorithms
WO2008063598A2 (en) * 2006-11-17 2008-05-29 Honda Motor Co., Ltd. Fully bayesian linear regression
US8204128B2 (en) * 2007-08-01 2012-06-19 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Learning filters for enhancing the quality of block coded still and video images
US20100324708A1 (en) * 2007-11-27 2010-12-23 Nokia Corporation encoder
AU2010308329B2 (en) * 2009-10-19 2016-10-13 Labrador Diagnostics Llc Integrated health data capture and analysis system
US8731337B2 (en) * 2011-08-05 2014-05-20 Adobe Systems Incorporated Denoising and artifact removal in image upscaling
US8484022B1 (en) * 2012-07-27 2013-07-09 Google Inc. Adaptive auto-encoders
CN102930291B (zh) * 2012-10-15 2015-04-08 西安电子科技大学 用于图形图像的k近邻局部搜索遗传自动聚类方法
US8527276B1 (en) 2012-10-25 2013-09-03 Google Inc. Speech synthesis using deep neural networks
US9646226B2 (en) * 2013-04-16 2017-05-09 The Penn State Research Foundation Instance-weighted mixture modeling to enhance training collections for image annotation
US20140358828A1 (en) 2013-05-29 2014-12-04 Purepredictive, Inc. Machine learning generated action plan
US10459117B2 (en) * 2013-06-03 2019-10-29 Exxonmobil Upstream Research Company Extended subspace method for cross-talk mitigation in multi-parameter inversion
US9247911B2 (en) 2013-07-10 2016-02-02 Alivecor, Inc. Devices and methods for real-time denoising of electrocardiograms
US9753796B2 (en) * 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US20150228277A1 (en) * 2014-02-11 2015-08-13 Malaspina Labs (Barbados), Inc. Voiced Sound Pattern Detection
US11232319B2 (en) * 2014-05-16 2022-01-25 The Trustees Of The University Of Pennsylvania Applications of automatic anatomy recognition in medical tomographic imagery based on fuzzy anatomy models
WO2016037300A1 (en) * 2014-09-10 2016-03-17 Xiaoou Tang Method and system for multi-class object detection
US10832138B2 (en) * 2014-11-27 2020-11-10 Samsung Electronics Co., Ltd. Method and apparatus for extending neural network
US10275719B2 (en) 2015-01-29 2019-04-30 Qualcomm Incorporated Hyper-parameter selection for deep convolutional networks
US9576250B2 (en) 2015-02-24 2017-02-21 Xerox Corporation Method and system for simulating users in the context of a parking lot based on the automatic learning of a user choice decision function from historical data considering multiple user behavior profiles
US10410118B2 (en) 2015-03-13 2019-09-10 Deep Genomics Incorporated System and method for training neural networks
US20160277767A1 (en) * 2015-03-16 2016-09-22 Thomson Licensing Methods, systems and apparatus for determining prediction adjustment factors
US20160321523A1 (en) 2015-04-30 2016-11-03 The Regents Of The University Of California Using machine learning to filter monte carlo noise from images
US10565518B2 (en) 2015-06-23 2020-02-18 Adobe Inc. Collaborative feature learning from social media
US10552730B2 (en) 2015-06-30 2020-02-04 Adobe Inc. Procedural modeling using autoencoder neural networks
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10521902B2 (en) * 2015-10-14 2019-12-31 The Regents Of The University Of California Automated segmentation of organ chambers using deep learning methods from medical imaging
US10776712B2 (en) * 2015-12-02 2020-09-15 Preferred Networks, Inc. Generative machine learning systems for drug design
US11170294B2 (en) * 2016-01-07 2021-11-09 Intel Corporation Hardware accelerated machine learning
US10043243B2 (en) * 2016-01-22 2018-08-07 Siemens Healthcare Gmbh Deep unfolding algorithm for efficient image denoising under varying noise conditions
US10733532B2 (en) * 2016-01-27 2020-08-04 Bonsai AI, Inc. Multiple user interfaces of an artificial intelligence system to accommodate different types of users solving different types of problems with artificial intelligence
US11087234B2 (en) * 2016-01-29 2021-08-10 Verizon Media Inc. Method and system for distributed deep machine learning
US10176799B2 (en) * 2016-02-02 2019-01-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for training language models to reduce recognition errors
US10089717B2 (en) * 2016-04-05 2018-10-02 Flipboard, Inc. Image scaling using a convolutional neural network
US20170328194A1 (en) 2016-04-25 2017-11-16 University Of Southern California Autoencoder-derived features as inputs to classification algorithms for predicting failures
EP4312157A3 (en) * 2016-05-20 2024-03-20 DeepMind Technologies Limited Progressive neurale netzwerke
US10043252B2 (en) * 2016-06-14 2018-08-07 Intel Corporation Adaptive filtering with weight analysis
US10387765B2 (en) * 2016-06-23 2019-08-20 Siemens Healthcare Gmbh Image correction using a deep generative machine-learning model
US20180024968A1 (en) 2016-07-22 2018-01-25 Xerox Corporation System and method for domain adaptation using marginalized stacked denoising autoencoders with domain prediction regularization
US10504004B2 (en) * 2016-09-16 2019-12-10 General Dynamics Mission Systems, Inc. Systems and methods for deep model translation generation
US11210589B2 (en) 2016-09-28 2021-12-28 D5Ai Llc Learning coach for machine learning system
US10096088B2 (en) * 2016-09-28 2018-10-09 Disney Enterprises, Inc. Robust regression method for image-space denoising
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
US10621586B2 (en) * 2017-01-31 2020-04-14 Paypal, Inc. Fraud prediction based on partial usage data
US20180218256A1 (en) * 2017-02-02 2018-08-02 Qualcomm Incorporated Deep convolution neural network behavior generator
WO2018175098A1 (en) 2017-03-24 2018-09-27 D5Ai Llc Learning coach for machine learning system
US10489887B2 (en) * 2017-04-10 2019-11-26 Samsung Electronics Co., Ltd. System and method for deep learning image super resolution
US11361758B2 (en) 2017-04-18 2022-06-14 D5Ai Llc Multi-stage machine learning and recognition
US20180342045A1 (en) * 2017-05-26 2018-11-29 Microsoft Technology Licensing, Llc Image resolution enhancement using machine learning
WO2018226492A1 (en) 2017-06-05 2018-12-13 D5Ai Llc Asynchronous agents with learning coaches and structurally modifying deep neural networks without performance degradation
EP3635716A4 (en) 2017-06-08 2021-04-07 D5Ai Llc DATA DISTRIBUTION BY GRADIENT DIRECTION FOR NEURAL NETWORKS
US20200143240A1 (en) 2017-06-12 2020-05-07 D5Ai Llc Robust anti-adversarial machine learning
CN110914839B (zh) 2017-06-26 2024-04-26 D5Ai有限责任公司 错误去相关的选择性训练
US11003982B2 (en) 2017-06-27 2021-05-11 D5Ai Llc Aligned training of deep networks
US11403531B2 (en) * 2017-07-19 2022-08-02 Disney Enterprises, Inc. Factorized variational autoencoders
WO2019067831A1 (en) 2017-09-28 2019-04-04 D5Ai Llc MULTI-OBJECTIVE DEEP LEARNING GENERATORS
WO2019067960A1 (en) 2017-09-28 2019-04-04 D5Ai Llc AGGRESSIVE DEVELOPMENT USING COOPERATIVE GENERATORS
US10679129B2 (en) 2017-09-28 2020-06-09 D5Ai Llc Stochastic categorical autoencoder network
WO2019067542A1 (en) 2017-09-28 2019-04-04 D5Ai Llc JOINT OPTIMIZATION OF DEEP LEARNING SETS
US10592779B2 (en) 2017-12-21 2020-03-17 International Business Machines Corporation Generative adversarial network medical image generation for training of a classifier
US10540578B2 (en) 2017-12-21 2020-01-21 International Business Machines Corporation Adapting a generative adversarial network to new data sources for image classification
US11138731B2 (en) * 2018-05-30 2021-10-05 Siemens Healthcare Gmbh Methods for generating synthetic training data and for training deep learning algorithms for tumor lesion characterization, method and system for tumor lesion characterization, computer program and electronically readable storage medium
US10692019B2 (en) * 2018-07-06 2020-06-23 Capital One Services, Llc Failure feedback system for enhancing machine learning accuracy by synthetic data generation
EP3624021A1 (en) * 2018-09-17 2020-03-18 Robert Bosch GmbH Device and method for training an augmented discriminator
US11580329B2 (en) * 2018-09-18 2023-02-14 Microsoft Technology Licensing, Llc Machine-learning training service for synthetic data
US11593641B2 (en) * 2018-09-19 2023-02-28 Tata Consultancy Services Limited Automatic generation of synthetic samples using dynamic deep autoencoders
US11366982B2 (en) 2018-09-24 2022-06-21 Sap Se Computer systems for detecting training data usage in generative models

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI810487B (zh) * 2020-09-25 2023-08-01 國立成功大學 太陽能發電預測方法
TWI769820B (zh) * 2021-05-19 2022-07-01 鴻海精密工業股份有限公司 生成對抗網路優化方法及電子設備
WO2022252013A1 (en) * 2021-05-31 2022-12-08 Robert Bosch Gmbh Method and apparatus for training neural network for imitating demonstrator's behavior

Also Published As

Publication number Publication date
US11531900B2 (en) 2022-12-20
EP3688678A1 (en) 2020-08-05
CN111226232B (zh) 2024-04-12
CN111226236A (zh) 2020-06-02
US20220335305A1 (en) 2022-10-20
US11354578B2 (en) 2022-06-07
WO2019067236A1 (en) 2019-04-04
US20190095798A1 (en) 2019-03-28
EP3688676A1 (en) 2020-08-05
US11410050B2 (en) 2022-08-09
US20200210842A1 (en) 2020-07-02
US11074506B2 (en) 2021-07-27
US20200285939A1 (en) 2020-09-10
WO2019067248A1 (en) 2019-04-04
US11461661B2 (en) 2022-10-04
US10679129B2 (en) 2020-06-09
EP3688676A4 (en) 2021-06-23
EP3688678A4 (en) 2021-07-28
US20200265320A1 (en) 2020-08-20
WO2019067281A1 (en) 2019-04-04
US20220383131A1 (en) 2022-12-01
CN111226232A (zh) 2020-06-02
EP3688677A4 (en) 2021-08-18
US11074505B2 (en) 2021-07-27
EP3688677A1 (en) 2020-08-05
US11687788B2 (en) 2023-06-27
US20200279165A1 (en) 2020-09-03
US20230289611A1 (en) 2023-09-14
US20200285948A1 (en) 2020-09-10
US20200320371A1 (en) 2020-10-08
US20200279188A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
US11531900B2 (en) Imitation learning for machine learning systems with synthetic data generators
WO2019067960A1 (en) AGGRESSIVE DEVELOPMENT USING COOPERATIVE GENERATORS
Gonzalez et al. Improved training speed, accuracy, and data utilization through loss function optimization
CN111602149B (zh) 自组织偏序网络
Purwar et al. Hybrid prediction model with missing value imputation for medical data
US20200167659A1 (en) Device and method for training neural network
CN101310294A (zh) 神经网络的训练方法
JP2009516246A5 (zh)
Holst The use of a Bayesian neural network model for classification tasks
Vadimovich et al. Self-adjusted evolutionary algorithms based approach for automated design of fuzzy logic systems
Bohdal et al. Meta-calibration: Learning of model calibration using differentiable expected calibration error
de Castro et al. BAIS: A Bayesian Artificial Immune System for the effective handling of building blocks
Ledesma et al. Feature selection using artificial neural networks
Berral-García When and how to apply Statistics, Machine Learning and Deep Learning techniques
Duch et al. Meta-learning via search combined with parameter optimization
Papič et al. Conditional generative positive and unlabeled learning
Zhu et al. Automated Machine Learning and Meta-Learning for Multimedia
Giampaolo et al. Investigating random variations of the forward-forward algorithm for training neural networks
Bengoetxea et al. Solving graph matching with EDAs using a permutation-based representation
Zhao et al. Streaming adaptive nonparametric variational autoencoder
Ororbia Brain-inspired machine intelligence: A survey of neurobiologically-plausible credit assignment
Plested Beyond binary hyperparameters in deep transfer learning for image classification
Boubrahimi et al. Heuristics Significance of Neuro-Ensemble-based Time Series Classification
Swingler Mixed Order Hyper-Networks for Function Approximation and Optimisation
Punjabi et al. Enhancing Performance of Lazy Learner by Means of Binary Particle Swarm Optimization

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