CN118176537A - 用于长形式语音识别的训练 - Google Patents

用于长形式语音识别的训练 Download PDF

Info

Publication number
CN118176537A
CN118176537A CN202280072155.9A CN202280072155A CN118176537A CN 118176537 A CN118176537 A CN 118176537A CN 202280072155 A CN202280072155 A CN 202280072155A CN 118176537 A CN118176537 A CN 118176537A
Authority
CN
China
Prior art keywords
speech recognition
training
speech
sequence
recognition model
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
Application number
CN202280072155.9A
Other languages
English (en)
Inventor
卢志云
蒂博·杜特
潘岩伟
曹亮亮
罗希特·普拉巴瓦尔卡尔
特雷弗·施特勒曼
张超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN118176537A publication Critical patent/CN118176537A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)

Abstract

一种方法(700)包括获得训练样本(400),每个训练样本包括与训练话语对应的对应语音片段(405)序列以及语音片段序列的对应真实转录(415)序列,并且每个真实转录包括对应语音片段的开始时间(414)和结束时间(416)。对于训练样本中的每个训练样本,该方法包括:使用语音识别模型(200)处理对应语音片段序列以获得训练话语的一个或多个语音识别假设(522);并且,对于针对训练话语获得的每个语音识别假设,标识相对于对应真实转录序列的单词错误的相应数量。该方法基于针对为训练话语获得的每个语音识别假设标识的单词错误的相应数量来训练语音识别模型以最小化单词错误率。

Description

