使用神经网络进行音频处理的制作方法

文档序号:16370062发布日期:2018-12-22 08:39阅读:577来源:国知局
使用神经网络进行音频处理的制作方法

本说明书涉及通过神经网络的层处理输入以生成输出。

神经网络是机器学习模型,其采用一层或多层非线性单元来对于接收的输入预测输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作对于网络中的下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从所接收的输入生成输出。



技术实现要素:

通常,本说明书中描述的主题的一个创新方面可以体现在用于提供包括多个神经网络层的神经网络的方法中,其中,神经网络被配置为接收音频样本的时域特征,并处理时域特征以从音频样本生成神经网络输出,其中,神经网络包括:(i)频率变换(f-t)层,其被配置为应用由f-t层参数集合定义的将时域特征的窗变换为频域特征的变换;以及(ii)一个或多个其他神经网络层,其具有相应的层参数,并且被配置为处理频域特征以生成神经网络输出。该方法还可以包括训练神经网络。训练神经网络的方法可以包括下述行为:获得训练数据,训练数据包括对于多个训练音频样本中的每一个而言的该训练音频样本的时域特征和训练音频样本的已知输出;并且在训练数据上训练神经网络以调整其他神经网络层的参数的值,并调整f-t层参数的值以定义从时域特征到频域特征的最佳变换。

该方面的其他实施例包括对应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,每个被配置为执行所述方法的行为。一个或多个计算机的系统可以被配置为借助于安装在系统上的软件、固件、硬件或其任何组合来执行特定操作或行为,所述软件、固件、硬件或其任何组合在运行中可以使系统执行所述行为。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或行为,该指令在由数据处理装置执行时使所述装置执行所述行为。

根据另一方面,提供了一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时使计算机执行操作以实现:神经网络系统,所述神经网络系统包括多个神经网络层,其中,所述神经网络系统被配置为接收音频样本的时域特征并处理所述时域特征以生成用于所述音频样本的神经网络输出,所述多个神经网络层包括:频率变换(f-t)层,其被配置为应用由f-t层参数集合定义的将时域特征的窗变换为频域特征的变换;以及一个或多个其他神经网络层,其具有相应的层参数,其中,所述一个或多个神经网络层被配置为处理频域特征以生成神经网络输出。f-t层参数可以是经训练的f-t层参数,其定义从时域到频域的最佳变换。

根据另一方面,提供了一种用于在训练数据上训练包括多个神经网络层的神经网络的方法,其中,所述神经网络被配置为接收音频样本的时域特征,并处理所述时域特征以从所述音频样本生成神经网络输出,其中,所述神经网络包括:(i)频率变换(f-t)层,被配置为应用由f-t层参数集合定义的将时域特征的窗变换为频域特征的变换;以及(ii)一个或多个其他神经网络层,具有相应的层参数,并且被配置为处理所述频域特征以生成所述神经网络输出,并且其中,所述方法包括下述行为:获得训练数据,所述训练数据包括对于多个训练音频样本中的每一个而言的该训练音频样本的时域特征和该训练音频样本的已知输出;并且在所述训练数据上训练所述神经网络以调整所述其他神经网络层的所述参数的所述值,并调整所述f-t层参数的所述值以定义从时域特征到频域特征的最佳变换。

根据另一方面,提供了一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述计算机执行操作,所述操作用于:在训练数据上训练包括多个神经网络层的神经网络,其中,所述神经网络被配置为接收音频样本的时域特征,并处理所述时域特征以从所述音频样本生成神经网络输出,其中,所述神经网络包括:(i)频率变换(f-t)层,被配置为应用由f-t层参数集合定义的变换,所述变换将时域特征的窗变换为频域特征;以及(ii)一个或多个其他神经网络层,其具有相应的层参数,并且被配置为处理所述频域特征以生成所述神经网络输出,并且其中,所述操作包括:获得训练数据,所述训练数据包括对于多个训练音频样本中的每一个而言的该训练音频样本的时域特征和该训练音频样本的已知输出;以及在所述训练数据上训练所述神经网络以调整所述其他神经网络层的所述参数的所述值,并调整所述f-t层参数的所述值以定义从时域特征到频域特征的最佳变换。

