远场语音识别错误率降低30%,百度提基于复数CNN网络的新技术
【12月公开课预告】,入群直接获取报名地址
12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台——从方法到落地
12月12日晚8点直播:利用容器技术打造AI公司技术中台
12月17日晚8点直播主题:可重构计算:能效比、通用性,一个都不能少
作者 | Just
出品 | AI科技大本营(ID:rgznai100)
距离3米甚至5米处,用户与智能音箱对话是一个典型的远场语音识别应用场景。
在远场环境下,目标声源距离拾音器较远致使目标信号衰减严重,加之环境嘈杂,干扰信号众多,最终导致信噪比较低,语音识别性能较差。为了提升远场语音识别准确率,一般会使用麦克风阵列作为拾音器。利用多通道语音信号处理技术,增强目标信号,提升语音识别精度。
不过,传统数字信号处理技术已经无法满足技术发展的需求,用深度学习技术来替代麦克阵列系统中的传统数字信号处理已经开始成为行业主流。但此前行业提出的解决方案需要和数字信号处理过程看齐的深度学习模型结构设计,严重影响了深度学习技术在该方向上的发挥和延伸,限制了深度学习模型的模型结构的演变,制约了技术的创新和发展。
在近日举办的百度大脑语音能力引擎论坛上,百度语音首席架构师贾磊提出了的基于复数卷积神经网络(Convolutional Neural Network,CNN)的语音增强和声学建模一体化端到端建模技术,它抛弃了数字信号处理学科和语音识别学科的各种先验假设,模型结构设计和数字信号处理学科完全脱钩,发挥了CNN网络的多层结构和多通道特征提提取的优势,同时充分发挥深度学习学科模型设计灵活自由的学科优势。
据介绍,相较于传统基于数字信号处理的麦克阵列算法, 该方法的错误率降低超过30%,目前已经被集成到百度最新发布的百度鸿鹄芯片中。
基于传统数字信号处理的技术
目前,语音识别技术在高信噪比场景下表现良好,但在低信噪比场景下,往往表现不稳定。
典型的语音识别场景如目标声源、非目标声源、拾音器和语音识别软件系统。以家居场景下的智能音箱产品为例,目标声源是朝音箱发出指令的用户;非目标声源是周围的声音干扰,例如家电噪声;拾音器和语音识别软件系统是智能音箱。在拾音器拾取到的信号中,来自目标声源的信号被称为目标信号,来自非目标声源的信号被称为干扰信号。目标信号强度与干扰信号强度的比值被称为信噪比。
远场语音识别是一个典型的低信噪比场景,绝大多数在售的智能音箱产品系统目前所采用的多通道语音识别系统,都是由一个前端增强模块和一个后端语音识别声学建模模块串联而成的:
前端增强模块通常包括到达方向估计(DOA)和波束生成(BF)。DOA技术主要用于估计目标声源的方向,BF技术则利用目标声源的方位信息,增强目标信号,抑制干扰信号。常用的DOA技术有基于到达时延的定向算法,基于空间谱估计的定向算法等。
常用的BF技术有最小方差无畸变响应波束成形(MVDR BF),线性约束最小方差波束成形(LCMV BF)和广义旁瓣消除波束成形( GSC BF)等。这些BF技术本质上都是提升波束方向内的目标声源方向信号的信噪比,并尽可能的抑制波束外的非目标方向信号。前端增强模块处理后,将产生一路单麦克信号,输入到下面的后端语音识别声学建模模块中。
后端语音识别声学建模模块,会对这一路增强后的语音信号进行深度学习建模。这个建模过程完全类似于手机上的近场语音识别的建模过程,只不过输入建模过程的信号不是手机麦克风采集的一路近场信号,而是用基于麦克阵列数字信号处理技术增强后的一路增强信号。
近些年,前端语音增强技术也逐渐开始用深度学习来做到达方向估计(DOA)和波束生成(BF),不少论文中和产品中也都提到了用深度学习技术来替代麦克阵列系统中的传统数字信号处理技术,也获得了一些提升。
但是上面这一类语音增强技术大都是采用基于MSE的优化准则,从听觉感知上使得波束内语音更加清晰,波束外的背景噪音更小。但是听觉感知和识别率并不完全一致。而且这种方法在噪音内容也是语音内容的时候,性能会急剧下降。另外,前端语音增强模块的优化过程独立于后端识别模块。该优化目标与后端识别系统的最终目标不一致。目标的不统一很可能导致前端增强模块的优化结果在最终目标上并非最优。
另外,由于真实产品场合,声源环境复杂,因此大多数产品都是先由DOA确定出声源方向后,再在该方向使用波束生成形成波束,对波束内的信号的信噪比进行提升,同时抑制波束外的噪音的干扰。这样的机制使得整个系统的工作效果都严重依赖于声源定位的准确性。同时用户第一次说唤醒词或者是语音指令的时候,第一次的语音很难准确利用波束信息,影响了首次唤醒率和首句识别率。
2017年,谷歌团队最早提出采用神经网络来解决前端语音增强和语音声学建模的一体化建模问题,文章从信号处理的Filter-and-Sum 方法出发,首先推导出时域上的模型结构,然后进一步推导出频域上的模型结构FCLP(Factored Complex Linear Projection),相比时域模型而言大幅降低了计算量。该结构先后通过空间滤波和频域滤波,从多通道语音中抽取出多个方向的特征,然后将特征送给后端识别模型,最终实现网络的联合优化。
谷歌提出的FCLP结构仍然是以信号处理方法为出发点,起源于delay and sum滤波器,用一个深度学习网络去模拟和逼近信号波束,因此也会受限于信号处理方法的一些先验假设。比如FCLP的最低层没有挖掘频带之间的相关性信息,存在多路麦克信息使用不充分的问题,影响了深度学习建模过程的模型精度。
再比如,beam的方向(looking direction)数目被定义成10个以下,主要是对应于数字信号处理过程的波束空间划分。这种一定要和数字信号处理过程看齐的深度学习模型结构设计,严重影响了深度学习技术在该方向上的发挥和延伸,限制了深度学习模型的模型结构的演变,制约了技术的创新和发展。最终谷歌学术报告,通过这种方法,相对于传统基于数字信号处理的麦克阵列算法,得到了16%的相对错误率降低。
基于复数CNN的语音增强和声学建模一体化端到端建模技术
贾磊在现场披露了基于复数卷积神经网络(Convolutional Neural Network,CNN)的语音增强和声学建模一体化端到端建模技术的更多细节。
具体而言,该模型底部以复数CNN为核心,利用复数CNN网络挖掘生理信号本质特征的特点,采用复数CNN, 复数全连接层以及CNN等多层网络,直接对原始的多通道语音信号进行多尺度、多层次的信息抽取,期间充分挖掘频带之间的关联耦合信息。在保留原始特征相位信息的前提下,同时实现了前端声源定位、波束形成和增强特征提取。该模型底部CNN抽象出来的特征,直接送入百度独有的端到端的流式多级的截断注意力模型中,从而实现了从原始多路麦克信号到识别目标文字的端到端一体化建模。整个网络的优化准则完全依赖于语音识别网络的优化准则来做,完全以识别率提升为目标来做模型参数调优。
除了模型结构外,该方法要想成功落地产品,还必须解决多路麦克的训练数据的获取和建模问题。要知道,目前商业语音识别系统的训练数据,主要依靠从数据公司买来的手机上录制的近场语音数据集合。远场多路麦克数据由于采集设备难于获取和周围噪音环境难于控制,而很少存在成规模的训练集合。
百度则研发了一种利用近场数据来模拟生成远场训练数据的方法:模拟一路信号传输到多路麦克风的信号传输过程,并施加混响噪音和环境加性噪音。利用该方法,他们做出数百万远场房间环境下的远场多路麦可信号的模拟数据,并且成功训练出可以达到产品上线级别的一体化声学模型。
论坛上,搭载了该项语音技术的三款基于鸿鹄语音芯片的硬件产品全新发布:芯片模组 DSP芯片+Flash、Android 开发板DSP芯片+ RK3399、RTOS开发板DSP芯片+ESP32。此外,贾磊还描述了基于鸿鹄语音芯片的端到端软硬一体远场语音交互方案以及全新发布的针对智能家居、智能车载、智能IoT设备的三大场景解决方案。
此外,今年年初百度提出截断注意力模型SMLTA,使得句子的整句识别率、方言的识别以及中英文混合的识别率显著提升,实现了语音识别领域注意力模型的大规模工业在线产品落地。
而在语音合成领域,百度首创Tacotron+wavRNN联合训练,大幅提升云端合成速度。百度地图20句话即可录制语音导航的技术基于百度独创的风格迁移技术Meitron模型,特点主要体现在音色转换、多情感朗读和韵律迁移三个方面,从而大大降低语音合成的门槛。
基于深度学习和产业应用加速突破,百度的语音技术已落地到百度App,百度地图、小度音箱,百度输入法等产品。百度CTO王海峰也在会上宣布,百度大脑通过AI开放平台已开放228项技术能力,接入开发者超过150万,而语音技术日均调用量则超过100亿次。
推荐阅读
我收集了12款自动生成器,无聊人士自娱自乐专用
如何用Neo4j和Scikit-Learn做机器学习任务?| 附超详细分步教程
谷歌母公司创始人双双引退,劈柴哥上位!
对话阿里云叔同:释放云价值,让容器成为“普适”技术
激辩:机器究竟能否理解常识?
Instagram个性化推荐工程中三个关键技术是什么?
从YARN迁移到k8s,滴滴机器学习平台二次开发是这样做的
丁磊向左,刘强东向右
华裔候选人Andrew Yang加密政策公布,如果当选美国总统这些法规将会实施
你点的每个“在看”,我都认真当成了AI
相关文章:

