云从科技端到端语音识别词错率低至3.4%,双论文技术精解

端到端的语音模型越来越多的引起学术界及工业界的关注。日前,云从科技在端到端的语音识别(ASR)领域上再获突破,在LibriSpeech的test-clean数据集上的错词率降低到至3.4%左右,本文对云从科技的两篇相关论文进行了技术解读。

语音识别的技术历史悠久,早在上世纪50年代,贝尔研究所就研究出了可以识别十个英文数字的简单系统。从上世纪70年代起,传统的基于统计的HMM声学模型,N元组语言模型的发明,已经使得语音识别技术可以在小规模词汇量上使用。在新世纪伊始,GMM-HMM模型的序列鉴别性训练方法的提出又进一步提升了语音识别准确率。最近5-10年间,随着深度学习的快速发展,算力的快速增长,数据量的急速扩张,深度学习开始大规模应用于语音识别领域并取得突破性进展,深度模型已经可以在干净标准的独白类音频上达到5%以下的错词率。

近日,机器之心了解到,云从科技语音识别技术又将现有的错词率进一步降低到3.5%以下,并同时大幅的减少了模型的训练和预测时间。此外,端到端的模型可以轻松的将各种语言揉合在一个模型中,不需要做额外的音素词典的准备,这将大大推动业界技术研究与应用落地的进度。

端到端模型优势

在现在主流的利用深度学习语音识别模型中仍在存在多种派系,一种是利用深度学习模型取代原来的GMM部分,即DNN-HMM类的模型,另一种则是端到端的深度学习模型。

第一种模型需要先实现HMM结构与语音的对齐,然后才能进一步地训练深度神经网络。除此之外,在训练这一类的模型时,训练样本的标注不仅仅是原本的文本,还需要对文本进一步的拆解成为音素投入训练,这对于标注部分的工作就会造成极大的挑战。在解码的时候,这种模型同样还需要依赖这个发音词典。

端到端的模型旨在一步直接实现语音的输入与解码识别,从而不需要繁杂的对齐工作与发音词典制作工作,具有了可以节省大量的前期准备时间的优势,真正的做到数据拿来就可用。端到端的模型的另一个优点是,更换识别语言体系时可以利用相同的框架结构直接训练。例如同样的网络结构可以训练包含26个字符的英文模型,也可以训练包含3000个常用汉字的中文模型,甚至可以将中英文的词典直接合在一起,训练一个混合模型。此外,最重要的一点是,端到端的模型在预测时的速度更快,对于一个10 秒左右的音频文件,端到端的模型在一块GPU的服务器上仅需0.2秒左右的时间便可给出预测结果。

现在的语音识别问题有如下几个难点:(1)对自然语言的识别和理解;(2)语音信息量大。语音模式不仅对不同的说话人不同,对同一说话人也是不同的,一个说话人在随意说话和认真说话时的语音信息是不同的;(3)语音的模糊性。说话者在讲话时,不同的词可能听起来是相似的;(4)单个字母或词、字的语音特性受上下文的影响,以致改变了重音、音调、音量和发音速度等。端到端的模型由于不引入传统的音素或词的概念,直接训练音频到文本的模型,可以有效地规避上述难点。

云从科技基于端到端的语音识别网络进行了两种方法的探索,一种是基于原有的CNN-RNN-CTC网络的改进,一种是基于CTC loss与attention loss结合机制的网络。两种改进方法在端到端的识别领域中都达到了目前最好的结果。以下是对这两篇论文的技术解读:
 1.标题:Cascaded CNN-resBiLSTM-CTC: An End-to-End Acoustic Model For Speech Recognition

论文地址:https://arxiv.org/abs/1810.12001

这此论文中,作者基于百度之前提出的Deep Speech 2的模型框架结构,提出了三个改进的点。第一是把循环神经网络中的长短时记忆层(LSTM)变成了双向的残差长短时记忆层(resBiLSTM)。此举可以更好地保留之前卷积神经网络所提取出的音素信息和之后每一个双向的残差长短时记忆层更好的结合。因为循环神经网络中的每一层主要是负责提取句子中的语义信息,但语义信息的理解也和音素信息紧密相关。随着循环神经网络的深入,原本更底层的层很难接收到卷积神经网络所给出的信息,对于复杂的长句子中音素和语义信息的结合较差,新提出的残差网络可以较好地修正这一问题。

第二点是引入了级联的训练结构,即对于第一个网络中难分(分错)的样本进行二次训练。在实验中我们发现,在第一层网络结构中被分错的样本比全部的样本的平均句长多出了11%以上。随着句子的变长,强语法和语义相关的单词会距离更远,那么对于较浅的循环神经网络来说就会更难捕捉到这一个信息。在发现这一区别后,作者在在第二层的级联结构中使用了更深的循环神经网络(7层到13层),但同时缩减了每一层的隐含节点数(对应样本量的减少,防止出现复杂模型的过拟合问题)。下图是对这两点改进后具体的模型图。

图片

最后一点,是作者提出了新的训练方式来提升训练速度。深度学习中的模型一般都会采用随机梯度下降的方式来训练,每一次只训练其实其中一批数据(mini batch)。原来的训练模式是固定批量的大小从一而终。但是对于语音识别这样的问题来说,输入的数据是不定长的,这就会导致训练时,每一批和每一批的数据中最长的那一条是不一样的。为了防止训练时内存溢出,固定批量的方式必然需要迁就数据集中最长的那一个音频。在我们的训练数据集中,最长的音频是最短的音频的10倍左右,这样就会带来在训练短音频时的内存浪费。作者提出一种对全部训练集从低到高排序的方式,每次取排序后的一批音频,之后根据批次内最长的音频片段来实时调整批量的大小,从而提升内存利用率并使得训练时间下降了约25%。在LibriSpeech 960小时的训练数据集上,利用在8块1080Ti上训练一次的时间从24500秒降到18400秒左右,减少25%。且此方法并未因排序失去数据选取的随机性而显得效果变差。