前述方面和其他实施例可以每个可选地单独或组合地包括一个或多个以下特征。在一些实施方式中,由f-t层参数集合定义的将时域特征的窗变换为频域特征的变换是由离散傅里叶变换(dft)矩阵表示的。

在一些情况下,所述f-t层参数集合包括变换矩阵,其中,所述变换矩阵的每一行的条目包括相应的采样基函数。

在一些实施方式中,每行的第一参数确定该行中的条目中的每个条目的频率,并且每行的第二参数确定该行中的条目中的每个条目的幅度。

在一些情况下,所述变换矩阵中的行数等于所提取的频率的数目。

在一些实施方式中,所述f-t层参数集合包括变换矩阵,其中,所述变换矩阵包括窗函数。

在一些情况下,所述神经网络被配置为将窗函数应用于f-t层输入。

在一些方面,所述训练数据包括多个多信道训练数据。

在一些实施方式中,所述神经网络包括多个f-t层,每个f-t层被配置为应用由相应的f-t层参数集合定义的将时域特征的窗变换为频域特征的变换,并且训练所述神经网络包括连接由所述多个f-t层中的每一个生成的频域特征以执行多时间标度dft。

在一些情况下,所述多个f-t层每个被配置为应用由共享的f-t层参数集合定义的变换。

在一些实施方式中,该方法还包括将所述多个多信道训练数据合并为单个训练数据输入。

在一些情况下,在所述训练数据上训练所述神经网络包括针对每个时域特征的窗和针对所述f-t层:从所述f-t层上方的神经网络层接收时域特征的所述窗的反向传播梯度;计算所述神经网络的误差函数的梯度,其中,所述误差函数取决于所述f-t层参数和所接收的反向传播梯度的乘积;以及使用所计算的梯度来更新所述f-t层参数。

在一些实施方式中,所述频率变换(f-t)层所运算于的所述时域特征的所述窗取决于所接收的时域特征的数目。

在一些情况下,所述f-t层是完全连接的神经网络层。

在一些实施方式中,所述神经网络被配置为接收音频样本的时域特征,并且处理所述时域特征以生成对所述音频样本进行分类的神经网络输出,并且所述训练数据包括对于多个训练音频样本的每个而言的该训练音频样本的时域特征和该训练音频样本的已知分类。

可以在特定实施例中实现本说明书中描述的主题,以便实现以下优点中的一个或多个。

诸如语音识别、内容识别、音乐识别、紧急警报器检测和其他分类问题的音频处理任务通常利用作为输入的频域特征来工作。用于将时域特征转换(convert)为频域特征的常用算法产生固定标度的频域特征,诸如线性标度频域特征或其他预定义标度的频域特征,其可被提供作为诸如神经网络系统的音频分类系统的输入。

然而,在固定标度转换过程期间可能丢失重要信息,并且提供固定标度频域特征作为音频分类系统的输入可能降低音频分类系统的精度和性能。此外,时域特征到频域特征的硬编码固定标度转换可能无法为特定任务提供从时域到频域的最佳映射。例如,对于一些识别任务,线性标度频率映射可以是最佳的,对于其他识别任务,对数标度(logarithmicscale)或主要音阶(majormusicalscale)可以是最佳的。作为另一个例子,一些识别任务受益于在中频频谱中具有更详细的频率标度而在低频和高频频谱中具有更少的细节。

如本说明书中所描述的自适应时域到频域转换神经网络系统学习用于给定识别任务的时域特征和频域特征之间的最佳映射。特别地,自适应时域到频域转换神经网络系统为不同的识别任务和不同的输入信号特性学习不同的频率映射。因此,与对时域特征应用固定标度频率映射并向神经网络提供固定标度频域特征以进行处理的系统相比,在对原始输入样本进行分类时,实现本说明书中描述的自适应时域到频域转换的神经网络系统可以实现更高的精度水平。

