CN109952581A - 用于机器学习系统的学习教练 - Google Patents
用于机器学习系统的学习教练 Download PDFInfo
- Publication number
- CN109952581A CN109952581A CN201780070591.1A CN201780070591A CN109952581A CN 109952581 A CN109952581 A CN 109952581A CN 201780070591 A CN201780070591 A CN 201780070591A CN 109952581 A CN109952581 A CN 109952581A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- student
- learning system
- study
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 262
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000012549 training Methods 0.000 claims description 111
- 230000004913 activation Effects 0.000 claims description 44
- 238000013528 artificial neural network Methods 0.000 claims description 40
- 230000008859 change Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 35
- 230000002708 enhancing effect Effects 0.000 claims description 19
- 238000003909 pattern recognition Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 8
- 210000003516 pericardium Anatomy 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 41
- 238000012986 modification Methods 0.000 abstract description 13
- 230000004048 modification Effects 0.000 abstract description 13
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 29
- 238000013135 deep learning Methods 0.000 description 23
- 238000012360 testing method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 210000002569 neuron Anatomy 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000036961 partial effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000007850 degeneration Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 210000005036 nerve Anatomy 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000007786 learning performance Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 210000003205 muscle Anatomy 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 201000004409 schistosomiasis Diseases 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000002554 cardiac rehabilitation Methods 0.000 description 1
- 230000002802 cardiorespiratory effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
- G06F18/2185—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
一种机器学习系统,其包括教练机器学习系统,所述教练机器学习系统利用机器学习来帮助学生机器学习系统学习其自己的系统。通过监测学生学习系统,所述教练机器学习系统可以(通过机器学习技术)学习用于所述学生学习系统的“超级参数”,所述超级参数控制所述学生学习系统的机器学习过程。机器学习教练还可以确定针对学生学习系统架构的结构性修改。所述学习教练还可以控制流向所述学生学习系统的数据流。
Description
优先权
本PCT申请要求以下美国临时专利申请的优先权:(1)2016年9月28日提交的标题为“利用问答法教练的深度学习(Deep Learning With Socratic Coaches)”的系列第62/400,853号;以及(2)2017年3月24日提交的标题为“用于机器学习系统的学习教练(Learning Coach for Machine Learning System)”的系列第62/476,280号。这两个临时申请通过引用以其整体并入本文。
背景技术
机器学习是一种通过计算机实现的用来自我学习算法的过程,其可以通过由采样数据输入构建模型对数据做出预测,而无需被明确地编程为如此。存在多种类型的机器学习系统类型,例如,人工神经网络(ANN)、决策树、支持向量机(SVM)以及其它类型。这些系统在利用新数据做出有意义的预测之前首先需要根据一些采样输入接受训练。例如,ANN通常由多层神经元组成。每个神经元与多个其它神经元相连接,并且链路可以增强或抑制其对相连接的神经元的激活状态的影响。每个单独的神经元单元可以具有将其所有输入的值合并在一起的求和函数。可以存在对每个连接和对神经元自身的阈值函数或者极限函数,使得信号在传播到其它神经元之前必须超越极限。用于输入到节点的每个相应输入的权重可以通过误差代价函数的偏导数的反向传播接受训练,同时估计值在训练数据采样上累积。大型复杂ANN可以在节点之间具有数百万的连接,并且需要学习针对每个连接的权重。
发明内容
在一个方面,本发明涉及一种计算机系统,其包括一个或多个“学生”机器学习系统连同至少一个“教练”机器学习系统。教练机器学习系统自己利用机器学习来帮助学生机器学习系统。例如,通过监测学生学习系统,教练机器学习系统可以(通过机器学习技术)学习用于学生机器学习系统的“超级参数”,所述超级参数控制学生学习系统的机器学习过程。例如,在其中学生机器学习系统使用深度神经网络(DNN)的情况下,习得的超级参数可以包括小批量大小M、学习速率η、正则化参数λ和/或动量参数μ。另外,一组习得的超级参数可以用于确定学生机器学习系统的网络的所有权重,或者自定义的习得超级参数可用于网络中的不同权重。例如,学生学习系统的每个权重(或者其它可训练参数)可以具有其自己的一组自定义的习得超级参数,其可以被学习系统教练学习。
另外地或者作为学习超级参数的替代,机器学习教练可以确定针对学生学习系统架构的结构性修改。例如,在学生学习系统使用DNN的情况下,机器学习教练可以修改DNN的结构,例如通过添加或者删除层和/或通过添加或删除层中的节点。另外,学生学习系统可以包括机器学习系统的套件。学习教练在此类场景下可以控制流向各个机器学习系统的数据流和/或向套件添加构件。
学生学习系统和机器学习教练优选地并行操作。也就是说,机器学习教练在学生学习系统处于学习过程中的同时观察学生学习系统,并且机器学习教练在学生学习系统处于学习过程中的同时对学生学习系统做出其改变(例如,超级参数、结构性修改等)。学习教练和学生可以是相同或者不同类型的机器学习架构。
学习教练可以具有与学生学习系统的目标不同的目标函数。例如,学生学习系统可以最小化误差率或者误差的代价的一些其它量度,而学习教练对学生学习系统做出结构性修改以优化误差的代价和执行计算的代价的一些组合。学习教练还可以对学生学习系统做出修改,特别是添加,以提高其能力并同时保证在性能方面不会有退化。
通过本文的描述本发明的这些有益效果以及其它有益效果将是显而易见的。
附图说明
在本文中通过示例并结合附图对本发明的各种实施例进行描述,其中:
图1、图14以及图15是根据本发明各种实施例的包括学生机器学习系统和学习教练的系统的框图;
图2是根据本发明各种实施例的一种方法的框图,学习教练通过所述方法控制学生学习系统的训练;
图3是根据本发明各种实施例的方法的示图,学习教练通过所述方法在学生学习系统接受训练时采集学生学习系统的观测值;
图4是根据本发明各种实施例的数据流受学习教练控制的大型学习系统的框图;
图5是根据本发明各种实施例的图4中的系统的框图,其中一些学习模块存储在高速存储器或缓存中而其它模块存储在辅助存储装置中;
图6示出了根据本发明各种实施例的用于向机器学习网络传递显性知识的方法;
图7和图8示出了根据本发明各种实施例的用于向学习网络添加节点的机制;
图9是根据本发明各种实施例的示出了用于形成显性知识的方法的流程图;
图10是根据本发明各种实施例的示出了用于使隐性知识可传送的系统的框图;
图11是根据本发明各种实施例的在系统的机器学习模块之间共享知识的大型机器学习系统的框图;
图12是根据本发明各种实施例的套件机器学习系统的框图,其中学习教练控制在套件构件之间的数据分配;以及
图13是根据本发明各种实施例的套件机器学习系统的框图,其中初步分类器控制在套件构件之间的数据分配。
具体实施方式
图1是根据本发明的基础实施例的计算机系统10的框图。图1示出了机器学习系统11,其被训练为识别从数据源21提供的数据中的模式。由于机器学习系统11正处于训练或学习过程中,在本文中其也被称为“学生”。系统10进一步包括机器学习系统41,其控制学习过程的一些方面并且在学生机器学习系统11处于学习模式的过程中起到辅助的作用。由于其帮助所述学习过程,机器学习系统41被称为“学习教练”。
在各种实施例中,学习教练41本身就是机器学习系统。尽管如此,学习教练41并不尝试识别学生学习系统11正在学习如何识别的模式。由学习教练41处理的主要数据是学生机器学习系统11的内部状态的观测值31以及学生系统11在其训练过程期间计算的数据。此外,学习教练41使用的控制机制之一是选择用于学生11的训练数据。因此,学习教练41还可以接收训练数据34作为输入,但是并非出于识别其中的模式的目的,如本文中所述。学习教练41优选地还具有控制并辅助学生11的学习过程的其它手段,包括控制学生11的超级参数32以及改变学生机器学习系统11的内部结构33,如本文中所述。
出于讨论的目的,首先关注被称为“超级参数”的控制。一般来讲,任何大型复杂机器学习系统,例如学生学习系统11,具有大量的参数,需要为这些参数找到优良值以在模式识别过程中最小化误差的代价的一些量度。这些参数是可训练的参数。找到这些值是在机器学习系统中被称为“学习”的过程的本质。可能存在数百万或者甚至数十亿的这种参数,因此学习过程可能是非常耗时且昂贵的。为了帮助学习过程更好地起作用,通常存在能调节学习过程以对用于特定任务的数据类型更好地起作用的若干控制参数。这些控制参数并非通过机器学习系统11习得,而是通常由系统设计者指定。为了将其与正在由系统11学习的参数进行区分,这些控制参数在本文中被称为“超级参数”,它们是控制机器学习系统的学习过程的参数。
在本发明的实施例中,这些超级参数中的一些或者全部并非由系统设计者进行控制,而是由学习教练41进行控制。
为了通过示例性实例来说明超级参数的使用,使学生系统11为大型深度前馈神经网络(DNN),其为机器学习领域的技术人员所公知的一种机器学习系统类型。深度神经网络是一种具有多层节点的网络,节点表示神经元的人工模型,其中网络中的连接或弧表示由节点所表示的神经元之间的连接强度。每个弧与一定的数值相关联,所述数值表示其连接的强度或“权重”。这些权重包括在学生系统11的训练中要进行学习的参数。在大型DNN中,可能存在数百万的节点并具有数十亿的连接,并且因此,需要学习数十亿的这些连接权重。各个节点和弧可以使用真正神经元的被大大简化的人工模型。用于深度神经网络的学习过程的复杂度来源于大量的节点和弧及其交互的复杂度。
出于例示说明的目的,将对用于训练深度前馈神经网络的超级参数的使用进行描述。本示例仅作为例示说明而并非旨在限制本发明的范围,因为本发明可以应用于任何复杂的机器学习系统,包括支持向量机(SVM)、随机森林、CART分析、隐藏随机过程模型、动态贝叶斯网络、波尔兹曼机、这些系统中任何的套件以及甚至异构的套件。机器学习系统可以按照若干方式中的任意一种或多种复杂化。其可以具有大型复杂的内部结构、其学习可以由超级参数控制,或者其训练可以通过根据大量的训练数据的计算密集处理来完成。例示性训练方法是一种对数似然误差代价函数的随机梯度下降的迭代过程,其中输出节点采用柔性最大分类、每个训练样例的梯度通过对误差代价函数的偏导数的反向传播来估计、估计值在小批量上被累积,针对每个小批量的参数的进行一次更新。在例示性方法中,训练过程通过涅斯捷罗夫动量增强并通过L2正则化平滑。也可以按照类似的方式使用其它公知的训练方法。
针对这种公知的训练过程的伪码如下所示:
每个权重wl,i,j可以被初始化为由正态分布得到的随机数,其中wi,j是第k-1层中节点i和第k层中节点j之间的连接权重,而nj是到节点nj内的连接的数量。包括输出层在内有L层。在小批量中有M个样例。对于l<L的每一层,存在总是具有激活1.0的哑结点0,因此权重wl,0,j用作第l+1层中节点j的偏差。
这种训练深度前馈神经网络的方法是已知且成功的。然而,其仅是多种变型中的一个示例。本发明按照类似于本例示性示例的方式适用于这些变型中任一个。在现有技术中,M、η、λ、μ以及其它超级参数必须通过实验来确定。在本发明的实施例中,学习教练41通过观察学生学习系统11的学习过程来学习优化这些超级参数。由于这些超级参数具有数值,且大多为连续变量,学习教练41将学生学习系统11的学习性能建模为回归。替代地或者作为补充,学习教练41可以直接估计超级参数的最优值来作为学习教练41已经在学生学习系统11的训练的当前或先前步骤期间做出的观测的回归函数。学习教练41可以将分类别的超级参数作为分类任务来学习。
应当注意,存在若干控制训练的超级参数,包括例如M(小批量的大小)、η(学习速率)、λ(正则化参数)以及μ(动量参数)。一般来讲,这些参数的值通过试错法来设置,其为非常冗长枯燥的过程,因为每次试验需要整个训练程序对大量的训练数据进行测试运行并且随后对单独的验证组进行测试。从可以自动地探索整个n维网格的意义上来讲,所述过程可以是自动化的,但是这样在计算上是更为昂贵的。
此外,在例示性示例中,这些超级参数中的每一个是应用于网络中所有参数的常数。也就是说,相同的值被用于可能具有数百万节点和数十亿连接的网络中的每个权重。可以通过使用允许学习速率超级参数η针对每个权重不同的若干方案中的任一种来实现一定的改进。一种被称为RMSprop的技术是这些方案中的一个的例示性示例。
在RMSprop中,针对每个权重存在不同的学习速率,这取决于其以往偏导数的大小。理由是,如果一个权重已经在过去具有多个较大的偏导数,则其不再需要具有和其它权重一样高的学习速率。然而,RMSprop仅添加了一个额外的控制度,因为η的变化取决于单个统计。这种一个额外的控制度几乎无法开始着手处理在学习过程的各个阶段在网络的各个部门中训练的权重的所有不同条件下自定义学习速率的问题。当然,人类是无法针对多达超过数十亿参数中的每一个来单独地自定义学习计划表的。
然而,在本发明的例示性实施例中,学习教练41可以自定义学生学习系统11的超级参数。具体地,图2示出了学习教练41用于控制学生学习系统11的各个方面的方法的实施例。如图2中所示,学习教练41可以在框32C处控制学生学习系统11的超级参数;如本文中所述在框33C处修改学生学习系统11的结构;和/或如本文中所述在框34C处控制针对学生学习系统11的数据选择。图2中的框11A提供了用于学生学习系统11的示例性学习算法。算法中的每个超级参数ηl,i,j,λl,i,j,μl,i,j具有下标l,i,j。甚至小批量大小M可以针对每个连接权重被自定义成不同的值Ml,i,j。这种对M的自定义可以通过将针对权重的更新推迟成M默认值的一定倍数来实现。每个连接权重可以使用倍数的自定义值。由此每个权重,也就是接受训练的每个参数,可以具有用于超级参数的一组唯一的值。
每个超级参数被由学习教练41所控制的N个自定义超级参数替换,其中N是权重(或者其它被学习参数)的总数量。在大型神经网络中,N可以是数十亿。伪码现在变为如图2的框11A中所示那样:
类似的自定义超级参数可以由学习教练41针对其它神经网络训练算法以及针对其它机器学习系统的训练算法来进行控制。尽管已经关于通常被用于训练深度神经网络的一组超级参数描述了本例示性实施例,但是应当理解,本发明可以将同样的方法应用于学习教练41来学习估计用于训练任何类型的学生机器学习系统11的超级参数的最佳值。
作为机器学习系统,学习教练41可以基于与特定连接权重及其周围节点有关的变量的观测值来学习估计每个自定义超级参数的最优值。对于每个小批量k中的每个训练样例m,其可以观测深度神经网络的前向激活和偏导数的反向传播的结果。应当注意,其可以针对小批量中的每一个样例观测这些值,而不仅仅是针对小批量梯度下降中每次更新的概括统计。
如图3的框31和35中所示,每个连接权重参数的每次更新为学习教练41提供一组超级参数值对学生学习系统11的未来学习性能的影响的样例。学习教练41将这种影响建模为超级参数和背景的函数,也就是在针对先前小批量或者多个先前小批量中每个样例的的连接周围的一组观测。换言之,学习教练具有数百万的训练样例,通过这些样例其可以学习针对每个自定义情形预测最佳超级参数值。
本发明的实施例的一个方面是,学习教练41学习识别单独的权重参数的观测中的模式以及网络中附近节点和连接中的模式。学习教练41通过观测学生学习系统11的多个不同样例的学习过程来学习这些模式。也就是说,学习教练41从训练其它学生学习系统11的先前经验中学习,而不仅仅是从当前样例中学习。
如将参考其它附图更详细进行解释的,学习教练41可以将类似的学习过程应用于其修改学生学习系统11的结构的能力,如图2的框33C中所示(例如,在学生学习系统11使用网络的情况下添加或去除网络的层),以及应用于其控制对提供给学生学习系统的训练数据的选择的能力,如图2中的框34C中所示。
根据各种实施例的本发明的另一个一般性方面是学习教练41可以在学生学习系统11中做出结构性改变,如图1中的控制线33所示。例如,如果学生学习系统11是神经网络,则学习教练41可以添加或删除连接、节点或成组的节点,甚至整层的节点。当学习教练41做出决策时,例如结构性改变,或者当估计离散变量而不是连续变量或超级参数时,其可以将其任务表示为分类问题而不是回归。例如,如果学习教练41是神经网络,则其可以对一组输出节点而不是线性节点使用柔性最大函数。
当学习教练41对学生学习系统11做出结构性改变时,其不仅影响了学习速率而且还影响了最小代价。其还影响学生学习系统11所需要的计算的量。根据各种实施例的本发明的一个方面是,学习教练41可以具有与学生学习系统11的目标不同的目标。例如,在评估结构改变的过程中,学习教练41可以优化给定结构的计算成本和误差率的一些量度的一些组合,而学生学习系统11仅仅可以最小化固定的结构的误差代价的一些量度。
在一个例示性实施例中,学习教练41通过运行实验训练自己以做出与学生学习系统11中的结构性改变有关的决策。在本例示性实施例中,学习教练41实现两种版本的学生学习系统11,一种具有结构性改变而另一种没有结构性改变。学习教练训练两种版本的学生学习系统11并且在独立的评估组上评估它们的比较性能。其还测量或估计对两种版本的比较计算要求。学习教练41通过这种试错实验来学习做出与学生学习系统11中的结构性改变有关的决策,类似于图2和图3中所示的用于估计自定义超级参数的试错过程。
学生学习系统11和学习教练41可以利用计算机硬件和软件来实现。例如,它们可以是具有多个处理CPU核心的集成计算机系统(例如,服务器或服务器的网络)的一部分。一组核心可以执行用于学生学习系统11的程序指令,另一组用于学习教练41等等。程序指令可以存储在可以由处理核心访问的计算机存储器中,例如RAM、ROM、处理器寄存器或者处理器高速缓存。在其它实施例中,学生学习系统11和/或学习教练41可以在图形处理单元(GPU)核心上执行,例如通用GPU(GPGPU)流水线。GPU核心并行地操作并且由此通常可以更有效地处理数据,即一系列的CPU核心,但是所有的核心同时执行同一代码。因此,如果学生学习系统11和/或学习教练41利用GPGPU流水线实现时,GPU核心可能需要轮流执行用于每个系统的代码。在其它实施例中,学生学习系统11和/或学习教练41可以是分布式计算机系统的一部分。例如,实现学生学习系统11和学习教练41的计算机设备(例如,服务器)可以彼此远离并利用合适的有线和/或无线数据通信链路通过数据网络进行互连,例如LAN、WAN、因特网等。数据可以在利用合适的数据链路的各种系统之间共享,例如数据总线(优选地为高速数据总线)或者网络链路(例如,以太网)。
图4是根据其它实施例的本发明的例示性实施例的框图。在本例示性实施例中,存在多个学习模块101以及一个或多个数据选择模块105,所有模块通过交换网络104连接。每个学习模块包括大型学习系统102和学习教练103。大型学习系统102和学习教练是以上所述的学生学习系统11和学习教练41的示例。如此,每个大型学习模块101可以是深度神经网络,其具有多达一百或更多个层、数百万的节点以及数十亿的连接。大型学习系统102可以例如是模式分类系统,其通过选择最佳匹配的类别或者通过针对每个类别计算匹配度的评分来表示其输出。替代地,大型学习系统102可以是回归型的系统,其将其输出表示为对通过噪声采样估计的一些未知函数的近似。在一个例示性实施例中,在学习教练103的指导下,每个学习模块101被训练为专门化,从而关于特定问题或者关于特定类型的数据最佳地执行。
每个数据选择模块105可以包括数据源108、数据预处理器107以及用于数据预处理器的学习教练106。数据108的每个项目或者批的副本被转换成封包并且通过交换网络104发送给学习模块101中的一个或多个,或被丢弃。在例示性实施例中,每个数据选择模块105确定数据108的每个封包的副本中每一个的目标。在一个例示性实施例中,数据预处理器107是模式识别系统,其对将被发送至学习模块的相同数据108执行一些分类任务。如此数据预处理器107和学习教练106是以上所述的学生学习系统11和学习教练41的示例。也就是说,学习教练106可以如上所述控制数据预处理器107的超级参数、结构或数据流。在另一个例示性示例中,数据预处理器107基于元数据确定数据封包108的目标。例如,在语音识别系统中,数据预处理器107可以基于说话者的已知或估计身份来确定封包的目标。
如本文中所述,除了其它之外,图4中的学习教练103、106可以通过例如添加和删除网络中的节点来改变相关联的机器学习系统102、107的架构。其可以例如通过调整随机梯度下降算法中步长大小或者用于批量更新的批大小来控制学习系统102、107的学习过程。学习教练103、106还可以施加正则化或者改变它们所相关联的学生学习系统102、107的正则化中的权重。当存在多于一个相关联机器学习系统时,一个或多个学习教练103、106可以监督并控制机器学习系统的知识的组合或者可以组合针对特定数据项目的输出。学习教练103、106甚至可以改变一起对某项任务作业的常规机器学习系统的数量,例如,通过克隆一个或多个现有系统并且随后不同地训练它们,或者替代地通过将两个或更多个系统合并成单个系统。这些由学习教练做出的动作可以通过基于实践数据测试并评估可用于学习教练的选项来优化,例如在以下美国专利中所描述的,其通过引用整体并入本文:第8,014,591号、第8,180,147号、第8,331,656号以及第8,331,657号。
在其中数据预处理器107为模式识别系统的实施例中,数据预处理器107可以类似于学习模块101中的大型学习系统102或者其可以是完全不同的。具体地,在一些实施例中,其可以比大型学习系统102更小且更简单。其还可以采用完全不同的形式。例如,大型学习系统102可以是深度神经网络,而数据预处理器107可以是隐藏马尔科夫过程模型、随机森林或者简单k-均值分类器。在一些实施例中,大型学习系统102或者数据预处理器107可以包括多种类型的模式识别系统的混合。
两个或更多个大型学习系统102可以被合并成单个更大的学习系统(其可以操作为在更大的整体系统中的大型学习系统102)。近来大型深度神经网络的成功已经显示出,在具有非常大量数据的应用中,神经网络越大则性能越佳,直到达到取决于数据量的一定极限。然而,在多种应用中,对可以被有效实现的神经网络的大小存在实际的限制。存在若干方式来将用于深度神经网络及其训练的算法实现为在多个处理核心上并行地运行。尤其有成本效益的是将它们实现为在图形处理单元(GPU)上运行,所述图形处理单元在单个芯片上具有数千个处理核心。在单个芯片上具有如此大量的处理核心的情况下,对在多个GPU板上实现的神经网络的大小的限制因素通常是GPU板之间的数据通信带宽。
在图4中的例示性实施例中,每个大型学习模块101可以包含一个或多个深度神经网络或者其它学习系统,其实现在单个GPU板上,或者实现在通过超高速数据通信信道连接的一组GPU板上。在本例示性实施例中,假定模块之间的数据通信带宽大体上低于模块内部件之间的内部通信带宽。
此外,在图4中的例示性实施例中,类似于图1中所示的实施例,每个大型学习系统102可以在专门化任务中在其学习教练103的控制和引导下接受训练。此外,针对专门化模块101的任务可以被专门化成其仅适用于一小部分的数据,因此特定的专门化模块可以仅在一小部分时间活动。在图5的示范性实施例中所示出的在单个计算机或单个局域网上实现的多个模块的一个例示性实施例的大部分大型学习系统102处于空闲模式,有可能仅储存在辅助存储装置上(例如,并不可以直接由CPU访问,通常以硬盘驱动器、光学存储设备和/或闪速存储器来实现),同时相对少量的模块在高速存储器(例如,可以直接由CPU访问的存储器,例如主存储器RAM、处理器寄存器和/或处理器高速缓存)中的缓存中活动或者处于就绪状态。在以下示例中将讨论本实施例的具体示例。
作为针对此类活动和空闲模块的层次体系的应用的例示性示例,考虑一种用于监测和指导健身运动的系统。利用仪表化的运动器械,系统可以知晓正在由特定个体进行的运动、所涉及的肌群、正被移动的重物、将被执行的组的数量、每组重复的数量、运动的范围、运动的速率、在范围中的当前点、移动的稳定性以及该个体的整个过往历史。在一些实施例中,学习系统还可以具有针对多个隐藏或潜在变量的模型,甚至有可能是细胞生理、神经肌肉激活以及心肺系统的详细模型。系统可以在整个运动期间将每个客户的状态识别并追踪为时间函数。其可以将该信息提供给个人训练者,或者可以向正在做运动的客户提供建议和鼓励。
在本运动和健身监测示例中,可能存在针对每个客户单独自定义的学习模块101。在例示性示例中,在每个健身房或健身中心中可能存在计算机系统。然而,在任何时间任何特定的健身中心中仅一小部分的用户可能在使用它。针对特定用户用于学习模块的数据可以在该用户不在中心时存储在辅助存储装置中。
此外,系统可以在通过因特网连接的多个地理上不同的健身中心(数十、数百或数千个健身中心)实施。所述总网络范围系统可以共同学习优选健身计划。在本示例中,健身计划可以规定运动的类型、组和重复的数量以及当客户在数周或更长时间的一段时间上运动时逐渐增加重量的进步。为了学习最优计划,系统可以向在多个健身中心具有不同计划的大量客户的表现进步来学习。
每个人与其他人都不同。每个人在不同的运动课程中也不同。因此,对于每个客户可以存在自定义的学习系统(例如,图4中的学习系统102a)。然而,为了学习最优计划,需要将具有类似特征和类似需求的大量客户的数据进行组合。在例示性实施例中,数据选择模块105可以对客户执行模式识别以将他们一起分组成群组,这些群组将一起建模并将接收对训练计划的类似推荐。现役运动员可以得到与心脏康复患者等不同的对待。每个人还可以随着他们变得更为健康而在他们计划的不同阶段得到不同地对待。因此,存在针对每个个体自定义的需求,但是也存在识别特定群组并学习每个群组的成员的共享特性的需求。最后,还可以存在尝试学习适用于所有人的共性的大型学习系统102。数据选择模块105可以将用于特定人的数据发送至针对该个体自定义的学习教练系统103并另外发送至用于类似于该个体的用户的群组的健身计划学习模块,以及另外发送至学习可以适用于任何用户的知识的模块。
在支持这种个性化健身系统的硬件系统的例示性实施例中,每个健身房或健身中心可以存在具有GPU板的专用计算机,以及用于学习网络范围知识(例如,最优计划和长期健身策略)的模块的一个或多个数据中心。在单个健身中心中,单独自定义的学习模块可以存储在辅助存储装置中,除了实际上在健身中心中的客户之外,他们的模块可以位于高速存储器中。
作为另一个例示性示例,考虑手写识别。存在两种截然不同的手写数据:先前产生的手写的光学图像;以及在平板电脑或其它设备上的手写,所述平板电脑或其它设备测量位置作为时间函数并且其还可以产生类似于书写的光学图像的图。对于本例示性示例,假定系统要识别在平板上正在产生的手写。因为这种模式同样产生光学图像的等同物,训练可以通过光学手写识别数据引导启动。如果待识别的手写在平板电脑或智能手机上产生,自然识别可以被优化为识别移动设备的所有者的手写。然而,还期望设备能够在所有者让其他人在设备上写东西时识别手写。
在一个此类实施例中,识别应用程序可能在数以亿万计的设备(例如,平板电脑)上运行,同时在每个设备上有单独的自定义识别模块以及多个较低程度自定义的模块在数据中心中运行。由于每个个体的手写是唯一的,如在健身中心示例中那样,对于自定义、半自定义以及通用学习系统存在相同的需求。
在手写识别的另一个实施例中,每个学习模块101可以按照完全不同的方式专门化。在本实施例中,每个数据预处理器107可以尝试识别每个书写的词语,与大型学习系统102相同。然而,在本例示性实施例中,每个数据预处理器107的目标未必是为了得到正确的答案作为第一选择,而是总是将其包含在高评分答案的短列表中。这种答案的短列表随后被学习教练106用于将针对这种特定识别任务的数据送往专门在短列表中的项目之间进行区分的学习模块101。学习教练103还可以按照各种方式将不同的短列表分组到一起。例如,具有相同顶部选项的所有短列表可以分组到一起,从而得到针对词汇中每个字词的一个群组。在另一个示例中,对于词汇中的每个字词,针对在短列表中出现的每一对可能的字词可能存在不同的群组。在本示例中,可能存在不同的实施例,这取决于针对每个数据项目做出的副本的数量。在一个实施例中,群组可以仅取决于顶部N个评分字词选项(例如,N=2)并且可以将数据的唯一副本发送至针对N个字词的该群组的学习模块。在另一个实施例中,可以存在数据项目的单独副本,其被发送至专门于短列表上出现的成对字词中每一个的专门化学习模块。因此,在这些实施例之间,学习模块的数量大小范围从词汇的大小开始,其可以是100,000个字词或更多,直到词汇大小的100倍或更多。
针对学习模块101的学习教练103可以合并学习模块101的群组以形成一组较小的群组。然而,在一些实施例中,它们可以具有分配给同一专门化任务的一个以上的物理模块。例如,如果学习模块101在端用户系统的协作网络上运行时可以使用此类实施例。那么,即使多个物理系统在特定时间处于离线,通常仍然存在可以做同一专门化任务的一个或多个备用系统。
这些具有100,000至10,000,000个模块的字词特定实施例还示出了本发明实施例的另一个方面。并非所有的字词是同等可能的,并且针对任何特定的字词,仅少量其它字词具有与该特定字词混淆的高概率。因此,在这些实施例中,字词特定学习模块中的一些可以仅偶尔地接收来自数据选择过程的数据。在训练期间,这些不那么经常被使用的模块可以保存在辅助存储装置中,并且可以仅在特定于特定模块的数据已经聚集到足够完成随机梯度下降中批更新时被加载到高速语音存储器内,如图5中所示。具有批更新的随机梯度下降是一种用于训练深度神经网络的常见方法并且对深度神经网络领域的技术人员而言是公知的。在本实施例中,在辅助存储装置中的模型的总大小可以比高速存储器中的大小大若干数量级。
如果识别是离线而非实时完成的,则识别计算可以通过交换网络104被分选成批并且可以组织学习教练203将模块从辅助存储装置到高速存储器进行分级,使得必要的模块101对于识别计算中的每一批是活动的。在多种应用中,用于识别所需要的计算量远小于用于训练所需要的,这是因为训练数据必须被提交多次以在例如用于训练深度神经网络的随机梯度下降训练算法中达到收敛。由此,相比于关于大量训练组的有效训练所需要的而言,用于实时识别所需要的计算更少。由此,在一些需要实时识别的实施例中,识别可以在不同的硬件上实现,例如在具有超大RAM的CPU的聚类上而非在GPU上。此类CPU聚类还可以具有大量的辅助存储装置。由于CPU聚类远慢于GPU板的聚类并且由于CPU聚类通常具有超大RAM作为缓存,因此临时地加载来自辅助存储器的一些模块将能够更好保持实时识别的这种实施方式。
图4和图5中所示的实施例的另一个示例是自动语音识别。由于每个声音是不同的,自动语音识别模块101可以针对个体声音专门化,如关于个人健身系统或者关于手写识别那样。作为另一个示例,模块101中的一些可以针对词汇中的每个字词或者针对高评分字词的短列表专门化。本实施例可以类似于以上针对手写识别所讨论的字词特定专门化模块。
作为附加的示例,可以围绕声音的序列以及声音根据背景函数改变的方式来管理语音识别。每个声音的发音受到之前和之后声音的严重影响。本发明的用于基于声音序列的语音识别的一个实施例可以具有针对三个声音的每个可能序列中的中间声音的专门化学习模块101。在本实施例中,声音序列可以由数据预处理器107识别并且针对中间声音的数据可以由数据选择学习教练106和交换网络104按路径传送至专门于已经由数据预处理器107识别的三重声音的学习模块101。指定学习模块101中的大型学习系统102并不仅仅对推定声音序列打分,而是从头开始执行新的识别。在训练期间其接收针对其中数据预处理器107识别出其特定的三种声音的每个实例的数据,因此其不仅学习该声音序列的特征,还学习预处理器107误识别作为该序列的每个声音序列。应当注意,本实施例基于所识别的三重声音而不是由大型学习系统101假定的三重声音来专门化。这种实施例与语音识别领域中技术人员所公知的利用具有隐藏马尔科夫过程模型的定向搜索的三音素模型形成了对比。在此类定向搜索中的三音素模型特定于在定向中特定路径上假定的三重声音,而非由数据预处理器107识别的三重声音。这种差异促使专门化模块101的训练补偿由预处理器造成的误差从而增加了鲁棒性。此外,在识别时,计算更少,因为学习教练106仅将每个数据封包引导到一个或少量的学习模块101。
在声音序列方法的一个实施例中,声音单元可以是音位,其已经作为用于大型词汇语音识别系统的常见语音单元。然而,“音位”的概念是一种语言抽象,从而将未被特定语言的说话者区分的不同声音分组到一起,即使这些声音在一些其它语言中进行了区分。然而,在本发明的另一个实施例中,声音单元可以是音位变体,所讲出的实际声音的一种更严式更精确的标音。本实施例将使其更易于将与声音有关的知识从一种语言共享到另一种语言。其非常适合其中学习模块101将针对数据预处理器107所识别的而非通过较高级的搜索假定的三重声音专门化的实施例。特别是,多个数据预处理器107和专门化的学习模块可以在语言之间共享。一些语言可能具有一些额外的音位变体而一些音位变体并不出现,但是多种音位变体及其序列可以被共享。如果两种语言在其音位组中具有一些差异,则这些差异将反映来自专门化的基于音位变体的大型学习模块102的结果如何组合以用于音位或字词级别的决策。
根据一些实施例的另一个方面可以通过语音识别的示例,即沿连续统一体的专门化的插值来示例说明。令模块A和模块B为两个专门化模块101,同时训练组TA用于模块A且训练组TB用于模块B。例如,模块A和模块B可以针对两个不同的说话者中的每一个专门化,或者它们可以针对两种不同的语言或者两种不同的方言专门化。随后可以通过利用对来自组TA和组TB的训练数据的随机选择在沿A和B之间的连续统一体的任何地方形成新的专门化模块,其中从组TA选择数据的项目的概率为(1–γ),而从组TB选择数据的项目的概率为γ。
沿从A到B的连续统一体的大量插值可以接受训练并被存储在辅助存储装置中,如图5中所示。在模块A和模块B具有相同的网络架构并且其针对两个相似的说话者、两种相似的语言专门化或者以其它方式彼此相似的情况下,本发明的另一个方面尤其地显而易见。例如,两种相似的语言仅在少量音位方面不同,两个相似的说话者在大多数的字词发音上相一致,等等。音位组或和音位变体组及其相关联的声学特征的映射几乎沿插值模块的连续统一体连续地变化。当沿连续统一体的两个插值模块仅具有较小差异时,则在它们的训练中可以应用正则化以使训练更好地抵抗过拟合并使模型沿连续统一体更平滑地变化。
然而,如果这些相似但不同的离散组在模块B中不同于在模块A中,则必然存在一些不连续。由学习教练103针对模块A和模块B进行的零假设测试(如美国专利第8,014,591号中所述的)可以确定沿连续统一体的哪个部位是打破正则化的最佳位置并且允许位于所述打破位置的两侧的模型不同。由此,利用学习教练的指导,系统将能够学习显性结构知识以及平常的参数性知识。
图6是另一个例示性实施例的框图。在本实施例中,学习教练303使深度学习系统102能够表示并学习显性形式的知识,所述显性形式可以由人类或者由其它系统来解释。在大型学习系统中,例如具有多个层的深度神经网络或者甚至具有多个相互依赖的潜在或隐藏变量的随机模型,在学习期间获取的知识通常以系统中多个元件之间的交互作用来表示。在这种情况下,知识是难以或者无法解释的并且不仅无法被人类用户访问而且无法也被其它计算机系统访问。这些其它计算机系统可以是关于同一任务合作的其它学习模块或者可以是控制静止或移动设备的系统。
在图6中所示的实施例中不同于图4中所示的实施例的一个属性是图6中的实施例甚至在仅有一个大型学习系统102时也适用。与图4中所示实施例中不同的另一个元件是具有知识的显性表示的支持系统307,而非图4中所示的数据预处理器107。
显性知识的一个重要属性是其比隐性知识更易于传送。其更大程度上可以由人类解释并且可以更容易地从一个学习模块101传递到另一个学习模块101,或者从学习模块传递到另一个计算机应用,例如控制系统。
图6是例示性实施例的框图,其中学习教练303从支持系统307提取显性知识并通过若干手段中的任一种将所述显性知识引入深度学习网络102的内层,以及任选地将其提交给人类311并将其与其它系统312共享。在例示性实施例中,学习教练303以两种形式中的一种将所述知识提交给深度学习网络102。学习教练303可以按照其提交知识的一种形式是作为一组节点以及用于这些节点的与一组特定数据输入值相关联的激活水平。在一些实施例中,特别是如果支持系统307同样是深度学习网络,则学习教练303可以按照特定节点之间的连接权重的形式将知识提交给学习网络102。学习教练303用来将所提交知识中的特定节点与深度学习网络的内层中的特定节点进行关联的方法将结合其它附图进行讨论。
图7示出了一个实施例,学习教练303通过本实施例可以将显性知识注入到深度神经网络102的内层(参见图6)。本例示性示例假定显性知识按照用于一组特定的外部节点的激活值的形式来表示。节点可以是图6中所示支持系统307内由学习教练303所选择的一组节点或者是学习教练303内表示从支持系统307所提取知识的一组节点。节点激活可以取决于输入到深度学习网络102的数据并且还可以取决于对深度学习网络102不可用的外部数据。
学习教练可以选择深度学习网络的特定内层402作为用来接收所注入知识的层。层402可以具有数千个节点并且可以存在比所显示的少许连接多得多的连接。学习教练可以做出一组特定外部节点的虚拟副本401并将虚拟节点连接至选定层402以及连接至更低层404。选定层402中的节点接收来自虚拟节点401的输入,但是在训练期间并不向虚拟节点401反向传播。虚拟节点401可以通过到更低层404中节点的连接反向传播,但是它们的激活可以直接由学习教练控制,因此它们并不接收来自更低层的输入。
在一些实施例中,学习教练303可以控制针对虚拟复制节点的丢包率。丢包是训练深度神经网络中的一种公知技术。其包括执行其中某些节点被强制具有中性值或者不进行观测而不管对于正在被处理的当前数据而言它们的激活水平如何的步骤。丢包大体上将深度神经网络训练得更具鲁棒性,因为在存在丢包情况下的训练迫使神经网络学习利用通过网络的其它路径来估计丢失的数据。在图6和图7中所示的实施例中,学习教练303的目标可以是训练深度学习网络102学习显性知识。在一些实施例中,总系统被设计成使外部支持作为对深度学习网络的永久添加。在其它实施例中,系统被设计为用于深度学习网络102学习为自己估计显性知识并且最终从支持系统307断开。在任一种情况下,学习教练303优选地监测网络102朝向特定目标的性能。学习教练随后可以基于对实践数据的零假设测试来优化丢包率和其它控制参数,如美国专利第8,014,591号中所描述的,其通过引用整体并入本文。
图8示出了图7中所示实施例的另一种变型。所述变型中另一组节点505被添加到选定层。这些添加的节点505与虚拟节点401具有一一对应的关系,并且应用正则化以使它们的激活趋于与虚拟节点相一致。正则化是统计估计领域技术人员所公知的技术,其使统计估计平滑并使它们更具鲁棒性。在这种情况下,正则化由训练期间目标函数中的附加项目组成,所述附加项目惩罚组505中每个节点与组401中其对应的虚拟节点之间的差异。正则化以及虚拟节点401和正则化节点505的各自丢包率全部由学习教练303控制,同时目标为通过对实践数据测试来优化。
在这种优化过程中,学习教练303可以使用与深度学习网络102的性能目标不同的目标。例如,学习教练可能主要为了使深度学习网络102中的知识更为显性而优化正则化及丢包率,而深度学习网络则是为了最小误差率而优化。
图9是图6中的支持系统307的例示性实施例的流程图,以及其与图6中的学习教练303和图6中的深度学习网络102的关系的框图。在步骤618处,支持系统307在学习教练的控制下重复地获取外部数据,并且在步骤608处,获取一连串输入到深度学习网络内层402的输入数据的实例。应当注意,图9中的框402表示与图7和图8中所示的内层402同样的东西。除了在步骤608处输入到深度学习网络的输入数据,在步骤618处的外部数据是来自一些来源的数据。其可以是并不变化的数据,或者缓慢地变化而非针对输入数据的每个项目。其可以是由其它传感器测量的数据。其可以针对输入数据的一些项目存在而针对其它项目不存在。例如,在一些应用的一些实施例中,外部数据可以采用元数据的形式,所述元数据位于包含待识别的原始数据的数据封包的包头中。元数据的示例可以是电话呼叫的来源和目标,或者是电子邮件的发件人和收件人。在个性化健身计划的例示性示例中,例如心率或血压的测量值可能被不时地监测但是可能并非总是可用的。在一些实施例中它们可以是外部数据,而在其它实施例中可以是输入数据。
数据的每个实例由支持系统307处理以产生学习教练303可以采用其用来将知识注入到深度学习系统102内的形式的知识。对于图7和图8中所示的实施例,这种知识被表示为用于一组节点的激活值。取决于模式识别或者正在执行的建模的类型,系统在决策点613处选择不同的路径。如果系统正在进行分类为类别的有限组的操作,则控制流前进到框614,其对输入数据进行分类,可能还利用了外部数据。框614的输出是针对每个可能分类类别的评分或者仅为最佳匹配类别的指示,所述指示等同于针对选定类别的1分和针对所有其它类别的0分。每个类别与图7和图8的组401中的节点相关联并且对应的评分为针对该节点的激活值。通过模式分类614计算的评分可以由学习教练303进行转换以使该评分与在深度学习网络402中所使用的激活值相匹配。
如果支持系统没有对离散的有限组进行分类,则控制流程前进到框615,其中执行另一种类型的模式识别或者模型估计,以及前进到框616,其中来自模式识别的潜在变量或者来自框615的模型估计被编码为节点激活。在待传递的知识采用连续取值变量的形式而非分类成有限数量的类别的情况下,流程按照这种方向进行。在运动和健身训练应用中,血压、心率以及运动速率原则上全部为连续取值的测量值。即使它们可能在外部测量中被四舍五入成整数值,在它们由模式识别系统估计或者仅通过过滤被平滑的情况下,它们可以作为时间函数改变并且可以呈现分数、非整数值来拟合平滑曲线。如果模式分析系统估计回归函数而不是分类类别,则也可以得到连续取值的变量。此类连续取值的变量可以通过将可能值的范围分成一组间隔而被编码为有限组中的值。间隔可以是预定的,或者其可以由学习教练303规定。
在一些实施例中,待传递的显性知识可以仅为外部测量值,例如血压读数,而无需支持系统中的任何平滑或重新估计。在其中所有待传送的知识已经通过外部测量值知晓的实施例中,支持系统将无需做任何模式识别或建模。然而,即使在这种情况下,外部测量值的该组值可以被映射为表示可能值的范围内的间隔的一组有限节点。
在另一个方面,不同于每秒执行模式识别,框616可以构建并估计处于观测下的现象的模型。例如,在运动和健身应用中,客户身体以及运动机中重物的运动可以通过牛顿运动定律来建模。作为另一个示例,在语音识别任务中,框616可以将语音建模为隐藏马尔科夫过程或者为动态贝叶斯网络,它们是语音识别领域技术人员所公知的建模技术。语音甚至可以被建模为多层的随机过程,其中这些层针对以下特征:原始声学特征(例如作为时间和频率函数的幅度)、导出的特征(例如基本频率和共振峰频率)、语言特色特征、发音特征、音位变体、音位、双音素、三音素、包括起音和尾音的黛米音节、音节、字词、短语、从句、句子、段落、对话、文件、书以及文库。一些估计的隐藏或潜在随机变量可以是连续取值的。
在此类模型中,无论是随机的还是确定性的,连续取值的变量可以由有限数量的间隔来表示,如上所述。在马尔科夫过程模型以及在贝叶斯网络模型中,马尔科夫过程中的状态或者贝叶斯网络中的节点可以对应于在虚拟节点401中待克隆的节点(参见图7至图8)。
如果正在估计一个以上的变量,无论各个变量是离散取值还是连续取值的,则发生执行框615和616的步骤的另一个方面。每个连续取值的变量可以首先被编码为离散取值的变量,如上所述。随后,学习教练303可以针对每个变量创建一组单独的虚拟节点。
另一个方面涉及确定由框615和616所产生的将被用于节点的激活值的问题。如果节点表示确定性变量的间隔,则仅与变量的值对应的节点将被激活。然而,如果节点表示隐藏随机过程中的状态或者已估计随机变量的间隔,则节点激活可以表示一定形式的概率分布。如果数据观测值被作为时间函数,则激活值可以表示联合概率或条件概率中的任一个。激活概率可以关于(或联合)过去或将来的任一个或者两个来进行调节。在一些实施例中,节点激活可以本身是概率,有可能被归一化为在给定组的节点上相加为1。在一些实施例中,激活可以表示概率的对数,这可以使其与其它测量值更为匹配,例如点和聚类之间的距离。在这些替代方案间的选择可以由学习教练303进行控制,在一些实施例中其可以对实践数据执行自动化测试。
最后,如上所述产生的节点和激活可以被克隆并传递到深度学习内层402中去,如在对图7和图8的讨论过程中所描述的。
本发明的另一个方面涉及使隐性知识变为显性且可传送。支持系统307可以被专门设计成使其知识变为显性且可传送,如图7至图9中所示。在已经执行了图7至图9中所示的过程之后,深度神经网络102(参见图6)也可以具有一些显性且可传送的知识。已经在不具备图7至图9中过程的情况下接受训练的深度神经网络可能具有大量的知识。此类深度神经网络在多个基准测试中已经打破了先前的纪录。
然而,这种知识是隐性的并且通常难以或者不能进行解释。例如,即使是利用具有相同架构的深度神经网络102的两个学习模块101,在用来使其专门化于如对图4的讨论过程中所示的不同任务的多轮训练之后,其节点可能在被提供相同数据时具有完全不同的激活模式。这些兄弟模块将无法向彼此传送它们的知识。即使是已经被训练为具有显性知识的深度神经网络,例如通过图7至图9中所示的程序,除了显性知识之外,可能还将具有大量隐性知识。
图10示出了用于使此类隐性知识显性化并且在机器学习系统之间可传送且更易于被人类解释的若干方法的实施例。示出了两种形式的显性知识:(i)显性地表示特征的节点;以及(ii)相关数据样例的聚类。特征节点知识和聚类知识可以共同地接受训练,并且它们在训练期间和在操作使用期间均可以彼此交互和支持。传送和共享知识的一些例示性手段是已知的。例如,存在两种形式的柔性连接节点激活,其将在以下进行解释。此外,一旦特征节点或聚类已经被训练,假设分别在机器学习系统1023和1024中训练,知识可以用于监督其它系统的训练,例如分别监督机器学习系统1025和1026。这种受监督的训练可以任一种方向来完成。例如,特征检测器1023可以用于训练特征检测器1025,或者特征检测器1025可以用于训练特征检测器1023。类似地,聚类分类器1024可以用于训练聚类分类器1026,反之亦然。最后,一组一个或多个特征节点可以利用结合图7和图8所述的技术插入到另一个网络中,例如机器学习系统1022。
在图10的示例中显示存在六个机器学习系统:具有内部变量1012的机器学习系统1021;特征检测器系统1023和1025;聚类分类器1024和1026;以及一个或多个具有显性知识的其它机器学习系统1022。还可以存在学习教练1011,其控制对特征检测器1023和聚类分类器1024的迭代训练,以及控制系统之间节点激活的柔性连接和在一个或多个机器学习系统内节点激活的内部柔性连接。
特征检测器1023和聚类分类器1024可以通过受监督的训练来训练。在例示性实施例中,尽管如此,特征检测器1023和聚类分类器1024至少最初利用未受监督的学习来迭代训练。如果类别标签已知,则数据样例可以根据类别分开并且随后聚类在每个类别内未受监督地接受训练。未受监督的训练通过将每个数据样例分配给聚类来开始,所述分配通过任何合适的手段进行,例如随机地。每个聚类通过分配至其中的数据样例来定义。在一些实施例中,每个数据样例可以被分配给多个聚类,同时每个分配具有相关联的权重(例如,置信度权重),从而使得针对每个数据样例的分配权重相加为一。
鉴于向聚类分配了一组数据样例,在机器学习系统1021内的选定节点可以被指定为用于一个或多个聚类的潜在特征节点。被指定用于聚类的每个潜在特征节点n具有其针对于该聚类相关联的所有数据样例x柔性连接的激活值an(x)。以这种柔性连接的形式,额外的正则化项被添加到针对潜在特征节点的代价函数。对于与聚类相关联的数据样例x,正则化代价项可以基于值an(x)和在分配给聚类的所有数据上求平均的平均激活值之间的差值。例如,柔性连接正则化可以是L2准则,L2n(x)=(an(x)-μn)2。值μn是在与聚类相关联的所有数据上针对节点n的平均激活。在一些实施例中为了节省计算,所述平均值由先前迭代中的平均值来估计。
在例示性实施例中,对特征节点的训练以及聚类迭代地进行。特征可以是专用特征检测器的输出,例如特征检测器1023或特征检测器1025,或者它们可以简单地是机器学习系统中的内部节点,例如机器学习系统1021或1022。迭代训练可以使用对于机器学习领域技术人员而言公知的多种聚类算法中的任一种,例如k均值聚类。在标准k均值聚类中,每个聚类借助于分配给聚类的数据样例来表示。在迭代过程的某步骤中,每个数据样例被重新分配给其均值最接近该数据样例的聚类。当已经重新分配了每个数据样例时,基于新的分配重新计算聚类均值。这种迭代过程被重复直到数据样例的分配不再有变化或者满足一些其它停止准则。
训练一组指定节点学习特征的例示性示例使用了k均值聚类,其中用于聚类的数据样例利用指定节点的激活值作为输入数据1001的替代或补充。
图10中所示的例示性实施例更具一般性。对分配给聚类的数据样例的均值的简单计算由作为聚类分类器的通用机器学习系统1024或1026替代。聚类分类器1024或1026中任一个针对数据样例x的输出是一组评分,该组评分对于每个聚类具有一个评分。在k均值聚类中所使用的数据样例x和聚类均值之间的距离是可以由聚类分类器1024或1026计算的一般得多的聚类分类评分中微不足道的特殊情况。聚类分类器1024或1026中的任一个可以近似任意的非线性函数。例如,聚类评分可以表示非凸区域或者甚至是非连通集的区域。
此外,对聚类分类器1024或1026的输入并不限于一组指定特征节点的节点激活。在图10中所示的例示性实施例中,框1023和1025是专用特征检测器。同样,简单地复制一组指定特征节点的节点激活是可以由特征检测器1023或1025计算的特征中一种微不足道的情况。此外,特征检测器1023和1025以及聚类分类器1024和1026可以利用除了输入数据和一组指定的潜在特征节点的节点激活之外的附加信息。
除了其正常输出1031之外,机器学习系统1021还可以具有一组额外的输出节点1032。这些额外的输出节点可以通过来自聚类分类器1024和特征检测器1023的反向传播进行训练,以计算可以由机器学习系统1021的内部变量1012计算的任何有用的信息。例如,如果机器学习系统1021是深度神经网络,则这些内部变量包括所有内层节点的节点激活以及输入和计算的输出值。此外,在训练期间这些内部变量包括代价函数关于节点激活中每一个以及关于连接权重和任何其它习得参数中每一个的偏导数。
此外,位于特征检测器1023和聚类分类器1024内的节点可以柔性连接至机器学习系统1021内的节点,机器学习系统1021内的节点继而可以柔性连接至特征检测器1025和聚类分类器1026中的节点。在一个例示性实施例中,特征检测器1025和聚类分类器1026是通过受监督的训练和/或通过柔性连接至例如特征检测器1023和聚类分类器1024或者与例如机器学习系统1022的一个或多个其它机器学习系统相关联的特征检测器和聚类分类器而接受训练的专用独立式系统,节点激活在分离的机器学习系统中的两个或更多个节点之间的柔性连接是以上所提到的柔性连接的第二种形式。在这种形式的柔性连接中,被连接的节点激活位于分离的机器学习系统中,例如系统1021、1022、1025以及1026,其中位于每个机器学习系统中的前向激活为处理在相应输入1001、1002、1005或1006的每一个中的同一输入数据样例x。在这种形式的柔性连接中,松弛代价基于针对同一输入数据样例x的所有连接节点的激活值的均值,而非在数据样例上的均值。所述第二种形式的柔性连接还可以应用于习得参数,例如深度神经网络中的连接权重。尽管在图10中仅以双头虚线示出了若干柔性连接,但是具有内部节点激活或其它潜在变量的任意两个机器学习系统可以是柔性连接的,包括图10中所示的所有机器学习系统。柔性连接是双向的。
特征检测器1025和聚类分类器1026可以通过由特征检测器1023和聚类分类器1024习得的来自特征和聚类分配的受监督的学习来接受训练。另一个方面,特征检测器1025和聚类分类器1026可以通过一个或多个其它机器学习系统,例如机器学习系统1022来接受训练。在这种情况下,角色可以相反,并且在一些实施例中,特征检测器1023和聚类分类器1024可以通过来自特征检测器1025和聚类分类器1026的受监督的学习来接受训练。
当特征检测器1023和聚类分类器1024通过受监督的学习接受训练时,它们可以通过机器学习系统1021的额外的输出节点1032进行反向传播,因此同样它们训练机器学习系统1021基于机器学习系统1021中的内部变量1012中的任一个来提供有用的计算。
在例示性实施例中,柔性连接的任一种形式的每个实例被实现为代价函数中针对被连接的节点中每一个的额外项。存在与柔性连接的每个实例中每个节点相关联的一个或多个超级参数。例如,存在松弛强度超级参数,其为节点n针对数据样例x的激活值与连接数据样例或连接的节点上的平均值之间的差值的倍数。在一些实施例中,所述超级参数根据情况进行自定义。例如,在发现针对机器学习系统1021的特征和聚类的早期阶段,在很少或者仍未有可用证据的情况下多个节点被指定为潜在的特征节点。在这种情况下,松弛强度超级参数可能非常小。在另一个极端情况下,柔性连接的松弛强度的较大值可能近似于硬性连接,例如对针对卷积神经网络中的对应连接权重的统计的共享。由此,除了其它之外,柔性连接可以实现对卷积神经网络的一般化。
在一些实施例中,特征检测器1023和聚类分类器1024被当作机器学习系统1021的一部分,并且在操作使用期间以及在训练期间保持为活动并与机器学习系统1021相关联。在其它实施例中,特征检测器1023和聚类分类器1024仅在训练中被使用。数据样例关于聚类的分配在对机器学习系统1021内特征节点的柔性连接中被使用。此外,这些内部特征节点由通过额外输出1032的反向传播以及通过柔性连接至特征检测器1023和聚类分类器1024中的节点以及有可能通过柔性连接至一个或多个其它特征检测器和聚类分类器(例如1025和1026)来接受训练。
对这种迭代训练和相关联的超级参数的控制是一种复杂的过程。在例示性实施例中,这种复杂过程优选地由学习教练1011进行控制,其还控制柔性连接和相关联的超级参数。
通过柔性连接节点激活和数据聚类信息,图4(或者以下所述的图11)中学习模块101中的任一个可以与其它学习模块101中的任一个共享知识。这些模块随后可以利用其各自克隆虚拟节点之间的已知对应关系来共享显性知识。在关于克隆节点正则化的相关联节点之间也存在已知的对应关系。
作为另一个方面,正则化为克隆到相同的显性知识表示节点的虚拟节点的位于两个或更多个深度学习网络102中的对应节点可以依次相对于彼此正则化。这种正则化可以在进一步的训练中被保持,即使在克隆的显性知识不再存在时。本方面在图11中示出,其中大型学习网络可以被视为图4和图6中所示的大型学习网络102或者例如图10中所示的1021的机器学习系统。显性知识如图7至图9中所示或者如图10中所示进行传送。
当学习网络102或1021中的一对相连节点关于另一个学习网络中的对应的一对节点正则化时,它们的连接权重也可以被正则化,接受由学习教练所进行的连接正则化效果测试。在整组源节点被正则化且整组目标节点被正则化的情况下以及存在非常少的其它源节点连接至目标节点的情况下,连接权重的正则化可能是尤其有效的。随后可以正则化源节点和目标节点之间的所有连接。
这种跨模块的正则化使得两个或更多个学习模块能够通过数据通信信道共享知识,即使GPU聚类之外可用的带宽较低。在大多数实施例中,仅一小部分的节点可以表示显性知识并且这些节点中的仅一部分可以跨模块正则化。此外,正则化仅为弱链路并且不需要与节点的每个数据项目或者用于连接权重的每个更新相连通。
作为本发明的另一个方面,这种对知识的共享并不需要一次性地全部传送至学习模块101的整个集合。相反,如美国专利第8,331,657号中所述(其通过引用并入本文),知识最初可以与少量其它模块共享。知识可以由学习教练进行测试以观察其是否改善了这些其它模块的性能。并未改善适当比例的测试系统的性能的知识可以被拒绝。改善了多个测试系统的性能的知识可以被传递至其它系统。
在本发明的一些实施例中,学生学习系统11是机器学习系统的套件而非单个机器学习系统,如图12中所示。对学生学习系统11做出结构性改变的学习教练41的一个例示性实施例避免了关于要针对持续训练应当选择哪种版本的结构做出决策。在本例示性实施例中,原始的套件组件801b以及修改的套件组件801c均被保留为套件的构件,从而形成具有来自单个机器学习系统的两个构件的套件,或者增加了已经是套件的机器学习系统中的构件的数量。将整个套件视为学生学习系统11,从一个构件的套件的情况开始,向套件添加构件仅是在学生学习系统11中做出结构性改变的一种实例。结构性改变的这种实例类似于任何其它结构性改变来进行。
如图12中的套件学生学习系统11还例示说明了根据各种实施例的本发明的另一个方面,其为学习教练41能够控制用于学生学习系统11的数据821的选择的能力。在本例示性实施中,学习教练41通过向数据交换网络831发送合适的控制信号来选择要被发送给套件的不同构件的数据的不同子集。然而,图12的学生学习系统11仅是一个例示性实施例。实施例还可以与任意的套件机器学习系统一起使用,包括具有不同类型的机器学习组件的异质混合的套件。
在本例示性实施例中,数据选择由初步分类器803完成,如图13中所示。例如,初步分类器803在学习教练41的指导下接受训练。初步分类器803整体可以对套件的计算成本具有主要有利的影响。例如,在具有数千或数百万组件的超大套件中,初步分类器803可以既在训练和测试过程中又在操作使用中仅选择一小部分套件组件来接收每个数据样例。针对训练或操作的计算量趋于至少与数据量成比例地增加。因此,在大型套件的情况下,初步分类器803可以能够在数量级上减少计算量。在例示性实施例中,初步分类器803并不简单地作为套件系统的一部分接受训练。例如,即使初步分类器803和所有的套件组件801a-d为神经网络,初步分类器803并不仅仅通过反向传播误差代价函数的导数向后通过套件构件801a-d并随后通过初步分类器803来接受训练,如针对一个大型组合网络可能完成的。相反,初步分类器803可以直接由学习教练41进行训练,例如,以整体针对套件来优化误差代价和计算代价的组合。
在图12中所示的示例中,新的套件构件801c已经由学习教练41通过对原始的套件构件801b做出改变而形成,同时旧构件801b和新构件801c两者均被保留在扩展的套件中。如果801b和801c之间的差异较小,则在计算量方面可能存在显著的增加而在误差率方面并没有很大降低。
然而,图13中所示的初步分类器803可以同时减少附加计算的量并帮助训练套件构件801b和801c以降低误差率。在本例示性实施中,初步分类器803可以选择与要发送给套件构件801c的数据不同的数据来发送给套件构件801b。初步分类器803的一种重要属性是其对测试数据执行与对训练数据相同的初步分类。
在一个例示性实施例中,学习教练41对一组验证数据同时测试原始的套件构件801b和新的套件构件801c两者。在本例示性实施例中,801b和801c两者均被保留。对验证数据的测试为初步分类器803提供了训练数据。对于数据的每个项目,初步分类器需要决定是否要将该项目分配给套件构件801b、套件构件801c或者两者。在一个例示性实施例中,初步分类器803利用监督接受训练以尝试预测两个套件构件801b和801c中的哪一个将具有用于正确答案的较高评分。随后其将该数据项目发送至其预测将具有较高评分的套件构件。
本示例性实施例适用于结合分类器801a-d中任一个套件使用的初步分类器803,无论分类器的套件是否是通过学习教练41向套件添加构件还是通过修改现有构件获得。对于分类器801的任何套件,初步分类器803可以通过受监督的学习接受训练,以针对套件中的每一个构件预测套件中的给定构件可以正确地对进行给定输入数据项目分类的概率。在这种受监督训练中,初步分类器并不对输入数据项目分类并且也不被告知用来对给定输入数据项目分类的正确类别。而是,在其受监督训练中,初步分类器仅被告知哪个套件构件成功地对给定数据进行了分类。由此,初步分类器学习预测套件构件的成功概率,这是其在确定应当将数据中的每个项目分配给哪个套件构件过程中需要知晓的。
一旦初步分类器803的初始版本接受了训练,可以执行迭代过程,其中801b和801c被重复训练,同时它们中的每一个仅接收初步分类器为它们中每一个选择的数据作为训练数据。由此,套件构件801b和801c可以学习专门针对由初步分类器803为它们中的每一个选择的相应数据。随后过程被迭代,套件构件801b和801c再次同时对被用来约束初步分类器803的共享验证数据组进行分类,并且重复该过程直到满足收敛或者一些其它停止准则。
在例示性实施例中,初步分类器803为每个数据项目选择一个或多个目标。在本实施例中,学习教练41可以控制一个或多个局部优化的超级参数,其控制接收数据中每个项目的套件构件的平均数量。例如,令MaxScore为来自初步分类器的最佳评分,令h为控制数据的分配的超级参数。学习教练41可以设定评分阈值h,使得仅得到初步分类器评分s>MaxScore-h的目标能在训练或识别期间接收到数据的给定项目。
图14示出了根据各种实施例的本发明的另一个方面。在图14中所示的实施例中,学习教练41合并了其控制超级参数的能力322以及其修改学生机器学习系统11的结构的能力332。在本例示性示例中,学习系统11是深度学习神经网络。学习教练41对学生学习系统11的结构做出的修改332的具体类型是向网络11添加一个或多个节点或弧。在对图10中所示实施中的超级参数322的控制中,学习教练41控制结构的新部件的学习速率,所述新部件的学习速率不同于学生学习系统11中网络的较旧部件的学习速率。
在图14中所示的实施例中,两个问题是重要的。当向已经广泛接受训练的网络添加新的结构时,与网络的新部件相关联的参数可能需要比与网络的较旧部件相关联的参数更多的训练数据。另一方面,对新网络的训练应当按照以下方式来管理,即其不会妨碍旧网络在添加之前已经获得的性能。如在对其它附图的讨论过程中所解释的,学习教练41可以学习利用自定超级参数来优化对每个参数的学习的控制。在图14中,通过提供在类似情况下接受训练的学生学习系统的样例,这种能力专注于在这种情况下重要的问题。也就是说,学习教练41通过观察其中节点和弧已经被添加到学生系统11的其它样例来学习优化对学生系统11的结构的新添加的相对学习速率。
图14中所示的实施例的一种重要的具体情形是向学生学习系统11的网络添加一整层的新节点及其相关联的弧。在现有技术方法中,已经观察到,随着层被添加到深度神经网络,最后的性能不仅关于测试数据退化,而且甚至还关于训练数据退化。在图15中所示的实施例中,学习教练41初始化添加的层或者其它实质上的新结构中的权重,使得更大的网络的性能至少匹配较小网络的性能。例如,学习教练可以将添加结构的权重和偏差初始化为恒等映射。如有必要,可以通过添加更多的具有线性或分段线性单元的附加节点来扩展所述添加的结构,使得添加的结构可以直接匹配恒等函数。随后,学习教练41管理进一步的学习以保证现在更大的学生学习系统网络11关于训练数据的性能总是至少与较小系统关于训练数据的先前性能一样好。例如,每当梯度下降步骤产生了性能方面的退化,则学习教练41可以减小步长大小。通过对梯度的定义,如果梯度是非零的,则总是存在使得在性能方面没有退化的步长大小。学习教练41可以按照相同的方式向学生学习系统11中的现有层添加节点。实际上,当向现有层添加节点时,附加节点可以被初始化为恒等函数,从网络的剩余部分的观点来看,仅仅通过将来自新节点的输出连接的权重初始化为零。由此,对现有网络的添加可以在保证在性能方面不存在退化的前提下做出。
本实施例可以在现有学生网络11的任何位置处向深度神经网络添加附加层。其可以添加在现有输出层之后的附加层、正好在现有输出层之前的附加层、正好在输入层之后的附加层或者在任何两个现有层之间的附加层。其可以在没有任何性能退化的情况下使神经网络生长到任意深度。
学习教练还可以在没有性能方面的退化的情况下向学生系统11添加其它的实质性结构。例如,其可以复制另一网络的子网络,或者其可以将子网络从学生网络11的一部分复制到另一部分。换言之,其可以向现有网络添加结构(层和节点,它们的连接以及它们的权重),其中添加的结构重复了被复制的子网络。在复制子网络的情况下,复制可以向将子网络复制到其的网络中的位置添加附加特征。由此,复制可以从源位置向目标位置传递知识,无论该位置是在两个不同的网络中还是在同一网络中。
基于以上描述,应当清楚,本发明的实施例可以用于在各种应用中改进操作,包括改进包括深度神经学习网络的机器学习系统的学习。例如,本发明的实施例可以改进推荐系统、语音识别系统以及分类系统,包括图像和诊断分类系统,仅举出了一些例子,例如通过改进其学习超级参数、内部结构以及训练样例或者本文中所示的其它技术中的任一种。
本文中所述的机器学习计算机系统可以利用计算机硬件和软件来实现。例如,它们可以是具有多个处理核心的集成计算机系统(例如,服务器或服务器的网络)的一部分。程序指令可以存储在可以由处理核心访问的计算机存储器中,例如RAM、ROM、处理器寄存器或处理器高速缓存等。处理器核心可以包括CPU或者图形处理单元(GPU)核心。GPU核心并行地操作并且由此通常可以更有效地处理数据,即一系列的CPU核心,但是所有的核心同时执行同一代码。如本文中所述,各种机器学习系统可以是分布式计算机系统的一部分(参见,例如图4至图5以及图11)。甚至图1、图12以及图13中的实施例可以被实施为分布式系统的一部分。在此类实施例中,实现学生和教练的计算机设备(例如,服务器)可以彼此远离并利用合适的有线和/或无线数据通信链路通过数据网络进行互连,例如LAN、WAN、因特网等。数据可以在利用合适的数据链路的各种系统之间共享,例如数据总线(优选地为高速数据总线)或者网络链路(例如,以太网)。
用于本文中所述的各种机器学习系统(例如,学生学习系统11、101等,以及教练学习系统41、103、106等)的软件以及本文中所述的其它计算机功能可以利用任何合适的计算机编程语言(例如,.NET、C、C++、Python)并利用常规的、功能性的或者面向对象的技术来在计算机软件中实现。例如,各种机器学习系统可以利用软件模块来实现,所述软件模块存储在计算机可读介质上或者以其它方式在计算机可读介质上维护,例如RAM、ROM、辅助存储装置等。机器学习系统的一个或多个处理核心(例如,CPU或GPU核心)随后可以执行软件模块以实现相应机器学习系统(例如,学生、教练等)的功能。用于计算机软件和其它由计算机实现的指令的编程语言可以在执行之前通过编译器或汇编程序翻译成机器语言,和/或可以在运行时由解释器直接进行翻译。汇编语言的示例包括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。
在一个一般性方面,本发明因此涉及机器学习系统,其包括:(i)第一学生机器学习系统11,其利用机器学习自动地向输入源数据学习并对输入源数据做出预测;以及(ii)第一学习教练机器学习系统41,其与第一学生机器学习系统进行通信。输入到第一学习教练机器学习系统的输入包括与第一学生机器学习系统的内部状态有关的数据。另外,学习教练机器学习系统利用机器学习基于与第一学生机器学习系统的内部状态有关的数据自动地学习并对第一学生机器学习系统实现增强以改善第一学生机器学习系统的操作。
在各种实施方式中,第一学习教练机器学习系统包括模式识别系统,所述模式识别系统识别与第一学生机器学习系统不同的模式。另外,第一学生机器学习系统可以具有与第一学生机器学习系统不同的目标。另外,第一学习教练机器学习系统和第一学生机器学习系统可以具有相同的网络架构,例如,它们中的任一个可以包括深度神经网络。
在各种实施方式中,增强包括:用于第一学生机器学习系统的一个或多个修正超级参数,所述一个或多个修正超级参数改善第一学生机器学习系统的学习;对第一学生机器学习系统的结构性改变;选择性地控制输入到第一学生机器学习系统的训练数据以控制第一学生机器学习系统的学习;和/或在第一学生机器学习系统包括套件的情况下,选择性控制流向套件的构件的数据流或者向套件添加新的构件。修正超级参数可以是用于第一学生机器学习系统的小批量大小、用于第一学生机器学习系统的学习速率、用于第一学生机器学习系统的正则化参数,和/或用于第一学生机器学习系统的动量参数。结构性改变可以包括要被添加到第一学生机器学习系统的网络的选定层中的一个或多个附加的节点和/或一个或多个附加的层。
此外,第一机器学习系统可以包括计算机网络,所述计算机网络包括:第一计算机系统,其包括至少一个处理器和高速存储器;以及远程辅助存储装置,其与第一计算机系统进行通信。在此类实施例中,当第一学生机器学习系统活动时,用于第一学生机器学习系统的连接权重和激活被存储在高速存储器中,使得第一学生机器学习系统可以运行;并且当第一学生机器学习系统非活动时,用于第一学生机器学习系统的连接权重和激活被存储在辅助存储装置中。
在其它实施例中,第一学生机器学习系统或者第一学习教练机器学习系统或者两者包括图形处理单元,所述图形处理单元包括位于单个集成电路上的多个处理核心。
在另一个一般性方面,本发明涉及一种计算机系统,其包括:第一组一个或多个处理核心;第一组一个或多个计算机可读介质;以及在第一组一个或多个计算机可读介质上维护的第一学生机器学习模块,当所述第一学生机器学习模块由第一组一个或多个处理核心执行时,促使第一组一个或多个处理核心利用机器学习自动地向输入源数据学习并对输入源数据做出预测。计算机系统还包括:第二组一个或多个处理核心;第二组一个或多个计算机可读介质;以及在第二组计算机可读介质上维护的第一学习教练机器学习模块。当第一学习教练机器学习模块由第二组一个或多个处理核心执行时,促使第二组一个或多个处理核心:接收与第一学生机器学习模块的内部状态有关的输入数据;并且利用机器学习基于与第一学生机器学习模块的内部状态有关的数据自动地学习并对第一学生机器学习模块实现改变,例如以上所述改变中的任一个,以改善第一学生机器学习模块的操作。
在又另一个一般性方面,本发明涉及一种改善第一学生机器学习系统的操作的方法,所述第一学生机器学习系统利用机器学习自动地向输入源数据学习并对输入源数据做出预测。所述方法可以包括以下步骤:通过第一学习教练机器学习系统从第一学生机器学习系统接收与第一学生机器学习系统的内部状态有关的数据;以及通过第一学习教练机器学习系统利用机器学习基于与第一学生机器学习系统的内部状态有关的数据自动地学习并对第一学生机器学习系统实现增强,例如以上所述增强中的任一个,以改善第一学生机器学习系统的操作。
本文中所给出的示例旨在例示说明本发明的可能和具体实施方式。可以意识到,示例主要旨在用于为本领域技术人员例示说明本发明的目的。示例的特定方面或多个方面并不旨在限制本发明的范围。此外,应当理解的是,本发明的附图和说明书已经进行了简化,以例示说明用于清楚地理解本发明的相关的元件,与此同时为简洁起见消除了其它元件。尽管本文中已经描述了各种实施例,但是显而易见的是,在实现至少一些优点的前提下本领域技术人员可以想到对这些实施例的各种修改、改变和调整。在不脱离本文中所阐述实施例的范围的前提下所公开的实施例因此旨在包括此类修改、改变和调整。
Claims (43)
1.一种机器学习计算机系统,其包括:
第一学生机器学习系统,所述第一学生机器学习系统利用机器学习自动地向输入源数据学习并对所述输入源数据做出预测;以及
第一学习教练机器学习系统,所述第一学习教练机器学习系统与所述第一学生机器学习系统进行通信,其中:
输入到所述第一学习教练机器学习系统的输入包括与所述第一学生机器学习系统的内部状态有关的数据;并且
所述学习教练机器学习系统利用机器学习基于与所述第一学生机器学习系统的所述内部状态有关的所述数据自动地学习并对所述第一学生机器学习系统实现增强以改善所述第一学生机器学习系统的操作。
2.根据权利要求1所述的机器学习计算机系统,其中所述第一学习教练机器学习系统包括模式识别系统,所述模式识别系统识别与所述第一学生机器学习系统不同的模式。
3.根据权利要求1所述的机器学习计算机系统,其中所述第一学生机器学习系统具有与所述第一学生机器学习系统不同的目标。
4.根据权利要求1所述的机器学习计算机系统,其中所述第一学生机器学习系统包括深度神经网络。
5.根据权利要求4所述的机器学习计算机系统,其中所述第一学习教练机器学习系统包括并非深度神经网络的机器学习架构。
6.根据权利要求1所述的机器学习计算机系统,其中所述增强包括用于所述第一学生机器学习系统的一个或多个修正超级参数,所述一个或多个修正超级参数改善所述第一学生机器学习系统的学习。
7.根据权利要求6所述的机器学习计算机系统,其中所述一个或多个修正超级参数包括用于所述第一学生机器学习系统的小批量大小。
8.根据权利要求6所述的机器学习计算机系统,其中所述一个或多个修正超级参数包括用于所述第一学生机器学习系统的学习速率。
9.根据权利要求6所述的机器学习计算机系统,其中所述一个或多个修正超级参数包括用于所述第一学生机器学习系统的正则化参数。
10.根据权利要求6所述的机器学习计算机系统,其中所述一个或多个修正超级参数包括用于所述第一学生机器学习系统的动量参数。
11.根据权利要求1所述的机器学习计算机系统,其中所述增强包括对所述第一学生机器学习系统的结构性改变。
12.根据权利要求11所述的机器学习计算机系统,其中:
所述第一学生机器学习系统包括具有多个层的网络,其中每一层包括一个或多个节点;并且
所述结构性改变包括要被添加到所述第一学生机器学习系统的所述网络的选定层中的一个或多个附加的节点。
13.根据权利要求12所述的机器学习计算机系统,其中所述学习教练机器通过向所述第一学生机器学习系统提供与一组特定的数据输入值相关联的一组虚拟节点和针对所述虚拟节点的激活水平来实现所述一个或多个附加的节点。
14.根据权利要求13所述的机器学习计算机系统,其中:
所述选定层中的现有节点接收来自所述虚拟节点的输入;
所述现有节点在训练期间并不向虚拟节点反向传播;
所述虚拟节点向所述第一学生机器学习系统的所述网络中位于所述选定层下方的层反向传播;并且
所述虚拟节点的激活由所述第一学习教练机器学习系统控制。
15.根据权利要求12所述的机器学习计算机系统,其中所述学习教练机器通过提供要被添加到所述选定层的第一和第二组节点来实现所述一个或多个附加的节点,其中:
所述第一和第二组由相同数量的节点组成;并且
所述第一学习教练机器学习系统控制关于所述第二组节点的正则化,使得所述第二组节点的激活趋向于与所述第一组节点相一致以控制所述第一和第二组中的所述节点的丢包率。
16.根据权利要求15所述的机器学习计算机系统,其中所述第一学习教练机器学习系统在控制所述正则化中的性能目标与所述第一学生机器学习系统的性能目标不同。
17.根据权利要求12所述的机器学习计算机系统,其中所述学习教练机器通过为所述第一学生机器学习系统的所述网络的所述附加的节点提供连接权重来实现所述一个或多个附加的节点。
18.根据权利要求11所述的机器学习计算机系统,其中:
所述第一学生机器学习系统包括具有多个层的网络,其中每一层包括一个或多个节点;并且
所述结构性改变包括要添加到所述第一学生机器学习系统的所述网络中的一个或多个附加的层。
19.根据权利要求1所述的机器学习计算机系统,其中所述其中所述增强包括选择性地控制输入到所述第一学生机器学习系统的训练数据以控制所述第一学生机器学习系统的学习。
20.根据权利要求1所述的机器学习计算机系统,其中:
所述机器学习系统包括计算机网络,所述计算机网络包括:
第一计算机系统,所述第一计算机系统包括至少一个处理器和高速存储器;以及
远程辅助存储装置,所述远程辅助存储装置与所述第一计算机系统进行通信;
当所述第一学生机器学习系统活动时,用于所述第一学生机器学习系统的连接权重和激活被存储在所述高速存储器中,使得所述第一学生机器学习系统可以运行;并且
当所述第一学生机器学习系统非活动时,用于所述第一学生机器学习系统的所述连接权重和激活被存储在所述辅助存储装置中。
21.根据权利要求1所述的机器学习系统,其中所述第一学生机器学习系统包括图形处理单元,所述图形处理单元包括位于单个集成电路上的多个处理核心。
22.根据权利要求21所述的机器学习系统,其中所述第一学习教练机器学习系统包括图形处理单元。
23.根据权利要求1所述的机器学习系统,其中:
所述第一学生机器学习系统包括机器学习系统的套件;并且
其中所述增强包括控制流向所述套件的构件的数据流。
24.根据权利要求1所述的机器学习系统,其中:
所述第一学生机器学习系统包括机器学习系统的套件;并且
其中所述增强包括向所述套件添加新的构件。
25.一种计算机系统,其包括:
第一组一个或多个处理核心;
第一组一个或多个计算机可读介质;
在所述第一组一个或多个计算机可读介质上维护的第一学生机器学习模块,当所述第一学生机器学习模块由所述第一组一个或多个处理核心执行时,促使所述第一组一个或多个处理核心利用机器学习自动地向输入源数据学习并对所述输入源数据做出预测;
第二组一个或多个处理核心;
第二组一个或多个计算机可读介质;以及
在所述第二组计算机可读介质上维护的第一学习教练机器学习模块,当所述第一学习教练机器学习模块由所述第二组一个或多个处理核心执行时,促使所述第二组一个或多个处理核心:
接收与所述第一学生机器学习模块的内部状态有关的输入数据;并且
利用机器学习基于与所述第一学生机器学习模块的所述内部状态有关的所述数据自动地学习并对所述第一学生机器学习模块实现改变以改善所述第一学生机器学习模块的操作。
26.根据权利要求25所述的机器学习计算机系统,其中所述第一学生机器学习模块包括深度神经网络。
27.根据权利要求26所述的机器学习计算机系统,其中所述第一学习教练机器学习模块利用并非深度神经网络的机器学习架构。
28.根据权利要求25所述的机器学习计算机系统,其中所述增强包括用于所述第一学生机器学习模块的一个或多个修正超级参数,所述一个或多个修正超级参数改善所述第一学生机器学习模块的性能。
29.根据权利要求25所述的机器学习计算机系统,其中所述增强包括对所述第一学生机器学习模块的结构性改变。
30.根据权利要求25所述的机器学习计算机系统,其中所述增强包括对所述第一学生机器学习模块的结构性改变。
31.根据权利要求30所述的机器学习计算机系统,其中:
所述第一学生机器学习模块包括具有多个层的网络,其中每一层包括一个或多个节点;并且
所述结构性改变包括要被添加到所述第一学生机器学习模块的所述网络的选定层中的一个或多个附加的节点。
32.根据权利要求30所述的机器学习计算机系统,其中:
所述第一学生机器学习模块包括具有多个层的网络,其中每一层包括一个或多个节点;并且
所述结构性改变包括要添加到所述第一学生机器学习模块的所述网络中的一个或多个附加的层。
33.根据权利要求25所述的机器学习计算机系统,其中所述其中所述增强包括选择性地控制输入到所述第一学生机器学习模块的训练数据以控制所述第一学生机器学习模块的学习。
34.根据权利要求25所述的机器学习计算机系统,其中所述第一组一个或多个处理核心包括第一图形处理单元,所述第一图形处理单元包括位于第一单个集成电路上的多个处理核心。
35.根据权利要求34所述的机器学习计算机系统,其中所述第二组一个或多个处理核心包括第二图形处理单元,所述第二图形处理单元包括位于第二单个集成电路上的多个处理核心。
36.一种改善第一学生机器学习系统的操作的方法,所述第一学生机器学习系统利用机器学习自动地向输入源数据学习并对所述输入源数据做出预测,所述方法包括:
通过第一学习教练机器学习系统从所述第一学生机器学习系统接收与所述第一学生机器学习系统的内部状态有关的数据;
通过所述第一学习教练机器学习系统利用机器学习基于与所述第一学生机器学习系统的所述内部状态有关的所述数据自动地学习并对所述第一学生机器学习系统实现增强以改善所述第一学生机器学习系统的操作。
37.根据权利要求36所述的方法,其中所述增强包括用于所述第一学生机器学习系统的一个或多个修正超级参数,所述一个或多个修正超级参数改善所述第一学生机器学习系统的学习。
38.根据权利要求36所述的方法,其中所述增强包括对所述第一学生机器学习系统的结构性改变。
39.根据权利要求38所述的方法,其中:
所述第一学生机器学习系统包括具有多个层的网络,其中每一层包括一个或多个节点;并且
所述结构性改变包括要被添加到所述第一学生机器学习系统的所述网络的选定层中的一个或多个附加的节点。
40.根据权利要求38所述的方法,其中:
所述第一学生机器学习系统包括具有多个层的网络,其中每一层包括一个或多个节点;并且
所述结构性改变包括要添加到所述第一学生机器学习系统的所述网络中的一个或多个附加的层。
41.根据权利要求36所述的方法,其中所述其中所述增强包括选择性地控制输入到所述第一学生机器学习系统的训练数据以控制所述第一学生机器学习系统的学习。
42.根据权利要求36所述的方法,其中:
所述第一学生机器学习系统包括机器学习系统的套件;并且
其中所述增强包括控制流向所述套件的构件的数据流。
43.根据权利要求36所述的方法,其中:
所述第一学生机器学习系统包括机器学习系统的套件;并且
其中所述增强包括向所述套件添加新的构件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662400853P | 2016-09-28 | 2016-09-28 | |
US62/400,853 | 2016-09-28 | ||
US201762476280P | 2017-03-24 | 2017-03-24 | |
US62/476,280 | 2017-03-24 | ||
PCT/US2017/052037 WO2018063840A1 (en) | 2016-09-28 | 2017-09-18 | Learning coach for machine learning system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109952581A true CN109952581A (zh) | 2019-06-28 |
Family
ID=61760122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780070591.1A Pending CN109952581A (zh) | 2016-09-28 | 2017-09-18 | 用于机器学习系统的学习教练 |
Country Status (4)
Country | Link |
---|---|
US (6) | US11210589B2 (zh) |
EP (1) | EP3520038A4 (zh) |
CN (1) | CN109952581A (zh) |
WO (1) | WO2018063840A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11164076B2 (en) * | 2016-10-20 | 2021-11-02 | Uber Technologies, Inc. | Intelligent regularization of neural network architectures |
US11295210B2 (en) | 2017-06-05 | 2022-04-05 | D5Ai Llc | Asynchronous agents with learning coaches and structurally modifying deep neural networks without performance degradation |
US10679129B2 (en) | 2017-09-28 | 2020-06-09 | D5Ai Llc | Stochastic categorical autoencoder network |
US11250325B2 (en) * | 2017-12-12 | 2022-02-15 | Samsung Electronics Co., Ltd. | Self-pruning neural networks for weight parameter reduction |
EP3518152A1 (en) * | 2018-01-29 | 2019-07-31 | Panasonic Intellectual Property Corporation of America | Information processing method and information processing system |
US11321612B2 (en) | 2018-01-30 | 2022-05-03 | D5Ai Llc | Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights |
CN110598840B (zh) * | 2018-06-13 | 2023-04-18 | 富士通株式会社 | 知识迁移方法、信息处理设备以及存储介质 |
WO2020005471A1 (en) * | 2018-06-29 | 2020-01-02 | 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 |
WO2020009912A1 (en) * | 2018-07-05 | 2020-01-09 | D5Ai Llc | Forward propagation of secondary objective for deep learning |
US11222288B2 (en) | 2018-08-17 | 2022-01-11 | D5Ai Llc | Building deep learning ensembles with diverse targets |
US11074502B2 (en) | 2018-08-23 | 2021-07-27 | D5Ai Llc | Efficiently building deep neural networks |
US11995533B1 (en) * | 2018-12-05 | 2024-05-28 | Perceive Corporation | Executing replicated neural network layers on inference circuit |
US11544572B2 (en) * | 2019-02-15 | 2023-01-03 | Capital One Services, Llc | Embedding constrained and unconstrained optimization programs as neural network layers |
JP7208528B2 (ja) * | 2019-05-23 | 2023-01-19 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
US11544566B2 (en) * | 2019-06-03 | 2023-01-03 | International Business Machines Corporation | Deep learning model insights using provenance data |
WO2021040944A1 (en) | 2019-08-26 | 2021-03-04 | D5Ai Llc | Deep learning with judgment |
US11907821B2 (en) * | 2019-09-27 | 2024-02-20 | Deepmind Technologies Limited | Population-based training of machine learning models |
US11443163B2 (en) * | 2019-10-11 | 2022-09-13 | Alibaba Group Holding Limited | Method and system for executing neural network |
US11599549B2 (en) | 2019-10-18 | 2023-03-07 | Splunk Inc. | Sampling-based preview mode for a data intake and query system |
US11620157B2 (en) | 2019-10-18 | 2023-04-04 | Splunk Inc. | Data ingestion pipeline anomaly detection |
EP3828773A1 (en) * | 2019-11-28 | 2021-06-02 | GoodAI Research s.r.o. | Improved artificial intelligence system |
CN114981820A (zh) * | 2019-12-20 | 2022-08-30 | 谷歌有限责任公司 | 用于在边缘设备上评估和选择性蒸馏机器学习模型的系统和方法 |
WO2021194516A1 (en) | 2020-03-23 | 2021-09-30 | D5Ai Llc | Data-dependent node-to-node knowledge sharing by regularization in deep learning |
US20220301291A1 (en) * | 2020-05-29 | 2022-09-22 | National Technology & Engineering Solutions Of Sandia, Llc | Uncertainty-refined image segmentation under domain shift |
US11379991B2 (en) * | 2020-05-29 | 2022-07-05 | National Technology & Engineering Solutions Of Sandia, Llc | Uncertainty-refined image segmentation under domain shift |
SE544261C2 (en) | 2020-06-16 | 2022-03-15 | IntuiCell AB | A computer-implemented or hardware-implemented method of entity identification, a computer program product and an apparatus for entity identification |
US11704490B2 (en) * | 2020-07-31 | 2023-07-18 | Splunk Inc. | Log sourcetype inference model training for a data intake and query system |
US11836600B2 (en) | 2020-08-20 | 2023-12-05 | D5Ai Llc | Targeted incremental growth with continual learning in deep neural networks |
EP3965021B1 (en) * | 2020-09-07 | 2023-12-20 | Fujitsu Limited | A method of using clustering-based regularization in training a deep neural network to classify images |
US11687438B1 (en) | 2021-01-29 | 2023-06-27 | Splunk Inc. | Adaptive thresholding of data streamed to a data processing pipeline |
SE2250135A1 (en) * | 2022-02-11 | 2023-08-12 | IntuiCell AB | A data processing system comprising first and second networks, a second network connectable to a first network, a method, and a computer program product therefor |
US20240161017A1 (en) * | 2022-05-17 | 2024-05-16 | Derek Alexander Pisner | Connectome Ensemble Transfer Learning |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627251A (zh) * | 2003-12-09 | 2005-06-15 | 微软公司 | 使用图形处理单元加速并优化机器学习技术的处理 |
US20070288410A1 (en) * | 2006-06-12 | 2007-12-13 | Benjamin Tomkins | System and method of using genetic programming and neural network technologies to enhance spectral data |
US20150127327A1 (en) * | 2013-11-01 | 2015-05-07 | Google Inc. | Context-dependent state tying using a neural network |
US9336483B1 (en) * | 2015-04-03 | 2016-05-10 | Pearson Education, Inc. | Dynamically updated neural network structures for content distribution networks |
US20160224903A1 (en) * | 2015-01-29 | 2016-08-04 | Qualcomm Incorporated | Hyper-parameter selection for deep convolutional networks |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214746A (en) | 1991-06-17 | 1993-05-25 | Orincon Corporation | Method and apparatus for training a neural network using evolutionary programming |
US6098012A (en) | 1995-02-13 | 2000-08-01 | Daimlerchrysler Corporation | Neural network based transient fuel control method |
WO2001026026A2 (en) | 1999-10-04 | 2001-04-12 | University Of Florida | Local diagnostic and remote learning neural networks for medical diagnosis |
US7233899B2 (en) | 2001-03-12 | 2007-06-19 | Fain Vitaliy S | Speech recognition system using normalized voiced segment spectrogram analysis |
US6588674B2 (en) | 2001-07-27 | 2003-07-08 | Motorola, Inc. | Memory management method and smartcard employing same |
US7295977B2 (en) | 2001-08-27 | 2007-11-13 | Nec Laboratories America, Inc. | Extracting classifying data in music from an audio bitstream |
US20040059695A1 (en) | 2002-09-20 | 2004-03-25 | Weimin Xiao | Neural network and method of training |
US7149688B2 (en) | 2002-11-04 | 2006-12-12 | Speechworks International, Inc. | Multi-lingual speech recognition with cross-language context modeling |
JP4327175B2 (ja) | 2005-07-12 | 2009-09-09 | 株式会社ソニー・コンピュータエンタテインメント | マルチグラフィックプロセッサシステム、グラフィックプロセッサおよび描画処理方法 |
US7505866B2 (en) | 2006-05-22 | 2009-03-17 | The University Of Kansas | Method of classifying data using shallow feature selection |
US8014591B2 (en) | 2006-09-13 | 2011-09-06 | Aurilab, Llc | Robust pattern recognition system and method using socratic agents |
US7801836B2 (en) | 2006-09-27 | 2010-09-21 | Infosys Technologies Ltd. | Automated predictive data mining model selection using a genetic algorithm |
US7603348B2 (en) | 2007-01-26 | 2009-10-13 | Yahoo! Inc. | System for classifying a search query |
US8065244B2 (en) * | 2007-03-14 | 2011-11-22 | Halliburton Energy Services, Inc. | Neural-network based surrogate model construction methods and applications thereof |
US20090276385A1 (en) * | 2008-04-30 | 2009-11-05 | Stanley Hill | Artificial-Neural-Networks Training Artificial-Neural-Networks |
US8386401B2 (en) | 2008-09-10 | 2013-02-26 | Digital Infuzion, Inc. | Machine learning methods and systems for identifying patterns in data using a plurality of learning machines wherein the learning machine that optimizes a performance function is selected |
US8160354B2 (en) | 2008-12-26 | 2012-04-17 | Five Apes, Inc. | Multi-stage image pattern recognizer |
US20110190657A1 (en) | 2009-08-10 | 2011-08-04 | Carl Zeiss Meditec, Inc. | Glaucoma combinatorial analysis |
US9031243B2 (en) | 2009-09-28 | 2015-05-12 | iZotope, Inc. | Automatic labeling and control of audio algorithms by audio recognition |
CA2718579C (en) | 2009-10-22 | 2017-10-03 | National Research Council Of Canada | Text categorization based on co-classification learning from multilingual corpora |
US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US9015084B2 (en) * | 2011-10-20 | 2015-04-21 | Gil Thieberger | Estimating affective response to a token instance of interest |
US8832790B1 (en) * | 2011-12-19 | 2014-09-09 | Emc Corporation | Fraud detection in adaptive authentication systems |
US9672811B2 (en) | 2012-11-29 | 2017-06-06 | Sony Interactive Entertainment Inc. | Combining auditory attention cues with phoneme posterior scores for phone/vowel/syllable boundary detection |
US20140156575A1 (en) | 2012-11-30 | 2014-06-05 | Nuance Communications, Inc. | Method and Apparatus of Processing Data Using Deep Belief Networks Employing Low-Rank Matrix Factorization |
US20140236577A1 (en) | 2013-02-15 | 2014-08-21 | Nec Laboratories America, Inc. | Semantic Representations of Rare Words in a Neural Probabilistic Language Model |
US9842585B2 (en) | 2013-03-11 | 2017-12-12 | Microsoft Technology Licensing, Llc | Multilingual deep neural network |
US20180174035A1 (en) * | 2013-05-06 | 2018-06-21 | Knowmtech, Llc | Universal machine learning building block |
JP6042274B2 (ja) * | 2013-06-28 | 2016-12-14 | 株式会社デンソーアイティーラボラトリ | ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム |
US9753959B2 (en) | 2013-10-16 | 2017-09-05 | University Of Tennessee Research Foundation | Method and apparatus for constructing a neuroscience-inspired artificial neural network with visualization of neural pathways |
US20150161232A1 (en) | 2013-12-10 | 2015-06-11 | University Of Southern California | Noise-enhanced clustering and competitive learning |
US9734457B2 (en) | 2013-12-31 | 2017-08-15 | Cisco Technology, Inc. | Learning data processor for distributing learning machines across large-scale network infrastructures |
US20150206050A1 (en) | 2014-01-23 | 2015-07-23 | Qualcomm Incorporated | Configuring neural network for low spiking rate |
US20150242760A1 (en) | 2014-02-21 | 2015-08-27 | Microsoft Corporation | Personalized Machine Learning System |
US20150324688A1 (en) | 2014-05-12 | 2015-11-12 | Qualcomm Incorporated | Customized classifier over common features |
WO2015179778A1 (en) | 2014-05-23 | 2015-11-26 | Datarobot | Systems and techniques for predictive data analytics |
WO2015187710A1 (en) | 2014-06-02 | 2015-12-10 | Blackwatch International | A generic template node for developing and deploying model software packages |
CN106537333A (zh) | 2014-06-13 | 2017-03-22 | 查尔斯斯塔克德拉珀实验室公司 | 用于软件产物的数据库的系统和方法 |
EP3192012A4 (en) | 2014-09-12 | 2018-01-17 | Microsoft Technology Licensing, LLC | Learning student dnn via output distribution |
CN110992935B (zh) | 2014-09-12 | 2023-08-11 | 微软技术许可有限责任公司 | 用于训练神经网络的计算系统 |
US20160091913A1 (en) * | 2014-09-30 | 2016-03-31 | Cisco Technology, Inc. | Smart power management in switches and routers |
US20160132786A1 (en) | 2014-11-12 | 2016-05-12 | Alexandru Balan | Partitioning data for training machine-learning classifiers |
US10580401B2 (en) | 2015-01-27 | 2020-03-03 | Google Llc | Sub-matrix input for neural network layers |
EP3259911B1 (en) | 2015-02-19 | 2021-04-07 | Magic Pony Technology Limited | Enhancing visual data using updated neural networks |
KR102449837B1 (ko) * | 2015-02-23 | 2022-09-30 | 삼성전자주식회사 | 신경망 학습 방법 및 장치, 및 인식 방법 및 장치 |
WO2016145516A1 (en) | 2015-03-13 | 2016-09-22 | Deep Genomics Incorporated | System and method for training neural networks |
US9704066B2 (en) | 2015-03-20 | 2017-07-11 | Microsoft Technology Licensing, Llc | Multi-stage image classification |
US10515304B2 (en) | 2015-04-28 | 2019-12-24 | Qualcomm Incorporated | Filter specificity as training criterion for neural networks |
US10185803B2 (en) | 2015-06-15 | 2019-01-22 | Deep Genomics Incorporated | Systems and methods for classifying, prioritizing and interpreting genetic variants and therapies using a deep neural network |
US11157800B2 (en) | 2015-07-24 | 2021-10-26 | Brainchip, Inc. | Neural processor based accelerator system and method |
US10332028B2 (en) | 2015-08-25 | 2019-06-25 | Qualcomm Incorporated | Method for improving performance of a trained machine learning model |
US10614361B2 (en) | 2015-09-09 | 2020-04-07 | Intel Corporation | Cost-sensitive classification with deep learning using cost-aware pre-training |
KR102492318B1 (ko) * | 2015-09-18 | 2023-01-26 | 삼성전자주식회사 | 모델 학습 방법 및 장치, 및 데이터 인식 방법 |
US20170098162A1 (en) | 2015-10-06 | 2017-04-06 | Evolv Technologies, Inc. | Framework for Augmented Machine Decision Making |
US10726328B2 (en) | 2015-10-09 | 2020-07-28 | Altera Corporation | Method and apparatus for designing and implementing a convolution neural net accelerator |
US10248907B2 (en) | 2015-10-20 | 2019-04-02 | International Business Machines Corporation | Resistive processing unit |
US10089178B2 (en) * | 2016-02-29 | 2018-10-02 | International Business Machines Corporation | Developing an accurate dispersed storage network memory performance model through training |
US11195093B2 (en) | 2017-05-18 | 2021-12-07 | Samsung Electronics Co., Ltd | Apparatus and method for student-teacher transfer learning network using knowledge bridge |
-
2017
- 2017-09-18 US US16/334,204 patent/US11210589B2/en active Active
- 2017-09-18 CN CN201780070591.1A patent/CN109952581A/zh active Pending
- 2017-09-18 WO PCT/US2017/052037 patent/WO2018063840A1/en active Search and Examination
- 2017-09-18 EP EP17857204.6A patent/EP3520038A4/en active Pending
-
2020
- 2020-06-03 US US16/891,866 patent/US10839294B2/en active Active
-
2021
- 2021-11-18 US US17/455,623 patent/US11386330B2/en active Active
-
2022
- 2022-03-09 US US17/654,187 patent/US11610130B2/en active Active
- 2022-03-09 US US17/654,194 patent/US11615315B2/en active Active
-
2023
- 2023-02-22 US US18/172,757 patent/US11755912B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627251A (zh) * | 2003-12-09 | 2005-06-15 | 微软公司 | 使用图形处理单元加速并优化机器学习技术的处理 |
US20070288410A1 (en) * | 2006-06-12 | 2007-12-13 | Benjamin Tomkins | System and method of using genetic programming and neural network technologies to enhance spectral data |
US20150127327A1 (en) * | 2013-11-01 | 2015-05-07 | Google Inc. | Context-dependent state tying using a neural network |
US20160224903A1 (en) * | 2015-01-29 | 2016-08-04 | Qualcomm Incorporated | Hyper-parameter selection for deep convolutional networks |
US9336483B1 (en) * | 2015-04-03 | 2016-05-10 | Pearson Education, Inc. | Dynamically updated neural network structures for content distribution networks |
Also Published As
Publication number | Publication date |
---|---|
US20220198275A1 (en) | 2022-06-23 |
EP3520038A4 (en) | 2020-06-03 |
US20220391707A1 (en) | 2022-12-08 |
EP3520038A1 (en) | 2019-08-07 |
WO2018063840A1 (en) | 2018-04-05 |
US10839294B2 (en) | 2020-11-17 |
US20220138581A1 (en) | 2022-05-05 |
US20200184337A1 (en) | 2020-06-11 |
US11386330B2 (en) | 2022-07-12 |
US20230196110A1 (en) | 2023-06-22 |
US11755912B2 (en) | 2023-09-12 |
US11615315B2 (en) | 2023-03-28 |
US20200293897A1 (en) | 2020-09-17 |
US11610130B2 (en) | 2023-03-21 |
US11210589B2 (en) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109952581A (zh) | 用于机器学习系统的学习教练 | |
US20240273387A1 (en) | Learning coach for machine learning system | |
Uzair et al. | Effects of hidden layers on the efficiency of neural networks | |
US11354578B2 (en) | Mixture of generators model | |
Han et al. | A survey on metaheuristic optimization for random single-hidden layer feedforward neural network | |
US20220188568A1 (en) | Methods and systems for mining minority-class data samples for training a neural network | |
Karsoliya | Approximating number of hidden layer neurons in multiple hidden layer BPNN architecture | |
Bacanin et al. | Artificial neural networks hidden unit and weight connection optimization by quasi-refection-based learning artificial bee colony algorithm | |
Arslan et al. | SMOTE and gaussian noise based sensor data augmentation | |
Wysoski et al. | Evolving spiking neural networks for audiovisual information processing | |
Kasabov et al. | Quantum-inspired particle swarm optimisation for integrated feature and parameter optimisation of evolving spiking neural networks | |
Silva et al. | Evolving spiking neural networks for recognition of aged voices | |
Stoychev et al. | Latent generative replay for resource-efficient continual learning of facial expressions | |
Lari et al. | Training artificial neural network by krill-herd algorithm | |
KR102574165B1 (ko) | 스파이킹 신경망에서 신경 암호 기반 소리 분류 장치 및 그 방법 | |
Liu et al. | Fault prediction for satellite communication equipment based on deep neural network | |
Kara et al. | Skin Type Detection with Deep Learning: A Comparative Analysis | |
Kaur et al. | Machine Learning and its Applications-A Review Study | |
KARA ARDAÇ et al. | Skin Type Detection with Deep Learning: A Comparative Analysis. | |
PARKS | The tain (SFMM) locatedstudied in here. southern Six California, providesMoun | |
Gao et al. | Combining particle swarm optimization and neural network for diagnosis of unexplained syncope | |
Lari et al. | A new approach to find optimum architecture of ANN and tuning it's weights using krill-herd algorithm | |
Padman et al. | Performance Evaluation of Various Deep Learning Techniques with Learners Memorization Optimization Algorithm for Multi-Modal Speech Emotion Detection | |
Noor et al. | Neural Nets Distributed on Microcontrollers using Metaheuristic Parallel Optimization Algorithm | |
Zhang et al. | Approximate Logical Dendritic Neuron Model Based on Selection Operator Improved Differential Evolution Algorithm |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190628 |
|
RJ01 | Rejection of invention patent application after publication |