使用神经网络加速器的特征提取的制作方法

文档序号:16236619发布日期:2018-12-11 22:40阅读:268来源:国知局
使用神经网络加速器的特征提取的制作方法

本说明书涉及语音识别领域,并且具体涉及使用硬件加速实现语音识别。

背景技术

电子设备用户界面(ui)的世界正在发展。以前,计算机交互使用键盘、鼠标和显示器。而后,智能电话革命到来,并引起了朝着触摸界面的转换。今天,当越来越多人正在智能电话和台式电脑中使用音频数字助理时,用于语音ui的语音转文本应用的重要性正在增长。除了智能电话之外,语音ui在小型可穿戴设备和家庭自动化设备中也获得了更大的发展势头,该小型可穿戴设备和家庭自动化设备在大多数情况下根本不具有显示器。

作为语音ui的主要部分的自动语音识别(asr)系统在mips(每秒百万条指令)和存储器的情境中要求很高。因此,许多设备将语音识别部署为远程服务。典型的智能电话或智能中枢记录用户语音,将该语音发送至服务器,然后基于来自该服务器的语音接收经识别的语音或命令。这允许复杂的语音识别任务在大型的、强大的服务器上被执行,这些服务器可以在不影响用户或用户硬件的情况下进行更新和改进。

对于网络请求,例如“天气预报是什么?”,没有增加的延迟。该请求必须由远程服务应答,因此用于与远程服务器通信的时间不显著增加至延迟。对于本地命令,例如“打开灯”,将音频发送至服务器以及接收经识别的语音或灯控制命令中的延迟可能是能引起注意的。对于一些设备而言,设备的性质可能要求更快的响应。因此,应努力在设备本地实现asr。

大多数常见的asr实现是纯软件。然而,在电池尺寸处理能力小的小型便携式设备(诸如,可穿戴设备)上很难满足软件asr要求。为了解决小电池容量和小型处理器的问题,不同类型的低功率硬件(hw)加速器已添加到器件设计中。这允许诸如特征提取或声学评分之类要求高的工作负载被卸载至专用低功率硬件。

附图说明

各实施例作为示例而非限制在所附附图中示出,在附图中,同样的参考编号指代同样的要素。

图1是根据实施例的语音识别系统的概览。

图2是根据实施例的神经网络加速器的图。

图3是根据实施例的用于在神经网络加速器上执行mfcc的硬件模块图。

图4是根据实施例的在神经网络加速器上交织(interleaving)的图。

图5是根据实施例的用于执行预处理的组件的图。

图6是根据实施例的在神经网络加速器上的dnn的图。

图7是根据实施例的在神经网络加速器上的对角线的图。

图8是根据实施例的在神经网络加速器上的解交织的图。

图9是根据实施例的在神经网络加速器上的rnn的图。

图10是根据实施例的用于执行合并特征的组件的图。

图11是根据实施例的包含使用神经网络加速器的语音识别系统的计算设备的框图。

具体实施方式

对于计算系统中的各种不同任务,已经开发了硬件加速器。一些系统具有用于图形渲染、用于神经网络、用于图像处理、用于语音识别以及用于其他任务的硬件加速器。每个加速器都需要一些电路系统,并且即使不正在被使用时也可能需要一些备用功率。在本说明书中,在神经网络加速器中执行例如梅尔滤波倒谱系数(mfcc)的声学特征提取,而不需要对该神经网络加速器硬件进行任何修改。使用现有的硬件也来执行asr功能允许以更低的成本和更低的功率获得更快的asr性能。

通过将神经网络硬件加速器重新用于神经网络处理和特征提取两者,相对于设计和生产两种不同类型的加速器节省了管芯面积和功率两者。已经专门为利用梅尔滤波倒谱系数(mfcc)技术的特征提取专门开发了硬件加速器,但是这些加速器不适用于其他功能。

mfcc是在自动语音识别(asr)系统中使用的常见变换。mfcc试图从音频剪辑的倒谱表示导出系数。该剪辑被窗口化、变换至频域,并映射到梅尔刻度(melscale)上,以与听觉感知类似。对经映射的功率求对数(log),并使用离散余弦变换(dct)来生成表示频谱的每个窗口的系数的幅值。在一些额外的归一化或简化后,mfcc的系数随后被用作可以唯一地标识词语、音素等的特征。窗口、梅尔谱带和特定操作可以针对不同的应用进行修改。具有不同名称的其他类型的音频特征提取系统表示相对于这里所描述的内容的变体,并且还也受益于以下描述的技术。各种不同的滤波和归一化操作也可以添加到不同阶段的变换中。

