西北工业大学教授谢磊:IoT时代,智能语音面临许多新的挑战
雷锋网按:2018 全球人工智能与机器人峰会(CCF-GAIR)在深圳召开,峰会由中国计算机学会(CCF)主办,由雷锋网 (公众号:雷锋网) 、香港中文大学(深圳)承办,得到了深圳市宝安区政府的大力指导,是国内人工智能和机器人学术界、工业界及投资界三大领域的顶级交流盛会,旨在打造国内人工智能领域最具实力的跨界交流合作平台。
第三天的IOT专场大咖云集,小米人工智能与云平台副总裁崔宝秋登台发表了关于小米IOT布局和AI战略布局的报告,随后,与小米在语音识别领域有深度合作的西北工业大学谢磊教授发表了主题为“迎接IoT时代智能语音的新挑战”的精彩演讲。
谢磊认为,现在是智能语音交互发展的黄金期,但语音人才严重匮乏,造成语音人才在市场上价格很高。同时,学校的科研虽然具有前瞻性,但缺少“大数据”和“大算力”,为此谢磊提出校企加强深度合作、产学研融合的倡议。
随着IOT时代的到来,语音识别领域也迎来许多新的挑战。例如,声学场景从近讲到远讲的切换,使语音交互的鲁棒性带来了前所未有的挑战;语音标注要动用大量人工,费时费力, 一个新场景的模型训练的代价很大;此外,口音和小语种识别也为基于少量数据的模型适应带来了挑战。
以下是谢磊教授在 CCF-GAIR 2018 上的大会报告内容,雷锋网进行了不改变原意的编辑整理。
今天我演讲的题目是“迎接IoT时代智能语音的新挑战”,现在是智能语音黄金期,我们一定要做好校企合作和产学融合。同时由于IoT时代的到来,有很多挑战仍然需要学术界来解决。最后,我会介绍我们近期跟小米合作的几个成果。
大家知道智能家庭或智能家居是物联网的典型场景,在这个场景下各种各样的设备都联网了。以小米为例,我们要跟智能硬件交互,语音是非常重要且自然的入口——说一句话就可以达到目的。在万物互联、大数据的时代,小米有很多大数据。
而学校面临的是在这样大数据时代的背景下,如何做研究的问题。学校主要面向人才培养,瞄准前瞻性研究,但遗憾的是我们缺乏大数据和大算力。我们跟工业界相比,学校的再多的数据只能算是小数据。人家是西瓜,我们是芝麻。公司瞄准靠谱技术,最终目的以落地为主,把技术应用到产品中。只有企业才拥有真正意义上的大数据和大算力。
在此大背景下,高校如何做研究,在我看来校企合作、产学融合,实现三赢(企业、学校和学生)是一种比较好的途径。公司通过校企合作储备人才,学生通过跟公司的合作和实习,锻炼真实力,轻松找到好工作。对于学校来说,在缺乏大数据、大算力的现实情况下,借助企业界的能力,让我们的技术得到更靠谱的验证,论文最终得到实际价值的实现。我认为校企合作是非常有意义的一件事,我们从2010年开始至今,跟很多公司合作,包括跟小米这样的巨头。
在IoT时代,智能场景有所切换。之前我们在手机上进行交互,手机语音是非常重要的入口。在IoT时代,另一个语音交互的场景出现了。以智能家庭为例,这种情况下给语音技术带来了新挑战。
在IoT语音交互时代,我们遇到的问题是远场语音识别,它的稳健性是非常重要的挑战。从近讲到远讲,声学场景发生了各种各样的变化,包括声学回波、目标移动、房间混响、背景噪音、干扰声源等。其他人同时说话的情况下会造成干扰,而且由于说话人的转换,干扰源会发生变化。这些都会给语音识别带来巨大的挑战。后面会给大家介绍,我们如何利用深度学习技术来解决房间混响对语音识别造成影响的问题。
另一个是缺少数据和计算资源的挑战,我们称之为低资源(low resource)的场景。
大家经常听到行业里的人都说:人工智能是“有多少人工,就有多少智能。”我们需要大量的标注数据完成各种各样的机器学习任务,包括语音识别在内。数据标注费时费力。能否进一步减少人工,能否减少模型训练使用的标注数据,避免很多人工是个关键问题。
另一方面,在IoT时代,很多运算从云变到端,比如语音唤醒任务,但是端上的资源可能非常有限,要把模型打造得越小越好,计算越少越好,同时可能需要满足低功耗的需求。后面我会介绍一个轻量级的语音唤醒方案。
口音也是一个问题,口音不是特别重的话,语音识别效果还是不错的。如果口音比较重,语音识别效果会大打折扣。语种混杂也是一个问题,如果对着机器说“我今天买了一个Apple”,就很有可能识别错。现有技术都是通过大量的数据覆盖来解决这些问题,提升模型的鲁棒性。
还有一个问题是小语种,如果小米要拓展国际化市场,有很多外语种需要做语音识别,但是我们可能没有这么多标注数据,甚至一些语种缺乏语音语言学的专家知识,一开始连发音字典可能都没有。在这些“低资源”的情况下,在现有模型的基础上,基于少量数据做模型自适应,解决小语种没有数据、没有专家知识的语音交互也是一个值得探索的问题。后面我会介绍一个基于少量说话人数据进行模型自适应的工作,提升每个人语音识别的体验。当然,这个方案可以扩展到小语种上。
下面,我重点介绍一下我们为应对上面所提出的挑战,近期跟小米合作的三个研究成果:一是用深度学习解决语音识别中的去混响问题;二是基于注意力机制的轻量级语音唤醒;三是打造个性化语音识别。基于三个工作的论文都被语音研究的旗舰会议Interspeech2018录用。
第一,去混响。语音交互从进场变成远场,房间混响成为一个影响语音识别性能的关键问题,我们尝试用目前非常火热的生成对抗网络(GAN)解决去混响问题。在语音交互过程中,我的声音除了直达声到达对方的耳朵,还有各种各样的反射面产生的反射,共同叠加传到对方的耳朵中。声音是由是直达声、早期反射和晚期混响构成的。声音的传输和传播,从发声声源传出来,会在房间驻留相当长的一段时间,从这张动图上可以看出来,每一个小点都是一个声音粒子。混响对语音识别性能有严重的影响。
上图是语谱图,在干净的情况下共振峰非常清晰,下图是被混响污染的语谱,可以看到共振峰的严重拖尾现象,共振峰对语音识别非常重要,这种共振峰污染会严重影响语音识别准确率。在某中文测试集上可以看到,干净情况下字错误率是7.86%,在有混响情况下字错误率提升到23.85%,即便用了多条件训练(MCT),即训练数据里加入了一些带混响的语音,错误率会降到16.02%,但和干净语音情况下相比,依然有很大的差距。
今天我们尝试用深度学习的方法解决去混响的问题。用深度学习去混响是一个非常直观的解决方案。深度神经网络的特点是具有多层的非线性学习能力,可以通过回归任务,学习一个从带混响的语音输入到无混响干净语音输出之间的一个映射。我们可以通过干净语音构造很多的混响语音数据,来训练这样一个映射网络。
在用深度神经网络去混响过程中,我们尝试用生成对抗网络来提升效果。生成对抗网络一般由两个网络组成,一是生成器,二是判别器。
以假币制造者和警察之间的博弈这张图来解释生成对抗网络最为直观了。左边是假币仿冒者(即生成器),他要制造假币;右边是警察(即判别器),警察负责判断真币还是假币。假币仿冒者制造出来的假币交给警察,警察根据自身的经验做出假币的判断,把Loss传回给假币仿冒者,假币仿冒者进而改良。经过多次迭代博弈的过程,假币最终做得越来越真,可以骗过警察。
通过这样的思路可以做去混响的问题。把混响语音通过生成器去混响,交给判别器判别这是干净语音还是混响语音,通过类似上述的迭代博弈过程,训练的生成器最终达到非常好的去混响效果。
先前也有相关的工作,但是我们的做的更加细致。我们的结论是:首先,和其他网络类型相比,生成器网络用LSTM网络效果最优,因为它本身有很强的时序建模能力,混响和时间非常相关。如果网络层数比较深,则加入残差网络可以进一步提升效果。
此外在网络训练过程中,用同一个Mini-batch的数据去更新两个网络(G和D)对获得良好的效果是至关重要的。在实验数据集上语音识别表明,GAN能够比单纯DNN去混响获得14-19%相对字错误率的下降。最终在MCT多条件训练的场景下,进一步将字错误率从16%降到13%,大家感兴趣可以关注我们的论文,获得更多的细节。
第二,唤醒万物。以“小爱同学”为例,它现在已经无处不在,大家已经习惯了用“小爱同学”来唤醒小米手机和音箱。在唤醒任务上,我们要保证唤醒率非常高,同时要降低虚警率。我说了“小爱同学”,没有唤醒属于误拒绝;我没有说“小爱同学“,但是设备被唤醒了,这个属于虚警。在语音唤醒任务上,我们的目的是把这个指标打造得越低越好。
同时很多时候我们在端上、器件上做唤醒,往往需要非常小的模型、很少的计算量,因为计算能力有限、存储能力有限。我们尝试用基于注意力机制端到端神经网络来解决唤醒的问题。
这不是我们第一次使用基于注意力机制的模型来解决问题,之前我们跟小米合作,在小米电视语音搜索上达到非常高的准确率,也是因为用了这个模型,大家可以关注一下我们发表在ICASSP2018上的论文。
这次我们将注意力机制用在唤醒任务中,也是非常直观的想法。比如我们听到别人叫我们的名字的时候,我们的“注意力”就转换到这个人的讲话上。注意力机制模型在机器翻译、语音识别、语音合成中都已经成功应用。我们成功把它用在语音唤醒任务上。
它的好处有:一是去模块化,一个网络直接输出唤醒判断;二是模型参数少,同时无需其他唤醒方案中复杂的图搜索,计算量进一步降低;三是模型训练无需做对齐。运用基于注意力机制的语音唤醒模型,通过编码器、注意力机制和Softmax的结合,可以直接判断我说的是不是唤醒词。
在“小爱同学”内部测试集上做了实验验证。对于编码器,CRNN网络比GRU和LSTM取得了更优的结果。最终在一小时一次虚警的条件下,我们的方案使得错误拒绝下降6次,同时计算量缩减4倍。
第三个工作是:我们尝试“低资源”场景,只需少量数据为每个人打造个性化的语音识别模型,提升每个人的语音识别体验。下图可以看到这是某个测试集中的10个人做语音级别的错误率,我们可以看到虽然大家都是说普通话,语音识别性能非常的不均衡。错误率最低可以达到100字错3个,很差的情况可以看到错误率高达40%甚至56%。
这些高错误率情况往往是由于口音问题造成的。我国不同的地域有不同的方言和口音。现有通用的语音识别声学模型,往往是通过不同口音人群数据的覆盖,来缓解这一问题。但是终究是一个“平均模型”,不可能在每个人身上获取到最佳的语音识别性能。
我们对比研究了几种不同的说话人自适应的方法。神经网络非常灵活,可以做很多工作,对网络进行不同的“手术”,通过对平均模型方案的改造,达到适配不同人的自适应能力。
第一种方法是LIN,在传统语音级别大网络声学模型前提下可以加一个线性变换网络,把不同人的语音输入变成某种通用特征,原始大网络参数不做任何变化。即一人一个线性变换网络,这个小网络可以放在每个人的手机上。
第二种方法是LHUC,为每个人学习一组个性化参数,用于调节大网络声学模型参数的幅度。
第三种方法是俞栋老师论文中的做法,用每个人的数据去直接更新大网络声学模型参数,即一人一个网络。为了避免过拟合问题,我们采用KLD准则在模型自适应过程中来做一个约束,使得适应后的模型的后验概率分布与说话人无关的大网络模型上的后验分布越接近越好。
我们选择了10位带湖北口音的普通话发音人,每个人用5-300句做模型自适应,100句做测试。上图明显的看到,不管使用上述什么方法,语音识别错误率都有稳定的下降。整体而言,我们发现KLD方法最优,LHUC此之,LIN比较差。
我们工作的另外一个特色是对口音程度进行了分类来观察不同方法的表现。我们根据刚才那10个测试人在通用模型上的语音识别错误率,对他们进行了口音程度划分,分为了轻度口音、中度口音和重口音,来观察不同方法在这三类人群上的语音识别性能表现。
我们发现,在轻度口音上,LHUC的效果最好,其他两种方法表现的不稳定,时好时坏。这是因为轻度口音和通用模型之间的差距不是特别明显,在训练通用模型的时候其实就引入了一些带口音数据。这种情况下,如果用其他方法来”大幅度”调整网络会造成负面的影响。LHUC这种比较“微弱”的调整参数方法反而效果最好。
在重度口音上,KLD和LHUC效果相当,可以达到可比的效果。如果存储或内内存占用是一个需要考虑的因素的话,大家可以选择较为简洁的LHUC方法,它不会为每个人建一个神经网络,而是为每个人存储一小组调节大网络的参数。
对于重度口音,目标发音人和通用模型之间有非常大的差距,因此直接使用目标发音人的数据来调整通用模型参数,得到适配目标发音人的模型,效果是最好的。因此,模型重训练RSI和KLD可以达到这种目的,而KLD效果更佳,即图上黑色线稳定在下面,错误率最低。
在我报告的最后,给大家展示一下我们最新的 用深度学习进行语音降噪 的最新结果。
我们知道语音降噪和语音增强是研究历史非常长的研究课题,通常采用信号处理的方法解决。手机上也有各种降噪方案和降噪算法。传统统计信号处理的方法优势是从信号统计特性出发解决问题,对平稳噪声有较好的抑制能力。但是对于非平稳类型的噪声——比如在嘈杂的酒吧中有很多不平稳的噪声——的表现无法达到理想效果。
我们将深度学习应用于语音增强,同时结合信号处理的知识,联合做降噪。这是我们在嘈杂的酒吧录了一段对手机讲话的音频,用深度学习加信号处理的方法进行降噪。大家也听到了,嘈杂的背景噪声基本被抹掉,这是深度学习赋能语音降噪达到的新水平。(演讲全文完)
会后,当雷锋网问到 现在智能音箱在复杂任务执行上存在很多问题,是否存在技术不成熟就立刻推向市场的情况 ,谢磊的回答是:
智能音箱是一个重要的入口,IoT的入口和流量的入口。
这就是为什么大家都在布局做音箱,市场上出现了“百箱争鸣”的局面,其实大家都在布局新的“流量经济”和抢夺入口。
就技术而言,智能音箱可能是一家公司技术“综合实力”的体现,最适合练兵,因为上面用到的技术有很多,例如麦克风阵列技术、语音增强技术、远场语音识别技术、语音理解与对话技术、知识库、语音合成等,还有是否有输出内容的实力。每项技术都是一项重要的研究课题,都需要打磨和优化。但是对用户来说,只是感觉到交互体验要好,需要的内容要有。
技术发展都是有一个阶段的,现阶段达到的能力,其实已经可以做到包括智能音箱在内的各种各样的智能硬件里面去了,也就是达到了“可用”的阶段,但是距离“好用”还是需要一定的技术发展。
在基于智能音箱的远场语音交互上,语音识别的准确率仍需要进一步提高,这个就需要前端方案的配合,以及前后端的联合优化。
语音合成也需要更加自然与个性化,每个人对声音的需求是不一样的。此外,就深度理解用户而言,这需要语义理解和对话技术的进一步突破。本来语义理解就有很多歧义。比如说想穿多少穿多少,这句话其实跟语境有关系,在冬天的时候,你特别冷的情况下你是希望穿得特别多,但是到夏天的时候你想穿多少穿多少,就是说,我热的实在是脱得不能再脱了。所以,这个实际上跟语境也是有关系的,所以语义理解很难。
口语交互就更难了,比如咱们在聊天的过程中,讲的话可能是语速很快、吞音少字问题、语序颠倒、都不是按规则出牌的。说话的时候我语序颠倒了你也能听懂,中间插了很多的东西你也能够听懂,但是机器理解的时候就可能是一个大问题。所以,这一块还是要通过各种各样的技术突破和各个模块的联合优化去解决。
不过我相信,语音的入口作用是毋庸质疑的,这也是为什么各家都在布局的原因。
。