此外,如本说明书中所描述的自适应时域到频域转换神经网络系统可以使用基于离散傅立叶变换(dft)的技术来学习时域特征和频域特征之间的最佳映射,这在一些情况下导致与不实现自适应时间到频域转换的其他神经网络系统相比,神经网络系统的性能和效率得到改善,因为尽管dft的计算复杂度实际上可能高于诸如快速傅里叶变换(fft)的其他转换技术,但是由于矩阵乘法和与fft相关的大常数的效率,它在实践中通常可以更快。另外,如本说明书中所描述的自适应时域到频域转换神经网络系统映射到k个频率,其中,k显著小于n。因此,系统执行n*k运算,这甚至更有效。

在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。

附图说明

图1是自适应时域到频域转换神经网络系统的示例。

图2是用于从输入生成自适应时域到频域转换神经网络系统输出的示例过程的流程图。

图3是用于训练频率变换神经网络层和一个或多个其他神经网络层的示例过程的流程图。

各附图中相同的附图标记和名称表示相同的元件。

具体实施方式

本说明书描述了一种用于针对给定分类或回归任务学习在时域输入样本和频域输出样本之间的最佳映射的神经网络系统和方法。

图1示出了自适应时域到频域转换神经网络系统100的示例。自适应时域到频域转换神经网络系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中,可以实现下面描述的系统、组件和技术。

自适应时域到频域转换神经网络系统100是机器学习系统,其接收系统输入并从系统输入生成系统输出。神经网络系统100可以被配置为接收音频样本102的时域特征并基于该输入生成相应的输出112。

在一些实施方式中,相应的输出可以包括相应的分数或音频样本分类。例如,如果对神经网络系统100的输入是表示话语的音频样本的时域特征的窗,则由神经网络系统100生成的输出可以是针对文本块集合中的每一个文本块的分数,每个分数表示该文本块是话语或话语序列的正确转录的估计可能性。在一些示例中,神经网络系统100可以是内容识别系统的一部分,并且由神经网络系统100生成的输出可以是内容块集合中的每个内容块或每个内容块集合中的每个片段的分数。作为另一示例,神经网络系统100可以是紧急警报检测系统的一部分,并且由神经网络系统100生成的输出可以是将输入分类为作为警报或不作为警报的分数。

在其他实施方式中,相应的输出可以用于预测单个值或多个值(例如,回归)。例如,神经网络系统输出112可以估计输入到系统的音频样本中的某种类型的噪声(例如,语音)的水平。作为另一示例,神经网络系统输出112可以包括其中记录由音频样本表示的歌曲的年份的预测。作为另一示例,例如,在回声消除的情况下,神经网络系统可用于生成音频。例如,音频样本输入102可以包括两个子输入,例如,混合信号和背景信号,并且相应的神经网络系统输出112可以包括通过从混合信号中减去背景信号而生成的音频样本。

自适应时域到频域转换神经网络系统100包括多个神经网络层,例如,频率变换(f-t)层104和神经网络层108。自适应时域到频域转换神经网络系统100中的每个神经网络层被配置为接收相应的层输入并处理该层输入以从输入生成相应的层输出。神经网络层共同处理由神经网络系统100接收的神经网络输入,来为每个所接收的神经网络输入生成相应的神经网络输出。下面参考图2更详细地描述从输入生成自适应时域到频域转换神经网络系统输出。

神经网络系统100的一些或所有层与相应的参数集合相关联。神经网络层根据该神经网络层的参数的当前值从输入生成输出。例如,作为从所接收的输入生成输出的一部分,一些层可以将所接收的输入乘以当前参数值的相应参数矩阵。