mfcc还与一些语音压缩和通信功能一起使用。特征提取是为短期信号创建一小组归一化特征的变换。与特征提取之前的纯音频信号相比,特征的数量要小得多并且更具描述性。在语音识别中,常见的帧尺寸大约为25ms。对于16khz的采样率,25ms提供400个样本。mfcc技术可以为25ms的帧生成从13至39个特征。如此大量的样本需要大量的处理和存储器资源。在存储器中缓冲这些特征,而后这些特征用作声学评分模块的输入。

神经网络和人工智能正被视为几乎任何困难的计算问题的答案。训练神经网络来近似确定性mfcc变换的结果是可能的。当该训练基于来自mfcc变换的输入和输出时,所得到的网络不给出满意的结果。甚至当结果与传统mfcc实现的结果相似,该神经网络的准确度也显著更低。尽管神经网络通常对于定义不明确的关联性任务执行良好,但是mfcc不是此类任务。如本文中所述,仅使用针对神经网络加速的硬件实现对asr的高精确度。为此,mfcc方式被改变,并且以独特方式配置神经网络加速器。同时,声学模型不需要任何改变。

如本文所述,系统的处理器将硬件重新配置成用于使用来自神经网络加速器的基本技术来执行mfcc操作中的一些mfcc操作,而不是训练网络来给出与目标特征提取变换相同的结果。如本文中所述,矩阵-矩阵乘法被应用于许多mfcc任务,并且非线性函数变换被建模为分段线性函数。这种方式提供了与经典实现方式匹配的精度,但使用经神经网络加速的基元。此方式可以被用作单独的特征提取模块的直接替代。

通过重新使用神经网络硬件来加速语音识别系统的两个阶段,尤其是特征提取和声学评分,能以较低的成本生产语音识别或语音命令设备。尽管对于诸如可穿戴设备和物联网(iot)设备的小型低功率设备而言益处最大,但任何设备均可以从更低成本和更简单的硬件中受益。可穿戴设备上的软件语音识别可能占用cpu计算资源中的大部分。利用本文描述的技术使用硬件加速将cpu使用减少十倍或更多,而无需特殊的特征提取硬件加速器。其他便携式设备可通过降低功耗并因此延长电池寿命而受益。

如本文中所述,将mfcc方法转变为矩阵乘法、pwl近似,诸如激活函数和偏置。这些操作都可以作为用于dnn(深度神经网络)或其他类型的神经网络硬件的层计算的一部分来完成。神经网络加速器的训练和其他功能不是必需的。

如所描述的,这可以被实现为28个小型层。可以手动地设置每个激活函数和权重值,以实现特征提取功能的每个部分。此外,设置层之间的一些连接,例如,来自两个层的输出是下一层的一个输入,并且来自一个层的输出被保存到用于下一个请求的缓冲器(前一层的输入)。

另外,特征提取使用比用于许多神经网络加速器任务的常见值更大的值。这可能导致饱和。因此,特征提取值可以是经缩放的值,或者可以使用对数加法,例如,和的自然对数。这种缩放可使用本文中所提到的dnn或pwl来实现。

图1是语音识别的概览,可以在可穿戴、便携式、或固定式设备上或者与服务器协作地执行该语音识别。讲话者102提供语音话语,该讲话者102对于设备可以是本地的,或可以是远程的。在产生特征向量的声学前端104接收该话语。该特征向量包含话语中的区别性音频特征的各方面。对于不同的语音识别系统,这些特征的特定性质将有所不同。向声学评分模型106提供该特征向量,声学评分模型106用于确定哪些特征是重要的以及有多重要。然后,将评分提供给后端搜索模块108.而后,该后端搜索提供诸如由语音识别系统确定的文本、音素或词语的某种其他表示的输出122。

声学前端104接收由讲话者102发出的原始音频。这在模数转换器(adc)处被转换成某种数字形式用于在稍后的阶段进行处理。在一些实施例中,adc采用本地话筒的形式。在其他实施例中,语音从单独的设备以数字形式被接收,并且可以被转码降采样或以其他方式修改,以供稍后的阶段使用。将所说话语的数字音频提供至声学前端104的特征提取模块114。该特征提取模块产生特征向量116。在一些实施例中,该特征向量被反馈至特征提取模块,以适应不同的讲话者和环境。

