一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新


雷锋网(公众号:雷锋网) AI 科技评论按:端到端一体化的技术,再次显出强大的功能。

4月20日,百度旗下人工智能品牌小度发布了新款无屏智能音箱——小度智能音箱 2 红外版。据百度官方介绍,该音箱搭载了百度首款针对远场语音交互研发的鸿鹄芯片,性能上有三大提升:

1)在语音识别上错误率平均降低30%;2)高噪声下首次唤醒率提升10%以上,且达到家居场合使用的超低误报要求;3)平均工作功耗仅 100mw左右,待机功耗下降90%。

这样的性能提升在业界可谓首屈一指,值得探索。

AI 科技评论对其背后技术做了详细分析,认为这主要得益于在他们在语音交互方面提出的两大「端到端一体化」创新,

1)在软件层面。目前智能音箱领域流行的语音交互方案为:先语音增强,后语音识别。这种过程把语音交互分割成了两个独立的过程,在优化过程中往往目标不一致。而百度直接采用了“基于复数卷积神经网络的语音增强和声学建模一体化端到端建模技术”(很长的一段话,关键词:复数卷积、端到端、增强和建模一体化),以字识别准确率作为唯一的优化目标。

2)在硬件层面。传统上,智能音箱的语音唤醒一般是两级唤醒,这需要一颗低功耗唤醒芯片和一颗计算性能高的主芯片来配合完成。这种框架导致平均功耗极大(1W以上),且对主芯片的算力要求极高。百度提出了端到端软硬一体化框架,将所有语音交互任务都放到一颗低功耗语音交互芯片(鸿鹄)上,主芯片无需承载复杂的语音交互的计算功能,显著节省语音交互部分对整体系统资源的占用。

这在软、硬两个层面革新,对整个(远场)语音交互都是颠覆性的。


一、软件层面:语音增强和声学建模一体化端到端建模技术

首先我们来分析一下,智能音箱的语音交互的软件层面为什么必须选择端到端建模的处理方式。

传统上,为了提升远场语音识别的准确率,一般会使用麦克风阵列作为拾音器,利用多通道语音信号处理技术,增强目标信号,提升语音识别精度。

目前,绝大多数在售的智能音箱产品系统所采用的多通道语音识别系统,都是由一个前端增强模块和一个后端语音识别声学建模模块串联而成的:

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于2019年11月,百度语音引擎论坛

前端增强模块通常包括到达方向估计(DOA)和波束生成(BF)。DOA技术主要用于估计目标声源的方向,BF技术则利用目标声源的方位信息,增强目标信号,抑制干扰信号。

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于网络

后端语音识别声学建模模块,会对这一路增强后的语音信号进行深度学习建模。但,

1)波束区域拾音方法有局限性。上面这一类语音增强技术大都是采用基于MSE的优化准则,从听觉感知上使得波束内语音更加清晰,波束外的背景噪音更小。但是听觉感知和识别率并不完全一致。而且这种方法在噪音内容也是语音内容的时候(例如电视和人在同一个方向时),性能会急剧下降。

2)增强和识别模块优化目标不一致。前端语音增强模块的优化过程独立于后端识别模块。该优化目标与后端识别系统的最终目标不一致。目标的不统一很可能导致前端增强模块的优化结果在最终目标上并非最优。

3)真实产品环境复杂,传统方法会影响使用体验。基于波束区域拾音的方法严重依赖于声源定位的准确性,但对于首次唤醒,由于还不知道声源的位置,所以首次唤醒率往往很低。

对这些问题最好的解决,就是将语音增强和语音识别的建模进行端到端一体化,设计一套深度学习模型,输入是多路麦克信号,输出是目标语言的文字,模型的优化目标只有一个,即字准确率。

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于2019年11月,百度语音引擎论坛

2017 年谷歌团队曾最早提出采用神经网络来解决前端语音增强和语音声学建模的一体化建模问题。

