结合语义理解的语音识别技术和深度学习技术 百度语音技术部 贾磊 2013.8.01
. . . 通用语音识别服务简介 声学训练 数据 语言训练 返回识别结果/命令 个人用户 账号信息 个人账号分享信息 任务调度模块 声学模型 语音压缩 无线网络 网络 接口协议 . . . 声学训练 数据 语言训练 语言模型自适应 解码器 识别结果返回 返回识别结果/命令 语言模型 个人用户 账号信息 个人账号分享信息 解码空间组织和构建 任务调度模块 端点检测 手机本地解析 声学模型 输出分布 DNN 语音服务内容 … …
识别文字结果,输入query种类,指令内容解析 一套解码器支持多种应用 ( 统一入口技术) 百度搜索 好123 手机地图 百度应用 百度音乐 手机浏览器 输入法 语音助手 手机指令 统一构架交互入口 融合Grammer 和 Ngram信息的解码空间 类语言模型,Grammer模型,Ngram模型 深度神经网络 模型 一遍解码 识别文字结果,输入query种类,指令内容解析
互联网下的语音识别的技术挑战 1. 网络化的识别构架 海量的来自各种终端的声学语料和声学模型的个性化自适应 1. 网络化的识别构架 海量的来自各种终端的声学语料和声学模型的个性化自适应 海量的来自各种渠道的文本语料和语言信息的快速更新 4. 语义理解和语音识别紧密相关,语音识别和互联网服务紧密相关 5. 语音识别服务计算资源耗费严重 数据增加 算法性能提升
分布式语言模型分块高速训练(1) 倒数第二个词是W2的后缀树的直接快速抽取 递归的后缀树排序 语料 语料1 +索引 网络传输 语料2 语料3 。。。 CPU Kernel1 CPU Kernel2 CPU Kernel3 递归的后缀树排序 语料 +索引 倒数第二个词是W2的后缀树的直接快速抽取 网络传输 基于树合并的归并排序
融合语义解析的声学空间网络 词典自跳转 Grammer: 打电话给【人名】 发短息给【人名】说【短信内容】 从【地名】到【地名】怎么走 词条1 词条2 词条3 词条4 … … 词典自跳转 语言模型的中任意单个词 一些同义词构成的词组集合。例如: 想,要,要求 一些专名集合。例如人名,地名等 一些助词。例如:吧,呢,吗等 个性化的专名和称谓 Grammer: 打电话给【人名】 发短息给【人名】说【短信内容】 从【地名】到【地名】怎么走 我想订【时间】的去【地名】的机票 发短信给【妈妈】说我去贵阳开会了 未来:统计语言模型之后 最大墒语言模型 RNN 短语模型 - 层次短语模型 词典定义 词类定义
混合高斯模型和DNN模型 图二: 深度神经网络 。。。 更多隐层 图一:混合高斯模型
DNN模型在百度的应用 百度在2012年9月份上线了语音搜索引擎的DNN模型, 2012年10月份和2012年12月份分别上线了百度的语音输入法和语音助手的DNN模型。平均相对误识别率相对于百度最好的GMM系统而言降低20%以上
语音识别中的DNN成功的启示 DNN成功的原因 DNN成功的启示 深度建模: 深度多层的网络结构 特征融合: 融合当前帧的更多的左右context信息 稀疏化的权重分布:神经元的局部记忆激活 海量数据训练 GPU训练 DNN成功的启示 要采用能够使用更多特征的分类器 要选择能够配合大数据使用的分类器 要采用能够随着数据量增加就轻松的scale up的分类器 要选择能够分布式并行化训练的分类器 要选择能够用算法简化结构的模型,分类器要能够压缩在线计算量 不片面追求优化算法的最优,更重视大数据的使用
Down-pure SGD (on-line method) 异步SGD训练和LBFGS Down-pure SGD (on-line method) LBFGS Bache mode Robust to computer failure Possible sub-set model parameter sharing Introduce more stochasticity Asynchronous model update Much less bandwidth requirement Bache mode learning
基于二阶统计信息的DNN训练 Deep learning: 一个拥有千万个未知参数的数学优化问题。 Hassian-Free Deep Learning: (1) 神经网络的输出损失函数(交互墒,最小二乘,softmax) 是凸函数 (2) 采用高斯牛顿法近似整个神经网络的损失函数 (3) 由于G是正定的,因此构建下面的二阶辅助目标函数 (4) 共轭梯度法 优化二阶辅助目标函数 (5) 核心Trick1: Gd 核心Trick2: Mini-bache 高斯牛顿估计 核心Trick3: Back-tracing 高斯牛顿法的 二阶矩阵G 如何调节?
序列化的区分度DNN学习 交互墒准则 2. 关键帧抽样和引入序列信息的序列区分度 VTB结果 Lattice结果
分布式多GPU并行DNN训练系统 = 数据分布式存储,模型集中存储 每个计算节点是都采用单机四核的异步SGD算法 。。。 树状和环装连接同时支持的网络结构 PC Server GPU = 计算平台 (Deep Brain) 数据分布式存储,模型集中存储 每个计算节点是都采用单机四核的异步SGD算法 跨机多GPU并行DNN训练问题的主要难度: - 基于mini-bache的SGD算法本质上是个串行算法 跨机器异步SGD的机器间通讯时间远大于训练时间 提出一种分布式跨机多GPU并行训练新算法:结合平均SGD和异步SGD。成功解决上述问题。 算法效果: 训练速度可以加速10倍以上,识别率较单机训练低于0.5点以内
人才招聘 - 相信技术的力量 1. 招聘对语音识别技术、语音合成技术、音乐处理相关技术自然语言处理技术,和机器学习技术有热情的年轻人。 人才招聘 - 相信技术的力量 1. 招聘对语音识别技术、语音合成技术、音乐处理相关技术自然语言处理技术,和机器学习技术有热情的年轻人。 2. 较好的算法或者产品研发经验,优秀的代码能力 3. jialei@baidu.com
结束… 谢谢大家