可以按照各种不同方式中的任一种来执行特征提取。在所描述的示例中使用了mfcc,但各实施例不限于此。如以下更详细地所描述,相应地,该特征提取可以包括多个顺序的确定性阶段。这些阶段可包括应用梅尔滤波器(mel)的快速傅立叶变换(fft)、离散余弦变换(dct)、应用对数滤波器(log)的倒谱均值归一化(cmn)和声道长度归一化(vtln)等等。特定的操作、排序以及如何应用该操作可适应不同的实现,其中的一些将在下文中更详细地描述。

可以适应环境或讲话者的特征向量被应用于声学模型评分106。这可涉及用于分析所接收的特征向量的特征的特征评分118或各种其他过程中的任何过程。然后,经评分的特征被应用于后端搜索108以产生经识别的语音122作为结果。该后端搜索将典型地从声学单元获得作为从声学评分接收到的经评分特征,并将这些经评分特征转换成词语,然后获得这些词语,并通过语言和解析将含义应用于它们。可以使用隐马尔可夫模型(hmm)、维特比搜索或其他技术来完成搜索。语言模型搜索120可以访问声学模型、音素至词语映射、词汇表以及语言和语法规则与约定等。

结果输出122典型地作为指示用户所说内容的文本序列被提供。在一些系统中,仅提供响应语音话语所必需的词语。然后将其作为请求或命令应用于命令接口。然后,设备执行命令、回复查询或以具体取决于特定实现的任何其他合适的方式操作。

各种不同的神经网络被应用于人工智能系统,并且在一些情况下,在专用硬件中提供神经网络加速器以便与软件相比加速神经网络上任务的执行。一种此类神经网络是卷积神经网络(cnn),其常用于计算机视觉领域以推理自然图像。函数输出有关图像的高级信息,诸如图像分类和对象本地化。常见的cnn由图像上的简单的函数操作符组成,这些函数操作符常称为层,这些层链接在一起(即,一个接一个地应用)以构建被称为网络的复杂函数。

图2是用于示出神经网络加速器的这种层的示例的图。该过程从图像202或图像数据开始。该图像可由相机系统拍摄为静止的或视频成像。包括音频在内的其他类型的数据也可以被应用于神经网络。替代地,一个或多个图像可以从存储获取或者从远程源接收。该图像可以任选地被预处理为常见的尺寸、常见的响应范围、常见的比例或任何其他类型的规范或标准。从图像数据导出向量203,并将该向量应用于乘法器链208。尽管示出了三个乘法器,但是可以有多得多的乘法器。同时,权重206也被应用于该乘法器链。在乘法器的每个循环中,权重的列中的一列和向量相乘,而后该结果被应用于累加器链。该乘法器链可以非常宽。

然后,累加各自被应用于非线性滤波器链212。结果被存储于存储器214中,然后被开发以产生更多向量203或者可以被评分。算术单元可以由连接的处理器使用存储器连接和权重来配置以执行加法、移位、条件移动和其他函数从而实现并行矩阵乘法。可以提供额外的单元(未示出)来执行其他逻辑函数。将加速器耦合至处理器或控制器,诸如,中央处理单元,以接收向量、权重、配置参数以及其他控制和输入数据。

然后将评分结果或其他元数据提供给其他应用218,诸如,机器视觉、图像理解或其他功能。取决于实施方式,这些可能包括各种不同功能中的任何一种,诸如,对象识别、对象跟踪、检查、分类和其他功能。机器视觉以与预期功能一致的方式解释元数据。该解释被作为结果提供给执行引擎,以基于视觉结果行动。行动的范围可以从设置标志到表述机器人。附图的组件可以全部形成单个机器或计算系统的一部分,或者这些部分可以分布到不同的单独组件中。如下文中更详细地所描述,对于语音识别功能,该结果将被提供给语音识别应用。

神经网络硬件提供如本文所述使用的各种数学函数来实现语音识别功能。特征提取可以相应地在与用于神经网络的硬件相同的硬件上被实现。提供这些功能不需要特殊的功能或对基本硬件的修改。用于图像理解或其他神经网络功能的相同的基元、矩阵乘法、线性滤波等用于执行mfcc。管芯上不需要额外的硅电路,并且硬件语音识别速度快、功率低。由于语音识别在大多数应用中仅不频繁地被使用,因此对系统的整体影响将是小的。该神经网络将还可用于执行它的其他指定的功能。