但谷歌提出的FCLP结构(Factored Complex Linear Projection)仍然是以信号处理方法为出发点,用一个深度学习网络去模拟和逼近信号波束,因此也会受限于信号处理方法的一些先验假设。相对于传统基于数字信号处理的麦克阵列算法,谷歌得到了16%的相对错误率降低。

百度采用了类似的思想,即做“语音增强和语音声学建模一体化”的端到端建模,不过他们所采用的是“基于复数的卷积神经网络”。

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于2019年11月,百度语音引擎论坛

相比于谷歌的方法,该方法彻底抛弃了数字信号处理学科的先验知识,模型结构设计和数字信号处理学科完全脱钩,充分发挥了CNN网络的多层结构和多通道特征提提取的优势。

在保留原始特征相位信息的前提下,这个模型同时实现了前端声源定位、波束形成和增强特征提取。该模型底部CNN抽象出来的特征,直接送入端到端的流式多级的截断注意力模型(SMLTA)中,从而实现了从原始多路麦克信号到识别目标文字的端到端一体化建模。

整个网络的优化准则完全依赖于语音识别网络的优化准则来做,即完全以识别率提升为目标来做模型参数调优。

贾磊曾在去年11月「百度大脑·语音能力引擎论坛」上向雷锋网AI科技评论介绍说:“我们的模型能提取生物的信号本质特征,作为对比,Google的系统是假设两路麦克信号对应频带之间的信息产生关系,这没有挖掘频带之间的信息,这也是Google在识别率上偏低的原因。”

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于2019年11月,百度语音引擎论坛

如前面提到,相对于百度智能音箱之前产品所采用的基于传统“数字信号处理的前端增强模块”+“后端语音识别声学建模过程”的串联方法,这种基于复数卷积神经网络的语音增强和声学建模一体化端到端建模技术,获得了错误率超过30%以上的降低。

30%的降低,这也是近期深度学习远场识别技术中,最大幅度的产品性能提升。

同时,由于这种建模方式是端到端一体化,无需定位声源,因此就避免了传统上由于定位出错而导致的识别准确率急剧下降。特别是对于首次唤醒(没有定位信息),高噪音下这种技术的首次唤醒率最大幅度可以提升10%以上,且能保证高精准唤醒的同时,误报率非常低。这是一点,是业内传统技术无法做到的事情。

这种方法的成功,说明了一点:“端到端建模”将成为远场语音识别产业应用的重要发展方向。

基于这种研究,贾磊在去年曾向记者表示:“三年以内,远场语音技术的识别率将达到近场识别率,因为有了这个技术,远场识别问题基本可以得到解决,这是一个很大的跨学科创新。”

需要一提的是,这个端到端网络所占内存不到200K,因此非常适合内嵌到芯片当中。


二、硬件层面:端到端软硬一体远场语音交互方案

百度在智能音箱上的第二个提升要归功于他们提出的端到端软硬一体化远场语音交互方案。

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于2019年11月,百度语音引擎论坛

我们仍从传统方法说起。

对于智能音箱,唤醒是一个重要的问题。目前业界采用的低功耗唤醒方案常用的方式是两级唤醒。第一级唤醒计算量很小,主要用于监听,是全天候运转的。第二级唤醒计算量很大,是在发生可能疑似唤醒的时候来做决策。通常用的低功耗芯片的远场语音交互解决方案,都是低功耗芯片部分只承载第一级唤醒,这样全天候的监听过程不会耗电特别多。如果发生疑似唤醒,跑在一个更强计算力的主芯片上的第二级唤醒再进行第二次检测,最终确定唤醒是不是发生。这样的两级机制,使得主芯片的算力和资源都要向第二级唤醒倾斜。

需要指出的一点是,智能音箱的上述两级芯片都是基于ARM芯片,这种芯片做语音唤醒和识别,一方面是成本很高(因为对计算能力要求较高),另一方面功耗也很高。一般来说,平均功耗在 1 W 以上。