用于长形式语音识别的训练
技术领域
本公开涉及训练用于长形式语音识别的语音识别模型。
背景技术
现代自动语音识别(ASR)系统不仅专注于提供高质量(例如,低单词错误率),而且还专注于提供口述话语的低延迟(例如,用户说话和转录出现之间的短延迟)语音识别。例如,当使用实现ASR系统的设备时,通常存在ASR系统以对应于实时甚至比实时更快的流方式解码话语的期望。
发明内容
本公开的一个方面提供了一种用于训练语音识别模型以识别长形式语音的计算机实现的方法。计算机实现的方法当在数据处理硬件上执行时,使数据处理硬件执行操作,操作包括获得训练样本的集合。训练样本的集合中的每个训练样本包括对应于训练话语的对应语音片段序列和用于语音片段序列的对应真实转录序列。对应真实转录序列中的每个真实转录包括对应语音片段的开始时间和结束时间。对于训练样本的集合中的每个训练样本,该方法包括:使用语音识别模型处理对应语音片段序列以获得用于训练话语的一个或多个语音识别假设;对于为训练话语获得的每个语音识别假设,标识相对于对应真实转录序列的单词错误的相应数量;以及,基于针对为训练话语获得的每个语音识别假设标识的单词错误的相应数量来训练语音识别模型以最小化单词错误率。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,处理语音片段序列以获得一个或多个语音识别假设包括处理语音片段序列以获得语音识别假设的N最佳列表;以及,训练语音识别模型以最小化单词错误率包括基于针对语音识别假设的N最佳列表中的每个语音识别假设所标识的单词错误的相应数量的平均值,训练语音识别模型以最小化单词错误率。
在一些示例中,训练样本的集合中的每个训练样本还包括在语音片段序列中每对相邻语音片段之间的相应非语音片段。在一些实施方式中,语音片段序列中的每个语音片段包括至少六秒的平均持续时间。
在一些实施方式中,语音识别模型包括基于transducer的语音识别模型,基于transducer的语音识别模型包括编码器网络、预测网络和联合网络。在一些示例中,编码器网络包括多个多头注意力层。
在一些示例中,预测网络被配置为在初始时间步之后的多个时间步中的每个时间步处接收由最终softmax层输出的非空白符号序列作为输入。在多个时间步中的每个时间步处,并且对于在对应时间步处作为输入接收到的非空白符号序列中的每个非空白符号,预测网络被配置为:使用共享嵌入矩阵生成对应非空白符号的嵌入;将相应位置向量分配给对应非空白符号;以及,与嵌入和相应位置向量之间的相似度成比例地对嵌入进行加权。预测网络还被配置为在对应时间步处生成单个嵌入向量作为输出,单个嵌入向量基于所加权的嵌入的加权平均。在一些实施方式中,联合网络被配置为在初始时间步之后的多个时间步中的每个时间步处:在对应时间步处从预测网络接收作为输出生成的单个嵌入向量作为输入;以及,在对应时间步处生成在可能的语音识别假设上的概率分布。在一些示例中,预测网络将共享嵌入矩阵的维数与联合网络的输出层的维数绑定。
本公开的另一方面提供了一种系统,包括数据处理硬件和存储器硬件,存储器硬件与数据处理硬件通信并存储指令,指令当在数据处理硬件上执行时,使数据处理硬件执行操作。操作包括获得训练样本。训练样本的集合中的每个训练样本包括对应于训练话语的对应语音片段序列和用于语音片段序列的对应真实转录序列。对应真实转录序列中的每个真实转录包括对应语音片段的开始时间和结束时间。对于训练样本的集合中的每个训练样本,操作包括:使用语音识别模型处理对应语音片段序列以获得用于训练话语的一个或多个语音识别假设;对于为训练话语获得的每个语音识别假设,标识相对于对应真实转录序列的单词错误的相应数量;以及,基于针对为训练话语获得的每个语音识别假设标识的单词错误的相应数量来训练语音识别模型以最小化单词错误率。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,处理语音片段序列以获得一个或多个语音识别假设包括处理语音片段序列以获得语音识别假设的N最佳列表;以及,训练语音识别模型以最小化单词错误率包括基于针对语音识别假设的N最佳列表中的每个语音识别假设所标识的单词错误的相应数量的平均值,训练语音识别模型以最小化单词错误率。
在一些示例中,训练样本的集合中的每个训练样本还包括在语音片段序列中每对相邻语音片段之间的相应非语音片段。在一些实施方式中,语音片段序列中的每个语音片段包括至少六秒的平均持续时间。
在一些实施方式中,语音识别模型包括基于transducer的语音识别模型,基于transducer的语音识别模型包括编码器网络、预测网络和联合网络。在一些示例中,编码器网络包括多个多头注意力层。
在一些示例中,预测网络被配置为在初始时间步之后的多个时间步中的每个时间步处接收由最终softmax层输出的非空白符号序列作为输入。在多个时间步中的每个时间步处,并且对于在对应时间步处作为输入接收到的非空白符号序列中的每个非空白符号,预测网络被配置为:使用共享嵌入矩阵生成对应非空白符号的嵌入;将相应位置向量分配给对应非空白符号;以及,与嵌入和相应位置向量之间的相似度成比例地对嵌入进行加权。预测网络还被配置为在对应的时间步处生成单个嵌入向量作为输出,单个嵌入向量基于所加权的嵌入的加权平均。在一些实施方式中,联合网络被配置为在初始时间步之后的多个时间步中的每个时间步处:接收在对应时间步从预测网络作为输出生成的单个嵌入向量作为输入;以及,在对应的时间步处生成在可能的语音识别假设上的概率分布。在一些示例中,预测网络将共享嵌入矩阵的维度与联合网络的输出层的维度绑定。
本公开的又一方面提供了一种用于训练语音识别模型以识别长形式语音的计算机实现的方法。该方法包括获得训练样本的集合。训练样本的集合中的每个训练样本包括对应原始语音片段序列和原始语音片段序列的对应真实转录序列。对应真实转录序列中的每个真实转录包括对应原始语音片段的开始时间和结束时间。该方法包括将来自原始语音片段序列的两组或更多组连续原始语音片段级联,以形成连续原始语音片段的每个级联组的相应长训练话语。在第一训练阶段,对于每个相应长训练话语,该方法包括:使用语音识别模型处理连续原始语音片段的级联组以预测相应长训练话语的语音识别假设;以及,基于用于相应长训练话语的所预测的语音识别假设和真实转录的对应组使用对数损失来训练语音识别模型。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,该方法还包括,在第二训练阶段期间,对于训练样本的集合中的每个训练样本:使用第一训练阶段初始化的语音识别模型处理对应原始语音片段序列以获得一个或多个语音识别假设;对于每个语音识别假设,标识相对于对应真实转录序列的单词错误的相应数量;以及,基于为每个语音识别假设标识别的单词错误的相应数量来训练语音识别模型以最小化单词错误率。
在一些示例中,处理原始语音片段序列以获得一个或多个语音识别假设包括处理原始语音片段序列以获得语音识别假设的N最佳列表;以及,训练语音识别模型以最小化单词错误率包括基于针对语音识别假设的N最佳列表中的每个语音识别假设所标识的单词错误的相应数量的平均值,训练语音识别模型以最小化单词错误率。
在一些实施方式中,语音识别模型包括基于transducer的语音识别模型,基于transducer的语音识别模型包括编码器网络和解码器。这里,解码器包括预测网络和联合网络。在一些示例中,在第二训练阶段期间训练语音识别模型以最小化单词错误率包括:微调由第一训练阶段初始化的解码器的参数,而不微调由第一训练阶段初始化的编码器网络的任何参数。
本公开的又一方面提供了一种系统,包括数据处理硬件、以及与数据处理硬件通信并存储指令的存储器硬件,指令当在数据处理硬件上执行时,使数据处理硬件执行操作。这些操作包括获得训练样本的集合。训练样本的集合中的每个训练样本包括对应原始语音片段序列和原始语音片段序列的对应真实转录序列。对应真实转录序列中的每个真实转录包括对应原始语音片段的开始时间和结束时间。该方法包括将来自原始语音片段序列的两组或更多组连续原始语音片段级联,以形成连续原始语音片段的每个级联组的相应长训练话语。在第一训练阶段,对于每个相应长训练话语,该方法包括:使用语音识别模型处理连续原始语音片段的级联组以预测相应长训练话语的语音识别假设;以及,基于用于相应长训练话语的所预测的语音识别假设和真实转录的对应组使用对数损失来训练语音识别模型。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括,在第二训练阶段期间,对于训练样本的集合中的每个训练样本:使用第一训练阶段初始化的语音识别模型处理对应原始语音片段序列以获得一个或多个语音识别假设;对于每个语音识别假设,标识相对于对应真实转录序列的单词错误的相应数量;以及,基于为每个语音识别假设标识的单词错误的相应数量来训练语音识别模型以最小化单词错误率。
在一些示例中,处理原始语音片段序列以获得一个或多个语音识别假设包括处理原始语音片段序列以获得语音识别假设的N最佳列表;以及,训练语音识别模型以最小化单词错误率包括基于针对语音识别假设的N最佳列表中的每个语音识别假设所标识的单词错误的相应数量的平均值,训练语音识别模型以最小化单词错误率。
在一些实施方式中,语音识别模型包括基于transducer的语音识别模型,基于transducer的语音识别模型包括编码器网络和解码器。这里,解码器包括预测网络和联合网络。在一些示例中,在第二训练阶段期间训练语音识别模型以最小化单词错误率包括:微调由第一训练阶段初始化的解码器的参数,而不微调由第一训练阶段初始化的编码器网络的任何参数。
本公开的一个或多个实施方式的细节在附图和下面的描述中阐述。其他方面、特征和优点将从描述和附图以及权利要求中变得显而易见。
附图说明
图1是使用循环神经网络-transducer(RNN-T)模型来转录语音的示例语音环境的示意图。
图2是示例RNN-T模型架构的示意图。
图3是图2的RNN-T模型架构的示例绑定和简化预测网络的示意图。
图4图示了示例长形式训练话语。
图5是用于使用长形式训练话语来训练语音识别模型的示例训练过程的示意图。
图6是用于使用长形式训练话语来训练语音识别模型的示例两阶段处理模块的示意图。
图7是使用长形式训练话语来训练语音识别模型的计算机实现的方法的操作的另一示例布置的流程图。
图8是训练用于长形式语音识别的语音识别模型的计算机实现的方法的操作的另一示例布置的流程图。
图9是可用于实现本文描述的系统和方法的示例计算设备的示意图。
各个附图中相同的附图标记指示相同的元件。
具体实施方式
许多语音交互应用,诸如电话应用、语音激活数字助理和对话系统,使用自动语音识别(ASR)系统。电话语音上的ASR是如医疗对话和呼叫中心的许多现实应用的重要问题。然而,对于此类应用和用途,ASR系统需要准确识别长形式话语。长形式话语包括例如几十秒长的话语、包含多个语音片段的话语等。长形式语音识别仍然是具有挑战性的ASR任务,因为它的长和会话性质、在音频数据中非语音信号的存在和嘈杂的通道,列出一些。传统的ASR系统对于如电话会话音频的长形式任务表现不佳,因为它们是使用表示简短话语的训练数据进行训练的。虽然传统的ASR系统已在许多大规模基准测试中实现了最先进的性能,但与这些基准测试相关的数据集通常表示具有良好声学条件和高语音质量的短话语。因此,当传统的ASR系统对诸如电话语音的长形式任务执行ASR时,长形式和嘈杂的声学条件对ASR模型的泛化能力和鲁棒性可能是巨大挑战。
本文公开的实施方式涉及朝向包括长形式训练话语的训练数据而训练ASR模型。如本文公开的那样训练的ASR模型能够在推断期间转录长形式语音,而不必首先将传入的长形式语音分段成短片段。对长形式语音进行分段可能导致有用的上下文信息丢失,并由于不完善的分段而引入转录错误。虽然特殊处置可以减少与分段相关的问题,但特殊处置不合期望地增加ASR模型的复杂性和延迟。如本文公开的那样训练的ASR模型能够在推断期间利用长形式话语中存在的上下文信息并消除分段的需要,而不增加ASR系统的复杂性或引入额外的延迟。示例训练样本包括从与对应真实转录配对的电话呼叫的长音频记录中获得的长形式话语。在一些示例中,长形式训练话语包括表示音频记录的相应不同分段的音频记录的连续原始转录语音片段的各种组合。在一些示例中,语音片段之间的非语音片段被保留在训练样本中。
本文公开的实施方式涉及一种用于在训练样本集合上训练语音识别模型以教导语音识别模型学习识别长形式语音的方法。训练样本集合中的每个训练样本包括对应于训练话语的对应语音片段序列以及用于该语音片段序列的对应真实转录序列,其中,对应真实转录序列中的每个真实转录包括:对应语音片段的开始时间和结束时间。对于训练样本集合中的每个训练样本,该方法包括:使用语音识别模型处理对应语音片段序列以获得训练话语的一个或多个语音识别假设;且对于针对训练话语获得的每个语音识别假设,标识相对于对应真实转录序列的单词错误的相应数量。该方法还包括:基于为针对训练话语获得的每个语音识别假设所标识的单词错误的相应数量来训练语音识别模型以最小化单词错误率。
图1是语音环境100的示例的示意图。在语音环境100中,用户104与诸如用户设备10之类的计算设备交互的方式可以是通过语音输入。用户设备10(通常也称为设备10)被配置为从语音环境100内的一个或多个用户104捕获声音(例如,流式音频数据)。这里,流式音频数据可以指用户104的口述话语106,其用作可听查询、针对设备10的命令、或由设备10捕获的可听通信。设备10的语音使能系统可以通过回答查询和/或使该命令由一个或多个下游应用执行/完成来表达查询或命令。
用户设备10可以对应于与用户104相关联并且能够接收音频数据的任何计算设备。用户设备10的一些示例包括但不限于移动设备(例如,移动电话、平板电脑、笔记本电脑等)、计算机、可穿戴设备(例如,智能手表)、智能电器、物联网(IoT)、车辆信息娱乐系统、智能显示器、智能扬声器等。用户设备10包括数据处理硬件12和与数据处理硬件12通信并存储指令的存储器硬件14,该指令当由数据处理硬件12执行时,使数据处理硬件12执行一个或多个操作。用户设备10还包括音频系统16,音频系统16具有:音频捕获设备(例如麦克风)16、16a,用于捕获语音环境100内的口述话语106并将其转换为电信号;以及,语音输出设备(例如扬声器)16,16b,用于传送可听音频信号(例如,作为来自设备10的输出音频数据)。尽管在所示示例中用户设备10实现了单个音频捕获设备16a,但是用户设备10可以实现音频捕获设备16a的阵列而不脱离本公开的范围,由此阵列中的一个或多个捕获设备16a可以物理上不驻留在用户设备10上,但是与音频系统16通信。
在语音环境100中,实现循环神经网络-transducer(RNN-T)模型200的自动语音识别(ASR)系统118和可选的重新评分器180驻留在用户104的用户设备10上和/或在经由网络40与用户设备10通信的远程计算设备70(例如,在云计算环境中执行的分布式系统的一个或多个远程服务器)上。用户设备10和/或远程计算设备70还包括音频子系统108,其被配置为接收由用户104说出并由音频捕获设备16a捕获的话语106,并且将话语106转换成与能够由ASR系统118处理的输入声学帧110相关联的对应数字格式。在所示的示例中,用户说出相应的话语106并且音频子系统108将话语106转换为对应的音频数据(例如,声学帧)110以输入到ASR系统118。此后,RNN-T模型200接收对应于话语106的音频数据110作为输入,并生成/预测话语106的对应转录120(例如,识别结果/假设)作为输出。在所示的示例中,RNN-T模型200可以执行流式语音识别以产生初始语音识别结果120、120a,并且重新评分器180可以更新(即,重新评分)初始语音识别结果120a以产生最终语音识别结果120、120b。服务器70包括数据处理硬件72和与数据处理硬件72通信的存储器硬件74。存储器硬件74存储指令,这些指令当由数据处理硬件72执行时,使数据处理硬件72执行一个或多个操作,诸如本文所公开的那些。
用户设备10和/或远程计算设备70还执行用户界面生成器107,其被配置为向用户设备10的用户104呈现话语106的转录120的表示。如下面更详细地描述的,用户界面生成器107可以在时间1期间以流方式显示初始语音识别结果120a并且随后在时间2期间显示最终语音识别结果120b。在一些配置中,例如,通过在用户设备10或远程计算设备70上执行的自然语言处理/理解(NLP/NLU)模块处理从ASR系统118输出的转录120以执行由话语106指定的用户命令/查询。附加地或替代地,文本到语音系统(未示出)(例如,在用户设备10或远程计算设备70的任何组合上执行)可以将转录转换成合成语音以供用户设备10和/或另一设备进行可听输出。
在所示的示例中,用户104与使用ASR系统118的用户设备10的程序或应用50(例如,数字助理应用50)交互。例如,图1描绘了用户104与数字助理应用50通信,并且数字助理应用50在用户设备10的屏幕上显示数字助理界面18以描绘用户104与数字助理应用50之间的对话。在这个示例中,用户104询问数字助理应用50,“What time is the concerttonight?(今晚音乐会几点钟?)”。来自用户104的这个问题是由音频捕获设备16a捕获并由用户设备10的音频系统16处理的口述话语106。在该示例中,音频系统16接收口述话语106并将其转换为声学帧110用于输入到ASR系统118。
继续该示例,RNN-T模型200在接收与用户104说话时的话语106对应的声学帧110的同时,对声学帧110进行编码,并且然后将编码的声学帧110解码成初始语音识别结果120a。在时间1期间,用户界面生成器107经由数字助理界面18以流方式向用户设备10的用户104呈现话语106的初始语音识别结果120a的表示,使得单词、单词片段和/或单个字符一旦被说出其就出现在屏幕上。在一些示例中,第一前瞻音频上下文等于零。
在时间2期间,用户界面生成器107经由数字助理界面18向由重新评分器180重新评分的用户设备10的用户104呈现话语106的最终语音识别结果120b的表示。在一些实施方式中,用户界面生成器107将在时间1呈现的初始语音识别结果120a的表示替换为在时间2呈现的最终语音识别结果120b的表示。这里,时间1和时间2可以包括对应于何时用户界面生成器107呈现相应的语音识别结果120的时间戳。在该示例中,时间1的时间戳指示用户界面生成器107在比最终语音识别结果120b更早的时间呈现初始语音识别结果120a。例如,因为最终语音识别结果120b被认为比初始语音识别结果120a更准确,所以用户界面生成器107最终将会将最终语音识别结果120b显示为转录120,以修复可能在初始语音识别结果120a中被误识别的任何术语。在该示例中,由RNN-T模型200输出的流式初始语音识别结果120a在时间1显示在用户设备10的屏幕上,与低等待时间相关联并且向用户104提供正在处理他/她的查询的响应,而由重新评分器180输出并在时间2显示在屏幕上的最终语音识别结果120b利用额外的语音识别模型和/或语言模型来在准确性方面改进语音识别质量,但是延迟增加。然而,因为初始语音识别结果120a是在用户说出话语106时显示的,所以与产生并最终显示最终识别结果相关联的较高延迟对于用户104来说是不明显的。
在图1所示的示例中,数字助理应用50可以使用自然语言处理来响应用户104提出的问题。自然语言处理通常指解释书面语言(例如,初始语音识别结果120a和/或最终语音识别结果120b)并确定书面语言是否提示任何动作的过程。在该示例中,数字助理应用50使用NLP/NLU来识别来自用户104的问题涉及用户的日程并且更具体地涉及用户日程上的音乐会。通过使用NLP/NLU识别这些详细信息,自动化助理返回对用户查询的响应19,其中,响应19指出“Venue doors open at 7:30PM and concert starts at 9pm.(场地大门于晚上7:30打开,音乐会于晚上9点开始。)”。在一些配置中,NLP/NLU发生在与用户设备10的数据处理硬件12通信的远程服务器70上。
图2是示例循环神经网络-transducer模型200(即,RNN-T模型200)的示意图,其是使用长形式训练话语进行训练的以在推断期间改进对长形式话语的语音识别。RNN-T模型200提供小的计算占用空间并且利用比传统ASR架构更少的存储器需求,使得RNN-T模型200适合于完全在用户设备10上执行语音识别(例如,不需要与远程服务器的通信)。
如所示,RNN-T模型200包括编码器网络210、预测网络300、联合网络220和最终softmax层230。预测网络300和联合网络220可以共同提供RNN-T解码器。大致类似于传统ASR系统中的声学模型(AM)的编码器网络210包括堆叠的长短期记忆(LSTM)层的循环网络。例如,编码器读取d维特征向量序列(例如声学帧110(图1))x=(x1,x2,…,xT),其中,并在每个时间步产生高阶特征表示212。该高阶特征表示212被表达为
类似地,预测网络300也是LSTM网络,其与语言模型(LM)一样,将最终softmax层230迄今为止输出的非空白符号232序列y0,…,yui-1处理为密集或隐藏表示350。下面更详细地描述,表示350包括单个嵌入向量。值得注意的是,在预测网络300处接收到的非空白符号232序列捕获迄今为止在先前时间步期间预测的非空白符号232之间的语言依赖性,以帮助联合网络220预测当前时间步期间的下一个输出符号或空白符号的概率。如下文更详细描述的,为了有助于在不牺牲RNN-T模型200的准确性/性能的情况下减小预测网络300的大小的技术,预测网络300可以接收非空白符号232的有限历史序列yui-n,…,yui-1,其被限于最终softmax层230输出的N个先前非空白符号232。
联合网络300组合由编码器网络210产生的高阶特征表示212和由预测网络300产生的表示350(即,单个嵌入向量350)。联合网络220预测下一个输出符号上的分布222。换句话说,联合网络220在每个时间步生成在可能的语音识别假设上的概率分布222。这里,“可能的语音识别假设”对应于输出标签集合,每个输出标签表示指定自然语言中的符号/字符。例如,当自然语言是英语时,该输出标签集合可以包括二十七(27)个符号,例如,英语字母表中的26个字母中的每个字母的一个标签和指定空格的一个标签。因此,联合网络220可以输出指示预定的输出标签集合中的每个的出现可能性的值的集合。值的集合可以是向量,并且可以指示该输出标签集合上的概率分布。在某些情况下,输出标签是字素(例如,单个字符,以及可能的标点符号和其他符号),但输出标签集合不限于此。例如,补充或代替字素,该输出标签集合可以包括单词片段和/或整个单词。联合网络220的输出分布可以包括每个不同输出标签的后验概率值。因此,如果存在表示不同字素或其他符号的100个不同的输出标签,则联合网络220的输出Zi 232可以包括100个不同的概率值,每个输出标签一个。然后,概率分布可以用于在集束搜索过程(例如,通过softmax层230)中选择候选正字元素(例如,字素、单词片段和/或单词)并为其分配分数,以确定转录120。
最终softmax层230接收最终语音识别结果120b的概率分布Zi232并选择具有最高概率的输出标签/符号来产生转录。最终softmax层230可以采用任何技术来选择分布Zi232中具有最高概率的输出标签/符号。以这种方式,RNN-T模型200不做出条件独立假设,而是对每个符号yu232的预测不仅以声学为条件,还以迄今为止输出的标签232序列yui-n,…,yui-1为条件。RNN-T模型200确实假设输出符号232独立于未来声学帧110,这允许以流方式采用RNN-T模型。
最终语音识别结果120b被认为比初始语音识别结果120a更准确,因为RNN-T模型200以流方式确定初始语音识别结果120a并且使用来自初始语音识别结果120a的先前非空白符号确定最终语音识别结果120b。即,最终语音识别结果120b考虑了先前非空白符号,并且因此被认为更准确,因为初始语音识别结果120a不考虑任何先前非空白符号。此外,重新评分器180(图1)可以用最终语音识别结果120b更新初始语音识别结果120a,以经由用户界面生成器170向用户104提供转录。
在一些示例中,RNN-T模型200的编码器网络210包括八个2048维LSTM层,每个层后面跟随有740维投影层。在其他实施方式中,编码器网络210包括多个多头注意力层。例如,多个多头注意力层可以包括conformer或transformer层的网络。预测网络220可以具有两个2,048维LSTM层,每个层之后还跟随有740维投影层以及128个单元的嵌入层。最后,联合网络220还可以具有740个隐藏单元。Softmax层230可以由使用训练数据中的所有独特单词片段或字素生成的统一单词片段或字素集合组成。当输出符号/标签包括单词片段时,输出符号/标签的集合可以包括4,096个不同的单词片段。当输出符号/标签包括字素时,输出符号/标签的集合可以包括少于100个不同的字素。
图3是用于RNN-T模型200的示例预测网络300的示意图。预测网络300接收非空白符号232a-n序列yui-n,…,yui-1作为输入,其被限制为最终softmax层230输出的N个先前非空白符号232a-n。在一些示例中,N等于二。在其他示例中,N等于五,然而,本公开是非限制性的并且N可以等于任何整数。非空白符号232a-n序列指示初始语音识别结果120a(图1)。在一些实施方式中,预测网络300包括多头注意力机制302,其在多头注意力机制的每个头302A-302H之间共享共享嵌入矩阵304。在一个示例中,多头注意力机制302包括四个头。然而,多头注意力机制302可以采用任意数量的头。值得注意的是,多头注意力机制显著地提高了性能,同时模型大小的增加最小。如下文更详细描述的,每个头302A-H包括其自己的位置向量308行,并且不是通过级联来自所有头的输出318A-H来导致模型大小的增加,而是头平均模块322将输出318A-H平均。
参考多头注意力机制302的第一头302A,头302A使用共享嵌入矩阵304为在多个时间步中的对应时间步作为输入接收的非空白符号232a-n序列yui-n,…,yui-1中的每个非空白符号生成对应的嵌入306、306a-n(例如,)。值得注意的是,由于在多头注意力机制302的所有头之间共享共享嵌入矩阵304,所以其他头302B-H都为每个非空白符号生成相同的对应嵌入306。头302A还将相应位置向量PVAa-An 308、308Aa-An(例如,)分配给非空白符号232a-n序列yui-n,…,yui-1中的每个对应非空白符号。分配给每个非空白符号的相应位置向量PV 308指示非空白符号序列的历史中的位置(例如,由最终softmax层230输出的N个先前非空白符号232a-n)。例如,第一位置向量PVAa被分配给历史中的最近位置,而最后位置向量PVAn被分配给最终softmax层230输出的N个先前非空白符号的历史中的最后位置。值得注意的是,每个嵌入306可以包括与每个位置向量PV 308相同的维度(dimensionality)(即,维数(dimension)大小)。
而对于非空白符号232a-n序列yui-n,…,yui-1中的每个非空白符号,由共享嵌入矩阵304生成的对应嵌入在多头注意力机制302中的所有头302A-H处是相同的,每个头302A-H定义位置向量308的不同集合/行。例如,第一头302A定义位置向量PVAa-An 308Aa-An的行,第二头302B定义位置向量PVBa-Bn 308Ba-Bn,…的不同行,并且第H头302H定义位置向量PVHa-Hn308Ha-Hn的另一不同行。
对于接收到的非空白符号232a-n序列中的每个非空白符号,第一头302A还经由权重层310对对应嵌入306与对应嵌入和分配给其的相应位置向量PV 308之间的相似度成比例地进行加权。在一些示例中,相似度可以包括余弦相似度(例如,余弦距离)。在所示的示例中,权重层310输出加权嵌入312、312Aa-An序列,每个加权嵌入与分配给其的相应位置向量PV 308成比例地加权的对应嵌入306相关联。换句话说,权重层310针对每个嵌入306输出的加权嵌入312可以对应于嵌入306和相应位置向量PV 308之间的点积。加权嵌入312可以被解释为与它们与与其相应的位置向量PV 308相关联的定位的相似程度成比例地注意嵌入。为了提高计算速度,预测网络300包括非循环层,并且因此,加权嵌入312Aa-An序列不被级联,而是由加权平均模块316平均以作为第一头302A的输出生成加权嵌入312Aa-An的加权平均318A,其表示为:
在等式(1)中,h表示头302的索引,n表示上下文中的位置,并且e表示嵌入维数。另外,在等式(1)中,H、N和de包括对应维数的大小。位置向量PV 308不必是可训练的并且可以包括随机值。值得注意的是,即使加权嵌入312被平均,位置向量PV 308也可以潜在地保存位置历史信息,从而减轻在预测网络300的每一层处提供循环连接的需要。
上面关于第一头302A描述的操作由多头注意力机制302的每个其他头302B-H类似地执行。由于由每个头302定义的不同集合的定位向量PV 308,权重层310在每个其他头302B-H处输出加权嵌入312Ba-Bn、312Ha-Hn序列,该序列与在第一头302A处的加权嵌入312Aa-Aa序列不同。此后,加权平均模块316生成非空白符号序列的对应加权嵌入312的相应加权平均318B-H作为来自每个其他对应头302B-H的输出。
在所示的示例中,预测网络300包括头平均模块322,其对从对应的头302A-H输出的加权平均318A-H进行平均。具有SWISH的投影层326可以接收来自头平均模块322的输出324作为输入,输出324对应于加权平均318A-H的平均,并且生成投影输出328作为输出。最终层归一化330可以对投影输出328进行归一化以在多个时间步中的对应时间步处提供单个嵌入向量350。预测网络300在初始时间步之后的多个时间步中的每个仅生成单个嵌入向量350。
在一些配置中,预测网络300不实现多头注意力机制302并且仅执行上面关于第一头302A描述的操作。在这些配置中,加权嵌入312Aa-An的加权平均318A简单地通过投影层326和层归一化330以提供单个嵌入向量350。
在一些实施方式中,为了进一步减小RNN-T解码器——即,预测网络300和联合网络220——的大小,应用在预测网络300和联合网络220之间的参数绑定。具体地,对于词汇量|V|以及嵌入维数de,预测网络处的共享嵌入矩阵304是同时,最后一个隐藏层在联合网络220处包括维数大小dh,从隐藏层到输出logit的前馈投影权重将为在词汇表中具有额外的空白标记。因此,对应于联合网络220的最后一层的前馈层包括权重矩阵[dh,|V]|。通过使预测网络300将嵌入维数de的大小与联合网络220的最后隐藏层的维度dh绑定,联合网络220的前馈投影权重和预测网络300的共享嵌入矩阵304可以经由简单的转置变换来共享其针对所有非空白符号的权重。由于这两个矩阵共享所有其值,因此RNN-T解码器仅需在存储器中存储一次值,而不是存储两个单独的矩阵。通过将嵌入维数de的大小设置为等于隐藏层维数dh的大小,RNN-T解码器减少了等于嵌入维数de和词汇大小|V|的乘积的参数数量。这种权重绑定对应于正则化技术。
返回参考图1,训练过程500在训练样本集合400、400a-n上训练RNN-T模型200。在一些示例中,训练样本生成器150通过级联多组连续语音片段405来生成训练样本400,每个连续语音片段405与对应真实转录415配对。每个训练样本400对应于包含对应语音片段x405序列和对应真实转录415序列的训练话语。每个语音片段405可以对应于由音频捕获设备在流音频中捕获并且与语音片段的对应转录一起存储的语音。虽然形成对应训练样本400的级联序列中的所有语音片段可以由同一音频捕获设备捕获和/或由同一说话者说出,但本公开不限于此。例如,形成对应训练样本400的级联序列中的至少一个语音片段可以由与训练样本400中的其他语音片段不同的音频捕捉设备捕获和/或由与说出训练样本400中的其他语音片段的说话者不同的说话者说出。
在一些示例中,训练样本生成器150还被配置为改变用于训练RNN-T模型200的训练样本400中的对应语音片段405序列之间的声学分集。例如,训练样本生成器150可以应用数据增强技术,其包括添加/注入噪声、添加混响和/或操纵语音片段x 405的定时(例如,拉伸)中的至少一个。可选地,数据增强技术可以包括时间扭曲。另一种数据增强技术包括使用多风格训练(MTR)将各种环境噪声注入语音片段x 405。
图4图示了示例训练样本400、400a-b,每个训练样本包括对应的原始语音片段x405a-c、405d-e序列。如所示,相邻的原始语音片段405可以被非语音片段425分开。虽然所示的示例描述了第一训练样本400a包括三(3)个语音片段405a-c序列,并且第二训练样本400b包括(2)个语音片段405d-e序列,训练样本可以包括数十个语音片段405。每个原始语音片段405与相应的真实转录y* 415相关联。因此,每个真实转录y* 415、415a-e包括对应语音片段405的开始时间414和结束时间416。在一些示例中,语音片段420的平均持续时间是至少六秒。训练样本生成器150通过合并、级联或以其他方式组合表示形成每个训练样本400的相应不同语音分段的连续原始语音片段405的各种组合来生成与训练话语相关联的每个训练样本410。值得注意的是,训练样本生成器150可以通过选择将多少个原始语音片段405结合在一起(例如,1、2、…、N)来形成对应的训练话语而生成与不同长度(例如,原始、短、中和长)的训练话语相关联的训练样本400。一个语音片段405可以被包括在多于一个的训练样本400中。在一些示例中,训练样本生成器150使用语音片段405的开始和结束时间来确定组合/级联哪些和多少个语音片段405以形成特定长度的对应训练话语。
返回参考图1,训练过程500基于语音识别性能任务训练RNN-T模型200。在一些示例中,训练过程500训练RNN-T模型200以减少对数损失度量对于特定的训练样本400,示例对数损失度量/项是以对应语音片段405序列为条件的对应真实转录y* 415序列的概率Zi222的对数的负数。通过减少该对数损失度量训练过程500训练RNN-T模型200以增加以输入声学特征(即,语音片段405序列)为条件的真实转录y* 415序列的概率Zi 222。负对数概率可以被表达如下。
附加地或替代地,训练过程500可以训练RNN-T模型200以减少最小单词错误率(MWER)损失当最小化MWER时,训练过程500训练RNN-T模型200以提高具有较少单词错误的训练话语的一个或多个语音识别假设522(图5和6)(例如,假设的N最佳列表)中每个的相应概率/置信度,并减少平均较差的一个或多个语音识别假设中的每个的相应概率/置信度。例如,训练过程500可以针对训练样本400计算由RNN-T模型针对训练样本400的对应语音片段405序列相对于对应真实转录y*415序列输出的每个语音识别假设522 y的单词错误数量l(y,y*)。训练过程500然后计算单词错误的数量l(y,y*)的平均值在一些示例中,当计算单词错误的数量l(y,y*)的平均值时,训练过程500仅考虑基于由RNN-T模型200输出的概率Zi 222的N最佳假设的列表中的假设。因此,训练过程500可以最小化MWER损失以提高其单词错误的数量l(y,y*)小于平均值的假设的概率,且减少其单词错误的数量l(y,y*)大于平均值的假设的概率。通过使用MWER损失,训练过程500在假设之间执行区分训练。相比之下,单独使用对数损失训练过程500仅增加真实转录y*420的概率Zi 222。示例MWER损失可以被表达如下。
其中
是重归一化概率,并且
是集束搜索的N最佳假设中的单词错误的平均数量其在等式(5)中表示为“Beam-N(x)”。
在一些实施方式中,训练过程500a训练RNN-T模型200以减少对数损失和MWER损失例如,训练过程500a可以训练RNN-T模型200以减少作为对数损失537和MWER损失535的组合的损失示例组合损失是对数损失和MWER损失的插值,其可被表示为
其中,λ是由训练过程500选择用于控制对数损失和MWER损失对RNN-T模型200的训练的相对贡献的参数。可以使用对数损失和MWER损失的其他组合。
虽然基于MWER损失535的训练对于长形式话语产生良好的语音识别性能,但是基于MWER损失的训练可能在计算上是昂贵的。此外,与使用对数损失相比,在训练期间使用MWER损失的优点随着训练话语410的长度增加而减小。因此,替代地,训练过程500可以使用两阶段训练过程来训练RNN-T模型200,如下面参考图6更详细地描述的。在第一训练阶段,训练过程500针对较长的长形式训练话语410使用对数损失来训练RNN-T模型200以减少训练复杂性。在以来自第一训练阶段的最佳性能RNN-T模型200开始的第二训练阶段中,训练过程500基于较短的长形式训练话语410(例如,仅包含单个语音片段420的原始话语)的MWER损失细调RNN-T模型200,以获得与单阶段训练过程中仅基于MWER损失的训练相当的WER。在一些示例中,训练过程500在第一训练阶段期间更新编码器网络210和解码器网络300的参数,并且在第二训练阶段期间不更新编码器网络210的参数。
图5是用于训练语音识别模型200以最小化与长形式训练话语相关联的训练样本400的集合上的单词错误率(WER)的示例训练过程500、500a的示意图。语音识别模型200可以包括图2的RNN-T模型架构,其包括编码器210和解码器520,其中,解码器520共同包括预测网络300和联合网络220。训练过程500a可以在远程系统70上(即,在数据处理硬件72上)或在用户设备10上(即,在数据处理硬件12上)执行。对于由训练样本生成器150(图1)生成的训练样本400的集合中的每个训练样本400,训练过程500a使用RNN-T模型200处理对应语音片段405序列以获得一个或多个用于训练话语的语音识别假设522、522a-n。
此后,对于每个训练样本400,损失项模块530接收由RNN-T模型200针对对应的训练话语输出的一个或多个语音识别假设522,并且标识每个语音识别假设522相对于对应真实转录415序列的单词错误的相应数量。这里,损失项模块530可以确定(即,使用等式(5))表示一个或多个语音识别假设522中的单词错误的平均数量的MWER损失项535。在一些示例中,损失项模块300接收对应于对应训练话语的集束搜索的N最高排序语音识别假设522的语音识别假设522的N最佳列表。因此,损失项模块530可以应用等式(5)来确定/计算指示集束搜索的N最佳假设522中的单词错误的平均数量的MWER损失项535。基于损失项模块530针对每个训练样本400输出的MWER损失项535,训练过程500a训练RNN-T模型200以基于针对为对应的训练话语获得的每个语音识别假设标识的单词错误的相应数量来最小化MWER。
在一些实施方式中,补充或代替计算指示RNN-T模型200针对每个训练样本400输出的N最佳假设522中的单词错误的平均数量的MWER损失项535,训练过程500a计算对数损失项537(即,使用等式(2)),其指示每个训练样本400的对应真实转录y* 415序列的概率222的对数的负数。这里,训练过程500可以通过使用向前向后算法边缘化所有可能的对齐来导出任何(Pr(y|x))的概率。
图6是用于训练RNN-T模型200的示例两阶段训练过程500、500b的示意图。训练过程500b获得训练样本400的集合,每个训练样本包括对应的原始语音片段405序列和原始语音片段405序列的对应真实转录415序列。对应真实转录415序列中的每个真实转录可以包括对应的原始语音片段405的开始时间414和结束时间416。
在两阶段训练过程500b的第一阶段期间,级联器610级联来自原始语音片段405序列的两个或更多个组的连续原始语音片段405,以形成用于连续原始语音片段405的每个级联组405G的相应长训练话语。这里,连续原始语音片段405的每个级联组405G与真实转录415序列的对应组配对。对于每个相应的长训练话语,两阶段训练过程的第一阶段使用语音识别模型200处理连续原始语音片段的级联组405G以预测相应长训练话语的语音识别假设232(由从解码器520输出的概率222表示)。此后,对数损失项模块630基于相应长训练话语的预测语音识别假设232和真实转录y* 415的对应组来确定(即,使用等式(2))对数损失项537。两阶段训练过程500b的第一阶段使用对数损失项537来训练语音识别模型200以初始化语音识别模型200。
在第二阶段期间,对于由训练样本生成器150(图1)生成的训练样本400的集合中的每个训练样本400,训练过程500b使用由第一训练阶段初始化的RNN-T模型200处理对应语音片段405序列以获得一个或多个语音识别假设522、522a-n。此后,MWER损失项模块640标识每个语音识别假设522相对于对应真实转录415序列的单词错误的相应数量。这里,MWER损失项模块640可以确定(即,使用等式(5))MWER损失项535,其表示一个或多个语音识别假设522中的单词错误的平均数量。在一些示例中,MWER损失项模块640接收对应于对应训练话语的集束搜索的N最高排名语音识别假设522的语音识别假设522的N最佳列表。因此,MWER损失项模块640可以应用等式(5)来确定/计算指示集束搜索的N最佳假设522中的单词错误的平均数量的MWER损失项535。基于MWER损失项模块640针对每个训练样本400输出的MWER损失项535,训练过程500b训练RNN-T模型200以基于针对为对应训练话语获得的每个语音识别假设标识的单词错误的相应数量来最小化MWER。在一些示例中,训练过程500b的第二训练阶段基于MWER损失项535更新解码器520的参数,同时保持编码器210的参数固定。
图7是用于训练语音识别模型200(例如,RNN-T模型200)的计算机实现的方法700的示例性操作布置的流程图。在操作702,方法700包括获得训练样本400的集合。训练样本400的集合中的每个训练样本400包括与训练话语对应的对应语音片段405序列以及用于语音片段405序列的相应一些的对应一个或多个真实转录y* 415序列。对应一个或多个真实转录y* 415序列中的每个真实转录y* 415包括对应语音片段405的开始时间414和结束时间416。
对于训练样本的集合中的每个训练样本400,方法700执行操作704、706和708。在操作704,方法700包括使用语音识别模型200处理对应语音片段405序列以获得用于训练话语的一个或多个语音识别假设522。在操作706处,方法700包括,对于为训练话语410获得的每个语音识别假设522,标识相对于对应一个或多个真实转录y* 415序列的单词错误的相应数量l(y*,y)。在操作708处,方法700包括基于针对为训练话语410获得的每个语音识别假设522标识的单词错误的相应数量l(y*,y)来训练语音识别模型200以最小化WER。例如,方法700可以使用利用等式5计算的MWER损失项535来训练模型200。
图8是用于使用长训练话语来训练语音识别模型200(例如,RNN-T模型200)的计算机实现的方法800的另一示例性操作布置的流程图。在操作802,方法800包括获得训练样本400的集合。训练样本400的集合中的每个训练样本400包括对应一个或多个原始语音片段405序列以及用于原始语音片段415序列的对应真实转录y* 415序列。对应真实转录y* 415序列中的每个真实转录y* 415包括对应的原始语音片段的开始时间414和结束时间416。
在操作804,方法800包括将来自原始语音片段405序列的两组或更多组连续原始语音片段405G级联,以形成连续原始语音片段405G的每个级联组的相应长训练话语。
在第一训练阶段期间,对于每个相应的长训练话语,方法800执行操作806和808。在操作806,方法800包括:使用语音识别模型200处理连续原始语音片段405G的级联组以预测用于相应长训练话语614的语音识别假设232。
在操作808处,方法800包括:基于用于相应长训练话语的预测语音识别假设232和真实转录y*415的对应组使用对数损失535来训练语音识别模型200。
在可选的第二训练阶段期间,如虚线所示,方法800可选地执行操作810、812和814。对于短训练样本400的集合中的每个短训练样本400,在操作810,方法800包括使用由第一训练阶段初始化的语音识别模型200处理对应原始语音片段405序列来获得一个或多个语音识别假设522(例如,假设522的N最佳列表,每个假设对应于话语的相应候选转录)。然后,在操作812,方法800包括,对于每个语音识别假设522,标识相对于对应真实转录y*415序列的单词错误的相应数量l(y*,y)。在操作814处,方法800包括基于针对每个语音识别假设522标识的单词错误的相应数量l(y*,y)来训练语音识别模型200以最小化单词错误率。
图9是可用于实现在本文档中描述的系统和方法的示例计算设备900的示意图。计算设备900旨在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里示出的组件、它们的连接和关系以及它们的功能仅意味着是示例性的,并且并不意味着限制本文档中描述和/或要求保护的本发明的实施方式。
计算设备900包括可用于实现数据处理硬件12和/或62的处理器910(即,数据处理硬件)、可用于实现存储器硬件14和/或64的存储器920(即,存储器硬件)、可用于实现存储器硬件14和/或64的存储设备930(即,存储器硬件)、连接到存储器920和高速扩展端口950的高速接口/控制器940、以及连接到低速总线970和存储设备930的低速接口/控制器960。组件910、920、930、940、950和960的每个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器910可以处理用于在计算设备900内执行的指令,包括存储在存储器920中或存储设备930上的指令,以在外部输入/输出设备——诸如耦合到高速界面940的显示器980——上显示用于图形用户界面(GUI)的图形信息。在其他实施方式中,可以适当使用多个处理器和/或多条总线以及多个存储器和存储器类型。此外,可以连接多个计算设备900,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器920将信息非暂时性地存储在计算设备900内。存储器920可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器920可以是用于临时或永久存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备900使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
存储设备930能够为计算设备900提供大容量存储。在一些实施方式中,存储设备930是计算机可读介质。在各种不同的实施方式中,存储设备930可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储设备、或设备阵列,包括在存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含指令,该指令当被执行时,执行一个或多个方法,诸如上面描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器920、存储设备930或处理器910上的存储器。
高速控制器940管理计算设备900的带宽密集型操作,而低速控制器960管理较低带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器940耦合到存储器920、显示器980(例如,通过图形处理器或加速器),并且耦合到高速扩展端口950,高速扩展端口950可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器960耦合到存储设备930和低速扩展端口960。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口960可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器之类的联网设备。
计算设备900可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器900a或者在一组这样的服务器900a中多次实现为膝上型计算机900b、或者实现为机架服务器系统900c的一部分。
本文描述的系统和技术的各种实施方式可以以数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实施方式可以包括在包括至少一个可编程处理器的可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程处理器可以是专用的或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传送应用、媒体流应用、社交网络应用和游戏应用。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或汇编/机器语言实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),用于将机器指令和/或数据提供给可编程处理器,该可编程处理器包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器(也称为数据处理硬件)来执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程还可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行。举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以从其接收数据或向其传送数据或两者。然而,计算机不需要具有这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如:半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有:显示设备,例如,CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏,用于向用户显示信息;以及可选地,用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且,来自用户的输入可以以包括声音、语音或触觉输入的任何形式被接收。此外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收到的请求而将网页发送到用户客户端设备上的网络浏览器。
除非明确相反地说明,“或”是指包含性或而非排他性或。例如,“A、B或C”是指A、B、C的任意组合或子集,诸如:(1)单独A;(2)单独B;(3)单独C;(4)A与B;(5)A与C;(6)B与C;以及(7)A与B和C。类似地,短语“A或B中的至少一个”意在指A和B的任何组合或子集,诸如:(1)至少一个A;(2)至少一个B;以及(3)至少一个A和至少一个B。此外,短语“A和B中的至少一个”意在指A和B的任何组合或子集,诸如:(1)至少一个A;(2)至少一个B;以及(3)至少一个A和至少一个B。
已经描述了多种实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下可以做出各种修改。因此,其他实施方式也在所附权利要求的范围内。