本说明书是在mfcc特征提取的上下文中呈现的,然而,可以将相同的方式应用于语音识别系统的其他组件以及其他特征提取技术。在这些示例中,使用神经网络基元执行mfcc。

图3是用于在神经网络加速器上执行mfcc的硬件模块图。加速器硬件304接收适当的音频源,诸如,pmc(并行模型组合)源302。通过mfcc处理之后,评分被生成作为输出306。在神经网络硬件304内,能以各种不同方式中的任何方式执行mfcc。在该图的示例中,mfcc技术被分隔为若干离散的子操作,每个子操作形成在硬件加速器的部分中。该子操作可以包括窗口化、预处理、预加重、汉宁(hanning)窗、dft、功率谱或对数谱、三角滤波、倒滤波(liftering)、高通滤波、合并特征向量。这些函数被用来构建声学模型。输出评分来自于该声学模型。

并非所有的操作都是必需的,可以添加额外的操作,并且可以修改所描述的操作中的一些操作以适应不同的应用。对于其他音频特征提取技术,相同操作中的许多操作可以通过改变顺序和执行来执行。这些其他的技术也可以从本文所描述的方式受益。

在加速器内,来自于一个子操作的输出可以被用作下一个子操作的输入。可以仅使用矩阵-矩阵乘法和基于查找表的分段线性函数来执行每个子操作。将子操作中的每个自操作从其常规定义修改为使用矩阵-矩阵乘法和查找表来执行。

可以使用具有等于1或0的值的矩阵-矩阵乘法来执行窗口化,以将流分割为帧。输入数据首先在一个矩阵操作中被复制,然后被交织,如由矩阵值的设置所确定。图4是使用矩阵-矩阵乘法进行的交织的示例。输入是值m1,m2,m3...mm的竖直列矩阵,其与另一个向量相乘以获得具有相同顺序的值的水平行向量。

可以使用两个矩阵-矩阵乘法来执行预处理。第一矩阵通过对来自窗口化子操作的所有经窗口化的值求和,然后使用线性函数将总数除以值的数量(例如,400)来计算平均值。第二矩阵从每个输入减去该平均值。可以将该减法表示为输出=输入-平均_值.

图5是用于执行所描述的预处理任务的组件的图。窗口化输出被接收作为层2硬件402的输入。该输入被排序,并被应用于层1硬件404,以确定值的平均数。将该平均值存储于寄存器412内,以应用到层2平均值减法406处的值中的每个值。这是用于应用到预加强子操作的输出410。

预加重可以简单地被执行为单个矩阵-矩阵乘法以计算输入之间的差。输入矩阵的值等于例如1、-1或0。图6是可用于执行减法的加速器的dnn(深度神经网络)矩阵功能块的图。如图中所示,可以首先将输入向量[n]与权重矩阵[n,m]相乘。然后,将乘积加至偏置向量[n]。通过将权重和偏置设置为零并将结果应用于分段线性函数y=p(x),获得差输出。

汉宁窗也可以利用使用仅具有一个维度的矩阵的简单的矩阵-矩阵乘法来执行。该操作用于对输入进行缩放。图7是对角线矩阵乘法的图,该对角线矩阵乘法可以在将偏置全部设置为0时使用。权重可以是汉宁矩阵。输入是与汉宁矩阵权重[n]一起应用于乘法器的向量[n]。将结果加至被设置为0的向量[n]偏置。该结果被应用于分段线性函数以提供输出。

也可以使用图6的dnn类型的单个矩阵-矩阵乘法来执行dft(离散傅立叶变换)。在此情况下,权重有两种。第一种是用于实数的cos(2πnm/n),第二种是用于虚数的sin(2πnm/n)。将偏差设置为0。这两种数是该操作的结果。输出的第一部分用于实数,而第二部分用于虚数。这是真实dft的简化,该真实dft对于正在被处理为pmc输入的音频样本是有效的。

可以使用两个顺序的操作——对角线和dnn来执行功率谱。第一个是对角线功能块,诸如,图7中的对角线功能块,其中偏置设置为零。该子操作确定以下内容:

输出=输入.实数2+输入.虚数2