深度神经网络中的局部响应归一化LRN简介及实现
Alex、Hinton等人在2012年的NIPS论文《ImageNet Classification with Deep Convolutional Neural Networks》中将LRN应用于深度神经网络中(AlexNet)。论文见:http://www.cs.toronto.edu/~hinton/absps/imagenet.pdf ,截图如下: 公式解释&…

iOS 被拒解析
原因: Your app uses the "prefs:root" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.Continuing to us…

MSSQL数据库统计所有表的记录数
今天需要筛选出来库中行数不为零的表,于是动手写下了如下存储过程。 CREATE PROCEDURE TableCount AS BEGIN SET NOCOUNT ON DECLARE t1 AS TABLE(id INT IDENTITY,NAME NVARCHAR(50),RowsCount INT) DECLARE indexid AS INT DECLARE maxid AS INT DECLARE count A…

经典网络AlexNet介绍
AlexNet经典网络由Alex Krizhevsky、Hinton等人在2012年提出,发表在NIPS,论文名为《ImageNet Classification with Deep Convolutional Neural Networks》,论文见:http://www.cs.toronto.edu/~hinton/absps/imagenet.pdf …
微软张若非:搜索引擎和广告系统,那些你所不知的AI落地技术
【12月公开课预告】,入群直接获取报名地址12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台——从方法到落地12月12日晚8点直播:利用容器技术打造AI公司技术中台12月17日晚8点直播主题:可重构计算:能效比、通用性…

