使用深度聚类的知识蒸馏的制作方法

文档序号:30412888发布日期:2022-06-15 10:11阅读:200来源:国知局
使用深度聚类的知识蒸馏的制作方法

1.本发明一般涉及机器学习,尤其涉及训练执行与较大的模型相同功能的紧凑模型。


背景技术:

2.知识蒸馏训练将知识从相对大的模型转移到相对小的模型。例如,较大的模型可能不完全使用它的处理能力,以使得较小的模型可被训练以执行相同的功能,同时消耗较少的资源。


技术实现要素:

3.一种用于训练神经网络的方法包括将训练数据样本的全集聚类为专业训练聚类。使用专业训练聚类中的相应的专业训练聚类来训练专业教师神经网络。使用专业教师神经网络来针对训练数据样本的全集生成软标签。使用训练数据样本的全集、专业训练聚类和软标签来训练学生模型。
4.一种用于训练神经网络的系统包括硬件处理器和存储计算机程序代码的存储器。计算机程序代码在由硬件处理器执行时实现学生模型、聚类网络、多个专业教师神经网络和模型训练器。聚类网络将训练数据样本的全集聚类成多个专业训练聚类。专业教师神经网络一起针对训练数据样本的全集生成软标签。模型训练器使用多个专业训练聚类中的相应的专业训练聚类来训练多个专业教师神经网络,并且使用训练数据样本的全集、专业训练聚类和软标签来训练学生模型。
5.从以下结合附图阅读的对本发明的说明性实施例的详细描述中,这些和其它特征和优点将变得显而易见。
附图说明
6.以下描述将参考以下附图提供优选实施例的细节,其中:
7.图1是根据本发明的实施例的针对不同声学条件基于通用教师模型和专业教师模型来训练和使用学生模型的示意图;
8.图2是根据本发明的实施例的用于针对不同声学条件基于通用教师模型和专业教师模型来训练学生模型的方法的框图/流程图;
9.图3是根据本发明的实施例的用于使用经训练的学生模型来对新话语执行语音识别和自然语言任务的方法的框图/流程图;
10.图4是根据本发明的实施例的针对不同声学条件基于通用教师模型和专业教师模型来训练学生模型的自然语言处理系统的框图;
11.图5是根据本发明的实施例的示出神经网络的特征的人工神经网络的广义图;
12.图6是根据本发明的实施例的示出神经网络的特征的特定人工神经网络架构的广义图;
13.图7是根据一个实施例的示出具有一个或多个云计算节点的说明性云计算环境的框图,云消费者使用的本地计算设备与该一个或多个云计算节点通信;以及
14.图8是根据一个实施例的示出由云计算环境提供的一组功能抽象层的框图。
具体实施方式
15.知识蒸馏可以采用相对大的“教师模型”,并且可以使用它来训练相对小的“学生模型”。学生模型可以包含表示聚类数据的领域特定知识。在语音识别和其它声学处理任务中,这样的模型可以包含针对各种声学条件的专业教师,这些声学条件可以包括背景噪声的差异以及说话者的口音和情感的差异。
16.生成多个数据聚类,其可被用于使用无监督深度聚类来形成专业教师模型。本文描述了使用多个教师来确定软标签的训练流水线,然后,软标签被用于学生模型的训练。因为难以在单一模型中一次表示多个声学条件,所以,在训练学生模型时使用专业教师模型有助于捕获声学条件的差异。
17.自动语音识别的一个目的是针对各种各样声学条件提供稳健的声学建模。尽管在此将模型具体描述为处理声学数据,但是应当理解,也可以使用替代形式的数据。声学数据可以被表示为波形,例如表示气压随时间的强度,但是存在可以被表示为类似波形的许多其他形式的信息。因此,输入数据可以包括在人类听觉范围内的语音信号、在人类听觉范围以外的次声信号或超声波信号、包括电磁波谱中的能量波形的电磁信号、记录地球表面的运动的地震波信号、或任何其他适当的波形数据。
18.虽然可以在各种条件(例如不同的声学条件,,其可以包括说话者的年龄、位置、组身份,或者说话速率、信道或环境条件,或者环境噪声水平)下收集训练数据,但是并不假定数据包括用于这种信息的标签。因此,与声学条件有关的先验信息可能不可得。因此,可以使用无监督深度聚类来对训练数据进行聚类以根据声学条件对话语进行分组,并且这些聚类可以被用于训练条件特定的教师网络。
19.应当理解,尽管本公开包括关于云计算的详细描述,但是本文所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
20.现在参考图1,示出了声学处理任务的概述。说话者102发出话语,由麦克风104记录该话语,并将话语的气压波转换为波形。波形由经训练的学生模型106处理,该学生模型例如可以对波形执行语音识别以确定说话者102说了什么。然后,由经训练的学生模型106生成的信息被处理为自然语言任务112的一部分,例如执行对所请求的信息的查询或者响应于命令而执行动作。
21.经训练的学生模型106可以由包括通用教师模型108和专业教师模型110的一组教师模型来训练。通用教师模型108可以在训练数据的全集上被训练,而不管每个组分波形的声学条件如何。用于通用教师模型108的示例性结构可包括双向长短期记忆网络、视觉几何组(vgg)卷积神经网络、以及残差神经网络。通用教师模型108可被用于确定专业教师模型110如何表示来自通用环境的不同特性。通用教师模型110还被用于估计上下文相关音素的对数似然值,作为用于无监督聚类的特征,以使得自动语音识别的属性被反映在聚类中。
22.专业教师模型110可各自根据训练数据的子集来训练,例如在训练数据已根据不
同的声学条件被聚类之后。专业教师模型110可被实现为从通用教师模型108开始的模型自适应,在不同的教师模型之间保持每个神经元的基本。与通用教师模型108和专业教师模型110相比,学生模型106可以是具有较少网络参数的神经网络。结果,学生模型106可以比教师模型更快地操作。在一个特定示例中,用于对语音信号解码的学生模型可具有两个卷积层,分别具有128和256个隐藏节点,再加上每层具有2048个节点的四个全连接层,以估计9300个输出目标的后验概率。学生模型106的输出可具有与教师模型的输出相同的格式。
23.卷积神经网络(cnn)使用跨输入的滑动“窗口”来处理信息,其中cnn层中的每个神经元具有在每个窗口位置处被应用的相应“滤波器”。每个滤波器可被训练以例如处理输入内的相应模式。cnn在处理图像时特别有用,其中当滤波器经过图像的不同区域时可以捕获各个像素之间的局部关系。cnn层中的神经元的输出可以包括一组值,表示相应的滤波器在滑动窗口中是否匹配每组值。
24.可以对被表示为说话者向量的训练数据波形执行聚类,每个说话者向量包括针对说话者的音素的特征和音素水平置信分数。包括音素水平置信分数的说话者向量可以根据在来自同一说话者的特征向量序列上的平均值来确定。
25.因此,通用教师模型108可以用数据集中的所有波形来训练,或者可以使用表示训练数据的平均声学条件的子集来训练。该子集可以通过例如从训练数据池中随机选择话语来生成。用于生成置信分数的初始声学模型也可以从相同的数据来训练。
26.在聚类之后,训练数据可以被分成n类(class),以使用无监督深度学习来创建声学域特定数据集dn,其中n是n类之一。然后,使用相应的数据集dn来训练专业教师模型110,从而适应通用教师模型108。
27.为了训练学生模型106,使用对应的专业教师模型110来生成软标签ln。然后,用所有的训练数据dn和对应的软标签集ln来训练学生网络106。由专业教师模型110生成的软标签对于对应的声学条件域可具有比通用教师模型108更好的质量。因此,学生模型106隐含地包括各种专业教师模型110的辨别能力。
28.现在参考图2,示出了用于训练学生模型106的方法。框202开始于使用例如整个训练数据集或者整个训练数据集的随机采样的子集来训练通用教师模型108。可以使用例如随机梯度下降和反向传播来执行该训练,从而最小化来自教师模型的预测输出与预定义训练数据标签之间的交叉熵损失。
29.框204例如使用无监督深度聚类来对训练数据执行聚类。可以例如使用深度神经网络、使用聚类过程(例如,k均值)迭代地对特征进行分组、使用后续的分配作为监督以更新网络的权重来执行深度聚类。聚类的每次迭代被用于向训练数据提供伪标签,然后,在聚类的下一次迭代中使用该伪标签。形成一组n个聚类dn,每个聚类包括相应的训练数据波形的子集。虽然可以使用其他形式的聚类来代替深度聚类,但是,深度聚类方法可以在基于多个专业模型的框架中提供优越的性能。
30.框204可以采用聚类神经网络模型,其可以包括特征映射层、分类层和k均值聚类组件。特征映射层将输入信号转换成特征的中间表示。然后,分类层执行中间表示的分类。特征映射层和分类层在权重参数被更新时被组合。
31.采用例如k均值聚类将来自映射层的中间特征聚类成类别(category),而与映射层和分类层的网络无关。由k均值给定的数据的类别被用作伪参考标签以更新整个聚类网
络。在特征映射f
θ
(xn)之上预测正确标签的参数化分类器目标函数可以被表示为:
[0032][0033]
其中,θ是与特征映射函数f
θ
对应的参数集,l是负log-softmax函数,yn是与输入信号xn相关联的从k均值聚类获得的伪标签,w是分类器的参数。通过优化该目标函数,例如通过使用小批量随机梯度下降(sgd)与使用反向传播的训练一起,共同学习参数θ和w。因此,特征被迭代地分组在一起。
[0034]
可以假设每个讲话者在特定的声学条件下讲话。训练数据中的每个话语可以使用d维超向量来表示,其可以通过级联每个上下文相关音素的平均对数梅尔频率特征(及其增量和双增量)来形成。可在针对话语执行了强制对齐之后计算平均对数梅尔频率特征。在对齐估计过程期间获得的每个音素的平均对数似然值也可被附加到超向量,以使得超向量的大小是d=f
×
p+s,其中,f是对数梅尔频率特征的维度,p是上下文相关音素的数量,s是在制造超向量时使用的对数似然值的数量,其可以等于p。
[0035]
如果音素上下文相关性是例如三音素或五音素,则超向量的大小可能变得太大而不能被用作聚类网络的实际输入。因此,超向量可以例如通过主成分分析(pca)来被压缩到更易处理的大小,或者可以替代地使用上下文无关音素。
[0036]
当话语在语音上是均衡时,发音向量则可以仅是声学特性的良好表示,因为信道相关的特性可被平均。相反,如果话语短或者不均衡,则向量可以包括在语音上偏置的分量。然而,这种信息是有用的,因为它表示可由专业教师模型110使用的在语言上有意义的特性。使用包括每个说话者的所有话语的超向量有助于获得在语音上均衡的表示。
[0037]
因此,为了使用该系统来对训练数据进行聚类,可以生成音素对齐信息以表示每个帧属于哪个音素。在相同音素上取平均,可以对每个讲话者产生超向量。每个音素将具有说话者向量的包括对应特征的相应第一部分,在该第一部分之后是该音素的平均置信分数。音素水平置信分数可以被估计,并被附加到说话者向量上以并入语音识别信息以用于聚类。这对每个音素创建与音素数量对应的附加的一组分量。
[0038]
框206训练专业教师模型110。每个专业教师模型110使用相应的子集dn作为训练数据,以产生在具有特定声学条件的波形上被训练的模型。然后,在框208中,使用这些专业教师模型110来对各个训练数据子集生成软标签q
sp
,同时使用通用教师模型108来对整个训练数据集生成软标签q
bl