Claims (26)

1.一种用于训练语音识别模型(200)以识别长形式语音的计算机实现的方法(700),所述计算机实现的方法(700)当在数据处理硬件(910)上执行时使所述数据处理硬件(910)执行操作,所述操作包括:
获得训练样本(400)的集合,所述训练样本(400)的集合中的每个训练样本(400)包括与训练话语对应的对应语音片段(405)序列和用于所述语音片段(405)序列的对应真实转录(415)序列,其中,所述对应真实转录(415)序列中的每个真实转录(415)包括对应语音片段(405)的开始时间(414)和结束时间(416);以及
对于所述训练样本(400)的集合中的每个训练样本(400):
使用所述语音识别模型(200)处理所述对应语音片段(405)序列以获得用于所述训练话语的一个或多个语音识别假设(522);
对于为所述训练话语获得的每个语音识别假设(522),标识相对于所述对应真实转录(415)序列的单词错误的相应数量;以及
基于对于为所述训练话语获得的每个语音识别假设(522)标识的单词错误的所述相应数量来训练所述语音识别模型(200)以最小化单词错误率。
2.根据权利要求1所述的计算机实现的方法(700),其中:
处理所述语音片段(405)序列以获得一个或多个语音识别假设(522)包括处理所述语音片段(405)序列以获得语音识别假设(522)的N最佳列表;以及
训练所述语音识别模型(200)以最小化单词错误率包括基于针对语音识别假设(522)的所述N最佳列表中的每个语音识别假设(522)所标识的单词错误的所述相应数量的平均值,训练所述语音识别模型(200)以最小化单词错误率。
3.根据权利要求1或2所述的计算机实现的方法(700),其中,所述训练样本(400)的集合中的每个训练样本(400)还包括在所述语音片段(405)序列中每对相邻语音片段(405)之间的相应非语音片段(425)。
4.根据权利要求1至3中任一项所述的计算机实现的方法(700),其中,所述语音片段(405)序列中的每个语音片段(405)包括至少六秒的平均持续时间。
5.根据权利要求1至4中任一项所述的计算机实现的方法(700),其中,所述语音识别模型(200)包括基于transducer的语音识别模型(200),所述基于transducer的语音识别模型(200)包括编码器网络(210)、预测网络(300)和联合网络(220)。
6.根据权利要求5所述的计算机实现的方法(700),其中,所述编码器网络(210)包括多个多头注意力层。
7.根据权利要求5或6所述的计算机实现的方法(700),其中:
所述预测网络(300)被配置为在初始时间步之后的多个时间步中的每个时间步处:
接收由最终softmax层(230)输出的非空白符号(232)序列作为输入;
对于在对应时间步处作为输入接收的所述非空白符号(232)序列中的每个非空白符号(232):
使用共享嵌入矩阵(304)生成对应非空白符号(232)的嵌入(306);
将相应位置向量(308)分配给所述对应非空白符号(232);以及
与所述嵌入(306)和所述相应位置向量(308)之间的相似度成比例地对所述嵌入(306)进行加权;以及
在所述对应时间步处生成单个嵌入向量(350)作为输出,所述单个嵌入向量(350)基于所加权的嵌入(318)的加权平均(324);以及
所述联合网络(320)被配置为在所述初始时间步之后的所述多个时间步中的每个时间步处:
在所述对应时间步处从所述预测网络(300)接收作为输出生成的所述单个嵌入向量(350)作为输入;以及
在所述对应时间步处生成在可能的语音识别假设(522)上的概率分布(222)。
8.根据权利要求7所述的计算机实现的方法(700),其中,所述预测网络(300)将所述共享嵌入矩阵(304)的维度与所述联合网络(220)的输出层的维度绑定。
9.一种系统(100),包括:
数据处理硬件(910);以及
存储器硬件(920),所述存储器硬件(920)与所述数据处理硬件(910)通信并存储指令,所述指令当在所述数据处理硬件(910)上执行时使所述数据处理硬件(910)执行操作,所述操作包括:
获得训练样本(400)的集合,所述训练样本(400)的集合中的每个训练样本(400)包括与训练话语对应的对应语音片段(405)序列和用于所述语音片段(405)序列的对应真实转录(415)序列,其中,所述对应真实转录(415)序列中的每个真实转录(415)包括对应语音片段(405)的开始时间(414)和结束时间(416);以及
对于所述训练样本(400)的集合中的每个训练样本(400):
使用语音识别模型(200)处理所述对应语音片段(405)序列以获得所述训练话语的一个或多个语音识别假设(522);
对于为所述训练话语获得的每个语音识别假设(522),标识相对于所述对应真实转录(415)序列的单词错误的相应数量;以及
基于对于为所述训练话语获得的每个语音识别假设(522)标识的单词错误的所述相应数量来训练所述语音识别模型(200)以最小化单词错误率。
10.根据权利要求9所述的系统(100),其中:
处理所述语音片段(405)序列以获得一个或多个语音识别假设(522)包括处理所述语音片段(405)序列以获得语音识别假设(522)的N最佳列表;以及
训练所述语音识别模型(200)以最小化单词错误率包括基于针对语音识别假设(522)的所述N最佳列表中的每个语音识别假设(522)所标识的单词错误的所述相应数量的平均值,训练所述语音识别模型(200)以最小化单词错误率。
11.根据权利要求9或10所述的系统(100),其中,所述训练样本(400)的集合中的每个训练样本(400)还包括在所述语音片段(405)序列中每对相邻语音片段(405)之间的相应非语音片段(425)。
12.根据权利要求9至11中任一项所述的系统(100),其中,所述语音片段(405)序列中的每个语音片段(405)包括至少六秒的平均持续时间。
13.根据权利要求9至12中任一项所述的系统(100),其中,所述语音识别模型(200)包括基于transducer的语音识别模型(200),所述基于transducer的语音识别模型(200)包括编码器网络(210)、预测网络(300)和联合网络(220)。
14.根据权利要求13所述的系统(100),其中,所述编码器网络(210)包括多个多头注意力层。
15.根据权利要求13或14所述的系统(100),其中:
所述预测网络(300)被配置为在初始时间步之后的多个时间步中的每个时间步处:
接收由最终softmax层(230)输出的非空白符号(232)序列作为输入;
对于在对应时间步处作为输入接收的所述非空白符号(232)序列中的每个非空白符号(232):
使用共享嵌入矩阵(304)生成对应非空白符号(232)的嵌入(306);
将相应位置向量(308)分配给所述对应非空白符号(232);以及
与所述嵌入(306)和所述相应位置向量(308)之间的相似度成比例地对所述嵌入(306)进行加权;以及
在所述对应时间步处生成单个嵌入向量(350)作为输出,所述单个嵌入向量(350)基于所加权的嵌入(318)的加权平均(324);以及
所述联合网络(320)被配置为在所述初始时间步之后的所述多个时间步中的每个时间步处:
在所述对应时间步处从所述预测网络(300)接收作为输出生成的所述单个嵌入向量(350)作为输入;以及
在所述对应时间步处生成在可能的语音识别假设(522)上的概率分布(222)。
16.根据权利要求15所述的系统(100),其中,所述预测网络(300)将所述共享嵌入矩阵(304)的维度与所述联合网络(220)的输出层的维度绑定。
17.一种用于训练语音识别模型(200)以识别长形式语音的计算机实现的方法(800),所述方法(800)包括:
获得训练样本(400)的集合,所述训练样本(400)的集合中的每个训练样本(400)包括对应原始语音片段(405)序列和用于所述原始语音片段(405)序列的对应真实转录(415)序列,其中,所述对应真实转录(415)序列中的每个真实转录(415)包括对应原始语音片段(405)的开始时间(414)和结束时间(416);
将来自所述原始语音片段(405)序列的两组或更多组连续原始语音片段(405)级联,以形成连续原始语音片段(405)的每个级联组(405G)的相应长训练话语;以及
在第一训练阶段,对于每个相应长训练话语:
使用所述语音识别模型(200)处理连续原始语音片段(405)的所述级联组(405G)以预测用于所述相应长训练话语的语音识别假设(522);以及
基于用于所述相应长训练话语的所预测的语音识别假设(522)和真实转录(415)的对应组(405G)使用对数损失(537)来训练所述语音识别模型(200)。
18.根据权利要求17所述的计算机实现的方法(800),其中,所述方法(800)还包括,在第二训练阶段期间,对于所述训练样本(400)的集合中的每个训练样本(400):
使用由所述第一训练阶段初始化的所述语音识别模型(200)处理所述对应原始语音片段(405)序列以获得一个或多个语音识别假设(522);
对于每个语音识别假设(522),标识相对于所述对应真实转录(415)序列的单词错误的相应数量;以及
基于对于每个语音识别假设(522)标识的单词错误的所述相应数量来训练所述语音识别模型(200)以最小化单词错误率。
19.根据权利要求18所述的计算机实现的方法(800),其中:
处理所述原始语音片段(405)序列以获得一个或多个语音识别假设(522)包括处理所述原始语音片段(405)序列以获得语音识别假设(522)的N最佳列表;以及
训练所述语音识别模型(200)以最小化单词错误率包括基于对于语音识别假设(522)的所述N最佳列表中的每个语音识别假设(522)所标识的单词错误的所述相应数量的平均值,训练所述语音识别模型(200)以最小化单词错误率。
20.根据权利要求17至19中任一项所述的计算机实现的方法(800),其中,所述语音识别模型(200)包括基于transducer的语音识别模型(200),所述基于transducer的语音识别模型(200)包括编码器网络(210)和解码器(520),所述解码器(520)包括预测网络(300)和联合网络(220)。
21.根据权利要求20所述的计算机实现的方法(800),其中,在所述第二训练阶段期间训练所述语音识别模型(200)以最小化单词错误率包括:微调由所述第一训练阶段初始化的所述解码器(520)的参数,而不微调由所述第一训练阶段初始化的所述编码器网络(210)的任何参数。
22.一种系统(100),包括:
数据处理硬件(910);以及
存储器硬件(920),所述存储器硬件(920)与所述数据处理硬件(910)通信并存储指令,所述指令当在所述数据处理硬件(910)上执行时使所述数据处理硬件(910)执行操作,所述操作包括:
获得训练样本(400)的集合,所述训练样本(400)的集合中的每个训练样本(400)包括对应原始语音片段(405)序列和用于所述原始语音片段(405)序列的对应真实转录(415)序列,其中,所述对应真实转录(415)序列中的每个真实转录(415)包括对应原始语音片段(405)的开始时间(414)和结束时间(416);
将来自所述原始语音片段(405)序列的两组或更多组连续原始语音片段(405)级联,以形成连续原始语音片段(405)的每个级联组(405G)的相应长训练话语;以及
在第一训练阶段,对于每个相应长训练话语:
使用所述语音识别模型(200)处理连续原始语音片段(405)的所述级联组(405G)以预测用于所述相应长训练话语的语音识别假设(522);以及
基于用于所述相应长训练话语的所预测的语音识别假设(522)和真实转录(415)的对应组(405G)使用对数损失(537)来训练所述语音识别模型(200)。
23.根据权利要求22所述的系统(100),其中,所述操作还包括,在第二训练阶段期间,对于所述训练样本(400)的集合中的每个训练样本(400):
使用由所述第一训练阶段初始化的所述语音识别模型(200)处理所述对应原始语音片段(405)序列以获得一个或多个语音识别假设(522);
对于每个语音识别假设(522),标识相对于所述对应真实转录(415)序列的单词错误的相应数量;以及
基于对于每个语音识别假设(522)标识的单词错误的所述相应数量来训练所述语音识别模型(200)以最小化单词错误率。
24.根据权利要求23所述的系统(100),其中:
处理所述原始语音片段(405)序列以获得一个或多个语音识别假设(522)包括处理所述原始语音片段(405)序列以获得语音识别假设(522)的N最佳列表;以及
训练所述语音识别模型(200)以最小化单词错误率包括基于对于语音识别假设(522)的所述N最佳列表中的每个语音识别假设(522)所标识的单词错误的所述相应数量的平均值,训练所述语音识别模型(200)以最小化单词错误率。
25.根据权利要求22至24中任一项所述的系统(100),其中,所述语音识别模型(200)包括基于transducer的语音识别模型(200),所述基于transducer的语音识别模型(200)包括编码器网络(210)和解码器(520),所述解码器(520)包括预测网络(300)和联合网络(220)。
26.根据权利要求25所述的系统(100),其中,在所述第二训练阶段期间训练所述语音识别模型(200)以最小化单词错误率包括:微调由所述第一训练阶段初始化的所述解码器(520)的参数,而不微调由所述第一训练阶段初始化的所述编码器网络(210)的任何参数。
CN202280072155.9A 2021-10-05 2022-09-27 用于长形式语音识别的训练 Pending CN118176537A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163262137P 2021-10-05 2021-10-05
US63/262,137 2021-10-05
PCT/US2022/077124 WO2023060002A1 (en) 2021-10-05 2022-09-27 Training for long-form speech recognition