iOS 之 IQKeyboardManager 解决使用UITableView 界面上移问题
- (void)viewWillAppear:(BOOL)animated {[IQKeyboardManager sharedManager].enable NO;}- (void)viewWillDisappear:(BOOL)animated{[super viewWillDisappear:animated];[IQKeyboardManager sharedManager].enable YES; }

excel增加上一列的数值(日期)
TEXT(D2-1,"m月d日") 有年的话就是 TEXT(D2-1,"yyyy年m月d日") D2就是参照日期转载于:https://www.cnblogs.com/hont/p/4352877.html

iOS 一些基础的方法
iOS button字体居中等的设置 self.replyBtn.contentHorizontalAlignment UIControlContentHorizontalAlignmentCenter; UIControlContentHorizontalAlignmentCenter 0, UIControlContentHorizontalAlignmentLeft 1, UIControlContentHorizontalAlignmentRight 2…

经典网络VGGNet介绍
经典网络VGGNet(其中VGG为Visual Geometry Group)由Karen Simonyan等于2014年提出,论文名为《Very Deep Convolutional Networks for Large-Scale Image Recognition》,论文见:https://arxiv.org/pdf/1409.1556.pdf,网络结构如下图…
70行Go代码打败C
【12月公开课预告】,入群直接获取报名地址12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台——从方法到落地12月12日晚8点直播:利用容器技术打造AI公司技术中台12月17日晚8点直播主题:可重构计算:能效比、通用性…
Android开源框架ImageLoader的完美例子
要使用ImageLoader就要到这里下载jar包: https://github.com/nostra13/Android-Universal-Image-Loader 然后导入项目中去就行了 项目文档结构图: 从界面说起,界面本身是没什么好说的,就是如何在xml当中进行定义罢了 有以下这么多…
“掘金”金融AI落地,英特尔趟出一套通关攻略
有人说,金融业是最大的AI应用场景,但不管怎样,不可否认的事实是金融业已经从数字化走向AI化。某种程度上,AI与金融业有着天然的契合性:其一,金融业本身就是以数据为基本元素的行业,它为AI的模型…

深度神经网络中的Inception模块介绍
深度神经网络(Deep Neural Networks, DNN)或深度卷积网络中的Inception模块是由Google的Christian Szegedy等人提出,包括Inception-v1、Inception-v2、Inception-v3、Inception-v4及Inception-ResNet系列。每个版本均是对其前一个版本的迭代改进。另外,依…

iOS隐藏导航栏的方法
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController setNavigationBarHidden:YES animated:animated]; }