激活函数f(x)=x2可以用于该输入。对该实数和虚数求和,这也可以使用矩阵-矩阵乘法来完成。通过将权重设置为适当的交替二进制值0、1的序列,输出值仅等于1或0。对于第二dnn操作,将权重设置为偏置为0的二进制模式,以实现函数f(x)=x,而不是对角线函数的f(x)=x*x/215。在第二dnn操作中,对实数和虚数的功率求和。

三角滤波器使用一个矩阵-矩阵乘法,其中每个输出针对一个三角形。将权重设置为三角矩阵,而将偏置设置为0。通过控制输入,可以执行不同的对数函数。通过用于三角滤波函数的四组矩阵-矩阵乘法操作来执行诸如f(x)=ln(x)的激活函数。

可以用例如四个dnn层来实现dct(离散余弦变换),其中从余弦函数计算权重值。

mfcc中的倒滤波是与汉宁窗操作类似的操作。它可以用如图7中单个对角矩阵-矩阵乘法使用一个维度对输入进行缩放来完成。权重来自为此目的组成的矩阵。

高通滤波可以首先使用矩阵-矩阵乘法,以进行如图8中所示的解交错(de-interlacing),然后如图9中那样被应用为rnn(rnn层),以便基于先前和当前的帧计算高通滤波器值。而后,矩阵-矩阵乘法可用于计算输入与高通滤波器值之间的差。该差计算可以使用矩阵复制、交织以及dnn操作来完成。

合并特征向量是用于从经高通滤波的dct结果提供特征向量的操作。通用声学模型不仅将特征向量用于当前帧,而且还将特征向量用于作为“背景”的先前帧。因此,可以从多个不同的帧合并特征向量。使用矩阵-矩阵乘法,其中一个维度用于复制数据。所有的值都等于一。随后,再进行若干次更多的矩阵乘法以完成合并。

图10是可以在神经网络内实现的合并特征过程的硬件图。输入422包含来自滤波过程的新特征向量434以及来自先前的复制操作430的旧特征向量432。与其他过程一样,复制操作也可以在神经网络加速器的层(此处为层2)上被执行。将输入提供给另一层(层1)以使用解交错和复制来创建经分组的特征向量。这被提供给另一层(层3)以移除填充的0。例如,这可以使用交错和dnn来完成。结果被产生作为声学模型330的输出428。

声学模型用于将特征向量匹配至特定的语音或声学模型。匹配被声明为经识别的语音,并被用于确定来自于讲话者的话语。该语音可以是文字、音素、关键短语或某种组合的形式。输出可以是表示句子形式的所有陈述的文本或者向机器表示陈述的关键含义的逻辑结构。

上述示例描述了如何使用神经网络硬件的层和线性滤波器来执行诸如mfcc的语音识别操作的各操作。该硬件可以是具体的神经网络加速器或者其他神经网络硬件。修改仅仅用于配置层的权重和偏置以及不同层之间的连接。这可以通过由连接的处理器通过设置参数并设置用作输入和输出的寄存器来完成。尽管神经网络通过重复的层和发现模式来操作,即使硬件是相同的,所描述的mfcc作为线性确定性技术来操作。在语音处理之后,连接的处理器可以重新配置该网络以执行图像识别、机器视觉或硬件加速器设计用于的某个其他任务。

以上所描述的从窗口化到预处理、到滤波、到傅立叶和余弦变换的操作中的一些或全部也被用于其他类型的音频特征提取技术。所描述的方式并非限于mfcc,而是可以容易地适用于其他线性音频特征提取技术。类似地,神经网络层和线性滤波器的操作对于许多不同种类的神经网络硬件系统也是常见的。许多此类系统使用层、滤波、池化(pooling)和反馈寄存器连接来执行联网任务。这些能以类似的方式适用于mfcc或其他特征提取技术。甚至在mfcc内也存在已针对特定应用开发的变体和修改,并且这些变体和修改可以在适当修改所描述的方式的情况下使用。

对于一些硬件配置,可能存在由于可用的寄存器和参数而导致的限制,诸如,mmio(存储器映射的输入/输出)空间层的修改可以被形成为存储在配置存储器中的“层描述符”。在音频被处理后,可以使用不同组的层描述符来使硬件返回用于执行神经网络或人工智能操作的操作。

图11是根据一个实现方式的计算设备100的框图。计算设备100容纳系统板2。板2可包括多个组件,包括但不限于处理器4和至少一个通信封装6。通信封装被耦合到一个或多个天线16。处理器4物理地以及电气地耦合至板2。