自适应时间到频率转换神经网络系统100中的至少一个神经网络层是f-t层,例如,f-t层104。f-t层是将所接收的时域特征102的窗转换为频域特征106的神经网络层。例如,如果所接收的时域特征的窗包括l个时域特征,则f-t层可以将时域特征的窗变换为任何数目的频域特征。频域特征的数目可以取决于来自该层的输出的计算成本和大小。在某些情况下,频域特征的数目可能小于时域特征的数目。频域特征的数目(例如,f-t层中的节点的数目)可以与时域特征的窗中的时域特征的数目相同,或者可以与时域特征的窗中的时域特征的数目不同。可以选择时域特征的窗中的时域特征的数目以确定f-t层对其进行运算的时域特征的时间窗。例如,具有8khz单声道输入的50ms时间窗将400个时域特征作为输入。

f-t层通过应用由相应的f-t层参数集合定义的变换将所接收的时域特征的窗变换为频域特征。在一些实施方式中,可以将例如hanning窗的窗函数应用于对于f-t层的输入信号以避免泄漏。由相应的f-t层参数集合定义的变换可以被表示为变换矩阵。f-t层可以使用矩阵乘法将变换矩阵应用于时域特征的窗的向量表示以生成频域特征。在一些实施方式中,相应变换矩阵的每一行的条目包括相应的采样基函数,例如,如离散傅里叶变换(dft)的采样正弦波或如离散余弦变换(dct)的采样余弦波。可以通过多个可学习参数来控制变换矩阵的条目。例如,变换矩阵的每一行的第一参数可以确定该行中的每个条目的频率,并且变换矩阵的每一行的第二参数可以确定该行中的每个条目的幅度。在一些实施方式中,变换矩阵中的行数等于由f-t层提取的频率的数目。在一些情况下,窗函数可以通过窗函数与变换矩阵中的每一行的逐点相乘而被合并到由相应的f-t层参数集合所定义的变换矩阵中。

频率变换矩阵中的系数可包括复数,例如,使用标准dft公式计算的复数。结果,频率变换层可以输出复数。在这种情况下,系统可以采用量级/量级的范数或对数来生成实数层输出,该输出可以馈送到网络的其余部分。在一些实施方式中,f-t层可以包括通过将dft分解为余弦(实数)和正弦(虚数)部分而计算的两个矩阵。两个矩阵可以保持分开,或者可以使用每个复权重的量级来组合。在某些情况下,f-t层可以应用离散余弦变换,该变换将实数作为输入并生成作为输出的实数。

在一些实施方式中,由相应的f-t层参数集合定义的变换包括dft,例如,由相应的f-t层参数集合定义的变换由dft矩阵表示。尽管为方便起见图1中仅描绘了一个f-t层104,但是自适应时域到频域转换神经网络系统100可包括多个f-t层。例如,可以在不同时间窗上使用多个f-t层并将其连接以执行多标度dft。在一些实施方式中,多个f-t层可以应用由共享的f-t层参数集合定义的相应变换。

f-t层(例如,f-t层104)可以是完全连接的神经网络层。在一些实施方式中,f-t层(例如,f-t层104)可以不包括偏置或激活,例如,如线性激活函数。

自适应时域到频域转换神经网络系统100包括一个或多个其他神经网络层108,例如,神经网络层110。尽管为方便起见图1中仅描绘了一个神经网络层110,但是神经网络系统100可包括多个神经网络层。包括在神经网络系统100中的神经网络层108的数目取决于神经网络系统100被配置为执行的任务。此外,包括在神经网络系统100中的神经网络层108的类型取决于神经网络系统被配置为执行的任务。例如,对于语音识别任务,神经网络系统100可以包括多个神经网络层108,其包括多个长短期记忆(lstm)神经网络层。在下文中更详细地描述了在语音识别任务中使用lstm神经网络层:“longshort-termmemorybasedrecurrentneuralnetworkarchitecturesforlargevocabularyspeechrecognition”sak,andrewsenior,beaufays,http://arxiv.org/abs/1402.1128。作为另一示例,对于乐器识别任务,神经网络系统100可包括多个神经网络层108,其包括多个卷积神经网络层。在下文中更详细地描述了将卷积神经网络应用于乐器识别任务:“automaticinstrumentrecognitioninpolyphonicmusicusingconvolutionalneuralnetworks”peterli,jiyuanqian,tianwang,http://arxiv.org/abs/1511.05520。