[0039]
然后,框210使用软标签和经聚类的训练数据来训练学生模型106。框210可采用双向损失函数来训练学生模型106。例如,损失函数可以如下表示:
[0040][0041][0042]
[0043]
其中,λ是对两个不同的损失分量进行加权的超参数,q
bl
(i|x)表示来自通用教师模型108的软标签,q
sp
(i|x)表示来自专业教师模型110的软标签,x是输入特征,p(i|x)是来自学生模型106的类的输出概率,其中i指示上下文相关音素的索引。超参数λ可以被设置为例如0.5。
[0044]
首先,在针对被分类的数据dn的预测输出与对应的软标签q
sp
(i|x)之间计算针对专业教师模型110的损失相同的数据经过通用教师模型108,以生成针对通用教师模型108的损失学生网络106的参数被更新以最小化组合损失
[0045]
损失函数的两个分量各自试图最小化学生模型106和通用教师模型108的分布之间的差异以及学生模型106和专业教师模型110的分布之间的差异。采用软标签q,竞争类将对于每个训练示例具有小但非零的概率。可被用于训练学生模型106的kullback-leibler(kl)散度准则同样也最小化软目标标签的组合交叉熵。
[0046]
现在参考图3,示出了执行自然语言任务的方法。框302例如使用通用教师模型108和专业教师模型110来在包括各种话语波形的训练数据集上训练学生模型106。框304例如使用麦克风104记录新话语。
[0047]
框306例如使用经训练的学生模型106对新话语执行语音识别。经训练的学生模型106可以输出例如与话语中的不同声音相对应的音素集。在一些情况下,经训练的学生模型106可以进一步将音素转换成完整的单词和句子,将新话语表示为文本串。
[0048]
然后,框308对文本执行自然语言任务112。例如,自然语言任务112可包括实现问答系统的聊天机器人。在这样的示例中,自然语言任务308从口头话语中识别用户的意图,识别对特定信息的请求,然后提供所请求的信息。在另一个示例中,自然语言任务112可以包括执行被编码在新话语中的命令的执行引擎。
[0049]
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括在其上具有计算机可读程序指令的(一个或多个)计算机可读存储介质,计算机可读程序指令用于使处理器执行本发明的各方面。
[0050]
计算机可读存储介质可以是可保持并存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述存储设备的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如在上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码设备、以及上述设备的任何适当的组合。如本文所使用的计算机可读存储介质不应被解释为是暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
[0051]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络
接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0052]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c++等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的各方面。
[0053]
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
[0054]
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以使得经由计算机或其他可编程数据处理装置的处理器而执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,以使得在其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0055]
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤将在计算机、其他可编程装置或其他设备上执行,以产生计算机实现的过程,以使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0056]
在说明书中提及本发明的“一个实施例”或“实施例”及其它变型意味着结合该实施例描述的特定特征、结构、特性等被包括在本发明的至少一个实施例中。因此,在整个说明书中的各个地方出现的短语“在一个实施例中”或“在实施例中”以及任何其它变型的出现不一定都是指同一个实施例。
[0057]
应当理解,例如在“a/b”、“a和/或b”和“a和b中的至少一个”的情况下使用以下“/”、“和/或”以及
“……
中的至少一个”中的任何一个旨在涵盖仅选择第一个列出的选项(a)、或仅选择第二个列出的选项(b)、或选择两个选项(a和b)。作为进一步的例子,在“a、b和/或c”和“a、b和c中的至少一个”的情况下,这样的措辞旨在包括仅选择第一个列出的选项(a)、或者仅选择第二个列出的选项(b)、或者仅选择第三个列出的选项(c)、或者仅选择第一个和第二个列出的选项(a和b)、或者仅选择第一个和第三个列出的选项(a和c)、或者仅选择第二个和第三个列出的选项(b和c)、或者选择所有三个选项(a和b和c)。这可以被扩展到所列的许多项目,这对于本领域和相关领域的普通技术人员来说是显而易见的。
[0058]
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
[0059]
如本文所使用的,术语“硬件处理器子系统”或“硬件处理器”可以是指合作以执行一个或多个特定任务的处理器、存储器、软件或其组合。在有用的实施例中,硬件处理器子系统可以包括一个或多个数据处理元件(例如,逻辑电路、处理电路、指令执行设备等)。一个或多个数据处理元件可以被包括在中央处理单元、图形处理单元、和/或单独的基于处理器或计算元件的控制器(例如,逻辑门等)中。硬件处理器子系统可以包括一个或多个板载存储器(例如,高速缓存、专用存储器阵列、只读存储器等)。在一些实施例中,硬件处理器子系统可以包括一个或多个存储器,其可以在板上或板下,或者可以专用于由硬件处理器子系统使用(例如,rom、ram、基本输入/输出系统(bios)等)。
[0060]
在一些实施例中,硬件处理器子系统可以包括并执行一个或多个软件单元。一个或多个软件单元可以包括操作系统和/或一个或多个应用程序和/或特定代码以实现指定结果。
[0061]
在其它实施例中,硬件处理器子系统可以包括专用的专门电路,其执行一个或多个电子处理功能以实现指定结果。这种电路可以包括一个或多个专用集成电路(asic)、fpga和/或pla。
[0062]
根据本发明的实施例,可预期硬件处理器子系统的这些和其它变化。
[0063]
现在参考图4,示出了自然语言处理系统400。系统400包括硬件处理器402和存储器404。传感器接口406从传感器(诸如麦克风104等)接收波形信息。训练数据408可以被存储在存储器404中。
[0064]
聚类网络410如上所述地对训练数据408执行聚类,提供与不同声学条件相对应的训练子集。模型训练器412使用训练数据408来训练通用教师模型108。由聚类网络410生成的训练数据408的聚类子集由模型训练器412使用以训练相应的专业教师模型110。通用教师模型108和专业教师模型110被用于针对训练数据生成软标签,并且模型训练器412使用这些软标签来训练学生模型106。
[0065]
经训练的学生模型106从传感器接口406接收新话语。学生模型106例如对话语执行自动语音识别,并生成文本输出。然后,自然语言任务112接受文本输出,提供适当的响应。
[0066]
通用教师模型108、专业教师模型110和学生模型106可各自被实现为相应的人工神经网络(ann)。ann是一种由生物神经系统(例如大脑)激发的信息处理系统。ann的关键元素是信息处理系统的结构,其包括并行工作以解决特定问题的大量高度互连的处理元件(被称为“神经元”)。此外,ann在使用中被训练,伴随涉及对在神经元之间存在的权重的调整的学习。通过这种学习过程,ann被配置用于特定应用,例如模式识别或数据分类。
[0067]
现在参考图5,示出了神经网络的广义图。ann展示从复杂或不精确的数据中导出含义的能力,并可用于提取模式和检测过于复杂而不能被人类或其他基于计算机的系统检测的趋势。通常已知神经网络的结构具有输入神经元502,其向一个或多个“隐藏”神经元504提供信息。输入神经元502与隐藏神经元504之间的连接508被加权,然后,这些加权输入由隐藏神经元504根据隐藏神经元504中的某个函数来处理,在层之间具有加权的连接508。可以有任意数量的隐藏神经元504层以及执行不同功能的神经元。也存在不同的神经网络结构,例如卷积神经网络、maxout网络等。最后,一组输出神经元506接受并处理来自最后一组隐藏神经元504的加权输入。
[0068]
这表示“前馈”计算,其中信息从输入神经元502传播到输出神经元506。在完成了前馈计算后,将输出与从训练数据可获得的期望输出进行比较。然后,相对于训练数据的误差在“反馈”计算中被处理,其中,隐藏神经元504和输入神经元502接收关于从输出神经元506向后传播的误差的信息。一旦完成了后向误差传播,则执行权重更新,其中加权的连接508被更新以解决所接收的误差。这仅代表一种ann。
[0069]
现在参考图6,示出了用于ann的示例性架构600。应当理解,该架构仅仅是示例性的,并且可以替代使用其他架构或其他类型的神经网络。特别地,尽管在此描述了ann的硬件实施例,但是应当理解,神经网络架构可以以软件实现或模拟。本文描述的硬件实施例旨在以高度通用性说明神经网络计算的一般原理,并且不应被解释为以任何方式进行限制。
[0070]
此外,下面描述的神经元层和连接它们的权重以一般方式描述,并且可以由具有任何适当程度或类型的互连性的任何类型的神经网络层来替换。例如,层可以包括卷积层、池化层、全连接层、softmax层、或任何其他适当类型的神经网络层。此外,可以根据需要添加或去除层,并且对于更复杂的互连形式可以省略权重。
[0071]
在前馈操作期间,一组输入神经元602各自并行地向相应的一行权重604提供输入电压。在本文描述的硬件实施例中,权重604各自具有可设置的电阻值,以使得电流输出从权重604流到相应的隐藏神经元606以表示加权输入。在软件实施例中,权重604可以仅被表示为系数值,这些系数值与相关的神经元输出相乘。
[0072]
关注硬件实施例,由给定权重604输出的电流被确定为其中,v是来自输入神经元602的输入电压,r是权重604的设置电阻。来自每个权重的电流按列相加,并流向隐藏神经元606。一组参考权重607具有固定电阻,并将它们的输出组合成被提供给每个隐藏神经元606的参考电流。由于电导值只能是正数,因此,需要一些参考电导来对矩阵中的正值和负值进行编码。由权重604产生的电流是连续取值并且是正的,因此,参考权重607被用于提供参考电流,超过该参考电流的电流被认为具有正值,而低于该参考电流的电流被认为具有负值。在软件实施例中不需要使用参考权重607,在软件实施例中可以精确且直接地获得输出和权重的值。作为使用参考权重607的替代方案,另一个实施例可以使用单独的权重604阵列来捕获负值。
[0073]
隐藏神经元606使用来自权重604阵列和参考权重607的电流来执行一些计算。然后,隐藏神经元606将它们自己的电压输出到另一个权重604阵列。该阵列以相同的方式执行,其中一列权重604从其相应的隐藏神经元606接收电压以产生加权电流输出,该加权电流输出逐行相加并被提供给输出神经元608。
[0074]
应当理解,通过插入附加的阵列层和隐藏神经元606,可以实现任意数量的这些级。还应当注意,一些神经元可以是向阵列提供常量输出的常量神经元609。常量神经元609可以位于输入神经元602和/或隐藏神经元606之间,并且仅在前馈操作期间使用。
[0075]
在反向传播期间,输出神经元608提供电压反向跨越权重604阵列。输出层将所生成的网络响应与训练数据进行比较并计算误差。该误差作为电压脉冲被施加到阵列,其中,与误差值成比例地调制脉冲的高度和/或持续时间。在该示例中,一行权重604并行地从相应的输出神经元608接收电压,并且将该电压转换成电流,该电流逐列相加以向隐藏神经元606提供输入。隐藏神经元606将加权反馈信号与它的前馈计算的导数相比较,并在将反馈信号电压输出到其相应的一列权重604之前存储误差值。这种反向传播经过整个网络600,直到所有隐藏神经元606和输入神经元602都存储了误差值。
[0076]
在权重更新期间,输入神经元602和隐藏神经元606正向施加第一权重更新电压经过网络600,并且输出神经元608和隐藏神经元606反向施加第二权重更新电压经过网络600。这些电压的组合在每个权重604内产生状态变化,使得权重604呈现新的电阻值。以这种方式,可以训练权重604以使神经网络600适应其处理中的误差。应当注意,前馈、后向传播和权重更新这三种操作模式彼此不重叠。
[0077]
如上所述,权重604可以以软件或硬件实现,例如使用相对复杂的加权电路或使用电阻交叉点器件。这种电阻器件可以具有开关特性,该开关特性具有可被用于处理数据的非线性。权重604可以属于被称为电阻处理单元(rpu)的一类器件,因为它们的非线性特性被用于执行神经网络600中的计算。rpu器件可以用电阻随机存取存储器(rram)、相变存储器(pcm)、可编程金属化单元(pmc)存储器、或具有非线性电阻开关特性的任何其它器件来实现。这种rpu器件也可以被认为是忆阻系统。
[0078]
云计算是一种服务交付模式,用于实现对共享的可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、vm和服务)池池的方便、按需的网络访问,可配置计算资源可以以最小的管理成本或与服务提供商进行最少的交互来快速供应和释放。这种云模式可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
[0079]
特征如下:
[0080]
按需自助式服务:云的消费者可以单方面自动地按需提供计算能力(诸如服务器时间和网络存储),而无需与服务提供者进行人工交互。
[0081]
广泛的网络接入:能力在网络上可用并通过促进异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用的标准机制来接入。
[0082]
资源池:提供商的计算资源被归入资源池以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和再分配。一般情况下,消费者不能控制或不知道所提供的资源的确切位置,但是可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0083]
迅速弹性:可以迅速且有弹性地(在一些情况下自动地)提供能力以快速向外扩展并被迅速释放以快速缩小。对于消费者,可用于提供的能力通常看起来是无限的,并可以在任何时间以任何数量购买。
[0084]
可测量的服务:云系统通过利用在适于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象程度的计量能力,自动地控制和优化资源使用。可以监视、控制和报告
资源使用情况,为所利用的服务的提供者和消费者双方提供透明度。
[0085]
服务模型如下:
[0086]
软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可通过诸如网络浏览器的瘦客户机接口(例如,基于网络的电子邮件)来从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置以外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、或甚至单个应用能力等的底层云基础架构。
[0087]
平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用是使用由提供商支持的编程语言和工具创建的。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0088]
基础架构即服务(iaas):向消费者提供的能力是提供消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层云基础架构,但对操作系统、存储、所部署的应用具有控制权,对所选择的网络组件(例如,主机防火墙)可能具有有限的控制权。
[0089]
部署模型如下:
[0090]
私有云:云基础架构单独为某个组织运行。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。
[0091]
共同体云:云基础架构被若干组织共享,并支持具有共同利害关系(例如,任务、安全要求、政策和合规考虑)的特定共同体。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。
[0092]
公共云:云基础架构可用于一般公众或大型产业群,并由销售云服务的组织拥有。
[0093]
混合云:云基础架构由两个或更多云(私有云、共同体云或公共云)组成,这些云依然是独特实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
[0094]
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语义的互操作性。计算的核心是包括互连节点网络的基础架构。
[0095]
现在参考图7,描述了说明性的云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备例如是个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络(诸如如上文所描述的私有云、共同体云、公共云或混合云或其组合)中。这允许云计算环境50提供基础架构即服务、平台即服务和/或软件即服务,而云消费者不需要为其在本地计算设备上维护资源。应当理解,图7中所示的各类计算设备54a-n仅仅是示意性的,计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用网络浏览器)与任何类型的计算设备通信。
[0096]
现在参考图8,示出了由云计算环境50(图7)提供的一组功能抽象层。首先应当理解,图8所示的组件、层和功能仅仅是示意性的,本发明的实施例不限于此。如图所示,提供了以下层和相应的功能:
[0097]
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于risc
(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
[0098]
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用程序和操作系统74;以及虚拟客户端75。
[0099]
在一个示例中,管理层80可以提供以下描述的功能。资源供应功能81提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。计量和定价功能82提供对在云计算环境内使用资源的成本跟踪,并为这些资源的消耗提供账单或发票。在一个示例中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份认证,并为数据和其他资源提供保护。用户门户功能83为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84提供云计算资源的分配和管理,以满足所需的服务水平。服务水平协议(sla)计划和履行功能85提供对根据sla针对其预测未来需求的云计算资源的预安排和采购。
[0100]
工作负载层90提供可以利用云计算环境的功能的示例。在该层中,可提供的工作负载和功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及模型训练96。
[0101]
已经描述了使用深度聚类的知识蒸馏的优选实施例(其旨在说明而非限制),应注意,本领域技术人员可以根据以上教导进行修改和变化。因此,应当理解,可以在所公开的特定实施例中进行改变,这些改变在由所附的权利要求概括的本发明的范围内。因此,已经用专利法所要求的细节和特性描述了本发明的各方面,在所附的权利要求中阐述了所要求保护的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1