{{detailStore.author.is_follow?'已关注':'关注'}}
文章
管理
为了把小P变成初恋女友,机器学习到底做了多少学习?
文章

近期,小鹏P7向内侧团成员推送了2.6.1版本的车载系统,本次更新最主要的更新,就是给我们熟悉的小P变声,从机械小P变成了初恋小P。小P这样一个广受赞誉的语音助手,经此一变,仿佛被赋予了灵魂,声音真实,可盐可甜。想起之前参加小鹏的车展沙龙,鹏厂戴师傅当时吹的牛:将来的小P,会拥有初恋般的嗓音。这个牛,算是吹成了。

 

新的小P有什么不一样?


最近在公测群,拜读了很多鹏友非常精彩的小P调教文章和视频,无一例外,都对小P这一套基于全新超大规模在线神经网络语音合成引擎的AI声音大加赞赏:更自然的语调,更甜美的音色,多种情绪的表达让小P更像一个真人管家为乘坐者服务。

同时,原先的小P所具备的:连续对话、多音区识别、无效语句过滤、随时打断、深层车机细节交互等引以为豪的能力也都完美继承。 

 

当然,也有很多网友不理解,为什么一旦信号不好,小P有些时候还是会变得语调机械,甚至不言不语呢?明明是一个为我单机服务的车技系统,就一定要联网才能完成这些功能呢?

其实,这些不理解是很正常的,下面,我就带大家从小P最具特色的几个方面,去解密一下为了打造一个像小P这样的智能语音助手,它背后的大数据、人工智能、机器学习技术到底完成了哪些不可思议的工作。机器学习吗?总要看看,机器,到底做了哪些学习?

为什么新的语音听上去更自然了?


这次小P最大的区别,就是语调更加自然,音色更加甜美。我们首先就来说说机器到底学习了什么神仙能力让小P变身初恋萌妹的吧。

和自然人说话一样,语音助手在听到指令后,需要做两件事情:准备好要说的内容,也就是输出文本,然后合成语音将内容念出来。同样的内容,旧版的小P说出来觉得笨笨的,新版的小P仿佛就像可爱的姑娘在跟你说话,根本差别,就在于第二部分语音合成技术,取得了大幅度的进步。

 

 
语音合成(Text-To-Speech)是通过计算机将文本转换成语音的过程,随着技术的发展,像小P这样的语音助手,合成音几乎可以到了以假乱真的程度,这部分的技术,主要经历了三个发展阶段:

  1. 基于波形(分词)拼接的方法
    2. 基于统计参数的语音合成
    3. 基于深度神经网络的语音合成

第一阶段:基于波形(分词)拼接的方法


基于波形拼接的语音合成方法,是基于目标基元的上下文信息,(如在短语中的位置、词性等)从录制的音库中找到相似的基元。

打开车门,小P会对我说:“下午好,数据里奥斯”。最简单的方法,就是直接录制下这一段话,当小P需要说这段话的时候,就播放这段内容就好了。但是,问题来了,我们有10万个鹏友的时候,就这一句话那就要录制10万个版本,显然数据量太大了,那有什么办法优化呢?有的,你看“下午好”,这句话不都是一样的么?那我们只需要录制一遍就好了呀,于是,我们只需要录制一个“下午好”和“你的名字”这两个语音,然后组合在一起播放就OK了,原先录制的10万遍下午好,只需要存储一次就可以了。

 
以此类推,其实所有的话,当我们把每一个字都单独录制后,就可以一个字(词、短语)一个字(词、短语)的播放出来,千遍万化的语音,只要能分割成我们数据库中匹配的字或者词,就可以播放出来,完全不需要每一句话都提前录制好。这就是所谓的基于相似波形(相同词语)进行拼接的语音合成方法。

当然,这种方法也有很大的弊端,一个字一个字念出来的语音,没有语境,没有上下文,自然也就不可能有抑扬顿挫、没有断句。如果切分得比较粗,又需要储存很多语音片段,录制难度大,存储成本也高。

 

第二阶段:基于统计参数的语音合成


前面我们也提到了,第一个阶段的语音合成技术,最大的问题就是不连贯,也没有抑扬顿挫,所以显得不真实。

其实,人类说话确实是有些规律可循的,比如,人类发生系统可以发出三类语音:

  1. 浊音:(比如元音)肺部气压升高,强迫空气通过声门,使声带振动产生的类周期性宽频脉冲
  2. 摩擦音:(比如辅音,/s/, /sh/, /f/)空气以足够的速度通过部分关闭的声门
  3. 爆破音:(比如/p/, /t/,/k/)空气在完全闭合的声道累积增压,然后突然打开声道产生的。