Publications (1)

Publication Number Publication Date
CN118176537A true CN118176537A (zh) 2024-06-11

Family

ID=83899715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280072155.9A Pending CN118176537A (zh) 2021-10-05 2022-09-27 用于长形式语音识别的训练

Country Status (5)

Country Link
US (1) US20230103382A1 (zh)
EP (1) EP4405938A1 (zh)
KR (1) KR20240074809A (zh)
CN (1) CN118176537A (zh)
WO (1) WO2023060002A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12106051B2 (en) 2020-07-16 2024-10-01 Optum Technology, Inc. Unsupervised approach to assignment of pre-defined labels to text documents
US12112132B2 (en) 2022-06-22 2024-10-08 Optum Services (Ireland) Limited Natural language processing machine learning frameworks trained using multi-task training routines
US20230419034A1 (en) * 2022-06-22 2023-12-28 Optum Services (Ireland) Limited Natural language processing machine learning frameworks trained using multi-task training routines

Also Published As

Publication number Publication date
EP4405938A1 (en) 2024-07-31
WO2023060002A1 (en) 2023-04-13
US20230103382A1 (en) 2023-04-06
KR20240074809A (ko) 2024-05-28

Similar Documents

Publication Publication Date Title
US11741947B2 (en) Transformer transducer: one model unifying streaming and non-streaming speech recognition
US20220122622A1 (en) Cascaded Encoders for Simplified Streaming and Non-Streaming ASR
US20230103382A1 (en) Training for long-form speech recognition
US11715458B2 (en) Efficient streaming non-recurrent on-device end-to-end model
US12014729B2 (en) Mixture model attention for flexible streaming and non-streaming automatic speech recognition
US12062363B2 (en) Tied and reduced RNN-T
US12057124B2 (en) Reducing streaming ASR model delay with self alignment
CN118076997A (zh) 用于罕见词语音辨识的大规模语言模型数据选择
US20230298570A1 (en) Rare Word Recognition with LM-aware MWER Training
US12118988B2 (en) Transducer-based streaming deliberation for cascaded encoders
US20230298569A1 (en) 4-bit Conformer with Accurate Quantization Training for Speech Recognition
US20240203399A1 (en) Training A Language Model Of An End-To-End Automatic Speech Recognition Model Using Random Encoder Features
US20230326461A1 (en) Unified Cascaded Encoder ASR model for Dynamic Model Sizes
US20240029718A1 (en) Flickering Reduction with Partial Hypothesis Re-ranking for Streaming ASR
CN118339608A (zh) 实施为rnn-t的自动语音识别系统中的声学表示和文本表示的融合
JP2024536388A (ja) 非自己回帰デコーディングによるストリーミングrnnトランスデューサの検討
WO2024182641A1 (en) Self-training with oracle and top-ranked hypotheses

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