欢迎各位阅读本篇,语音识别技术所涉及的领域包括信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。本篇文章讲述了总结2016语音识别的技术发展,编程学习网教育平台提醒各位:本篇文章纯干货~因此大家一定要认真阅读本篇文章哦!
得益于深度学习与人工神经网络的发展,语音识别在2016年取得了一系列突破性的进展,在产品应用上也越来越成熟。作为语音交互领域中极其重要的一环,语音识别一直是科技巨头研究的重点,国内外也涌现出了一批优秀的创业公司。
今年年初,文中微软首席语音科学家黄学东为我们深入解读了语音识别的历史以及发展难题。
长久以来,人与机器交谈一直是人机交互领域内的一个梦想。语音识别做为很基础的技术在这一年中再次有了更大的发展。
一年中,机器之心拜访过科大讯飞,接触过云知声、思必驰等创业公司,在微软的英语语音识别取得突破后更是深度专访了微软的黄学东、俞栋,不久之前的百度语音开发平台三周年的主题活动上我们也向百度首席科学家吴恩达了解过百度的语音识别发展。我们希望从机器之心文章中梳理出的线索,能为接下来语音识别的发展提供一丝洞见。
在这篇文章中,我们会依次梳理2016年机器之心关注到的语音识别领域的突破性研究、未来待解决的难题、语音识别发展历史中较为重要的时间点。
一、2016 年语音识别有哪些突破?
这一部分盘点了 2016 年机器之心所关注到的在语音识别准确率上取得的突破,主要涉及的公司包括百度、IBM 和微软等。根据这些突破,我们梳理出了一条语音识别技术发展的线路。
1. 百度 Deep Speech 2 的短语识别的词错率降到了 3.7%
发生时间:2016 年 2 月
Deep Speech 2 于 2015 年 12 月首次发布时,首席科学家吴恩达表示其识别的精度已经超越了 Google Speech API、wit.ai、微软的 Bing Speech 和苹果的 Dictation 至少 10 个百分点。到今年 2 月份时,Deep Speech 2 的短语识别的词错率已经降到了 3.7%
不久之前,百度又将 Deep CNN 应用于语音识别研究,使用了 VGGNet,以及包含 Residual 连接的深层 CNN 等结构,并将 LSTM 和 CTC 的端对端语音识别技术相结合,使得识别错误率相对下降了 10%(原错误率的 90%)以上。
据百度语音技术部识别技术负责人、Deep Speech 中文研发负责人李先刚博士介绍说,百度正在努力推进 Deep Speech 3,这项研究不排除将会是 Deep Speech 3 的核心组成部分。
技术提升基础:1. 端到端深度学习方法;2. 深层卷积神经网络技术(Deep CNN)应用于语音识别声学建模中,与基于长短时记忆单元(LSTM)和连接时序分类(CTC)的端对端语音识别技术相结合。
2.IBM Watson 会话词错率低至 6.9%
发生时间:2016 年 5 月
2015 年,IBM Watson 公布了英语会话语音识别领域的一个重大里程碑:系统在非常流行的评测基准 Switchboard 数据库中取得了 8% 的词错率(WER)。到了今年 5 月份,IBM Watson 团队再次宣布在同样的任务中他们的系统创造了 6.9% 的词错率新纪录。
技术提升基础:声学和语言建模两方面技术的提高
3. 微软新系统英语语音识别词错率低至 6.3%
发生时间:2016 年 9 月
在产业标准 Switchboard 语音识别任务上,微软研究者取得了产业中最低的 6.3% 的词错率(WER)。
技术提升基础:基于神经网络的声学和语言模型的发展,数个声学模型的结合,把 ResNet 用到语音识别。
4. 微软英语语音识别词错率达到了 5.9%,媲美人类
发生时间:2016 年 10 月
微软人工智能与研究部门的团队报告出他们的语音识别系统实现了和专业速录员相当甚至更低的词错率(WER),达到了 5.9%。5.9% 的词错率已经等同于人速记同样一段对话的水平,而且这是目前行业标准 Switchboard 语音识别任务中的最低记录。这个里程碑意味着,一台计算机在识别对话中的词上第一次能和人类做得一样好。
技术提升基础:系统性地使用了卷积和 LSTM 神经网络,并结合了一个全新的空间平滑方法(spatial smoothing method)和 lattice-free MMI 声学训练。
虽然在准确率的突破上都给出了数字基准,但百度与微软、IBM(switchboard 上测试)有较大的不同。微软的研究更加学术,是在标准数据库——口语数据库 switchboard 上面完成的,这个数据库只有 2000 小时。
微软研究院的研究关注点是基于 switchboard 数据库,语音识别最终能做到什么样的性能。而据百度语音识别技术负责人李先刚介绍,他们的关注点是语音技术能够深入到大家的日常应用中,他们用的数据长达数万小时。
黄学东在之前接受机器之心专访时也表示他们的这个语音识别系统里面没有 bug,因为要在标准数据上做到这样的水平,实际上体现了工程的完美。
就各项突破的技术提升基础,我们可以很明晰的梳理出一条线:
1. 之前 LSTM 这样的模型开始成功应用于语音识别,今年的后续研究不断提升 LSTM 的模型效果。
2. 另外一个比较大的进展是 Deep CNN。Deep CNN 比起双向 LSTM(双向效果比较好)有一个好处——时延。所以在实时系统里会更倾向于用 Deep CNN 而不是双向 LSTM。
3. 端到端学习,这也是首席科学家吴恩达在 NIPS 2016 上重点提到的。比如语音识别,输入的是语音,输出的是文本,这是比较纯粹的端对端学习。但是它也有缺点——需要足够大的训练集。
图:吴恩达 NIPS 2016 ppt
这方面现在的研究工作主要集中在两类模型上。一类就是 CTC 模型,包括 Johns Hopkins 大学的 Dan Povey 博士从 CTC 发展出来的 lattice-free MMI;还有一类是基于注意的序列到序列模型。今天它们的表现也还是比混合模型逊色,训练的稳定性也更差,但是这些模型有比较大的潜力(参考机器之心对俞栋老师的专访)。
国内还有其他几家做语音识别的公司,这里对科大讯飞、搜狗、云知声的语音识别系统做个简单介绍。
去年年底,科大讯飞提出了以前馈型序列记忆网络(FSMN, Feed-forward Sequential Memory Network)为代表的新一代语音识别系统。
今年,科大讯飞又推出了全新的深度全序列卷积神经网络(Deep Fully Convolutional Neural Network, DFCNN)语音识别框架,使用大量的卷积层直接对整句语音信号进行建模,更好的表达了语音的长时相关性。据介绍,该框架的表现比学术界和工业界最好的双向 RNN 语音识别系统识别率提升了 15% 以上。其结构图如下:
科大讯飞 DFCNN 的结构图
同时,我也附上搜狗、云知声提供的各自的语音识别系统的流程,以供大家学习、比较、参考:
语音识别系统流程:语音信号经过前端信号处理、端点检测等处理后,逐帧提取语音特征,传统的特征类型包括 MFCC、PLP、FBANK 等特征,提取好的特征送至解码器,在声学模型、语言模型以及发音词典的共同指导下,找到最为匹配的词序列作为识别结果输出。
搜狗 CNN 语音识别系统建模流程
云知声语音识别系统
二、难题与前沿方向
在语音识别高速发展的一年,我们曾专访过黄学东、俞栋等多位领域内的专家,不可避免的探讨了未来语音识别领域所面临的方向、挑战、抑或是难题。现如今整理如下,希望能对大家接下来的语音识别研究有所帮助:
1. 语义理解
黄学东认为,要做好语音识别需要更好的语义理解,二者相辅相成。「人的鲁棒性非常好,一个新的课题过来,他可以通过会话的方式跟你沟通,也能得到很好的结果。而机器对噪音的抗噪性不够强,对新的课题会话沟通能力比较差。最重要的一点是,语音识别并没有理解你的语义。理解语义是人工智能下一个需要攻克的难题,这也是我们团队花很多时间和精力正在做的事情。」
2. 值得关注的四大方向
在之前机器之心对俞栋的专访中,他为我们指出了语音识别领域的几大前沿:
在安静环境下并使用近距麦克风的场合,语音识别的识别率已越过了实用的门槛;但是在某些场景下效果还不是那么好,这就是我们这个领域的 frontier。现在大家主攻几点:
首先,是不是能够进一步提升在远场识别尤其是有人声干扰情况下的识别率。目前一般远场识别的错误率是近场识别错误率的两倍左右,所以在很多情况下语音识别系统还不尽如人意。远场识别至少目前还不能单靠后端的模型加强来解决。现在大家的研究集中在结合多通道信号处理(例如麦克风阵列)和后端处理从拾音源头到识别系统全程优化来增强整个系统的表现。
另外,大家还在研究更好的识别算法。这个「更好」有几个方面:一个方面是能不能更简单。现在的模型训练过程还是比较复杂的,需要经过很多步骤。如果没有 HTK 和 Kaldi 这样的开源软件和 recipe 的话,很多团队都要用很长时间才能搭建一个还 OK 的系统,即使 DNN 的使用已经大幅降低了门槛。现在因为有了开源软件和 recipe,包括像 CNTK 这样的深度学习工具包,事情已经容易多了,但还有继续简化的空间。这方面有很多的工作正在做,包括如何才能不需要 alignment 、或者不需要 dictionary。现在的研究主要还是基于 end-to-end 的方法,就是把中间的一些以前需要人工做的步骤或者需要预处理的部分去掉。虽然目前效果还不能超越传统的 hybrid system,但是已经接近 hybrid system 的 performance 了。
另外一个方面,最近的几年里大家已经从一开始使用简单的 DNN 发展到了后来相对复杂的 LSTM 和 Deep CNN 这样的模型。但在很多情况下这些模型表现得还不够好。所以一个研究方向是寻找一些特殊的网络结构能够把我们想要 model 的那些东西都放在里面。我们之前做过一些尝试,比如说人在跟另外一个人对话的过程中,他会一直做 prediction,这个 prediction 包括很多东西,不单是包括你下一句想要说什么话,还包括根据你的口音来判断你下面说的话会是怎样等等。我们曾尝试把这些现象建在模型里以期提升识别性能。很多的研究人员也在往这个方向走。
还有一个方向是快速自适应的方法—就是快速的不需要人工干预的自适应方法(unsupervised adaptation)。现在虽然已经有一些自适应的算法了,但是它们相对来说自适应的速度比较慢,或者需要较多的数据。有没有办法做到更快的自适应?就好像第一次跟一个口音很重的人说话的时候,你可能开始听不懂,但两三句话后你就可以听懂了。大家也在寻找像这种非常快还能够保证良好性能的自适应方法。快速自适应从实用的角度来讲还是蛮重要的。因为自适应确实在很多情况下能够提升识别率。
三、语音识别历史的梳理
在这一部分我简单的梳理了一下语音识别历史上比较关键的一些时间点。
1952 年,贝尔实验室 Davis 等人研制了世界上第一个能识别 10 个英文数字发音的实验系统,但只能识别一人的发音。
1962 年,IBM 展示了 Shoebox。Shoebox 能理解 16 个口语单词以及 0-9 的英文数字。
1969 年,贝尔实验室的 John Pierce 预言成熟的语音识别在数十年内不会成为现实,因为它需要人工智能。
1970 年,普林斯顿大学的 Lenny Baum 发明隐马尔可夫模型(Hidden Markov Model)。
20 世纪 70 年代,卡耐基梅隆大学研发 harpy speech recognition system,能够识别 1011 个单词,相当于 3 岁儿童的词汇量。
20 世纪 80 年代,语音识别引入了隐马尔可夫模型(Hidden Markov Model)。
20 世纪 90 年代出现首个消费级产品 DragonDictate,由国际语音识别公司 Nuance 发布。
2007 年,Dag Kittlaus 和 Adam Cheyer 创立 Siri.Inc。后被苹果收购并于 2011 年首次出现在 iPhone 4s 上。
2009 年以来,借助机器学习领域深度学习研究的发展以及大数据语料的积累,语音识别技术得到突飞猛进的发展。
2011 年微软率先取得突破,使用深度神经网络模型之后,语音识别错误率降低 30%。
2015 年,IBM Watson 公布了英语会话语音识别领域的一个重大里程碑:系统在非常流行的评测基准 Switchboard 数据库中取得了 8% 的词错率(WER)。
语音识别,在这一年有了极大的发展,从算法到模型都有了质的变化,在加上语音领域(语音合成等)的其他研究,语音技术陆续进入工业、家庭机器人、通信、车载导航等各个领域中。当有一天,机器能够真正「理解」人类语言,并作出回应,那时我们必将迎来一个崭新的时代。
分享:语音识别
系统实现
语音识别系统选择识别基元的要求是,有准确的定义,能得到足够数据进行训练,具有一般性。英语通常采用上下文相关的音素建模,汉语的协同发音不如英语严重,可以采用音节建模。系统所需的训练数据大小与模型复杂度有关。模型设计得过于复杂以至于超出了所提供的训练数据的能力,会使得性能急剧下降。
听写机:大词汇量、非特定人、连续语音识别系统通常称为听写机。其架构就是建立在前述声学模型和语言模型基础上的HMM拓扑结构。训练时对每个基元用前向后向算法获得模型参数,识别时,将基元串接成词,词间加上静音模型并引入语言模型作为词间转移概率,形成循环结构,用Viterbi算法进行解码。针对汉语易于分割的特点,先进行分割再对每一段进行解码,是用以提高效率的一个简化方法。
对话系统:用于实现人机口语对话的系统称为对话系统。受目前技术所限,对话系统往往是面向一个狭窄领域、词汇量有限的系统,其题材有旅游查询、订票、数据库检索等等。其前端是一个语音识别器,识别产生的N-best候选或词候选网格,由语法分析器进行分析获取语义信息,再由对话管理器确定应答信息,由语音合成器输出。由于目前的系统往往词汇量有限,也可以用提取关键词的方法来获取语义信息。
适应强健:
语音识别系统的性能受许多因素的影响,包括不同的说话人、说话方式、环境噪音、传输信道等等。提高系统鲁棒性,是要提高系统克服这些因素影响的能力,使系统在不同的应用环境、条件下性能稳定;自适应的目的,是根据不同的影响来源,自动地、有针对性地对系统进行调整,在使用中逐步提高性能。以下对影响系统性能的不同因素分别介绍解决办法。
解决办法按针对语音特征的方法(以下称特征方法)和模型调整的方法(以下称模型方法)分为两类。前者需要寻找更好的、高鲁棒性的特征参数,或是在现有的特征参数基础上,加入一些特定的处理方法。后者是利用少量的自适应语料来修正或变换原有的说话人无关(SI)模型,从而使其成为说话人自适应(SA)模型。
说话人自适应的特征方法有说话人规一化和说话人子空间法,模型方法有贝叶斯方法、变换法和模型合并法。
语音系统中的噪声,包括环境噪声和录音过程加入的电子噪声。提高系统鲁棒性的特征方法包括语音增强和寻找对噪声干扰不敏感的特征,模型方法有并行模型组合PMC方法和在训练中人为加入噪声。信道畸变包括录音时话筒的距离、使用不同灵敏度的话筒、不同增益的前置放大和不同的滤波器设计等等。特征方法有从倒谱矢量中减去其长时平均值和RASTA滤波,模型方法有倒谱平移。
小结:很多专家都认为语音识别技术是2000年至2010年间信息技术领域十大重要的科技发展技术之一。 当然如果大家还想了解更多方面的详细内容的话呢,不妨关注编程学习网教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!