NEW关键字的三种用法
声明:本文最初是本人从他出转载到51CTO上的一篇文章,但现在记不清最初从出处了,原文作者看到还请原来,现在发表在这里只为学习,本人在51CTO的该文章的地址为:http://kestrelsaga.blog.51cto.com/3015222/75…
论文解读 | 微信看一看实时Look-alike推荐算法
作者丨gongyouliu编辑丨lily来源 | 授权转载自大数据与人工智能(ID:ai-big-data)微信看一看的精选文章推荐(见下面图1)大家应该都用过,微信团队在今年发表了一篇文章来专门介绍精选推荐的算法实现细节(Real-time Attention based Look-alike Model,简称R…

经典网络GoogLeNet介绍
经典网络GoogLeNet由Christian Szegedy等于2014年提出,论文名为《Going deeper with convolutions》,论文见:https://arxiv.org/pdf/1409.4842v1.pdf GoogLeNet网络用到了Inception-v1模块,关于Inception模块的介绍可以参考&…

iOS webview 点击按钮返回上一页面或者返回首页
- (void)floatBtn:(UIButton *)sender { NSLog("点击"); if ([self.webView canGoBack]) { [self.webView goBack]; } else{ [self.view resignFirstResponder]; [self.navigationController popViewControllerAnimate…

centos6.6 Kickstart无人值守安装(一):原理篇
为什么80%的码农都做不了架构师?>>> #为什么要自动化无人值守安装? 偷懒……nb……zb……geekno no no 瞬间完成大规模机器部署,提高生产力,节省时间精力,为公司谋取更多利益,实现社会和谐!#怎…
拿来就能用!如何用 AI 算法提高安全运维效率?
作者 | 黄龙责编 | 伍杏玲来源 | CSDN(ID:CSDNnews) 在整个安全工作中,安全运维是不可或缺的一环,其目的是保证各项安全工作持续有效地运作。除了对外的沟通和业务对接相关工作,大部分安全运维的日常工作相…

深度神经网络中Inception-ResNet模块介绍
之前在https://blog.csdn.net/fengbingchun/article/details/113482036 介绍了Inception,在https://blog.csdn.net/fengbingchun/article/details/114167581 介绍了ResNet,这里介绍下深度神经网络中的Inception-ResNet模块。 介绍Inception-ResNet的论文…

iOS 让UIView的左上角和右上角为圆角
-(UIView *)platFormBGV{ if (!_platFormBGV) { _platFormBGV [[UIView alloc] init]; _platFormBGV.backgroundColor [UIColor whiteColor]; _platFormBGV.frame CGRectMake(0, self.view.frame.size.height, APP_WIDTH, 220); // 左上和右上为圆角 UIBezierPath *cornerRa…

HttpUnit学习笔记
HttpUnit 能模拟浏览器的动作,如提交表单、JavaScript执行、基本HTTP认证、cookies建立以及自己主动页面重定向,通过编写代码能够处理取回来的文本、XML DOM或表单、表、链接。当与Junit等框架结合时,就能很easy地进行一个站点的功能測试了。…

C++11中头文件type_traits介绍
C11中的头文件type_traits定义了一系列模板类,在编译期获得某一参数、某一变量、某一个类等等类型信息,主要做静态检查。 此头文件包含三部分: (1).Helper类:帮助创建编译时常量的标准模板类。介绍见以下测试代码: …
反季大清仓,最低仅需34.9元
不知不觉已经12月份了还有一个月就要过年啦很多地方已经进入了寒冬的季节有的地方已经开启了下雪模式纷纷开始买冬天的商品棉衣、羽绒服、取暖器......但是.......今天我是来搞反季清仓的快来看看今天的反季清仓有啥商品~●反季清仓商品—程序员专属定制T ●专属定制T_shirt&am…

iOS 预览word pdf 文件
此类用于改变QLPreviewController 导航栏title #import <QuickLook/QuickLook.h> NS_ASSUME_NONNULL_BEGIN interface QLPreviewController (title) property (nonatomic, strong) NSString *qlpTitle; end NS_ASSUME_NONNULL_END #import "QLPreviewControllertitl…

Java过滤器模式
//创建一个类,在该类上应用标准 public class Person { private String name; private String gender; private String maritalStatus; public Person(String name, String gender, String maritalStatus) { this.name name; …

C++中指向类成员指针的用法
C中,指向类的成员指针包含两种: (1).指向类的成员函数的指针: 类型 (类名::* 函数成员指针名)(参数表); 函数成员指针名 &类名::函数成员名; 也可将以上两条语句调整为一条语句: 类型 (类名::* 函数成员指针名)(参数表) &…
多模态人物识别技术及其在爱奇艺视频场景中的应用 | 公开课笔记
【12月公开课预告】,入群直接获取报名地址12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台——从方法到落地12月12日晚8点直播:利用容器技术打造AI公司技术中台12月17日晚8点直播主题:可重构计算:能效比、通用性…

JsonObject json字符串转换成JSonObject对象
字符串:{"code":"1004","msg":"请先添加系统靠勤人员信息!","userRegistInfo":{"acc":"小谷","id":0,"phoneMac":"","phoneNum":"…