开发者学堂课程【达摩院智能语音交互 - 语音识别技术:阿里研究成果】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/45/detail/977
阿里研究成果
内容介绍:
一、阿里巴巴语音识别技术进展
二、声学模型: GMM-HMM =>NN-HMM
三、声学建模
四、深度前馈序列记忆网络(DFSMN)
五、基于 DFSMN-CTC-SMBR 的声学模块
六、CTC 应用于中文识别
七、联合 CTC 和 CE 优化准则
八、基于“字”的中文建模单元
九、应用案例
一、阿里巴巴语音识别技术进展
阿里巴巴在语音识别方面实际上是也得到了一些技术成果,这里回顾一下阿里巴巴关于识别技术的进展。
在2016年3月上线了第一个双向 LSTM 模型称为 LCBLSTM,在2016年11份经过三倍的 RTF 下降,下面三个版本第一个改变是效力上的一个提升,可以获得三倍的 RTF 下降。在2018年1月份上线了 LFR-DFSMN,三个版本的改变就是将申请模型从 LFR-LCBLSTN 改变为 LFR-DFSMN,可以获得超过2.5倍的下降,或者超过20%的相对提升,进一步的在2018年9月份上线了 DFSMN-CTC-SMBR,这里的改变主要是优化准则上的改变。
在 DFSMN-CTC-SMBR 采用的是长短交换三准则,然后 DFSMN-CTC-SMBR 里面采用的业界最前沿的 CTC-SMBR 准则进行训练优化,客户的超过三倍的 RTF 下降已经超过25%的相对性能提升。
二、声学模型: GMM-HMM =>NN-HMM
·前馈全连接深度神经网络(DNN )
·卷积神经网络(CNN)
·循环神经网络(RNN)
·基于长短时记忆单元的循环神经网络(LSTM,BLSTM )
在介绍阿里巴巴声学模型之前先回顾一下研究界关于声学模型的进展,从最早的GMM-HMM 到 NN-HMM 过程中一个显著的改变就是各种神经网络结构被用于申请和建模,从最早被应用于实际建模会成立神经网络 DNN,过程中输入实际上是语音信号的是相联系的是十一个拼接,它存在问题就是 DNN 是固定输入长度到固定速度的映射的关系,很难对与信号机的产生相关性进行建模,所以说它的性能是存在一定的瓶颈的。考虑到与之前产生相关性建模,一个改进的模型简单的 RNN,循环神经网络被用于声学建模,RNN 可以通过定位反馈连接对已经产生的相关性进行建模,从而使得它可以获得相比第二个更好的性能。但是简单 RNN 实际上是也存在一些问题,它的优化过程中经常会出现出现梯度相似以及梯度爆炸一个改进的模型上是基于长短时记忆单元的相关神经网络 LSTM,它通过一些门来控制信号的输入以及梯度的回传,使得它可以一定程度上避免梯度消失以及梯度爆炸问题。所以说 stm 可以参比LSTM 可以获得更优的性能。
进一步的可以考虑到语音信号,其实当前是个不仅跟历史相关,其实跟未来也是相关的,所以说如果有些有些人利用 BLSTM 以及未来的语音建模有一定的帮助性,所以BLSTM 被应用于声学建模。
三、声学建模
从 DNN 到 BLSTM
显著的性能提升,相对提升超过20%
问题∶带来计算量和延时的增加
非循环的网络结构用于语音的长时相关建模.
Unfolded RNN [G. Saon et al., 2014]
Time Delay Neural Networks (TDNN)[A. Waibel, 1989; D. Povey et al., 2015]
Feedforward Sequential Memory Networks (FSMN) [S.L.Lnang et al.y,2U13,2016]
从 DNN 到 BLSTM 过程中一个显著的改变就是模型性能的提升,普遍可以超过20%的一个性能的提升,它也存在一些问题,比如 BLSTM 比 DNN 的计算量会大很多,同时由于 BLSTM 需要利用到未来,需要研究很多内容,很难用于实时的语音识别,进一步考虑到从 DNN 到 BLSTM 性能提升一个主要的原因就是 BLSTM 的模型,它可以对信号中的产业相关性进行建模,通过循环结构产生相关建模。
所以学界另一个研究点,就是说如果可以用微循环的管道结构运营的产生相关建模可以获得新的提升,同时也可以获得高效的模型计算。
四、深度前馈序列记忆网络(DFSMN)
在加入阿里巴巴以后,实际上是进一步对 FSMN 进行了优化提出了深度前馈序列记忆网络,从 FSMN 到 DFSMN 的过程中,主要的是因为现在面临的是一个工业级的大数据,在学校可能学生研究更多用的是一些小数据库,比如最大可能就有300小时的量,但是工业界应用的数据可能都有3万小时,比如说像现在使用的比如2万小时一个新的数据,过程中从300小时到2万小时,建模能力不太够,所以从 FSMN 升级到DFSMN,二者相比,DFSMN 显著的能力首先是生产的结构,通过堆积数十个DFSMN 模块,模型具有很强的建模能力,为了避免深层网络梯度消失问题,再进一步引入跳转连接来解决梯度消失问题,同时会引入步长因子,模型就有更长的持续建模能力。关于 DFSMN 模块,它的计算公式实际上是包括三个操作,分别是ilu层、信息层和记忆模块。
五、基于 DFSMN-CTC-SMBR 的声学模块
1.传统的声学模型
frame-level cross-entropy + sequence-level discriminative training(MPE,SMBR)
2.基于 CTC 的声学建模
First proposed by Grave @2006@2013
Successfully applied to LVCSR by Google @2016
3.对比 CTC 和 CE 声学模型
性能更好,解决效率更高
问题:训练不稳定﹔尖峰延迟;更多 trick
4.将 CTC 应用于声学建模现状和难点
现有工作:LSTM-CTC
BLSTM-CTC 不能进行在线语音识别
Training and decoding effectiveness; Unstable problem; Spike delay problem
Mandarin.acoustic modeling urits
在提出 DFSMN 模式以后,进一步的引入了业界最先进的优化准则 CTC-SMBR 准则替换了传统的交叉三准则来优化 DFSMN,CTC-SMBR 最早在国内有2016年提出,然后在2013年应用于语音识别模型的。
在2016年,谷歌首先在大规模和语音识别任务上取得了成功,相比传统的 CDC 准则,SMBR 的性能更好,同时解决效率更高。但它实际上也存在一些问题,比如说它训练不稳定,而且尖端可能会存在一些不可控的延时,以及它可能需要更多的 trick 才能够进行有效的优化,这样 CTC 在应用于声学模型,其实目前主要的还是 LSTM-CTC。但是 BLSTM-CTC 存在一个问题就是它不能进行在线的语音识别,所以它的应用还是非常受限。
所以在这里就考虑将 DFSMN 和 CTC 的进行结合,这样可能需要解决 CTC 训练所遇到一些问题,比如说训练的不稳定,尖峰延迟等等,同时今后会考虑面向中文语音识别系研究各种声学建模单元。
六、CTC 应用于中文识别
相对应的通过考虑训练效率、训练稳定、尖峰延迟、解码效率以及性能提升,做了以上的这些工作。首先是训练效率上,通过替换传统的 Streams 也依然采用多流的方式进行训练,这里为了训练的稳定性而采用进行 mni-Batch 的方式进行训练。另外实现了多级训练,可以保证具有非常高的训练效率,两万小时的训练效率采用16卡实际上是一天就可以完成整个模型的训练。
另外为了去提出了采用 lfrdy14M70 模式初始化,实际上是可以提升整个训练的稳定性同时有助于训练效率的提升以及性能的提升,进一步提出了 Joint CTC-CE 的优化准则,用于解决整个训练的稳定性以及尖端延时事的问题,同时也有助于一个模型系列性能的提升。进一步一个研究,重点是研究中文建模的模型,对比了各种声学建模,包括传统的文本无关的stream模型以及相关的声音模型、音节,同时也提出了一些改进的建模单元,比如缝合建模单元以及一种新的自建模单元,这些技术的改变实际上是对整个解码效率的提升以及性能提升都具有明显的作用,可以在解码的阿里到0.1以下。
七、联合 CTC 和 CE 优化准则
解决尖峰延迟问题
提升训练稳定性和性能
首先是通过联合 CTC 提出了优化准则来解决整个监控的延时问题,同时可以整个提升整个稳定剂和性能,如上表就是一些性能的对比。传统的 CE 模型是在两个 test 测试性能,通过采用 CTC 的准则实可以获得3.2%的性能的提升,在快速的TEST下可以获得非常明显的性能提升。
进一步通过联合 CTC CE 准则,虽然是在两个测试下都有了更加明显的性能提升,联合 CE 准则的整个实际上是一个更有效的帮助是可以解决尖端的延时问题。
在 CTC 里面它没有一个对体信息,所以说它的尖端虽然是语音波形式,实际上会出现一定的不匹配.
语音信号的红点表示语音信号的一个建模单元有它的中心位置,对于 CTC 一侧的建模单元的尖端和这些中心证实际是不匹配的,有的时候它是延时的,有的时候是靠前的,而且是不可控的,这样在实际应用中用户的体验感救护比较差,有时候会感觉到延时而有时候又会感到提前。但是传统的交叉三准则实际上是很强的真级别的定义信息,所以说这里就考虑一下 CTC 与 CE 进行结合来优化整个设计和模型。在这里可以发现通过联合 CTC 和 CE,一层的尖端实际上是和中心虽然是有一个很好的对应关系。
进一步可以考虑中文的声学建模单元,从绑定的声韵母、音节、字符、词和序列,建模单元越来越大,相对应的数量也是越来越多的。在过程中传统的模型普遍采用的是绑定的声韵母模型,在的研究里面进一步探索的其它的建模单元用于声学建模的可能性。除了绑定的声韵母以外,进一步去验证的音节以及混合音节和字以及字的字符的建模单元。
八、基于“字”的中文建模单元
OOV 问题︰中文汉字有数万个
解决方案∶将一些低频字根据发音映射成同音高频字
优点∶1)不需要发音词典;2)小的网络输出层;3)高解决效率
目前探索过程得到一个最好的方案是基于新的“字”的中文建模单元,中国的汉字实际上是有数万个,所以在过程中没有办法采用所有的汉字进行建模,因为它会导致模型输入层会很大。但是如果只是采用有限数目的资金建模还面临一个 OOV 问题,即有些字是不在模型里面的,那么在识别过程中,就没有办法识别正确。所以针对性OOV 问题提出了一个解决方案,就是将一些低频字根据发音映射成同音高频字,这样只需要采用有限数目的字进行建模就可以覆盖所有的字。统计的解码过程中的语言模型就可以通过不同的字。
相对提出了如下的映射方式。对于不在的列表里面的一些字,是可以把称为 OOV character 实际上是可以分成两部分,第一部分是 OOV Character set1,它可以通过一些映射的方式得到它的音节,通过映射可以进一步映射一些高频的字。还有一部分OOV 它所影射的字音也是一些很低频的音节,它可能找不到一些高频的字,就可以将它射成一些 OOV 的字集,通过联合高频字以及一些剩下的 OOV 字就会覆盖所有所有的汉字作为一个建模单元。
可能在整个解码过程中就不需要发音字典,另外可以采用一个小的网络输入层同时也可以具有很高的解码效率。
表格实际上对比了不同的建模单元整个的性能提升了,从最早的 syllable 到 char(2k)建模到最后的 Character-4k 性能是逐渐提升的。
九、应用案例
关于阿里巴巴语音交互技术的一个应用,这里是整个阿里交互智能技术的一个概括。
实际上是底层是包括一些技术模块加语音技术,语音技术 ASR 形式是其中的一个环节,后面包括交互技术和工程技术。包括一些产品级的应用,例如语音交互的能力以及语音交互智能平台。
同时在阿里云上有一个完整的语音交互产品,包括录音文件的识别、实时语音转写、一句话识别、语音合成、语音合成声音定制以及语音模型自学习工具,这些产品通过阿里云是可以对外输出的。