近日,阿里巴巴达摩院机器智能实验室开源新一代语音识别模型DFSMN,提升全球知名度语音识别准确率创纪录至96.04%(本A数据测试基于全球最大的免费语音识别数据库LibriSpeech)。 相对于业界应用最广泛的LSTM模型,DFSMN模型训练速度更快,识别准确率更高。智能音响或智能家居设备采用全新的DFSMN模型,相比上一代技术深度学习训练速度提升3倍,语音识别速度提升2倍。 开源地址:https://github.com/tramphero/kaldi 阿里巴巴开源语音识别模型DFSMN 在最近的云栖大会武汉峰会上,搭载DFSMN语音识别的“AI收银机”模型在与真人店员的PK中,在嘈杂的环境中准确识别用户语音点单,仅用49秒就点了34杯咖啡。此外,搭载这种语音识别技术的自动售票机也已经在上海地铁“值班”。 著名语音识别专家、西北工业大学教授谢磊表示:“阿里巴巴开源的DFSMN模型是语音识别准确率稳步提升的突破,是语音领域的深度学习近年来认可度*****最具代表性的成果之一,对全球学术界和AI技术应用产生了巨大影响。” 图:阿里开源自研DFSMN语音识别模型GitHub平台上的语音识别声学模型 语音识别技术一直是人机交互技术的重要组成部分。借助语音识别技术,机器可以像人一样理解语音,进而进行思考、理解和反馈。 近年来,随着深度学习技术的运用,基于深度神经网络的语音识别系统的性能有了很大的提升,并开始走向实用化。基于语音识别的语音输入、语音转录、语音检索、语音翻译等技术得到广泛应用。 目前主流的语音识别系统普遍采用基于深度神经网络和隐马尔可夫的声学模型(DeepNeuralNetworks-HiddenMarkovModel,DNN-HMM),其模型结构如图1所示。声学模型是对传统语音波形进行加窗分帧后提取的频谱特征,如PLP、MFCC、FBK等。模型的输出一般使用不同粒度的声学建模单元,如mono-phone、mono-phonestate、boundphonestate(tri-phonestate)等。从输入到输出可以使用不同的神经网络结构,而输入声学特征映射得到不同输出建模单元的后验概率,再结合HMM进行解码得到最终识别结果。 最早采用的网络结构是FeedforwardFully-connectedNeuralNetworks(FNN)。FNN实现了固定输入到固定输出的一对一映射,其缺陷是不能有效利用语音信号固有的长期相关信息。一种改进的解决方案是使用基于长短期记忆(LSTM)的递归神经网络(RNN)。LSTM-RNN可以通过隐藏层的环路反馈连接将历史信息存储在隐藏层的节点中,从而有效利用语音信号的长期相关性。图1基于DNN-HMM的语音识别系统框图 进一步,通过使用双向递归神经网络(BidirectionalRNN),可以有效利用语音信号的历史和未来信息,更有利于声学识别语音建模。与前馈全连接神经网络相比,基于循环神经网络的语音声学模型可以获得显着的性能提升。然而,与前馈全连接神经网络模型相比,循环神经网络更为复杂,往往包含更多的参数,这将需要更多的计算资源来进行模型训练和测试。 另外,基于双向循环神经网络的语音声学模型会面临较大的延迟问题,不适合实时语音识别任务。现有的一些改进模型,例如,基于延迟可控的双向长短期记忆单元(LatencyControlledLSTM,LCBLSTM)[1-2],以及前馈序列记忆神经网络(FeedforwardSequentialMemoryNetworks,FSMN)[3-5].去年,我们在业界率先推出了基于LCBLSTM的语音识别声学模型。配合阿里大规模计算平台和大数据,采用多机多卡、16bit量化等训练和优化方法进行声学模型建模,相对于FNN实现识别错误率相对降低约17-24%模型。 FSMN模型的前世今生 1.FSMN模型 FSMN是最近提出的一种网络结构,通过在FNN的隐藏层加入一些可学习的记忆模块,可以有效理解语音模型的长期依赖。与LCBLSTM相比,FSMN不仅可以更方便地控制延迟,而且可以获得更好的性能并且需要更少的计算资源。但是标准的FSMN很难训练出很深的结构,训练效果会因为梯度消失的问题而变差。深层结构模型目前在很多领域被证明具有更强的建模能力。因此,我们为此提出了一种改进的FSMN模型,称为深度FSMN(DeepFSMN,DFSMN)。此外,我们结合LFR(低帧率)技术构建了一个高效的实时语音识别声学模型。与我们去年推出的LCBLSTM声学模型相比,可以实现20%以上的相对性能提升,同时可以获得2-3倍的加速训练和解码,可以显着减少计算资源我们的系统在实际应用中需要。图2.FSMN模型结构及与RNN的对比 2。从FSMN到cFSMN的发展过程喂入全连接神经网络,通过在隐藏层旁边添加一些记忆块来对周围的上下文信息进行建模,从而使模型能够对时间序列信号的长期相关性进行建模。记忆模块采用图2(b)所示的抽头延迟结构,通过一组系数对当前时刻和之前N时刻的隐层输出进行编码,得到固定的表达式。FSMN的提出受到数字信号处理中滤波器设计理论的启发:任何无限冲激响应(InfiniteImpulseResponse,IIR)滤波器都可以用一个高阶有限冲激响应(FiniteImpulseResponse,FIR)滤波器来近似。从滤波器的角度来看,图2(c)所示的RNN模型的循环层可以被视为如图2(d)所示的一阶IIR滤波器。FSMN使用的内存模块如图2(b)所示,可以看作是一个高阶FIR滤波器。因此,FSMN也可以像RNN一样有效地建模信号的长期相关性。同时,由于FIR滤波器比IIR滤波器更稳定,FSMN会比RNN训练更简单、更稳定。 根据内存模块编码系数的选择,可以分为:1)标量FSMN(sFSMN);2)向量有限状态机(vFSMN)。顾名思义,sFSMN和vFSMN分别使用标量和向量作为记忆模块的编码系数。sFSMN和vFSMN记忆模块的表达式如下: 上述FSMN只考虑了历史信息对当前时刻的影响,我们可以称之为单向FSMN。当我们同时考虑历史信息和未来信息对当前时刻的影响时,我们可以扩展单向FSMN以获得双向FSMN。双向sFSMN和vFSMN内存模块的编码公式如下: 其中和分别代表look-back和look-ahead的顺序。我们可以通过增加阶数或在多个隐藏层中添加记忆模块来增强FSMN对长期相关性建模的能力。图3.cFSMN结构图 与FNN相比,FSMN需要使用记忆模块的输出作为下一个隐藏层的额外输入,这会引入额外的模型参数。隐藏层包含的节点越多,引入的参数就越多。研究[4]结合低秩矩阵分解的思想,提出了一种改进的FSMN结构,称为紧凑型FSMN(CompactFSMN,cFSMN),它是一个包含第l个隐藏层的记忆模块的cFSMN的框图. 对于cFSMN,通过在网络的隐藏层之后添加一个低维线性投影层,并在这些线性投影层上添加记忆模块。此外,cFSMN对记忆模块的编码公式做了一些改变,通过明确地将当前时刻的输出添加到记忆模块的表达式中,这样只需要将记忆模块的表达式作为输入下一层。这样可以有效减少模型的参数数量,加快网络的训练速度。具体的单向和双向cFSMN记忆模块的公式表达式如下:图4.Deep-FSMN(DFSMN)模型结构框图 LFR-DFSMN声学模型 1。Deep-FSMN(DFSMN)网络结构 如图4所示是我们进一步提出的Deep-FSMN(DFSMN)的网络结构图,其中左边第一个方框代表输入层,最后一个方框代表输入层右边代表输出层。我们在cFSMN的内存模块之间添加一个skipconnection(红框所示),这样低层内存模块的输出会直接累加到高层内存模块中。这样,在训练过程中,高层记忆模块的梯度会直接赋值给低层记忆模块,这样就可以克服网络深度带来的梯度消失问题,深度网络可以稳定训练。我们也对记忆模块的表达做了一些修改。参考dilationconvolution[6]的思想,在memory模块中引入一些stridefactors。具体计算公式如下: 其中第t层记忆模块在第t时刻的输出。S1和S2分别表示历史时刻和未来时刻的编码步长因子,例如S1=2表示在对历史信息进行编码时,每隔一个时刻取一个值作为输入。这样在同一个阶数下可以看到更远的历史,从而更有效地对长期相关性进行建模。 对于实时语音识别系统,我们可以灵活设置futureorder来控制模型的延迟。在极端情况下,当我们将每个内存模块的未来顺序设置为0时,我们可以实现一个没有时间延迟的声学模型。对于一些任务,我们可以容忍一定的延迟,我们可以设置一个较小的未来顺序。 与之前的cFSMN相比,我们提出的DFSMN的优势在于它可以通过跳跃连接训练一个非常深的网络。对于原始的cFSMN,由于每个隐藏层都被矩阵的低秩分解拆分成两层结构,对于包含4层cFSMN层和两个DNN层的网络,总层数将达到13层数,所以会用到更多的cFSMN层数,这样会使层数变多,造成训练时出现梯度消失的问题,导致训练不稳定。我们提出的DFSMN通过skipconnections避免了深度网络的梯度消失问题,使得训练深度网络稳定。需要注意的是,这里的跳转连接不仅可以加在相邻层之间,也可以加在非相邻层之间。跳跃连接本身可以是线性变换也可以是非线性变换。在具体实验中,我们可以训练一个几十层的DFSMN网络,相比cFSMN获得显着的性能提升。 从原始的FSMN到cFSMN,不仅可以有效减少模型的参数,而且可以获得更好的性能[4]。进一步在cFSMN的基础上,我们提出的DFSMN可以显着提高模型的性能。下表是基于BLSTM、cFSMN、DFSMN的声学模型在2000小时英语任务上的性能对比。模型 BLSTM cFSMN DFSMN WER% 10。9 10。8 9.4 从上表可以看出,在2000小时这样的任务上,DFSMN模型相对于BLSTM声学模型可以实现相对14%的错误率降低,显着提升了声学模型的性能。 2.LFR-DFSMN-basedspeechrecognitionacousticmodel图5.LFR-DFSMN声学模型结构框图 当前的声学模型,输入是从每一帧语音信号中提取的声学特征,以及每一帧语音的时长通常是10ms,对于每一个输入的语音帧信号都会有一个对应的输出目标。最近的一项研究提出了一种低帧率(LowFrameRate,LFR)[7]建模方案:通过绑定相邻时刻的语音帧作为输入,通过预测这些语音帧的目标输出得到一个平均输出目标。在具体实验中,可以在不损失模型性能的情况下实现三帧(或更多)拼接。因此,输入和输出可以减少到原来的三分之一或更多,在语音识别系统服务时可以大大提高声学分数计算和解码的效率。我们将LFR和上面提出的DFSMN结合起来,构建了一个基于LFR-DFSMN的语音识别声学模型,如图5所示。经过几组实验,我们最终决定使用包含10层cFSMN+2层DNN的DFSMN作为声学模型。输入和输出使用LFR,将帧率降低到原来的三分之一。识别结果与我们去年推出的最新LCBLSTM基线的对比如下表所示。CER% 产品线A 产品线B LFR-LCBLSTM 18。92 10。21 LFR-DFSMN 15。00(+20.72%) 8.04(21.25%) 通过结合LFR技术,我们可以获得三倍的识别加速。从上表可以看出,在实际的工业规模应用中,LFR-DFSMN模型相比于LFR-LCBLSTM模型可以实现20%的错误率降低,展现了对大规模数据更好的建模特性。 基于多机多卡的大数据声学模型训练 实际的语音识别业务通常面临非常复杂的语音数据,语音识别声学模型必须尽可能覆盖各种可能的场景,包括各种所有各种对话、各种频道、各种噪音甚至各种口音,这意味着海量的数据。如何应用海量数据快速训练声学模型并上线服务,直接关系到业务响应的速度。♂我们使用阿里的Max-Compute计算平台和多机多卡并行训练工具,在使用8台16GPU卡、5000小时训练数据的情况下,关于LFR-DFSMN声学模型的训练速度和LFR-LCBLSTM下表: 处理一个epoch所需的时间 LFR-LCBLSTM 10。8小时 LFR-DFSMN 3。4小时 相比baselineLCBLSTM模型,每个EpochDFSMN可以达到3倍的训练速度。在20000小时的数据上训练LFR-DFSMN,模型收敛一般只需要3-4个epoch,所以在16GPU卡的情况下,我们可以在2天左右的训练时间内完成20000小时数据的LFR-DFSMN声学模型。 解码延迟、识别速度和模型大小 要设计一个更实用的语音识别系统,我们不仅需要尽可能提高系统的识别性能,还需要考虑实时性系统,从而为用户提供更好的体验。此外,在实际应用中,我们还需要考虑服务成本,因此对语音识别系统的功耗也有一定的要求。传统的FNN系统需要使用分帧技术,解码延迟通常为5-10帧,约50-100ms。去年推出的LCBLSTM系统解决了BLSTM整句延迟的问题,最终延迟可以控制在20帧左右,200ms左右。对于一些对时延要求较高的在线任务,可以将时延控制在100ms,识别性能损失较小(绝对值约为0.2%-0.3%),完全可以满足各种任务的需求。与state-of-the-artFNN相比,LCBLSTM可以实现20%以上的相对性能提升,但在相同CPU上的识别速度较慢(即功耗高),这主要是由于模型的复杂性。 我们最新的LFR-DFSMN通过LFR技术可以将识别速度提高3倍以上,而且DFSMN相比LCBLSTM可以将模型复杂度降低3倍左右。下表显示了我们在测试集上计算的不同模型所需的识别时间。时间越短,我们需要的算力消耗越低: Model 整个测试集识别所需的时间 LCBLSTM 956秒 DFSMN 377秒 LFR-LCBLSTM 339秒 LFR-DFSMN 142秒 LFR-DFSMN问题的解码延迟,我们可以通过降低内存模块过滤器的阶数展望未来来减少延迟。在具体的实验中,我们验证了不同的配置。当我们将LFR-DFSMN的延迟控制在5-10帧时,它只损失了大约3%的相对性能。 另外,与复杂的LFR-LCBLSTM模型相比,LFR-DFSMN模型具有模型简化的特点。虽然有10层DFSMN,但整体模型大小只有LFR-LCBLSTM模型的一半,模型大小压缩了50%。 参考文献: 1.YuZhang,GuoguoChen,DongYu,andKaishengYao,ngYao,longshorttermmemoryRNNsfordistantspeechrecognition,,inIEEEInternationalConferenceofAcoustics,SpeechandSignalProcessing(ICASSP),2016,pp.5755-5759. 2.XueS,YanZ.Improvinglatency-controlledBLSTMacousticmodelsforonlinespeechrecognition[C]//Acoustics,SpeechandSignalProcessing(ICASSP),2016IEEE国际会议。IEEE。2017. 3.ZhangS,LiuC,JiangH,etal.Feedforwardsequentialmemorynetworks:Anewstructuretolearnlong-termdependency[J].arXiv预印本arXiv:1512.08301,2015. 4.ZhangS,JiangH,XiongS,etal.用于大词汇连续语音识别的紧凑型前馈顺序记忆网络[C]//INTERSPEECH。2016:3389-3393. 5.ZhangS,LiuC,JiangH,etal.长期依赖的非递归神经结构[J]。IEEE/ACMTransactionsonAudio,Speech,andLanguageProcessing,2017,25(4):871-884. 6.OordA,DielemanS、ZenH等人。Wavenet:一种原始音频的生成模型[J].arXiv预印本arXiv:1609.03499,2016. 7.PundakG,SainathTN.LowerFrameRateNeuralNetworkAcousticModels[C]//INTERSPEECH。2016年:22-26。