针对这样的问题,显然设计出一款专用的语音交互芯片,1)通过自定义指令集,来提升算力;2)更重要的是,把所有原来跑在主芯片上的语音交互全部放在这颗芯片中,从而主芯片无需再承载复杂的语音交互的计算功能,这可以显著节省语音交互部分对整体资源的占用;同时主芯片也可以选择比较廉价的芯片。

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

图片来源于小度智选商城

百度推出的鸿鹄芯片,据官方介绍,采用了双核Hifi4 架构自定义指令集,超大内存,台积电40nm工艺(对于更高的工艺也没有必要),此外100mw左右平均工作功耗,即可同时支持远场语音交互核心的阵列信号处理和可用于唤醒的深度学习计算能力。芯片架构上,鸿鹄内嵌了上面提到的端到端一体化的建模算法,在内存结构和分级内存加载策略,以及cache、双核通信等结构上做了定制化的工作,能够实现深度学习计算过程和数据加载的高度并行。

这里需要指出的是,由于鸿鹄芯片可以完成所有语音交互(远场拾音、唤醒、定位等)的功能,这就使得,经鸿鹄芯片提取的特征可以直接传递到云端,在云端进行高精准识别,而无需占用主芯片的任何计算资源。这种软硬一体的端到端架构,实现了高性能语音体验和极低成本智能硬件的统一。

以百度官方的数据,这次新发布的智能音箱平均待机功耗只有100毫瓦左右,这完全满足 3C 产品的 0.5 瓦的待机标准,这也意味着任何一个国家认证的节能、环保的绿色家电产品,都可以搭载鸿鹄语音芯片。因此可以说,鸿鹄芯片也是业界首个达到该标准的集成完整远场语音交互端侧技术的语音芯片产品。

这种对能耗的压缩,是传统基于ARM芯片的架构所无法承担的使命。

此外,家居场合除了对唤醒精度有较高要求外,还需要有极低的误报,否则就会出现“深更半夜客厅莫名其妙地出现歌声”的诡异现象。在传统的低功耗唤醒方案中,是否唤醒取决于放在主芯片中的决策模型,因此唤醒的误报水平也取决于它。但如果选用鸿鹄这种端到端的方案,则能避免多级唤醒所引入的错误,从而降低误报率。


三、语音交互领域,端到端的革新

回过头来,我们去看百度提出的这整套技术所带来的识别错误率降低,首次唤醒率提升(同时误报率极低)以及待机功耗下降,显然还有可提升的空间。这种“可提升”,是由其在软、硬两个层面的革新所带来的。

首先他们提出的“端到端建模技术”,直接将语音增强和声学建模两个过程融合为一,避免了在各自过程中优化不统一所带来的错误率下降,全局的优化目标只有一个,即字准确率。这种想法彻底抛弃了各种先验知识(以及所带来的错误),模型结构设计和数字信号处理学科完全脱钩,充分发挥了CNN网络的多层结构和多通道特征提提取的优势,是一个颠覆性的思想,显然还有更多可开拓的空间。

另一方面,将模型嵌入芯片,用一颗芯片解决所有语音交互问题。不但具备较高的唤醒精度还具备超低的误报。这种新的软硬一体化架构,直接解放了主芯片,大大降低了对主芯片运算性能的要求,从而在价格和功耗上都能得到大幅度优化。这种架构的革新,必将成为改变整个智能音箱(远场交互场景)行业的一次技术革新。

一颗芯片,即可同时解决全部的语音交互功能且功耗如此之低,百度鸿鹄无疑为全球业界打造出了一个新的标杆。而回归到智能音箱本身,软硬一体化的大规模使用,或许也将对业内其他厂商带来不小的压力。

雷锋网报道。

雷锋网原创文章,未经授权禁止转载。详情见转载须知

一颗芯片解决所有语音交互,百度做了一项改变行业的技术革新

(完)