如果我们能够总结出一些抑扬顿挫,发音语气的特征,然后在之前合成语音的基础上,根据每一个发音的前后关联特征,加上这些语气特点,是不是就更像真人说话了?这就是语音合成技术第二阶段主要解决的问题:基于统计参数的语音合成。其中比较有名的就是基于HMM(隐马尔科夫模型 Hidden Markov Model)统计参数的语音合成。工程师们将总结出的一些像上面提到的爆破音、摩擦音等特征信息数字化提炼成特征参数,放入到整个模型当中,根据已有的记录上下文一些特征的数据库反复提炼、训练整套模型,就会将一些语调,特征逐渐刻画在合成的语音当中。

举个不太恰当的例子,原先P图的时候,我们都是通过PS来做的,比如鼻子亮一点会显得鼻子高,双颊加点阴影会显瘦,这些特点固定成套路之后,咱们就有一些美图秀秀这样的软件可以根据这些固定的套路帮你自动P图啦。

听上去,是不是挺完美了?但是,它也有它的问题,比如自动P图,最大的弱点是什么?网红脸,为了不过度P图把人P得太不真实,自动P图软件都会在训练照片时不断弱化一些较为突出的特征,使得图片尽量自然。语音合成也是一样,因为数据总会有不真实或者突兀的地方,聪明的机器也会有类似去除最高分和最低分这样的操作来保证最终输出的结果尽量“中庸”。

 

第三阶段:基于深度神经网络的语音合成

基于统计参数的语音合成,受限于声码器、HMM建模精度不足等因素,使得合成的语音表现力弱,合成声音发闷。随着计算机硬件,传感器,算法等多方面水平的进步,这样一个问题的优化有了更好的解决方案,那就是基于深度神经网络进行语音合成,这也是新的小P采用的技术手段。主要优化和解决了两个技术难点:1. 特征信号采集精度不高 2. 运算量过高无法完成实时的语音合成任务。

 
特征信号采集精度不高,怎么办?

针对神经网络特征信号采集精度不高,新的采集器将声音特征的采集精细到了每一帧,也添加了大量的关于语调,语气,情绪等各种特征信号,新的技术进步,可以无限接近地获取到原声所有特征信号参数。

运算量过高无法完成实时的语音合成任务?

采集精度的问题解决了,那如此想要在如此庞大的数据中接近实时地合成语音,还需要非常强大的算力支持,也需要非常优秀的算法模型,尽可能地节约算力,才能让合成语音小P做到对答如流。新的深层神经网络有着强大的非线性建模能力,这一类机器学习算法之所以称之为神经网络,正是因为它的算法逻辑如同人类的神经细胞一样,传递信号及其快,同时互通互达,共享参数和结果。这样的好处就是,原本一些我们需要反复等待上一次计算结果再进行的运算,可以分配到非常多的处理器中同时进行,互通有无,运算速度大大加快,重复计算减少、等待的时间大大缩短。如同初恋女友般的小P,就在这样高精度的采集器和高速运算的处理器和算法加持下,诞生了。

 
One More Thing: 为啥网络不好小P声音就不甜了?

介绍完语音合成技术的三个重要发展阶段,相信大家都知道了新的小P是需要非常庞大的语音特征数据库和高算力处理器支持的了。那这也就很好回答鹏友中经常产生的疑惑了:为啥网络不好小P声音就不甜了?因为这样一套数据库和处理能力,目前车机系统本身还是无法承载的,只有借助云端的强大服务,才可以完成这样的工作。换句话说,将如此高成本的硬件设备放在每一辆车中,一天却使用那么几十次,无疑是浪费的,也抬高了成本。部署一套强大的设备,同时为所有鹏友服务,才是更正确的选择。所以,这套系统,部署在远程,通过网络进行服务,是合情合理的。同时,鹏厂工程师也通过各种技术手段使得可用率达到了97%,也有相应的服务降级措施,绝大多数情况下,小P一直都会是你的初恋女友哒~

 
我是数据里奥斯,一个菜鸟工程师,数字生活家,希望能够用最通俗的语言和你们分享技术给我们生活带来的改变。

主要参考文章:

  • CSDN-林林宋-统计参数语音合成中的声学模型建模方法研究
  • 知乎-极限元智能-基于深度神经网络的语音合成
  • 知乎-000-语音合成方法概述
  • 51CTO-mb5fdb0a1b25659-DurIAN:基于时序注意力神经网络的语音合成系统
写评论
积分赞赏
点赞
评论区
  • 编辑
  • {{is_favourite ? '已收藏' : '收藏'}}
  • {{is_personal_top ? '取消主页置顶' : '个人主页置顶'}}
  • 举报
  • 加入黑名单
  • 删除
  • 取消置顶
  • 置顶推荐
    • 6小时
    • 12小时
    • 24小时
    • 3天
    • 一周
    • 长期
  • {{digest?'撤销精华':'设为精华'}}
回到顶部
  • 全部评论{{detailStore.commentnum}} 条
  • 只看作者
  • 最热
  • 最新
  • 最早

「待审核」

{{ comment.relativeTime }} 已被赞赏 {{comment.integral}} 积分 回复

暂无相关评论

发表一下个人看法吧