在一些实施方式中,神经网络系统100可以包括一个或多个递归神经网络(rnn)层,例如lstm神经网络层。在这些实施方式中,神经网络系统100可以作为输入接收与时间步长集合相对应的音频样本的时域特征的窗的序列。例如,神经网络系统100可以接收已经被分成与时间步长集合相对应的多个数据帧的序列的音频样本,例如,其中,每个帧与10毫秒的音频样本相关联并且包括该帧的时域特征。f-t层可以处理在所接收的时域特征序列中的每个输入,并将每个输入变换为对应的频域特征输出。

可以基于多个训练音频样本训练自适应时域到频域转换神经网络系统100,以便确定神经网络层的参数的训练值,即,将参数的值从初始值调整到训练值。例如,在训练期间,自适应时域到频域转换神经网络系统100可以处理多个训练音频样本中的每一个的特征,并为每个训练音频样本生成相应的神经网络输出。然后可以使用神经网络输出来调整自适应时域到频域转换神经网络系统100的参数的值,例如,调整由相应的f-t层参数集合定义的变换并调整神经网络层110的参数的值。在一些实施方式中,自适应时域到频域转换神经网络系统100使用梯度下降和反向传播神经网络训练技术来调整参数的值。下面参考图3更详细地描述训练自适应时域到频域转换神经网络系统100。

一旦自适应时域到频域转换神经网络系统100已经被训练,该神经网络系统就可以接收新的神经网络输入以用于处理并通过神经网络层处理该神经网络输入,以根据自适应时域到频域转换神经网络系统100的参数的训练值针对该输入生成新的神经网络输出。

图2是用于从输入生成自适应时域到频域转换神经网络系统输出的示例过程200的流程图。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的、包括频率变换层的神经网络系统(例如,图1的具有频率变换层104的自适应时域到频域转换神经网络系统100)可以执行过程200。

系统获得音频样本的输入时域特征(步骤202)。音频样本的输入时域特征可以包括例如按顺序排列的时域特征的一个或多个窗。在一些实施方式中,输入时域特征包括来自单个信道的时域特征。在其他实施方式中,输入时域特征包括来自多个信道的时域特征。在这种情况下,系统可以将来自多个信道的输入时域特征合并为单个信道输入。

系统将音频样本的时域特征的窗变换为频域特征(步骤204)。例如,系统可以使用一个或多个f-t层(例如,图1的f-t层104)来处理时域特征的窗,以生成相应的频域特征。如上面参考图1所述,f-t层可以通过将由相应的f-t层参数集合定义的变换应用于时域特征的窗而将音频样本的时域特征的该窗变换为频域特征。例如,由相应的f-t层参数集合定义的变换可以由变换矩阵表示,其中,将变换应用于时域特征的窗包括:使用矩阵乘法将变换矩阵与时域特征的窗的向量表示相乘。以上参考图1更详细地描述了示例变换矩阵。

系统处理频域特征以生成神经网络输出(步骤206)。例如,系统可以使用一个或多个其他神经网络层(例如,图1的神经网络层108)来处理频域特征,以生成神经网络输出。所生成的神经网络输出可以包括上面参考步骤202描述的音频样本的分类。例如,如果音频样本表示话语或话语序列,则生成的神经网络输出可以包括文本块集合中的每个文本块的分数,每个分数表示该文本块是话语或话语序列的正确转录的估计可能性。在一些情况下,所生成的神经网络输出可用于预测单个值或多个值(例如,回归)。

如上所述,在一些实施方式中,时域特征的窗可以包括来自多个信道的时域特征,并且系统可以使用多个f-t层来处理时域特征的多信道窗以生成多个相应频域特征。在这种情况下,系统可以将所生成的多个相应频域特征连接成单个信道输入,并使用一个或多个神经网络层处理单个信道输入以生成神经网络输出。