作者在前处理上仍旧采用传统简单的快速傅里叶变换(FFT)来提取频谱特征输入改进后的深度学习网络,并采取了基于统计的N元组语言模型来对模型输出的文本进行解码和修正。选取这两种方法的原因是处理简单且不需要经过复杂的训练。作者提出的语音模型配合简单的前后处理机制仍旧可以取得很好的效果,更进一步证明了语音模型的优势。最终,在语音识别数据集Librispeech上,取得了3.41%的错词率。

图片

2.论文标题:AN IMPROVED HYBRID CTC-ATTENTION MODEL FOR SPEECH RECOGNITION

论文地址:https://arxiv.org/abs/1810.12020

目前比较流行的端到端的语音识别模型主要包括:单独依赖CTC解码的模型,单独依赖attention解码的模型,以及混合CTC与attention共同解码的模型。纯CTC解码通过预测每个帧的输出来识别语音,算法的实现基于假设每帧的解码保持彼此独立,因而缺乏解码过程中前后语音特征之间的联系,比较依赖语言模型的修正。纯attention解码过程则与输入语音的帧的顺序无关,每个解码单元是通过前一单元的解码结果与整体语音特征来生成当前的结果,解码过程忽略了语音的单调时序性。为了兼顾两种方法的优缺点,作者采用混合解码的框架模型。网络结构是卷积层加BiLSTM层的Encoder结构后分别连接基于Attention以及CTC的Decoder结构,由两种解码器共同输出识别结果。

图片

混合模型的Loss计算是CTC-Loss与Attention-Loss做权重相加。作者在实验中发现,在混合模型中CTC权重越低效果会越好。当把CTC-Loss的权重降低时,整体网络在计算反向梯度时由Attention部分得到的梯度会占主要部分,这样的结果就是网络优先朝着优化Attention解码的方向进行参数调整,最后训练得到的CTC解码效果就相对较差。考虑这一点,作者在CTC解码器部分单独增加了一个BiLSTM层,该层不与Attention部分共享,单独依靠CTC-Loss的反向梯度进行优化,从而弥补了CTC权重低带来的不足,使Attention解码效果最优的情况下尽可能提升CTC部分的效果。

在本文中,作者使用了基于子词(subword)的编解码方式。子词是介于字母与单词之间的一种表征方式。由于英文单词中的常常出现不发音的字母,在不同单词中相同字母的发音也千差万别,这就给基于字母的编解码模型带来了不小的麻烦,这种模型也更需要依赖语言模型的修正。基于单词的模型则只能解码出参与训练的已有标签的单词,因而完全无法解决OOV的问题。将文本按照子词分割开来,就可以同时改善以上两种方法中存在的问题。另一方面,作者为了网络更好的适应对子词的解码,使用了smoothing-attention的方法:

图片


图片

通常的attention方法(包括本文使用的Loc-Aware)在计算attention energy中会使用softmax,这样使得attention得分的分布变得比较尖锐,最终从attention得到的特征会集中在某一帧的位置上。和字母级别的解码相比,子词需要相对更宽的上下文特征。作者将attention中的softmax改为sigmoid,使attention得分的分布变得相对平滑,从而使解码器每个LSTM单元的输入特征包含更多的语音上下文特征信息。

最后,作者使用基于14600本书的Librispeech公开语言模型扩充数据集训练了两层LSTM作为语言模型(LM),在语音识别数据集Librispeech上,取得了目前已公开的端到端语音识别网络中的最好效果。目前Espnet在github的模型,使用该扩充语言模型数据集训练的LM后在test-clean的表现为WER=4.0%。相比之下,作者的方法效果提升16.5%。

图片

理论云从科技创业公司端到端模型语音识别
1
相关数据
云从科技机构

云从科技是从中国科学院孵化的人工智能企业,专注于人脸识别等计算机视觉技术研发。核心技术源于四院院士、计算机视觉之父——Thomas S. Huang 黄煦涛教授。研发团队曾于2007年到2016年7次斩获智能识别类世界大赛冠军。云从科技作为中国科学院战略性先导科技专项的唯一人脸识别团队,参与了人脸识别国标、部标、行标起草与制定; 2017年2月,云从科技入选国家发改委重大工程,与百度、腾讯、科大讯飞共同负责人工智能公共平台建设。

http://www.cloudwalk.cn/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

傅里叶变换技术

傅里叶变换(法语:Transformation de Fourier、英语:Fourier transform)是一种线性积分变换,用于信号在时域(或空域)和频域之间的变换,在物理学和工程学中有许多应用。因其基本思想首先由法国学者约瑟夫·傅里叶系统地提出,所以以其名字来命名以示纪念。实际上傅里叶变换就像化学分析,确定物质的基本成分;信号来自自然界,也可对其进行分析,确定其基本成分。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

长短期记忆网络技术

长短期记忆(Long Short-Term Memory) 是具有长期记忆能力的一种时间递归神经网络(Recurrent Neural Network)。 其网络结构含有一个或多个具有可遗忘和记忆功能的单元组成。它在1997年被提出用于解决传统RNN(Recurrent Neural Network) 的随时间反向传播中权重消失的问题(vanishing gradient problem over backpropagation-through-time),重要组成部分包括Forget Gate, Input Gate, 和 Output Gate, 分别负责决定当前输入是否被采纳,是否被长期记忆以及决定在记忆中的输入是否在当前被输出。Gated Recurrent Unit 是 LSTM 众多版本中典型的一个。因为它具有记忆性的功能,LSTM经常被用在具有时间序列特性的数据和场景中。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~