取决于其应用,计算设备100可包括可物理地以及电气地耦合到板2或者可以不物理地以及电气地耦合到板2的其他组件。这些其他组件包括但不限于:易失性存储器(例如,dram)8、非易失性存储器(例如,rom)9、闪存(未示出)、图形处理器12、数字信号处理器(未示出)、加密处理器(未示出)、芯片组14、天线16、显示器18(诸如,触摸屏显示器)、触摸屏控制器20、电池22、音频编解码器(未示出)、视频编解码器(未示出)、功率放大器24、全球定位系统(gps)设备26、罗盘28、加速度计(未示出)、陀螺仪(未示出)、扬声器30、相机32、灯33、话筒阵列34、以及大容量存储设备(诸如,硬盘驱动器)10、紧凑盘(cd)(未示出)、数字多功能盘(dvd)(未示出)等等)。这些组件可连接到系统板2,安装到系统板,或与其他组件中的任一者相组合。

通信封装6可使无线和/或有限通信能够用于去往以及来自计算设备100的数据传递。术语“无线”及其衍生词可用于描述电路、设备、系统、方法、技术、通信信道等,其可通过使用经调制的电磁辐射,通过非固态介质来传播数据。尽管相关联的设备在一些实施例中可能不包含任何线,但是该术语并不暗示相关联的设备不包含任何线。通信封装6可实现多种无线或有线标准或协议中的任一种,包括但不限于wi-fi(ieee802.11系列)、wimax(ieee802.16系列)、ieee802.20、长期演进(lte)、ev-do、hspa+、hsdpa+、hsupa+、edge、gsm、gprs、cdma、tdma、dect、蓝牙及其以太网衍生物以及被指定为3g、4g、5g以及更高的任何其他无线和有线协议。计算设备100可包括多个通信封装6。例如,第一通信封装6可专用于较短程的无线通信,诸如,wi-fi和蓝牙;而第二通信封装6可专用于较长程的无线通信,诸如,gps、edge、gprs、cdma、wimax、lte、ev-do等。

相机32包含具有如本文所描述的像素或光电检测器的图像传感器。图像传感器可以使用图像处理芯片3的资源来读取值,并且也执行曝光控制、深度图确定、格式转换、编码和解码、降噪和3d映射等。处理器4耦合到图像处理芯片以驱动各过程、设置参数,等等。在各实施例中,系统包括图像处理芯片3、主处理器4、图形cpu12或者该系统其他处理资源内的神经网络加速器。该神经网络加速器可以通过芯片组的音频流水线或其他连接的硬件耦合至话筒,以将音频样本提供给如本文所描述的神经网络加速器。神经网络加速器的操作可能被处理器控制,以改变权重、偏置和寄存器来按照本文中针对语音识别所描述的方式进行操作。

在各种实现方式中,计算设备100可以是眼镜、膝上型设备、上网本、笔记本、超极本、智能电话、平板、个人数字助理(pda)、超移动pc、移动电话、台式计算机、服务器、机顶盒、娱乐控制单元、数码相机、便携式音乐播放器、数字视频记录仪、可穿戴设备或无人机。计算设备可以是固定的、便携式的或可穿戴的。在进一步的实现方式中,计算设备100可以是处理数据的任何其他电子设备。

各实施例可被实现为一个或多个存储器芯片、控制器、cpu(中央处理单元)、微芯片或使用主板互连的集成电路、专用集成电路(asic)和/或现场可编程门阵列(fpga)的一部分。

对“一个实施例”、“实施例”、“示例实施例”、“各实施例”等等的引用指示如此描述的(多个)实施例可包括特定特征、结构或特性,但是不是每一个实施例都必定包括该特定特征、结构或特性。此外,一些实施例可以具有针对其他实施例所描述的特征中的一些或全部,或完全不具有这些特征。

在所附说明书以及权利要求书中,可能使用术语“耦合”及其派生词。“耦合”被用来指示两个或更多个元件彼此协作或交互,但是,它们之间可以具有或可以不具有介于中间的物理组件或电气组件。

如权利要求书中所使用,除非明确指定,否则用于描述共同元件的序数词“第一”、“第二”、“第三”等仅仅指示引用了类似元件的不同实例,并且不旨在暗示如此描述的这些元件必须在时间、空间、按等级或按任何其他方式处于给定序列中。