作为通过神经网络系统层处理神经网络输入以针对该神经网络输入生成神经网络输出的一部分,系统可以执行过程200。可以针对神经网络输入执行过程200,对于该神经网络输入,期望的输出(即,应该由系统为该输入生成的神经网络输出)是未知的。系统还可以对训练样本集合中的输入(即,对于其而言已知应该由系统预测输出的输入集合)执行过程200以便训练系统(即,确定用于f-t神经网络层和其他神经网络层的参数的训练值)。具体地,作为训练神经网络的机器学习训练技术(例如,随机梯度下降反向传播训练技术)的一部分,可以对从训练样本集合中选择的输入重复执行过程200。下面参考图3更详细地描述用于自适应时间到频率转换神经网络系统的示例训练过程。

图3是用于训练频率变换神经网络层和一个或多个其他神经网络层的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的神经网络系统(例如,图1的自适应时域到频域转换神经网络系统100)可以执行过程300。

系统获得训练数据,该训练数据包括针对训练音频样本集合中的每一个而言的该训练音频样本的时域特征和训练音频样本的已知输出(步骤302)。在一些实施方式中,训练数据可以包括训练音频样本的时域特征和训练音频样本的已知分类。训练音频样本的时域特征可以包括时域特征的一个或多个窗。时域特征的窗的长度可以取决于相应训练音频样本的大小和相应训练音频样本的时域特征的数目。例如,具有400个时域特征的8khz单信道训练音频样本可以包括多个长度为50ms的时域特征的窗。在一些情况下,在时域特征的窗之间可能存在步长,例如25ms,使得每个窗之间可能存在半重叠。

在一些实施方式中,训练数据可以包括单信道训练数据输入,例如,单声道声音。在其他实施方式中,训练数据输入可以包括多个多信道训练数据,例如立体声声音。

系统在训练数据上训练神经网络以调整其他神经网络层的参数的值,并调整f-t层参数的值以确定训练参数集合(步骤304)。例如,如上面参考图1所述,在一些实施方式中,f-t层参数可以表示为变换矩阵,其中,变换矩阵的每行的条目包括由第一参数和第二参数指定的相应的采样基函数(例如,采样的正弦波或余弦波),第一参数确定在该行中每个条目的频率,并且第二参数确定在该行中每个条目的幅度。在这样的实施方式中,在训练数据上训练神经网络可包括调整第一和第二参数的值以确定变换矩阵的每一行的第一和第二参数的训练值。

系统通过将训练数据处理为神经网络的输入以生成训练数据神经网络输出来训练神经网络,如上面参考图1所述。例如,系统使用一个或多个f-t层(例如,图1的f-t层104)处理训练数据输入,以生成该一个或多个f-t层的训练数据输出。一旦生成了该一个或多个f-t层的训练数据输出,系统就可以针对该一个或多个f-t层提供训练数据作为该一个或多个ft层上方的神经网络层的训练数据输入以供进一步处理。

如上参考步骤304所述,在一些实施方式中,系统获得包括多个多信道训练数据的训练数据。在一些情况下,系统可以将多信道训练数据合并为单个训练数据输入并且在该单个训练数据输入上训练神经网络。替选地,在其他情况下,神经网络可以包括多个f-t层,每个f-t层被配置为应用由共享的或相应的f-t层参数集合定义的变换,该变换将时域特征的窗变换为频域特征,如上文参考图1描述的那样。然后,系统可以通过连接由多个f-t层中的每一个生成的频域特征以执行多时间标度dft来训练神经网络。

在一些实施方式中,在训练数据上训练神经网络系统包括:对于时域特征的每个窗和对于f-t层,从f-t层上方的神经网络层接收时域特征的该窗的反向传播梯度。例如,可以通过下述方式来生成反向传播梯度:计算神经网络中的顶层的梯度,并且然后使用反向传播技术通过神经网络层反向传播所计算的梯度

