用于自动语音识别的使用外推的跳帧和按需输出的神经网络的制作方法

文档序号:11161274阅读:626来源:国知局
用于自动语音识别的使用外推的跳帧和按需输出的神经网络的制造方法与工艺
本申请要求2014年9月23日提交的题为“FRAMESKIPPINGWITHEXTRAPOLATIONANDOUTPUTSONDEMANDNEURALNETWORKFORAUTOMATICSPEECHRECOGNITION”的美国专利申请序列号14/493,434的优先权,后者通过引用整体合并于此。
背景技术
:包括深度神经网络在内的神经网络可以用于机器学习和感知与认知系统。这些神经网络可以用在各种实现方式中,例如语音识别系统。例如,神经网络可以包括神经元或节点的互连层。每层的输入值包括对系统的输入(例如,在输入层处)或来自神经网络中的前一层的输出。来自神经网络的输出层的输出值可以包括输出值、距离值或分类值等,使得可以经由神经网络和/或附加的处理来对神经网络的输入进行分类。这些神经网络处理和分类可以用于执行用更标准的基于规则的处理系统可能是难以执行或不可能执行的分类或其它任务。如所讨论的,可以在自动语音识别(ASR)系统中实现这些神经网络,并且在某些实现方式中,它们可能是这类系统的最重要的组件。在实时应用中当前的神经网络的问题在于,评估神经网络所需的计算量大。为了解决这一问题,某些当前的实现方式将神经网络计算从设备的中央处理单元(CPU)卸载到设备的图形处理单元(GPU)。然而,这种卸载可能导致与正运行在该设备或设备的相机等上的其它GPU密集型应用(例如游戏)冲突。此外,密集地使用设备的GPU会增加功率使用率,由此限制移动设备的电池寿命。在其它实现方式中,可以使用单指令多数据(SIMD)平台和/或优化,例如批量惰性求值模型(其可以将计算推迟,直到需要时)。然而,这些实现方式可能使分类精度降低。因此,现有技术并没有提供实时、高效且精确的神经网络实现方式。随着在例如语音识别中对利用经由神经网络进行的分类的期望变得更广泛,这些问题可能变得关键。附图说明在附图中通过示例的方式而非通过限制的方式示出在此所描述的内容。为了说明的简明性和清楚性,附图所示的要素不一定按比例绘制。例如,为了清楚,一些要素的尺寸可能相对于其它要素被夸大。此外,在认为适当的情况下,在附图之间重复了标号,以指示对应的或类似的要素。在附图中:图1是用于提供语音识别的示例设置的说明性示图;图2是用于提供语音识别的示例系统的说明性示图;图3是示例距离值计算模块的说明性示图;图4是示例神经网络的说明性示图;图5示出评估和跳帧的示例时间线;图6是示出使用跳帧和距离值近似估计来确定距离值的示例过程的流程图;图7是示例距离值计算模块的说明性示图;图8是示例神经网络的说明性示图;图9是示出使用跳帧、按需距离(distancesondemand)和距离值近似估计来确定距离值的示例过程的流程图;图10是用于实现跳帧和/或按需距离的示例系统的说明性示图;图11是示出用于提供自动语音识别的示例过程的流程图;图12是用于提供语音识别的示例系统的说明性示图;图13是示例系统的说明性示图;以及图14示出全部根据本公开的至少一些实现方式所布置的示例设备。具体实施方式现在参照附图描述一个或多个实施例或实现方式。虽然讨论特定配置和布置,但是应理解,这仅是为了说明性目的而进行的。本领域技术人员应理解,在不脱离说明书的精神和范围的情况下,可以采用其它配置和布置。对本领域技术人员显而易见的是,也可以在除了在此所描述之外的各种其它系统和应用中采用在此所描述的技术和/或布置。虽然以下描述阐述了可以在诸如片上系统(SoC)架构的架构中展现的各种实现方式,但是在此所描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以通过用于类似目的的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构,和/或各种计算设备和/或消费者电子(CE)设备(例如机顶盒、智能电话等),可以实现在此所描述的技术和/或布置。此外,虽然以下描述可能阐述了大量具体细节,例如系统组件的逻辑实现方式、类型和相互关系、逻辑分区/集成选取等,但是可以在没有这些具体细节的情况下实施所要求的主题。在其它实例中,为了不掩盖在此所公开的内容,可能没有详细示出某些内容,例如控制结构和全软件指令序列。可以在硬件、固件、软件或其任何组合中实现在此所公开的内容。在此所公开的内容也可以实现为机器可读介质上所存储的指令,这些指令可以由一个或多个处理器读取并执行。计算机可读介质可以包括用于存储或发送机器(例如计算设备)可读形式的信息的任何介质和/或机构。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质;光存储介质;闪存设备;电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等),以及其它介质。说明书中对“一个实现方式”、“实现方式”、“示例实现方式”等的引用指示,所描述的实现方式可以包括特定特征、结构或特性,但是每一实施例可以不一定包括该特定特征、结构或特性。此外,这些短语不一定指代同一实现方式。此外,当结合一个实施例描述特定特征、结构或特性时,应当指出,在本领域技术人员的知识内,可以结合其它实现方式实现这种特征、结构或特征,无论是否在此明确地描述。在此所描述的方法、设备、装置、计算平台以及制造品与为语音识别实现的神经网络有关,并且在一些示例中,与经由神经网络实现的跳帧技术和按需输出值技术有关。如上所述,实时实现神经网络对于用户而言可以是有利的,但是由于计算资源有限以及密集地使用电池资源,上述实现可能是困难的。此外,尝试减少这些资源使用率可能会使分类结果不精确。优化神经网络与经由数据中心主管的服务中的总经营成本和经由移动设备所实现的应用中的电池寿命可能具有直接相关性。于在此所讨论的一些实施例中,可以经由神经网络来实现跳帧技术。例如,当使用跳帧时,可以针对每第N个时间实例(timeinstance)或帧计算或确定神经网络输出(例如,距离值)。对于神经网络距离值没有被确定的时间实例,可以基于神经网络确定的来自一个或多个在先时间实例或帧的距离值来近似估计(approximate)这些距离值。例如,评估神经网络在计算上可能是复杂的,因为在一些示例中,在该时间实例或者针对该帧评估的是整个神经网络。可以计算通过近似方法确定的距离值,其计算复杂度少得多(并且不评估神经网络)。例如,可以通过外推技术,使用一个或多个在先帧的距离值来确定近似距离值。在一些示例中,外推可以包括基于来自两个之前的帧的距离值进行的线性外推。如在此所使用的,评估帧或非跳过帧(non-skipframe)指代通过评估神经网络来确定的距离值,而跳过帧指代通过近似技术来确定的距离值。如在此进一步所讨论的,这种跳帧结合对跳过帧的距离值进行近似估计可以节省大量计算,而不以语音识别精度为代价,或者代价最小。此外,于在此所讨论的一些实施例中,可以经由神经网络来实现按需的神经网络输出(例如,距离值)(例如,按需距离值或DOD)技术。例如,当使用按需距离技术时,诸如语音解码器的下游解码器针对一时间实例或帧可以提供请求的距离值,请求的距离值是所有可用距离值中的子集。例如,对于特定时间实例,诸如Viterbi束搜索解码器的语音解码器可以仅需要从神经网络可获得的距离值的子集。在这种示例中,语音解码器可以提供输出索引(例如,对于特定时间实例需要哪些输出或距离值的指示符)给神经网络。如在此进一步讨论的,神经网络可以包括输入层、一个或多个隐藏层、以及输出层。例如,来自输出层的输出或距离值可以被提供给语音解码器。在一些示例中,由于输出层的每个节点连接到最末隐藏层(例如,连接到输出层的隐藏层)的每个节点,因此必须完全评估最末隐藏层,即使只评估输出层的一个节点。因此,在一些示例中,虽然可能对神经网络进行完全评估直到最末隐藏层,但是可以仅评估与所请求的输出索引相关联的节点的子集。通过不评估非请求的输出节点,可以节省大量的计算,特别是当输出层占整个神经网络的绝大部分时(在许多实现方式中为此情况)。在一些实施例中,可以结合这种跳帧技术和这种按需距离技术。例如,语音解码器可以按照所讨论地为每个时间实例提供输出索引。对于评估帧或非跳过帧,可以按照所讨论地确定与输出索引相关联的距离值的子集(例如,可以对神经网络进行完全评估直到最末隐藏层,并且可以仅评估那些与输出索引相关联的输出节点,得到的距离值被提供给语音解码器)。此外,如以下所讨论的,可以在存储器中保存来自最末隐藏层的距离值的子集和得到值,以便后续使用。对于跳过帧,例如,可以使用外推技术来近似估计与输出索引相关联的距离值的子集。对于要被近似估计的特定距离值,这种技术可能需要来自在先帧的关联(例如,来自同一输出层节点)的距离值。在一些示例中,如所讨论的,这些来自在先帧的距离值可以已经预先由语音解码器请求,经由神经网络确定,并保存到存储器。在其它示例中,这些来自在先帧的距离值可能没有预先经由神经网络确定。在这种示例中,可以经由神经网络使用所保存的最末隐藏层值来重新评估神经网络的输出层的节点,得到所需的在先帧距离值。例如,所需要的距离值可能是来自前一帧或者时间实例,但是对于近似估计当前帧或时间实例的当前距离值是必须的。接着可以按照所讨论地使用例如线性外推技术等来近似估计一个或多个当前距离值。这种跳帧和按需距离技术的结合针对跳过帧或跳过时间实例可以不评估神经网络,并且针对评估帧可以显著减少对神经网络的输出层的评估(以及如所讨论的后续重新评估)。所讨论的距离值可以由语音解码器用于确定文本元素序列,例如单词、短语或n元语法等。在此所讨论的技术可以节省计算资源、移动设备实现方式的电池寿命、云或远程服务器实现方式的经营成本等。此外,如在此进一步讨论的,这种技术可以为语音识别提供实时实现方式。图1是根据本公开的至少一些实现方式所布置的用于提供语音识别的示例设置100的说明性示图。如图1所示,设置100可以包括用户101,其提供语音103,以便由设备102进行评估。例如,设备102可以提供语音识别,使得语音103可以转译为文本或文本元素(例如单词、句子、n元语法等)。如图所示,在一些示例中,可以经由设备(例如设备102)实现语音识别系统。如图所示,在一些示例中,设备102可以是智能电话。然而,设备102可以是任何合适的设备(例如计算机、膝上型设备、超级本、平板等)。在一些示例中,设备102可以是可穿戴设备(例如智能手表或智能眼镜等)。在其它示例中,可以经由在设备102远端的系统(例如云语音识别系统中的一个或多个服务器)提供语音识别。在一些示例中,可以经由(设备102的底部上所示的)设备102的麦克风104接收语音103。在其它示例中,可以作为对语音的预先记录等而接收语音103。此外,在一些示例中,文本元素可以经由设备102的显示器105提供给用户101。在其它示例中,文本元素可以被保存到设备102的存储器或远程云存储器等。在一些示例中,设备102可以被描述为在此所使用的计算设备。图2是根据本公开的至少一些实现方式所布置的用于提供语音识别的示例系统200的说明性示图。如图2中所示,系统200可以包括麦克风104、特征提取模块202、距离值计算模块204、以及语音解码器模块206。在一些示例中,语音解码器模块206可以耦合到经由存储器实现的统计模型(未示出),例如可以将统计模型与距离值205进行比较以确定所识别的单词序列207。如图所示,麦克风104可以从用户101接收语音103。语音103可以是由用户101发出的,并且麦克风104可以接收语音103(例如,作为空气中的声波)并将语音103转换为电信号(例如数字信号),以生成语音记录201。例如,语音记录201可以存储在存储器(图2中未示出)中。在其它示例中,可以预先记录语音记录201,并且系统200可以经由另一设备接收语音记录201。特征提取模块202可以从麦克风104或者从系统200的存储器接收语音记录201,并且特征提取模块202可以生成与语音103相关联的特征203。特征203可以包括表示语音103的任何合适的特征,并且特征203可以以任何合适的格式来表示,例如特征矢量格式等。例如,特征203可以是表示接收到的语音的功率谱的系数或者其它谱分析系数或参数。在一些示例中,特征203可以是Mel频率倒谱系数(MFCC)。在一些示例中,特征提取模块202可以处理语音记录201的语音波形信号,以生成特征矢量。在经由特征矢量来表示特征203的示例中,特征203中的每个特征矢量可以基于语音103(和/或语音记录201)的时间窗口。例如,时间窗口可以是在语音记录201上滑动的、语音记录201的某一时间实例或记录持续时间(例如,10毫秒等)。例如,特征203中的每个特征矢量可以由此基于对相关联的时间窗口的评估(例如,功率谱分析等)来确定。此外,在一些示例中,特征203可以包括特征矢量堆栈(例如,来自多个时间实例的特征矢量)。特征203可以包括任何数量的特征。例如,特征203可以包括200至260个特征、250至300个特征、或者300至400个特征等。在实施例中,特征203包括253个特征。在另一实施例中,特征203包括256个特征。如在此进一步讨论的,可以将特征203提供给神经网络的输入层。特征提取模块202可以将特征203传送到系统200的距离值计算模块204和/或存储器。距离值计算模块204可以从特征提取模块202或者从存储器接收特征203。距离值计算模块204可以将特征203作为至神经网络的输入(例如,经由预处理器(未示出),或者经由神经网络本身)。此外,在一些示例中,距离值计算模块204可以经由语音解码器模块206接收输出索引。例如,特征203可以包括特征矢量堆栈,特征矢量堆栈可以包括当前的特征矢量以及在当前的特征矢量之前和/或之后的预定数量的特征矢量。在实施例中,特征203包括当前的特征矢量、5个在前的特征矢量以及5个在后的特征矢量,总共11个特征矢量的堆栈。在一些示例中,每个特征矢量包括23个特征。在堆栈包括各自具有23个特征的11个特征矢量的示例中,至神经网络301的输入的数量可以是253个输入(例如,23×11个输入)。在这种示例中,如在此进一步讨论的,经由距离值计算模块204实现的神经网络可以具有包含253个节点或神经元的输入层(例如,输入层节点的数量等于至神经网络的输入的数量)。在一些示例中,可以在每个时间实例(例如,对于如上所讨论的每个时间窗口)将这些特征提供给距离值计算模块204。如以下进一步讨论的,距离值计算模块204可以实现神经网络和/或距离值近似估计模块,以生成距离值205。如所讨论的,在实现按需距离技术的示例中,距离值计算模块204可以从语音解码器模块206接收输出索引208,并且距离值计算模块204可以仅为与输出索引208相关联的那些提供距离值。在一些示例中,不利用按需距离,在这种示例中,可以不实现输出索引208。此外,距离值计算模块204可以实现跳帧技术,使得在一些时间实例处(例如,对于评估帧)经由神经网络来提供距离值205,而在其它时间实例处(例如,对于跳过帧)经由近似技术来提供距离205,该近似技术基于经由神经网络评估的来自一个或多个在先帧的距离值。如图所示,距离值计算模块204可以将距离值205传送到语音解码器模块206和/或传送到系统200的存储器。语音解码器模块206可以从距离值计算模块204或者从存储器接收距离值205。语音解码器模块206可以对距离值205进行解码,并搜索最可能的文本元素和/或所识别的单词序列匹配。例如,语音解码器模块206可以针对每个时间实例(例如,10毫秒等)接收距离值205,并在检测到语音结束之后传递所识别的单词序列207。语音解码器模块206可以包括任何合适的语音解码器。在示例中,语音解码器模块206是Viterbi束搜索解码器。如图所示,在一些示例中,语音解码器模块206可以提供所识别的单词序列207作为输出。所识别的单词序列207可以被存储到系统200的存储器,和/或经由显示器105等来显示给用户101。在一些示例中,可以将所识别的单词序列207提供给另一模块或软件应用等,以便由该模块或软件应用来使用。如在此所使用的所识别的单词序列207或文本元素可以包括任何合适序列的单词、子单词单元、n元语法、音节、字母等。如图所示,语音解码器模块206可以基于距离值20来生成所识别的单词序列207。此外,在按需距离实现方式中,语音解码器模块206可以生成输出索引208,并将这些输出索引208提供给距离值计算模块204。例如,输出索引208可以指示在特定时间实例处所需的(例如,经由距离值计算模块204可获得的)可用距离值的子集(例如,可用距离值中的一个或多个)。例如,在各种实施例中,语音解码器模块206在每个时间实例处可能不需要所有的可用距离值。如在图2中所示,在一些示例中,距离值计算模块204可以被实现为语音识别系统的一部分。然而,距离值计算模块204可以实现在任何合适的系统中,例如感知计算系统、机器学习系统、认知计算系统、图像处理系统或者光字符识别系统等。此外,距离值计算模块204的神经网络可以在经由系统200实现之前,基于训练集等来进行预先训练,以确定神经网络的权重和/或偏置。在一些示例中,预先训练可以经由系统200本身来实现。在其它示例中,这种预先训练或其它预先实现步骤可以由单独的系统来执行。图3是根据本公开的至少一些实现方式所布置的示例距离值计算模块204的说明性示图。如图所示,距离值计算模块204可以包括神经网络301、控制器302以及距离值近似估计模块303。在图3的实施例中,距离值计算模块204可以实现使用距离值近似估计的跳帧,而不实现按需距离技术,并且因此,可以不用经由距离值计算模块204接收输出索引。如图所示,距离值计算模块204可以经由神经网络301接收特征203。神经网络301可以包括任何合适的神经网络,例如深度神经网络等。图4是根据本公开的至少一些实现方式所布置的示例神经网络301的说明性示图。如图所示,神经网络301可以包括输入层401、隐藏层402、403、404、405、以及输出层406。此外,隐藏层405可以被表征为最末隐藏层,因为它与输出层406相邻。还如图所示,输入层401可以包括输入层节点407。如所讨论的,输入层401可以包括任何数量的输入层节点407。例如,输入层401可以包括数量等于元素特征203的数量的节点。例如,输入层401可以具有253个或256个等输入层节点407。此外,如在所示示例中那样,神经网络301包括四个隐藏层402-405。然而,在其它示例中,神经网络可以包括三个、五个、六个、或者更多个隐藏层。隐藏层402-405可以包括任何数量的隐藏层节点408、409、410、411。例如,隐藏层402-405可以各自包括100至200个节点、200至300个节点等。在实施例中,神经网络301包括四个隐藏层402-405,其各自具有192个节点。在一些示例中,隐藏层402-405均具有相同数量的节点,而在其它示例中,隐藏层402-405中的一个或多个隐藏层可以具有不同数量的节点。输出层406可以包括任何合适数量的输出层节点412,使得距离值(DV)205包括用于进行比较和/或搜索以确定文本元素或所识别的单词序列等的值。例如,输出层406可以包括400至800个节点、800至1500个节点、或1500至2500个节点,或者更多个节点。在实施例中,输出层406包括512个输出层节点412。在实施例中,输出层406包括1015个输出层节点412。在所示示例中,如图所示,数据从左到右流动,从输入层401流过隐藏层402-405,并流过输出层406,使得输入层401的输出为隐藏层402的输入,隐藏层402的输出为隐藏层403的输入,以此类推,并且输出层405的输出为神经网络301的输出(例如,距离值205)。在一些示例中,一层中的每个节点可以连接到相邻层中的每个节点(例如,各层可以是完全连接的)。在示例中,具有h个节点的层可以通过h×hh个权重来连接到它的具有hh个节点的相邻层。在示例中,输入层401具有253个输入层节点407,隐藏层402-405各自具有192个隐藏层节点408-411,输出层406具有1105个输出层节点412,并且神经网络301具有约354000个权重。例如,输入层401中的每个输入层节点407可以连接到隐藏层402中的每个隐藏层节点408,隐藏层402中的每个隐藏层节点408可以连接到隐藏层403中的每个隐藏层节点409,以此类推。在其它示例中,可以没有节点之间的某些连接。对神经网络301的评估(例如,计算)可以包括任何合适的一种或多种技术。例如,输入层401中的输入层节点407可以基于特征203、与特征203中的每个特征相关联的权重、和/或每个输入层节点407的激活函数来计算。在示例中,可以通过生成特征203与它们的相关联的权重(例如,不同特征的权重可以不同)的乘积的加权和,并且将激活函数应用于该加权和,来确定每个输入层节点407。可以基于输入层节点407、与每个输入层节点407相关联的权重(例如,输入层节点407和隐藏层节点408的不同连接之间的权重可以不同)、用于每个隐藏层节点408的偏置、和/或用于每个隐藏层节点408的激活函数,来确定隐藏层节点408。在示例中,通过生成输入层节点407与相关联的权重的乘积的加权和,将偏置应用于该加权和,并且将激活函数应用于偏置的加权和,来确定每个隐藏层节点408。可以与隐藏层节点类似地确定隐藏层节点409、410、411,但是使用前一层作为相应隐藏层的输入。此外,可以基于最末隐藏层节点411、与每个最末隐藏层节点411相关联的权重(例如,权重可以不同)、和/或用于每个输出层节点412的偏置,来确定输出层节点。在示例中,通过生成最末隐藏层节点411与相关联的权重的乘积的加权和,并且将偏置应用于该加权和,来确定每个输出层节点412。如所讨论的,可以使用其它技术来评估神经网络301的节点,并且在此所讨论的技术不限于任何一种或多种神经网络评估技术。在一些示例中,在已经在训练阶段训练了神经网络301之后,可以在测试或实现阶段针对语音识别而实现神经网络301。这种训练阶段可以确定神经网络301的节点的权重、神经网络301的节点的偏置等。在一些示例中,在神经网络301的交叉熵训练期间(例如,在训练阶段期间),输出层406可以具有softmax(柔性最大值)激活函数,在实现或测试阶段期间,可以省略该函数。在一些示例中,在实现期间,来自输出层406的输出在被提供作为距离值304之前,可以基于分类概率进行缩放(scale)。还如图4中所示,神经网络301可以在控制器302经由神经网络(NN)控制信号305的控制之下进行操作。例如,在如所讨论的跳帧实现方式中,神经网络控制信号305可以控制是否在特定时间实例处评估神经网络301。例如,对于评估帧,神经网络控制信号305可以用信号告知对神经网络301进行评估,而对于跳过帧,神经网络控制信号305可以用信号告知不对神经网络301进行评估。回到图3,如所讨论的,对于评估帧或时间实例,控制器302可以向神经网络301提供神经网络控制信号305,以便对神经网络301进行评估。在这种时间实例下或者对于这种帧,神经网络301可以基于特征203以及神经网络301的用于生成距离值304的其它特性(例如,权重、偏置、激活函数等)来生成距离值304,如图所示,距离值304可以提供用于这种评估帧或时间实例,作为距离值205。在这种评估帧或者时间实例期间,控制器302还可以用信号告知距离值近似估计模块303,将不进行近似估计。如图所示,还可以将距离值304提供给距离值近似估计模块303,以便在后续时间实例中使用。对于跳过帧,控制器302可以提供神经网络控制信号305,指示不对神经网络301进行评估。此外,控制器302可以向距离值近似估计模块303提供如下指示:对于这种跳过帧或者与跳过帧相关联的时间实例,将经由距离值近似估计控制信号306生成距离值307。例如,在这种时间实例处,可以不评估神经网络301(例如,其可以是关闭的),从而节省大量的计算资源。此外,在这种时间实例处,可以提供距离值205作为近似距离值307。例如,特征203随时间可能是高度相关的,并且因此,特征203中的连续的特征矢量可能是基本上类似的。此外,如果针对这类特征进行完全评估,则神经网络301将随时间提供基本上类似的或相关的距离值。可以利用这种随时间的相似性来避免如这里所讨论的在每个时间实例处都评估神经网络301(例如,使得可以实现跳帧)。例如,可以针对每第N个帧而不是每个帧来评估神经网络301,其中N=2、3、4或更大,并且可以使用来自先前评估的时间实例(例如,评估帧)的距离值来近似估计这种跳过帧的距离值。图5示出根据本公开的至少一些实现方式所布置的评估和跳帧的示例时间线500。在图5中,时间线500的x轴示出随示例的时间实例0、1、2、3、4和5增加的时间。如图所示,在时间实例0、2、4处,可以经由神经网络(例如神经网络301)生成评估帧501、502、503。此外,图5示出示例的神经网络确定的距离值504、505。例如,神经网络确定的距离值504、505都可以与输出层节点412的输出节点相关联。例如,距离值504可以是节点在时间t=0处的输出,而距离值505可以是节点在时间t=2处的输出。图5还示出近似(例如,跳过)帧506、507、508。例如,在时间实例1、3、5处,可以经由距离值近似估计模块303,基于神经网络确定的针对先前评估帧501、502、503的距离值来生成近似帧506、507、508。例如,图5示出基于神经网络确定的距离值504、505来确定的近似距离值509。近似距离值509可以使用任何合适的一种或多种近似技术来确定。近似距离值509可以与输出层节点412中的同一输出节点相关联(例如,尽管近似距离值509是近似估计的并且不是神经网络301的输出)。在所示示例中,近似距离值509是基于使用两个先前的神经网络确定的距离值504、505进行外推来确定的。例如,近似距离值509可以基于先前的神经网络确定的距离值504、505来外推,并且如图所示,用于先前的神经网络确定的距离值505的时间实例可以在用于近似距离值509的时间实例之前,并且用于先前的神经网络确定的距离值504的时间实例可以在用于先前的神经网络确定的距离值505的时间实例之前。在其它示例中,可以使用仅一个先前的神经网络确定的距离值(例如,先前的神经网络确定的距离值505)来确定近似距离值509。在另其它示例中,可以使用仅三个或更多个先前的神经网络确定的距离值来确定近似距离值509。尽管关于外推技术进行阐述和讨论,但是,可以使用内插技术来确定近似距离值509(例如,基于先前的神经网络确定的距离值505和类似后续的来自后续评估帧503的神经网络确定的距离值)。在一些示例中,可以使用线性外推技术来确定近似距离值509。例如,可以基于将先前的神经网络确定的距离值505加上先前的神经网络确定的距离值505与先前的神经网络确定的距离值504之间的差的一半,来确定近似距离值509。在一些示例中,可以如下在公式(1)中确定近似距离值509:o(3)=o(2)+0.5×(o(2)-o(0))(1)这里,o(3)可以是近似距离值509,o(2)可以是先前的神经网络确定的距离值505,o(0)可以是先前的神经网络确定的距离值504。如在图5中所示,在一些示例中,每隔一个帧可以是近似帧或跳过帧(例如,每第N个帧,这样N=2)。例如,可以经由模运算来实现这种跳帧,这里N=2,并且如果时间实例模2为零,则帧为评估帧。在其它示例中,每第三个帧(例如,N=3)、每第四个帧(例如,N=4)或每第五个帧(例如,N=5)等可以是近似帧或者跳过帧。在另其它示例中,可以探试性地确定跳帧图案,使得基于语音解码器系统206的精度需求等来增加或减少跳过帧的数量。例如,控制器302可以基于语音解码器系统206的精度需求、语音解码器系统206的可用计算资源、或者当前的实时因子中的一个或多个来确定跳帧图案或跳帧速率。例如,实时因子可以测量语音解码器系统206的速度(例如,如果耗费时间P来处理持续时间为I的输入,则实时因子RTF可以定义为P/I)。在一些示例中,可以基于语音解码器系统206的精度需求、语音解码器系统206的可用计算资源、或者当前的实时因子等来动态地确定或调整跳帧速率。例如,如果需要更大的精度,则可以减少跳帧速率,如果没有计算资源,则可以增加跳帧速率,或者如果当前的实时因子太高或正在增加,则可以增加跳帧速率。在一些示例中,可以将所有三个因子和/或附加的因子用于经由控制器302或系统200的另一模块来确定跳帧速率。可以经由控制器302来实现跳帧速率,以控制神经网络301和距离值近似估计模块303,如在此所讨论的。例如,增加跳帧速率可以包括在评估帧与跳过帧之间提供一个或多个附加的跳过帧,而减少跳帧速率可以包括从评估帧与跳过帧之间移去一个或多个附加的跳过帧。此外,如所讨论的,可以将线性外推用于确定近似距离值509。在其它示例中,可以基于非线性函数或方差函数等来执行外推。在一些示例中,可以使用同一近似技术(例如,线性外推)来确定近似帧的所有距离值,而在其它示例中,可以使用不同的近似技术(例如,一些是线性的,一些是非线性的)来确定近似帧的距离值。此外,图5将t=1帧506示为近似帧。例如,帧506可能仅具有前一评估帧501作为参考,并且因此,帧506可以被近似为等于前一评估帧501。在其它示例中,可以经由对神经网络301进行评估来确定t=1帧506。如本文在别处所讨论的,可以将评估帧501、502、503保存在存储器中,以便检索和生成近似帧506、507、508。此外,对于实时语音识别结果,可以在运行中进行包括线性外推技术在内的这类外推技术。图6是根据本公开的至少一些实现方式所布置的示出用于使用跳帧和距离值近似估计来确定距离值的示例过程600的流程图。过程600可以包括如在图6中所示的一个或多个操作601-608。过程600可以由诸如设备102的设备或远程服务器等来执行。如在此所讨论的,过程600可以用于确定和提供距离值,以便由语音解码器使用。例如,过程600可以由控制器302、神经网络301和距离值近似估计模块303来实现。如图所示,过程600可以开始于开始操作601,并且过程600可以继续于判断操作602,“评估帧或跳过帧”,在这里,可以关于当前帧是评估帧还是跳过帧进行确定。例如,控制器302可以确定当前帧是评估帧还是跳过帧。如图所示,如果当前帧是评估帧,则过程600可以继续于操作603,“评估神经网络以确定距离值”,在这里,可以基于对神经网络的评估来为当前帧确定距离值。例如,在操作603处,可以由如经由距离值计算模块204实现的神经网络301来确定距离值304。如果当前帧是跳过帧,则过程600可以继续于操作604,“基于在先帧的距离值来近似估计距离值”,在这里,可以基于在先神经网络计算出的帧的距离值来近似估计距离值。例如,如在此所讨论的,可以使用线性外推来近似估计距离值。在示例中,在操作604处,可以由如经由距离值计算模块204实现的距离值近似估计模块303来确定距离值307。如图所示,在评估帧或跳过帧的情况下,过程600可以继续于操作605,“提供距离值”,在这里,如在此所讨论的,可以将距离值提供给语音解码器,以用于确定文本元素序列。例如,距离值计算模块204可以提供距离值205(例如,包括距离值304或距离值307,这取决于帧类型)给语音解码器模块206,以用于生成所识别的单词序列207。过程600可以继续于判断操作606,“最后的时间实例/帧?”,在这里,可以关于当前帧是否是最后的帧进行确定。如果当前帧不是最后的帧,则过程600可以继续于操作607,“转到下一时间实例/帧”,在这里,如图所示,过程600可以在判断操作602处继续以下一帧的下一时间实例。如果当前帧是最后的帧,则过程600可以结束于结束操作608。如所讨论的,包括神经网络301、控制器302和距离值近似估计模块303的距离值计算模块204可以实现跳帧,以显著减少自动语音识别实现中的计算负荷。这种实现方式在各种计算环境中可以提供快速且精确的语音识别结果。例如,这种跳帧技术可以使计算成本降低50%或者更多,而不损失精度。此外,可以通过在运行之前设定跳过帧的数量,或者在运行期间通过在处理期间调整跳过帧的数量,来进行速度与精度之间的折衷。此外,相比于现有的跳帧或多帧神经网络实现方式,所描述的跳帧技术不需要在实现之前调整或优化神经网络,或者不需要附加的专用训练的知识源(例如,用于训练神经网络)。表1示出所描述的跳帧技术的示例结果。表1:单词错误率增加的比较表1提供了针对所有测试使用相同的语音识别引擎的结果。报告的结果表示总共基于共约25000个言语的六个识别实验的平均值。在表1的结果中,使用距离值近似估计的跳帧是基于如关于公式(1)所讨论的,基于两个在先神经网络距离进行的线性外推。如所示的,对于现有的跳帧技术,单词错误率从基线(例如,在N=1处,没有跳帧)不断地增加到N=4的跳帧时的8%。借助所讨论的技术,在N=2和N=3的跳帧下没有错误率的增加。对于N=4,使用利用线性外推进行距离值近似估计时的单词错误率的增加为4%,其为基于现有的跳帧技术的增加量的一半。例如,在N=3处,使用所讨论的带距离值近似估计的跳帧技术的自动语音识别系统可以将计算成本降低超过50%,而不损失精度。例如,神经网络对自动语音识别系统的整体占位(footprint)可能占70%之多,这种神经网络的使用的减少可以显著减少自动语音识别系统的计算占位。此外,伪码(1)提供了用于提供使用线性近似估计的跳帧的示例过程。伪码(1):如在伪码(1)中所示,对于非跳过帧(例如,评估帧),时间帧(例如,时间实例或帧)和跳帧速率(例如,N值)的取模可以是0,并且对于这种时间帧,可以通过评估神经网络(例如,compute_DNN)来确定距离值(例如,输出)。对于跳过帧,时间帧和跳帧速率的取模可以是非零的,并且可以确定先前的评估帧的索引(例如,经由伪码(1)中的s和p)。接着,可以通过将因子(例如,fac)应用先之前确定的神经网络输出之间的增量(delta),并且将该增量与最新的先前确定的神经网络输出相加,来基于先前确定的神经网络输出而确定跳过帧的距离值。例如,因子可以基于跳过帧相对于在先神经网络计算帧的位置。在使用N=1的公式(1)的示例中,因子可以例如为0.5,因为取模(例如,m)为1并且跳帧速率(例如,N)为2。在评估帧之间具有更多跳过帧的示例中,因子可以取决于评估帧与跳过帧多接近而变化。例如,如果N=3并且跳过帧紧接评估帧之后,则因子可以是1/3,而如果跳过帧是评估帧之后的第二个跳过帧,则因子例如可以是2/3。如所讨论的,包括神经网络301、控制器302和距离值近似估计模块303的距离值计算模块204可以实现跳帧,以显著减少自动语音识别实现中的计算负荷。在其它实施例中,这种跳帧技术可以与按需距离技术结合。图7是根据本公开的至少一些实现方式所布置的示例距离值计算模块204的说明性示图。如所讨论的,距离值计算模块204可以包括神经网络301、控制器302和距离值近似估计模块303。在图7的实施例中,距离值计算模块204可以实现使用距离值近似估计的跳帧技术和按需距离技术。例如,距离值计算模块204可以从语音解码器模块206接收输出索引208(请参见图2)。在这种示例中,距离值计算模块204和语音解码器模块206可以是双向耦合的。这种输出索引208可以包括在特定时间实例处(或者,对于特定帧等)语音解码器模块206正在请求哪些距离值(例如,输出)的指示符。输出索引208可以包括任何合适的指示符,例如与输出层节点412相关联的指示符,和/或为请求指示时间实例的时间戳。如图所示,距离值计算模块204可以经由神经网络301接收特征203,并且经由控制器302接收输出索引208。神经网络301可以包括任何合适的神经网络,例如深度神经网络等。例如,神经网络301可以包括如在此所讨论的任何神经网络。图8是根据本公开的至少一些实现方式所布置的示例神经网络301的说明性示图。如图所示,神经网络301可以包括输入层401、隐藏层402、403、404、405、以及输出层406。此外,如所讨论的,隐藏层405可以被表征为最末隐藏层,因为它与输出层406相邻。还如图所示,输入层401可以包括输入层节点407,隐藏层402、403、404可以分别包括隐藏层节点408、409、410,最末隐藏层405可以包括最末隐藏层节点411。此外,输出层406可以包括输出层节点412。神经网络301的特性已经关于图4进行了讨论,并且为了简要起见,将不再重复。回到图7,控制器302可以接收输出索引208。控制器302还可以确定当前的时间实例是否与评估帧或跳过帧相关联。如果当前的时间实例与评估帧相关联(例如,使得将要基于评估神经网络301来确定距离值),则控制器302可以将神经网络(NN)控制信号305提供到神经网络301。神经网络控制信号305可以指示将要在当前的时间实例处评估神经网络,并且指示距离值被请求的输出节点。例如,输出索引208可以指示所有可用距离值的子集,并且神经网络可以仅被请求提供这些距离值。在这种评估帧示例中,神经网络301可以评估网络的所有层,直到最末隐藏层405。例如,为了评估输出层节点412的甚至一个输出节点,可能需要评估所有层直到最末隐藏层405。回到图8,如图所示,在这种示例中,神经网络301可以评估所有的输入层节点407、隐藏层节点408、409、410、以及最末隐藏层节点411。经由最末隐藏层节点411确定的最末隐藏层值可以被保存在存储器中,以便将来使用,如在此关于跳过帧示例进一步讨论的。此外,神经网络301可以仅评估(例如,经由输出索引208)被请求的那些输出层节点412。输出层406还可以包括不评估的输出层节点801-805,使得不评估的输出层节点801-805(例如,图8中黑色的那些)不被计算,而仅计算所请求的输出层节点412(例如,白色的那些)。回到图7,神经网络301可以提供经由控制器302请求的距离值,作为所请求的距离值(RDV)701,所请求的RDV701可以经由距离值计算模块204作为距离值205的一部分提供给语音解码器模块206(请参见图2)。如所讨论的,如果当前帧是评估帧,则可以实现神经网络301以确定所请求的距离值701。而如果当前帧(或后续帧)是跳过帧,则控制器302可以提供距离值近似估计控制信号306给距离值近似估计模块303,请求对经由输出索引208请求的距离值进行近似估计。然而,如在此所讨论的,距离值近似估计模块303可以基于经由神经网络301计算的先前的距离值来生成近似距离值。此外,如关于评估帧示例所讨论的,可以仅评估神经网络输出层节点的子集,并且可以仅提供神经网络确定的距离值的对应子集。如果跳过帧请求的输出索引208对应于在先前的评估帧处确定的距离值,则距离值近似估计模块303可以使用这种先前确定的距离值来经由如在此所讨论的近似技术生成所请求的距离值702。然而,如果(例如,经由神经网络301)没有提供这种先前确定的距离值(例如,它们没有被预先计算并经由存储器保存),则控制器302可以经由神经网络控制信号305将请求提供给神经网络301,以确定先前帧的所需距离值。例如,神经网络301可以加载所保存的先前评估帧的最末隐藏层值,并且评估新请求的输出层406的节点。例如,参见图8,现在可能需要与先前未请求的输出层节点804相关联的距离值来近似估计(当前)跳过帧的距离值。神经网络301可以评估所请求的节点,并且将所请求的距离值701提供给距离值近似估计模块303,如在图7中所示。可以针对任何数量的所需的神经网络确定的距离值以及针对任何数量的先前评估帧(例如,通常是两个先前评估帧)而重复这种过程。回到图7,距离值近似估计模块303现在在具有所需要的神经网络确定的距离值的情况下,可以生成当前跳过帧的所请求的距离值702。例如,距离值近似估计模块303可以使用如在此所描述的基于线性函数、非线性函数或方差函数的外推技术或者内插技术来确定这种所请求的距离值702。距离值近似估计模块303可以使用在此所讨论的任何技术或特性来确定这种所请求的距离值702,并且为简要起见,这些技术或特性将不再重复。参见图2,语音解码器模块206可以接收这种(所请求的)距离值205,并且可以继续于对所识别的单词序列进行解码和/或搜索。此外,语音解码器模块206可以针对下一时间帧生成输出索引208,输出索引208可以指示语音解码器针对下一帧继续所描述的解码/搜索所需要的距离值205。例如,语音解码器模块206可以是Viterbi束搜索或裁剪(pruning)语音解码器,其可以限制被评估的假设的数量或库存,使得可用距离值的子集可以用于有效地搜索所识别的单词序列207或者其一部分。图9是根据本公开的至少一些实现方式所布置的示出用于使用跳帧、按需距离和距离值近似估计来确定距离值的示例过程900的流程图。过程900可以包括如图9中所示的一个或多个操作901-913。过程900可以由诸如设备102的设备或远程服务器等来执行。过程900可以用于确定并提供距离值,以便由语音解码器使用,如在此所讨论的。例如,过程900可以由控制器302、神经网络301和距离值近似估计模块303来实现。如图所示,过程900可以开始于开始操作901,并且过程900可以继续于操作902,“接收用于时间实例/帧的输出索引”,在这里,可以为当前的时间实例或帧而接收输出索引。例如,语音解码器模块206可以生成输出索引208,输出索引208可以被提供给距离值计算模块204并且由其接收。过程900可以继续于判断操作903,“评估帧或跳过帧”,在这里,可以关于当前帧是评估帧还是跳过帧进行确定。例如,控制器302可以使用跳帧速率,基于取模运算来确定当前帧是评估帧还是跳过帧。如图所示,如果当前帧是评估帧,则过程900可以继续于操作904,“评估神经网络直到最末隐藏层”,在这里,可以对神经网络进行评估直到最末隐藏层。例如,可以从输入层401到最末隐藏层405完全地评估神经网络301。过程900可以继续于操作905,“经由与输出索引相关联的输出层节点来确定距离值”,在这里,可以评估神经网络的输出层节点,以确定与输出索引相关联的距离值(例如,所请求的距离值)。例如,使用神经网络301,可以评估输出层406中的输出层节点412的子集,以确定所请求的距离值。例如,在操作905处,所请求的距离值701可以由如经由距离值计算模块204实现的神经网络301来确定。过程900可以继续于操作906,“保存最末隐藏层值和距离值”,在这里,可以保存与神经网络的最末隐藏层相关联的最末隐藏层值和神经网络确定的距离值,以便将来使用。例如,如在此进一步讨论的,可以经由存储器来保存经由神经网络301的最末隐藏层节点411确定的最末隐藏层值,以便在对后续距离值进行近似估计时使用。类似地,可以保存经由输出层406的激活子集确定的距离值,以便在对后续距离值进行近似估计时使用。当不再需要时(例如,当当前帧可能不再调用这种评估帧进行距离值近似估计时),可以丢弃这些保存的最末隐藏层值和神经网络确定的距离值。如果当前帧是跳过帧,则过程900可以继续于操作907,“获取最末隐藏层值和/或在先帧的距离值”,在这里,可以获取最末隐藏层值和/或在先的神经网络确定的距离值(如在操作906处保存的)。例如,可以经由控制器302或距离值近似估计模块303从存储器中获取这些值。例如,如果当前帧的多个输出索引中的输出索引与先前的神经网络确定的距离值相关联,则可以获取这种先前的神经网络确定的距离值。如果当前帧的多个输出索引中的输出索引值与先前未确定的神经网络节点相关联,则可以获取最末隐藏层值。过程900可以继续于操作908,“根据需要,经由相关联的输出层节点来确定在先距离值”,在这里,可以经由相关联的输出层节点,为输出索引确定在先距离值。例如,对于当前为近似估计所需的、但是先前没有经由神经网络确定的距离值,可以经由神经网络的输出层节点来确定这种距离值。例如,在操作907处获取到的最末隐藏层值可以用于评估输出层406的(例如,一个或多个)输出层节点412的子集。在一些示例中,可能已经在操作906处保存了这种距离值,并且可以跳过操作908。过程900可以继续于操作909,“基于在先距离值来近似估计与输出索引相关联的距离值”,在这里,可以基于在先的神经网络计算的距离值来近似估计距离值。如所讨论的,近似距离值可以是与接收到的输出索引相关联的那些距离值,并且如所讨论的,可以经由操作906保存或者经由操作908确定在先距离值。例如,如在此讨论的,可以使用线性外推来近似距离值。在示例中,可以在操作909处由如经由距离值计算模块204实现的距离值近似估计模块303来确定所请求的距离值702。如图所示,在评估帧或跳过帧的情况下,过程900可以继续于操作910,“提供距离值”,在这里,可以将距离值提供给语音解码器以用于确定文本元素序列,如在此讨论的。例如,距离值计算模块204可以提供距离值205(例如,包括所请求的距离值701或所请求的距离值702,这取决于帧类型)给语音解码器模块206,以用于生成所识别的单词序列207。过程900可以继续于判断操作911,“最后的时间实例/帧?”,在这里,可以关于当前帧是否是最后的帧进行确定。如果当前帧不是最后的帧,则过程900可以继续于操作912,“转到下一时间实例/帧”,在这里,如所示的,过程900可以在操作902处继续以下一帧的下一时间实例。如果当前帧是最后的帧,则过程900可以结束于结束操作913。如所讨论的,包括神经网络301、控制器302和距离值近似估计模块303的距离值计算模块204可以实现跳帧和按需距离,以显著减少自动语音识别实现中的计算负荷。在一些示例中,可以在不实现这种跳帧技术的情况下实现这种按需距离技术。例如,参照图7,可以在没有距离值近似估计模块303的情况下实现距离值计算模块204,并且对于每个时间实例或帧,控制器302可以控制神经网络仅提供与输出索引208相关联的那些距离值(例如,所请求的距离值701)。参照图9,这种按需距离处理可以包括操作902、904、905、910、911、912和913,使得可以接收输出索引,可以对神经网络进行完全评估直到最末隐藏层,可以仅评估输出层节点的与输出索引对应的子集,并且可以将所确定的距离值(例如,所述子集)提供给语音解码器。这种处理可以不需要保存最末隐藏层值或者距离值,例如以便将来使用,也不需要实现提供跳帧技术的整合的操作分支(例如,操作903、907、908)。这种跳帧技术可以被看作近似技术,因为距离值是经由外推或内插技术来近似估计的,如所讨论的那样。这种按需距离技术可以被看作非近似技术,因为语音解码器仅接收它针对当前帧所需要的那些距离值,并且(在神经网络确定的距离值的情况下)不近似估计这些距离值。因此,这种按需距离技术可以降低计算成本,而不降低精度。例如,与仅跳帧相比,增加按需距离技术可以降低计算22%。在一些示例中,输出层可能是神经网络的约50%,仅评估输出层的所请求的子集可以节省神经网络的约45%的计算成本。在不同示例中,仅评估输出层的所请求的子集可以节省神经网络的0至50%的计算成本。图2示出所描述的跳帧技术和按需距离技术的示例结果。实现按需距离?实现跳帧?整体实时因子神经网络计算成本否否2.49~800MCPS是否1.97~615MCPS否是1.18~290MCPS是是1.00~225MCPS表2:实时因子与计算成本的比较表2提供了如在具有253个输入层节点、四个隐藏层每层具有192个隐藏层节点、以及1015个输出层节点的示例中所讨论的具有约354000个权重的神经网络的示例结果。此外,针对所有测试,使用相同的语音识别引擎得到结果。所应用的统计语言模型中的单词数为1000。跳帧速率设定成N=3(例如,模3)。语音解码器是束宽语音解码器,其提供有保守设置以用于最佳可能的语音识别性能。如所示的,整体的(例如,特征提取、神经网络和/或值近似估计模块、以及语音解码器)系统性能为暴力神经网络计算(例如,没有跳帧,也没有按需距离)提供了2.49秒的实时因子(RTF),以约800MPCS(百万周期每秒)的计算成本(例如,为了系统实时运行所要求的每秒中央处理单元(CPU)周期数)处理1秒的语音。按需距离单独将实时因子减少了约22%,并且跳帧单独将实时因子减少了约64%。在跳帧之上应用按需距离提供了额外的约22%的减少,并且给整体系统带来实时因子1.00。在给定的示例中,使用线性外推的跳帧与按需距离的组合允许自动语音识别系统在不损失精度的情况下实时运行。此外,伪码(2)提供了用于提供使用线性近似估计的跳帧结合按需距离的示例过程。如在伪码(1)中所示,对于非跳过帧(例如,评估帧),取模可以是0,并且可以经由神经网络(例如,DNN)计算所请求的距离值。对于跳过帧,可以经由神经网络计算需要的在先距离值,并且在先距离值用于经由对当前距离值的外推(例如,linear_extrapolate)进行近似估计。如所讨论的,包括神经网络301、控制器302和距离值近似估计模块303的距离值计算模块204可以实现跳帧和/或按需距离,以显著减少自动语音识别实现中的计算负荷,而语音识别精度没有降低或者降低很小。此外,这种包括神经网络301、控制器302和距离值近似估计模块303的距离值计算模块204可以经由相同的处理设备(例如,中央处理单元、图形处理单元、信号处理器等)来实现,或者神经网络的各部分可以经由不同的处理设备来实现。图10是根据本公开的至少一些实现方式所布置的用于实现跳帧和/或按需的距离以用于从特征203和输出索引208生成距离值205的示例系统1000的说明性示图。如在图10中所示,系统1000可以包括距离值计算模块204和存储仓库(memorystore)1001,距离值计算模块204具有神经网络301、控制器302和距离值近似估计模块303,存储仓库1001被配置为存储神经网络数据、距离值(例如,与当前帧有关的在先距离值)以及隐藏层值(例如,与当前帧有关的在先隐藏层值)等。在一些示例中,如在此进一步讨论的,距离值计算模块204可以经由中央处理单元或其它处理器来实现。如所讨论的,在一些示例中,距离值计算模块204中的一些或全部可以经由不同的处理器来实现。如所示的并且如本文在别处讨论的,距离值计算模块204可以接收特征203(例如,经由特征提取模块202)和输出索引208(例如,经由语音解码器模块206)。距离值计算模块204还可以经由存储仓库1001接收神经网络权重、偏置和校正(例如,神经网络数据)。此外,距离值计算模块204可以经由存储仓库1001接收在先距离值和/或在先隐藏层值。例如,特征203可以提供输入给神经网络301的输入层。神经网络301可以经由节点评分模块、分数偏置模块和输出/激活函数模块来实现,节点评分模块可以确定神经网络的各层的节点分数,分数偏置模块可以对这些节点分数进行偏置以生成偏置后的分数,输出/激活函数模块可以基于偏置后的分数来生成节点的输出。例如,对于隐藏层节点和输入层节点,输出/激活函数模块可以实现激活函数以生成输出,并且对于输出层节点,输出/激活函数模块可以提供校正后的偏置分数作为节点输出。如所讨论的,在一些示例中,在按需距离实现方式中可以控制输出层,以仅提供与输出索引208相关联的距离值。此外,距离值近似估计模块303可以从存储仓库1001或者从神经网络301接收神经网络确定的距离值,并且距离值近似估计模块303可以例如基于接收到的神经网络确定的距离值来外推距离值。如在此所讨论的,可以提供经由神经网络301和/或距离值近似估计模块303确定的距离值作为距离值205。图11是根据本公开的至少一些实现方式所布置的示出用于提供自动语音识别的示例过程1100的流程图。过程1100可以包括如图11中所示的一个或多个操作1101-1103。过程1100可以构成计算机实现的用于提供自动语音识别的方法的至少一部分。通过非限制性的示例,过程1100可以构成由在此所讨论的系统200或1000进行的用于所获得的语音记录(例如语音记录201)的自动语音识别过程的至少一部分。此外,这里将参照图12的系统1200来描述过程1100。图12是根据本公开的至少一些实现方式所布置的用于提供语音识别的示例系统1200的说明性示图。如图12中所示,系统1200可以包括一个或多个中央处理单元(CPU)1201、图形处理单元(GPU)1202、系统存储器1203和麦克风104。还如图所示,CPU1201可以包括特征提取模块202、距离值计算模块204和语音解码器模块206。此外,距离值计算模块204可以包括神经网络301、控制器302和距离值近似估计模块303。如图所示,在系统1200的示例中,系统存储器1203可以包括存储仓库1001,其可以存储神经网络数据、距离值和/或隐藏层值。此外,系统存储器1203可以存储如在此所讨论的任何其它数据,例如语音记录、特征、特征矢量、距离值、所识别的单词序列等。麦克风104可以包括可以接收语音103(例如,作为空气中的声波,请参见图1)并将语音103转换成诸如数字信号的电信号的任何合适的一个或多个设备。在实施例中,麦克风将语音103转换成语音记录201。在实施例中,语音记录201可以被存储在系统存储器1203中,以便由CPU1201访问。CPU1201和图形处理单元1202可以包括可以提供如在此所讨论的操作的任何数量和类型的处理单元。这些操作可以经由软件或硬件或其组合来实现。例如,图形处理单元1202可以包括专用于操纵从系统存储器1203或专用图形存储器(未示出)获得的数据的电路。此外,中央处理单元1201可以包括可以为系统1200和如在此所讨论的操作提供控制和其它高层功能的任何数量和类型的处理单元或模块。系统存储器1203可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性示例中,系统存储器1203可以由缓存存储器来实现。如图所示,在实施例中,特征提取模块202、距离值计算模块204和语音解码器模块206可以经由CPU1201来实现。在一些示例中,特征提取模块202、距离值计算模块204和语音解码器模块206可以由如经由CPU1201实现的软件来提供。在其它示例中,特征提取模块202、距离值计算模块204和语音解码器模块206中的一个或多个可以经由数字信号处理器等来实现。在另一实施例中,特征提取模块202、距离值计算模块204和语音解码器模块206中的一个或多个可以经由图形处理单元1202的执行单元(EU)来实现。EU可以包括例如可编程逻辑或电路,例如可以提供宽泛的可编程逻辑功能的一个或多个逻辑核。回到图11的讨论,过程1100可以开始于操作1101,“评估神经网络以确定第一距离值作为神经网络的输出”,在这里,可以评估神经网络以确定第一距离值作为神经网络的输出。例如,第一距离值可以与第一时间实例相关联。例如,如经由CPU1201实现的距离值计算模块204的神经网络301可以确定距离值作为神经网络301的输出。在一些示例中,如在此所讨论的,过程1100可以实现跳帧技术而不实现按需距离技术。在这种示例中,神经网络可以包括具有多个输出层节点的输出层,并且在操作1101处评估神经网络可以包括:评估神经网络的所有输出节点。在其它示例中,过程1100可以实现按需距离技术,带跳帧或不带跳帧。在这种示例中,在操作1101之前,可以针对第一时间实例(例如,经由语音解码器)生成输出索引。例如,第一距离值可以与多个输出索引中的输出索引相关联。在这种示例中,神经网络可以包括具有多个输出层节点的输出层,这样,针对第一时间实例评估神经网络包括:评估多个输出层节点的子集,使得该子集与输出索引相关联。如所讨论的,在这种示例中,可以针对第一时间实例完全评估神经网络的具有最末隐藏层节点的最末隐藏层,并且可以保存最末隐藏层节点值。过程1100可以继续于操作1102,“基于神经网络确定的距离值来针对后续的时间实例近似估计第二距离值”,在这里,对于第一时间实例之后的第二时间实例,可以至少部分地基于第一距离值来近似估计第二距离值,并且使得不针对第二时间实例评估神经网络。例如,在第二时间实例处,可以没有距离值是神经网络的直接输出。例如,如经由CPU1201实现的距离值计算模块204的距离值近似估计模块303可以近似估计第二距离值。第二距离值可以经由基于线性函数、非线性函数、方差函数等的外推来近似估计。在一些示例中,第二距离值的近似估计可以基于使用第一距离值和来自在与第一距离值相关联的时间实例之前的时间实例的第三距离值的外推。在一些示例中,这种基于第一距离值和第三距离值的外推可以基于线性外推,并且第三距离值可以经由神经网络预先确定。在一些示例中,可以如关于公式(1)所示地提供这种外推,使得线性外推包括第一距离值加上第一距离值与第三距离值之间的差的一半。如所讨论的,在一些示例中,可以一起实现跳帧和按需距离。在这种示例中,在近似估计第二距离值之前,可以针对第二时间实例生成输出索引(例如,经由语音解码器)。例如,第二距离值可以与多个输出索引中的输出索引相关联。在这种示例中,在第一时间实例处评估神经网络可以包括:评估最末隐藏层的所有最末隐藏层节点以生成最末隐藏层值,最末隐藏层值可以被保存。在第二时间实例处,可以通过基于所保存的第一时间实例的隐藏层值来为第二时间实例评估与输出索引相关联的输出层节点,从而重新评估针对第一时间实例的神经网络,以确定可以用于近似估计第二距离值的神经网络确定的距离值。过程1100可以继续于操作1103,“基于第一距离值和第二距离值来确定文本元素序列”,在这里,文本元素序列可以基于第一距离值和第二距离值来确定。例如,如在此所讨论的,如经由CPU1201实现的语音解码器模块206可以确定所识别的单词序列207。在一些示例中,语音解码器包括Viterbi束搜索解码器。如所讨论的,过程1100可以实现跳帧技术。这种技术可以跳过任何数量的帧。例如,使用神经网络确定的帧可以被描述为神经网络评估帧,而使用近似技术确定的帧可以被描述为跳过帧。在一些示例中,第一时间实例可以与神经网络评估帧相关联,第二时间实例可以与跳过帧相关联,并且评估帧和跳帧可以是相邻的帧。在其它示例中,一个、两个、三个、或更多个跳过帧可以在评估帧与跳过帧之间。此外,在一些示例中,可以经由如经由CPU1201实现的距离值计算模块204的控制器302来确定和实现跳帧速率(例如,基于精度需求、可用计算资源、或者当前的实时因子),以在评估帧之间提供附加的跳过帧,或者从评估帧之间移去跳过帧。可以针对任何数量的时间实例和/或语音记录,串行或并行地重复过程1100任何次数。过程1100可以提供经由诸如在此所讨论的设备102的设备或者经由作为云计算平台的一部分的服务器等来确定距离值并生成文本元素序列。还如在此所讨论的,在这种实时处理之前,在一些示例中,可以经由单独的系统,对神经网络的各种组件进行预先训练,确定偏置和/或权重,等。如所讨论的,在一些示例中,过程1100可以经由CPU1201来实现。在其它示例中,过程1100(和相关联的模块)可以经由诸如协处理器等的专用处理器来实现。此外,在操作1101之前,在一些示例中,可以将接收到的语音转换成语音记录。例如,语音103可以经由系统1100的麦克风104和/或相关的电路被转换成语音记录201。此外,可以基于语音记录201由如经由CPU1201实现的特征提取模块202来确定或提取特征203(例如,特征矢量),并且这些特征可以被提供给如经由CPU1201实现的距离值计算模块204的神经网络301。在一些示例中,特征提取模块202可以经由系统1200的数字信号处理器(未示出)来实现。在一些示例中,如经由CPU1201实现的语音解码器模块206可以通过将距离值205与如经由系统存储器1203得到的统计模型(未示出)进行比较,来确定所识别的单词序列207。虽然在此所讨论的示例过程的实现方式可以包括按所示的顺序进行所示的所有操作,但是本公开不限于此,并且在各个示例中,在此的示例过程的实现方式可以包括仅所示操作的子集、按与所示的不同顺序执行的操作、或附加操作。此外,可以响应于一个或多个计算机程序产品所提供的指令而进行在此所讨论的一个或多个操作。这些程序产品可以包括提供指令的信号承载介质,所述指令当由例如处理器执行时可以提供在此所描述的功能。可以通过任何形式的一个或多个机器可读介质来提供计算机程序产品。因此,例如,包括一个或多个图形处理单元或处理器内核的处理器可以响应于由一个或多个机器可读介质传送到处理器的程序代码和/或指令或指令集而进行在此的示例过程的一个或多个方框。通常,机器可读介质可以通过程序代码和/或指令或指令集的形式来传送软件,这些程序代码和/或指令或指令集可以使在此所描述的任何设备和/或系统实现在此所讨论的系统200、1000或1200或任何其它模块或组件的至少一部分。如在此所描述的任何实现方式中所使用的那样,术语“模块”指代被配置为提供在此所描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可以体现为软件封装、代码和/或指令集或指令,并且在此所描述的任何实现方式中所使用的“硬件”可以单独地或组合地包括例如硬布线电路、可编程电路、状态机电路、固定功能电路、执行单元电路、和/或存储由可编程电路执行的指令的固件。模块可以共同地或单独地体现为构成更大系统(例如集成电路(IC)、片上系统(SoC)等)的一部分的电路。图13是根据本公开的至少一些实现方式所布置的示例系统1300的说明性示图。在各个实现方式中,系统1300可以是移动系统,但是系统1300不限于该上下文。例如,系统1300可以合并到个人计算机(PC)、膝上型计算机、超级膝上型计算机、手写板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能手写板、智能手表、智能眼镜或智能电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单反(DSLR)相机)等中。在各个实现方式中,系统1300包括平台1302,其耦合到显示器1320。平台1302可以从内容设备(例如内容服务设备1330或内容传送设备1340或其它类似内容源)接收内容。如图所示,在一些示例中,系统1300可以包括经由平台1302实现的麦克风104。平台1302可以经由麦克风104接收语音(例如语音103),如在此所讨论的那样。包括一个或多个导航特征的导航控制器1350可以用于与例如平台1302和/或显示器1320进行交互。以下更详细描述这些组件中的每一个。在各个实现方式中,平台1302可以包括芯片组1305、处理器1310、存储器1312、天线1313、存储1314、图形子系统1315、应用1316和/或无线电装置1318的任何组合。芯片组1305可以提供处理器1310、存储器1312、存储1314、图形子系统1315、应用1316和/或无线电装置1318之间的相互通信。例如,芯片组1305可以包括能够提供与存储1314的相互通信的存储适配器(未描绘)。处理器1310可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器,或者中央处理单元(CPU)。在各个实现方式中,处理器1310可以是双核处理器、双核移动处理器等。存储器1312可以实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储1314可以实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备用SDRAM(同步DRAM)和/或网络可存取存储设备。在各个实现方式中,例如,存储1314可以包括用于当包括多个硬盘驱动器时针对有价值的数字媒体增加存储性能增强保护的技术。图形子系统1315可以执行对图像(例如静止图像或视频)的处理,以便进行显示。例如,图形子系统1315可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于以通信方式耦合图形子系统1315和显示器1320。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD顺应技术中的任一种。图形子系统1315可以集成到处理器1310或芯片组1305中。在一些实现方式中,图形子系统1315可以是以通信方式耦合到芯片组1305的单机设备。在此所描述的图形和/或视频处理技术可以实现于各种硬件架构中。例如,图形和/或视频功能可以集成在芯片组内。替代地,可以使用分立式图形和/或视频处理器。作为又一实现方式,可以通过通用处理器(包括多核处理器)提供图形和/或视频功能。在其它实施例中,可以在消费者电子设备中实现这些功能。无线电装置1318可以包括能够使用各种合适的无线通信技术来发送和接收信号的一个或多个无线电装置。这些技术可以涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这些网络的通信中,无线电装置1318可以根据任何版本的一个或多个适用标准来操作。在各个实现方式中,显示器1320可以包括任何电视类型的监视器或显示器。显示器1320可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类电视的设备、和/或电视。显示器1320可以是数字的和/或模拟的。在各个实现方式中,显示器1320可以是全息显示器。此外,显示器1320可以是可以接收视觉投影的透明表面。这些投影可以传送各种形式的信息、图像和/或对象。例如,这些投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用1316的控制下,平台1302可以在显示器1320上显示用户界面1322。在各个实现方式中,例如,内容服务设备1330可以由任何国家的、国际的和/或独立的服务来主管,并且因此可经由互联网对平台1302进行访问。内容服务设备1330可以耦合到平台1302和/或显示器1320。平台1302和/或内容服务设备1330可以耦合到网络1360,以将媒体信息传递(例如,发送和/或接收)出入网络1360。内容传送设备1340也可以耦合到平台1302和/或显示器1320。在各个实现方式中,内容服务设备1330可以包括有线电视盒、个人计算机、网络、电话、启用互联网的设备或能够传送数字信息和/或内容的电器、以及能够经由网络1360或以直接方式在内容提供商与平台1302和/显示器1320之间单向地或双向地传递内容的任何其它类似设备。应理解,内容可以经由网络1360单向地和/或双向地传递出入系统1300中的任何一个组件以及内容提供商。内容的示例可以包括任何媒体信息,包括例如视频信息、音乐信息、医疗信息和游戏信息等。内容服务设备1330可以接收内容,例如包含媒体信息、数字信息和/或其它内容的有线电视节目。内容提供商的示例可以包括任何有线或卫星电视内容提供商,或无线电内容提供商,或互联网内容提供商。所提供的示例并非意图以任何方式来限制根据本公开的实现方式。在各个实现方式中,平台1302可以从具有一个或多个导航特征的导航控制器1350接收控制信号。例如,控制器1350的导航特征可以用于与用户界面1322进行交互。在各个实施例中,导航控制器1350可以是定点设备,其可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(具体地说,人机接口设备)。很多系统(例如图形用户界面(GUI)以及电视和监视器)允许用户使用物理手势来控制数据并将其提供给计算机或电视。控制器1350的导航特征的移动可以通过显示器上所显示的指针、光标、聚焦环或其它视觉指示符的移动而得以在显示器(例如显示器1320)上复制。例如,在软件应用1316的控制下,位于导航控制器1350上的导航特征可以被映射为用户界面1322上所显示的虚拟导航特征。在各个实施例中,控制器1350可以不是单独的组件,而是可以集成到平台1302和/或显示器1320中。然而,本公开不限于在此所示或所描述的要素或情形。在各个实现方式中,例如,驱动器(未示出)可以包括用于当启用时使用户能够在初始引导之后通过触摸按钮即刻打开和关闭平台1302(比如电视)的技术。程序逻辑可以允许平台1302即使在平台“关闭”时,也将内容流送到媒体适配器或其它内容服务设备1330或内容传送设备1340。此外,例如,芯片组1305可以包括关于5.1环绕声音音频和/或高清晰度7.1环绕声音音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在各个实施例中,图形驱动器可以包括外设组件互连(PCI)高速图形卡。在各个实现方式中,系统1300中所示的任何一个或多个组件可以是集成的。例如,平台1302和内容服务设备1330可以是集成的,或者平台1302和内容传送设备1340可以是集成的,或者平台1302、内容服务设备1330和内容传送设备1340可以是集成的。在各个实施例中,平台1302和显示器1320可以是集成单元。例如,显示器1320和内容服务设备1330可以是集成的,或者显示器1320和内容传送设备1340可以是集成的。这些示例并非意味着限制本公开。在各个实施例中,系统1300可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统1300可以包括适合于通过无线共享介质进行通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的各部分,例如RF频谱等。当实现为有线系统时,系统1300可以包括适合于通过有线通信介质进行通信的组件和接口,例如输入/输出(I/O)适配器、用于将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、线缆、金属引线、印制电路板(PCB)、背板、开关构造、半导体材料、双绞线导线、同轴线缆、光纤等。平台1302可以建立一个或多个逻辑或物理信道,以传递信息。信息可以包括媒体信息和控制信息。媒体信息可以指代表示意图用于用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流送视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如语音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指代表示意图用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统,或者吩咐节点以预定方式处理媒体信息。然而,实施例不限于图13中所示或所描述的元件或上下文。如上所述,可以按变化的物理风格或形数来体现系统1300。图13示出可以体现系统1300的小形数设备1300的实现方式。在各个实施例中,例如,设备1300可以实现为具有无线能力的移动计算设备。移动计算设备可以指代具有处理系统和移动功率源或电源(例如,一个或多个电池)的任何设备。在一些示例中,设备1300可以包括麦克风(例如麦克风104),和/或接收语音(例如语音103),以用于经由在此所讨论的神经网络的实现方式进行实时语音识别。如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、手写板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能手写板或智能电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单反(DSLR)相机)等。移动计算设备的示例也可以包括被布置为人所穿戴的计算机,例如腕部计算机、手指计算机、耳环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣物计算机以及其它可穿戴计算机。在各个实施例中,例如,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以通过示例的方式以实现为智能电话的移动计算设备来描述一些实施例,但是应理解,同样可以使用其它无线移动计算设备来实现其它实施例。实施例并非限于该上下文中。如图14所示,设备1400可以包括外壳1402、显示器1404、输入/输出(I/O)设备1406以及天线1408。设备1400也可以包括导航特征1412。显示器1404可以包括用于显示对于移动计算设备适当的信息的任何合适的显示单元。显示器1404可以包括触摸屏区域1410,以用于接收I/O命令。在一些示例中,触摸屏区域1410可以基本上与显示器1404是相同大小的。I/O设备1406可以包括任何合适的I/O设备,以用于将信息输入移动计算设备中。用于I/O设备1406的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风(未示出)的方式输入到设备1400中。这种信息可以由语音识别设备(未示出)进行数字化。实施例并非限于该上下文中。可以使用硬件元件、软件元件或二者的组合来实现各个实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件实现实施例可以根据任何数量的因素(例如期望的计算速率、功率等级、热量容限、处理周期预算、输入数据率、存储器资源、数据总线速度以及其它设计或性能约束)而变化。可以通过机器可读介质上所存储的代表性指令来实现至少一个实施例的一个或多个方面,这些指令表示处理器内的各个逻辑,并且当由机器读取时使机器产生执行在此所描述的技术的逻辑。这些称为“IP核”的表示可以被存储在有形机器可读介质上,并且被提供给各个顾客或制造设施,以加载到实际上制作逻辑或处理器的制造机器中。虽然已经参照各个实现方式描述了在此所阐述的特定特征,但是这个描述并非意图理解为限制性的意义。因此,在此所描述的实现方式的各种修改以及对于本公开所属领域的技术人员显而易见的其它实现方式看作处于本公开的精神和范围内。在一个或多个第一实施例中,一种计算机实现的用于提供自动语音识别的方法,包括:针对第一时间实例,评估神经网络以确定与所述第一时间实例相关联的至少一个第一距离值,其中,所述至少一个第一距离值包括所述神经网络的输出;针对第二时间实例,至少部分地基于所述第一距离值来近似估计至少一个第二距离值,其中,针对所述第二时间实例不评估所述神经网络;以及至少部分地基于所述第一距离值和所述第二距离值来确定文本元素序列。进一步对于所述第一实施例,所述方法还包括:针对所述第一时间实例生成一个或多个输出索引,其中,所述第一距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层,并且其中,针对所述第一时间实例评估所述神经网络包括:仅评估所述多个输出层节点中的与所述输出索引相关联的子集。进一步对于所述第一实施例,所述方法还包括:针对所述第一时间实例生成一个或多个输出索引,其中,所述第一距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层,并且其中,针对所述第一时间实例评估所述神经网络包括:仅评估所述多个输出层节点中的与所述输出索引相关联的子集,其中,所述神经网络还包括具有最末隐藏层节点的最末隐藏层,并且其中,针对所述第一时间实例评估所述神经网络包括:评估所有的最末隐藏层节点。进一步对于所述第一实施例,所述方法还包括:针对所述第一时间实例生成一个或多个输出索引,其中,所述第一距离值与所述输出索引的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层,针对所述第一时间实例评估所述神经网络包括:仅评估所述多个输出层节点中的与所述输出索引相关联的子集,和/或其中,所述神经网络还包括具有最末隐藏层节点的最末隐藏层,并且针对所述第一时间实例评估所述神经网络包括:评估所有的最末隐藏层节点。进一步对于所述第一实施例,近似估计所述第二距离值包括:至少部分地基于所述第一距离值,基于线性函数、非线性函数或方差函数中的至少一个来外推所述第二距离值。进一步对于所述第一实施例,近似估计所述第二距离值包括:基于所述第一距离值和与第三时间实例相关联的第三距离值来外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前。进一步对于所述第一实施例,近似估计所述第二距离值包括:基于所述第一距离值和与第三时间实例相关联的第三距离值来外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,其中,外推所述第二距离值包括:基于所述第一距离值和所述第三距离值,经由线性函数外推所述第二距离值,其中,所述第三距离值是基于对所述神经网络的评估来确定的。进一步对于所述第一实施例,近似估计所述第二距离值包括:基于所述第一距离值和与第三时间实例相关联的第三距离值来外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,其中,外推所述第二距离值包括:基于所述第一距离值和所述第三距离值,经由线性函数外推所述第二距离值,其中,所述第三距离值是基于对所述神经网络的评估来确定的,其中,所述线性函数包括将所述第一距离值加上所述第一距离值与所述第三距离值之间的差值的一半。进一步对于所述第一实施例,近似估计所述第二距离值包括:基于所述第一距离值和与第三时间实例相关联的第三距离值来外推所述第二距离值,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,和/或外推所述第二距离值包括:基于所述第一距离值和所述第三距离值,经由线性函数外推所述第二距离值,和/或所述第三距离值是基于对所述神经网络的评估来确定的。进一步对于所述第一实施例,所述方法还包括:针对所述第二时间实例生成一个或多个输出索引,其中,用于所述第二时间实例的第三距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层和具有多个最末隐藏层节点的最末隐藏层,并且其中,所述针对第一时间实例评估神经网络包括:评估最末隐藏层的所有最末隐藏层节点以生成多个最末隐藏层值;在所述第二时间实例处,通过基于所述最末隐藏层值评估所述多个输出层节点中的与第四距离值相关联的输出层节点,来确定用于所述第一时间实例的第四距离值;以及针对所述第二时间实例,至少部分地基于所述第四距离值来近似估计所述第三距离值。进一步对于所述第一实施例,所述神经网络包括具有多个输出层节点的输出层,并且其中,针对所述第一时间实例评估所述神经网络包括:评估所述多个输出层节点中的全部节点。进一步对于所述第一实施例,所述第一时间实例与神经网络评估帧相关联,所述第二时间实例与跳过帧相关联,并且其中,一个、两个或三个附加的跳过帧在所述评估帧与所述跳过帧之间。进一步对于所述第一实施例,所述神经网络包括具有多个输出层节点的输出层,并且针对所述第一时间实例评估所述神经网络包括:评估所述多个输出层节点中的全部节点,和/或所述第一时间实例与神经网络评估帧相关联,所述第二时间实例与跳过帧相关联,并且其中,一个、两个或三个附加的跳过帧在所述评估帧与所述跳过帧之间,和/或确定文本元素序列包括:经由Viterbi束搜索解码器来确定文本元素序列。进一步对于所述第一实施例,所述第一时间实例与神经网络评估帧相关联,所述第二时间实例与跳过帧相关联,并且所述方法还包括:基于可用计算资源或当前的实时因子中的至少一个来确定跳帧速率,并且基于所述跳帧速率,在所述评估帧与所述跳过帧之间提供附加的跳过帧。进一步对于所述第一实施例,确定文本元素的序列包括:经由Viterbi束搜索解码器来确定文本元素的序列。进一步对于所述第一实施例,所述方法还包括:将接收到的语音转换成语音记录;提取与所述语音记录的时间窗口相关联的特征矢量;以及提供所述特征矢量,作为所述神经网络的输入。在一个或多个第二实施例中,一种用于提供自动语音识别的系统,包括:存储器,被配置为:存储语音识别数据;和中央处理单元,耦合到所述存储器,其中,所述中央处理单元包括:神经网络电路,被配置为:针对第一时间实例实现神经网络,以确定与所述第一时间实例相关联的至少一个第一距离值;距离值近似估计电路,被配置为:针对第二时间实例,至少部分地基于所述第一距离值来近似估计至少一个第二距离值;和语音解码器电路,被配置为:至少部分地基于所述第一距离值和所述第二距离值来确定文本元素序列。进一步对于所述第二实施例,所述语音解码器电路还被配置为:针对所述第一时间实例生成一个或多个输出索引,其中,所述第一距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层,并且其中,所述神经网络电路被配置为:针对所述第一时间实例,仅评估所述多个输出层节点中的与所述输出索引相关联的子集。进一步对于所述第二实施例,所述语音解码器电路还被配置为:针对所述第一时间实例生成一个或多个输出索引,其中,所述第一距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层,并且其中,所述神经网络电路被配置为:针对所述第一时间实例,仅评估所述多个输出层节点中的与所述输出索引相关联的子集,其中,所述神经网络还包括具有最末隐藏层节点的最末隐藏层,并且其中,所述神经网络电路被配置为:针对所述第一时间实例,评估所有的最末隐藏层节点。进一步对于所述第二实施例,所述语音解码器电路还被配置为:针对所述第一时间实例生成一个或多个输出索引,所述第一距离值与所述输出索引中的第一输出索引相关联,所述神经网络包括具有多个输出层节点的输出层,并且所述神经网络电路被配置为:针对所述第一时间实例,仅评估所述多个输出层节点中的与所述输出索引相关联的子集,和/或所述神经网络还包括具有最末隐藏层节点的最末隐藏层,所述神经网络电路被配置为:针对所述第一时间实例,评估所有的最末隐藏层节点。进一步对于所述第二实施例,所述距离值近似估计电路被配置为近似估计所述第二距离值包括:所述距离值近似估计电路被配置为:基于所述第一距离值和与第三时间实例相关联的第三距离值来外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前。进一步对于所述第二实施例,所述距离值近似估计电路被配置为:基于所述第一距离值和所述第三距离值,经由线性函数外推所述第二距离值,其中,所述神经网络电路被配置为:实现所述神经网络以确定所述第三距离值。进一步对于所述第二实施例,所述距离值近似估计电路被配置为近似估计所述第二距离值包括:所述距离值近似估计电路被配置为:基于所述第一距离值和与第三时间实例相关联的第三距离值,经由线性函数外推所述第二距离值,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,和/或所述第三距离值是基于对所述神经网络的评估来确定的。进一步对于所述第二实施例,所述距离值近似估计电路被配置为近似估计所述第二距离值包括:所述距离值近似估计电路被配置为:基于所述第一距离值和与第三时间实例相关联的第三距离值,经由线性函数外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,其中,所述第三距离值是基于对所述神经网络的评估来确定的。进一步对于所述第二实施例,所述语音解码器电路还被配置为:针对所述第二时间实例生成一个或多个输出索引,其中,用于所述第二时间实例的第三距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层和具有多个最末隐藏层节点的最末隐藏层,并且其中,所述神经网络电路被配置为:针对所述第一时间实例,评估所有的最末隐藏层节点,其中,所述神经网络电路还被配置为:在所述第二时间实例处,通过基于所述最末隐藏层值评估所述多个输出层节点中的与第四距离值相关联的输出层节点,来确定用于所述第一时间实例的第四距离值,并且其中,所述距离值近似估计电路被配置为:针对第二时间实例,至少部分地基于所述第四距离值来近似估计所述第三距离值。进一步对于所述第二实施例,所述神经网络包括具有多个输出层节点的输出层,并且其中,所述神经网络电路被配置为针对所述第一时间实例评估神经网络包括:所述神经网络电路被配置为评估所述多个输出层节点中的全部节点。进一步对于所述第二实施例,所述第一时间实例与神经网络评估帧相关联,所述第二时间实例与跳过帧相关联,并且其中,一个、两个或三个附加的跳过帧在所述评估帧与所述跳过帧之间。进一步对于所述第二实施例,所述语音解码器电路包括Viterbi束搜索解码器。进一步对于所述第二实施例,所述系统还包括:特征提取电路,被配置为:提取与语音记录的时间窗口相关联的特征矢量;和控制器电路,被配置为:至少部分地基于系统的可用计算资源或当前的实时因子中的至少一个来确定跳帧速率。在一个或多个第三实施例中,一种用于提供自动语音识别的系统,包括:用于针对第一时间实例,评估神经网络以确定与所述第一时间实例相关联的至少一个第一距离值的单元,其中,所述至少一个第一距离值包括所述神经网络的输出;用于针对第二时间实例,至少部分地基于所述第一距离值来近似估计至少一个第二距离值的单元,其中,针对所述第二时间实例不评估所述神经网络;和用于至少部分地基于所述第一距离值和所述第二距离值来确定文本元素序列的单元。进一步对于所述第三实施例,所述系统还包括:用于针对所述第一时间实例生成一个或多个输出索引的单元,其中,所述第一距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层和具有最末隐藏层节点的最末隐藏层,并且其中,针对所述第一时间实例评估神经网络包括:仅评估所述多个输出层节点中的与所述输出索引相关联的子集,以及评估最末隐藏层节点中的全部节点。进一步对于所述第三实施例,近似估计所述第二距离值包括:基于所述第一距离值和与第三时间实例相关联的第三距离值,经由线性函数外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,并且其中,所述第三距离值是基于对所述神经网络的评估来确定的。在一个或多个第四实施例中,至少一种机器可读介质,包含多条指令,所述指令响应于在计算设备上执行而使所述计算设备通过以下操作来提供自动语音识别:针对第一时间实例,评估神经网络以确定与所述第一时间实例相关联的至少一个第一距离值,其中,所述至少一个第一距离值包括所述神经网络的输出;针对第二时间实例,至少部分地基于所述第一距离值来近似估计至少一个第二距离值,其中,针对所述第二时间实例不评估神经网络;以及至少部分地基于所述第一距离值和所述第二距离值来确定文本元素序列。进一步对于所述第四实施例,所述机器可读介质还包含如下指令,所述指令响应于在所述计算设备上执行而使所述计算设备通过以下操作来执行语音识别:针对所述第一时间实例生成一个或多个输出索引,其中,所述第一距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层,并且其中,针对所述第一时间实例评估神经网络包括:仅评估所述多个输出层节点中的与所述输出索引相关联的子集。进一步对于所述第四实施例,近似估计所述第二距离值包括:基于所述第一距离值和与第三时间实例相关联的第三距离值,经由线性函数外推所述第二距离值,其中,所述第一时间实例在所述第二时间实例之前,并且所述第三时间实例在所述第一时间实例之前,其中,所述第三距离值是基于对所述神经网络的评估来确定的。进一步对于所述第四实施例,所述机器可读介质还包含如下指令,所述指令响应于在所述计算设备上执行而使所述计算设备通过以下操作来执行语音识别:针对所述第二时间实例生成一个或多个输出索引,其中,用于所述第二时间实例的第三距离值与所述输出索引中的第一输出索引相关联,其中,所述神经网络包括具有多个输出层节点的输出层和具有多个最末隐藏层节点的最末隐藏层,并且其中,所述针对第一时间实例评估神经网络包括:评估最末隐藏层的所有最末隐藏层节点,以生成多个最末隐藏层值;在所述第二时间实例处,通过基于所述最末隐藏层值评估所述多个输出层节点中的与第四距离值相关联的输出层节点,来确定用于所述第一时间实例的第四距离值;以及针对所述第二时间实例,至少部分地基于所述第四距离值来近似估计第三距离值。进一步对于所述第四实施例,所述机器可读介质还包含如下指令,所述指令响应于在所述计算设备上执行而使所述计算设备通过以下操作来执行语音识别:将接收到的语音转换成语音记录;提取与所述语音记录的时间窗口相关联的特征矢量;以及提供所述特征矢量作为神经网络的输入。在一个或多个第五实施例中,至少一种机器可读介质可以包含多条指令,所述指令响应于在计算设备上执行而使所述计算设备执行根据以上实施例中任一项所述的方法。在一个或多个第六实施例中,装置可以包括:用于执行根据以上实施例中任一项所述的方法。应理解,实施例不限于如此所描述的实施例,而是可以在不脱离所附权利要求的范围的情况下通过修改和改动进行实施。例如,以上示例可以包括特征的特定组合。然而,以上实施例不限于此,并且在各个实现方式中,以上实施例可以包括仅承担这些特征的子集,承担这些特征的不同顺序,承担这些特征的不同组合,和/或承担除了明确列出的那些特征之外的附加特征。因此,应当参照附图连同这些权利要求被赋予的等同物的完全范围一起来确定实施例的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1