附图以及前述描述给出了诸实施例的示例。本领域技术人员将理解,所描述的元件中的一个或多个可以合并成单个功能元件。或者,某些元件可以被拆分成多个功能元件。可以将来自一个实施例的元件添加到另一实施例中。例如,本文中所描述的过程的顺序可以改变,并且不限于本文中所描述的方式。此外,任何流程图的动作都不需要以所示的顺序来实现;也不一定需要执行所有这些动作。此外,不依赖于其他动作的那些动作也可以与其他动作并行地执行。各实施例的范围绝非由这些特定示例限制。众多变体(无论是否在说明书中显式地给出)都是可能的,这些变体诸如,结构、尺度以及材料的使用方面的差异。诸实施例的范围至少与由所附权利要求书给出的范围一样广泛。

以下示例涉及进一步的实施例。可以用各种方式将不同的实施例的各种特征与所包括的一些特征以及被排除的其他特征组合以适应各种不同的应用。一些实施例涉及一种方法,其中接收用于特征提取的音频剪辑。使用硬件神经网络加速器的矩阵-矩阵乘法,对音频剪辑执行多个特征提取操作,并且产生用于语音识别的特征。

在进一步的实施例中,特征包括系数。

在进一步的实施例中,该系数是梅尔滤波倒谱系数。

进一步的实施例包括:使用用于声学评分的神经网络对被建模为线性分段函数的特征提取执行非线性变换。

进一步的实施例包括:缩放中间值以减小矩阵值。

在进一步的实施例中,缩放包括:使用矩阵-矩阵乘法来确定和的对数。

在进一步的实施例中,特征提取操作包括:执行梅尔滤波倒谱系数(mfcc)特征提取。

在进一步的实施例中,使用值1或0来执行mfcc的窗口化,以将接收到的流分割为帧。

在进一步的实施例中,使用神经网络的乘法硬件来执行mfcc的离散傅立叶变换、功率谱映射和离散余弦变换。

在进一步的实施例中,该离散余弦变换生成系数,并且其中,使用神经网络硬件的矩阵-矩阵乘法来对该系数滤波并合并该系数,以应用到用于语音识别的声学模型。

进一步的实施例包括:使用硬件神经网络加速器的分段线性函数执行所述mfcc的非线性函数变换。

在进一步的实施例中,执行特征提取操作包括通过以下操作来预处理音频剪辑:对音频剪辑窗口化;将经窗口化的剪辑作为输入应用于神经网络硬件层以确定平均值;将平均值应用于另一神经网络硬件层以对该平均值执行减法。

在进一步的实施例中,产生特征包括合并特征操作,所述合并特征操作通过以下操作执行:使用神经网络加速器的层复制旧特征、使用神经网络加速器的另一层对特征进行分组、以及使用神经网络加速器的另一层从经合并的特征中移除填充的0。

在进一步的实施例中,对特征进行分组包括:首先解交错,然后复制。

一些实施例涉及一种特征提取系统,该特征提取系统包括硬件神经网络加速器和处理器,该处理器用于接收音频剪辑,并用于将该硬件神经网络加速器配置成用于使用硬件神经网络加速器的矩阵-矩阵乘法对音频剪辑执行多个特征提取操作以从神经网络加速器接收所提取的特征并使用所提取的特征识别该音频剪辑内的语音。

在进一步的实施例中,处理器将硬件神经网络加速器配置成用于使用神经网络加速器的乘法硬件来执行mfcc的离散傅立叶变换、功率谱映射和离散余弦变换。

在进一步的实施例中,该离散余弦变换生成系数,并且其中,使用神经网络硬件的矩阵-矩阵乘法来对该系数滤波并合并该系数,以应用到用于语音识别的声学模型。

一些实施例涉及一种便携式设备,该便携式设备包括:音频前端,该音频前端包括用于将所接收的语音数字化的模数转换器以及用于从经数字化的语音中提取特征的特征提取模块;声学评分模型,用于接收特征并确定显著的特征;以及后端搜索模块,用于生成被包括在所接收的语音中的词语的表示;其中,特征提取模块使用神经网络硬件加速器的矩阵-矩阵乘法来执行离散傅立叶变换和离散余弦变换。

进一步的实施例包括话筒,该话筒耦合至模数转换器,用于从用户接收语音。

进一步的实施例包括通信芯片,该通信芯片用于向远程设备发送词语的表示。

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