在训练数据上训练神经网络系统还可以包括,对于时域特征的每个窗和对于f-t层,针对f-t层参数的当前值计算神经网络的误差函数的梯度,并使用所计算的梯度更新f-t层参数。例如,系统可以使用机器学习训练技术更新完全指定f-t层参数的向量的值,例如通过:对梯度和向量求和,或者将梯度乘以学习速率,并且然后将乘积加到向量。在一些实施方式中,在训练期间,修改与f-t层相关联的f-t矩阵的基础参数,使得在反向传播期间调整基础频率和幅度参数。然后基于新的频率/幅度参数更新矩阵权重。

该经训练的f-t层参数集合定义了从时域特征到频域特征的最佳变换。所确定的从时域特征到频域特征的最佳变换取决于由自适应时域到频域转换神经网络系统执行的任务,如上面参考步骤302描述的训练数据所指定的。例如,对于说话者识别任务,所确定的从时域特征到频域特征的最佳变换可以不同于用于语音识别任务的所确定的从时域特征到频域特征的最佳变换。类似地,所确定的从时域特征到频域特征的最佳变换取决于输入信号特性。例如,对于来自特定麦克风类型的输入音频样本,所确定的从时域特征到频域特征的最佳变换可以不同于针对来自不同麦克风类型的相同音频样本而言的所确定的从时域特征到频域特征的最佳变换。

本说明书中描述的主题和功能操作的实施例可以被实现在数字电子电路中、在有形地包含的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中或在它们的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。替选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码以便传输给合适的接收机设备以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板,随机或串行存取存储设备或它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。

术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。

计算机程序(其也可以被称为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,该任何形式的编程语言包括编译或解释语言或者声明性或过程语言,并且该计算机程序可以以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程、对象或其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中、在专用于所涉及的程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个地点或分布在多个地点的多个计算机上执行。

如本说明书中所使用的,“引擎”或“软件引擎”是指提供与输入不同的输出的软件实现的输入/输出系统。引擎可以是编码的功能块,诸如库、平台、软件开发工具包(“sdk”)或对象。每个引擎可以在任何适当类型的计算设备上实现,该任何适当类型的计算设备例如是包括一个或多个处理器和计算机可读介质的服务器、移动电话、平板电脑、笔记本电脑、音乐播放器、电子书阅读器、膝上型或台式计算机、pda、智能电话或其他固定或便携式设备。另外,引擎的两个或更多可以实现在同一计算设备上或不同的计算设备上。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))来执行,并且装置也可以实现为专用逻辑电路。

适合于执行计算机程序的计算机包括,例如,可以基于通用和专用微处理器或两者以及任何种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或者计算机还可操作地耦合到该一个或多个大容量存储设备以从其接收数据或向其传送数据或两者。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,该另一个设备例如是移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪速驱动器),这里仅举了几个例子。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括:半导体存储设备,例如,eprom、eeprom和闪速存储器设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在计算机上,该计算机具有:用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器);以及,用户可以通过其向计算机提供输入的键盘和例如鼠标或轨迹球的指示设备。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,该任何形式包括声音、语音或触觉输入。另外,计算机可以通过下述方式与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,通过响应于从用户的客户端设备上的web浏览器接收的请求,将网页发送到该web浏览器。

在本说明书中描述的主题的实施例可以实现在计算系统中,该计算系统包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面或web浏览器的客户端计算机的前端组件,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实现交互,或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)(例如,因特网)。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备传送数据(例如,html页面),例如,出于向与作为客户端的用户设备交互的用户显示数据和从该用户接收用户输入的目的。可以在服务器处从用户设备接收例如作为用户交互的结果在用户设备处生成的数据。

虽然本说明书包含许多具体实施方式细节,但是这些不应被解释为对任何本发明或所要求保护内容的范围的限制,而是作为对特定发明的特定实施例所特定的特征的描述。在本说明书中在分立实施例的场境中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的场境中描述的各种特征也可以在多个实施例中分立地或以任何合适的子组合来实现。此外,虽然特征可以如上描述为在某些组合中起作用并且甚至最初如此被要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中去除。

类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求这些操作以所示的特定顺序或以依序顺序执行,或者所有所示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分立不应被理解为在所有实施例中都需要这样的分立,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品内。

已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中所述的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或依序的顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1