端对端学习使用一个算法将输入和输出联系了起来,通常采用的是一个深层的神经网络。端对端学习推崇更少的人工特征设计,更少的中间单元。端对端学习的系统包括:基于 CTC 的语音识别,基于注意机制的机器翻译,都已经在工业界得到了应用。 机器之心:Warp-CTC 、Stanford CTC 和 TensorFlow 等在使用上有什么明显区别么? 李先刚:我对 Stanford CTC 了解不多,但不管是哪种,我相信都是对 CTC 这种算法的功能实现,都是加速的问题。TensorFlow 不太一样,它是深度学习框架,不是针对 CTC 来做,客观来说,它的好处是方便研究者做实验预研。但坏处是速度慢。你可以在实验室里很快的尝试一个新的网络结构,做个 100 小时的实验,但如果规模上去了,TensorFlow 是不够的。 机器之心:语言模型采用 n-gram models 的主要好处是什么? 李先刚:n 元文法技术相对较老,但它可以很好的把规模弄上去,百度是一个文本大数据公司,在这样的背景下,你会发现基于大数据做一个很好的 n 元文法是很容易的,而且性能很好。通过这样一个大模型,通过海量数据,加上工程师做解码器的特别优化,使得系统在很好的实时性下的情况去达到很好的识别率。 说到语言模型,还有一个研究比较多的是神经网络语言模型。对于神经网络语言模型,我们也希望能做到 first-pass decoding ,神经网络语言模型还有一些工程上的东西需要突破,我们都是把它放在第二遍 second-pass rescoring 上。总之,两者相比的话,神经网络语言模型的计算量特别大,优势是性能好。这个需要做很多工程方面的工作。 机器之心:训练数据里的「模拟语音数据」和 10 万小时的精准标注语音数据对最后性能提升的贡献各有什么样的价值?如何获取「精准标注」数据? 李先刚:训练模型的根本还是精确标注的数据,这是决定整个性能的基础。一般来说可以有这样的结论:数据增加十倍,性能提升10%,这是针对精准人工标注的数据。一般情况下,在获取什么样的精确标注数据的问题上,我们也会结合主动学习的思想,去收集那些对识别率影响更加直接的数据拿来人工精标。那为什么还要用模拟数据呢?所谓的模拟数据就是在精准标注的基础上做些信号变化,加一点背景噪声、混响的冲击响应,加上这些数据以后,会使模型能够见过更加多样的数据,这样对于模型的推广性和性能有一定程度的帮助,这算是一个保证模型具有更强能力的方法。所以,从根本上来说还是那 10 万小时。 机器之心:百度自主研发的硬件技术对计算效率有多少贡献? 李先刚:百度开源了 Warp-CTC ,CTC 算法本质是一个前向后向算法在里面,要实现它的并行化还是比较难的,Warp-CTC 在这方面做的比较好。我们在做实验时发现,有了 Warp-CTC 这样一个高速的算法,还有我们自己内部有一个非常高效的多机训练的平台。使得我们整个模型训练的规模性比较好,当我们从一台机器扩展到十台机器,我们训练速度上的提升基本可以接近线性。有了这样的平台,才能使我们的近十万小时的模型才能做实验。否则连实验也做不了。 此外,基于百度自主研发的硬件,才使得这样的计算复杂度更好的 Deep CNN 技术得以成为线上的服务。只有这些硬件技术的不断升级,才给了我们声学建模研究更大的空间。 机器之心:CNN 是目前语音领域的最新研究进展,你能介绍一下深度学习以来语音领域出现过的其他突破性研究吗? 李先刚:大约是在 2011、2012 年开始将深度学习用于语音研究,最早是用最简单的前馈 DNN 模型,发现比 GMM 有 30% 的提升,大家就意思到这是一个划时代的突破。2013 年,研究者开始尝试做一些激活函数(例如ReLU,Maxout),其中的 Maxout 发现对 low-resource 的任务有帮助,对真实的大数据库不一定有显著帮助;2013-2014 年,大家开始做 CNN ,而非深层的;2014 年开始做 RNN ,尤其是 LSTM 。2014 年底 2015 年初,Hinton 的博士后 Alex Graves ,把以前做手写体识别的 LSTM 加 CTC 的系统应用在了语音识别领域,在 TIMIT 上做了结果。紧接着谷歌认为这个很有前途,就开始把这些技术推广在大数据上面。LSTM 和 CTC 引入进来之后,相较于之前的 DNN ,LSTM 能够更好的帮助模型来捕捉输入中的重要的点,CTC 打破了隐马尔科夫的假设,把整个模型从静态分类变成了序列分类,这是很重要的。百度在 2015 年中期开始做,年底 LSTM 和 CTC 上线。现在的 Deep CNN 是在我们整个研究框架中把 CNN 的潜力挖掘的更彻底。其实 CNN 和 LSTM 有相通也有不一样的地方,如果 CNN 在时间上做卷积的话,和 LSTM 有很多相似之处。而不同在于 LSTM 擅长做整个时间域信息的整合,而 CNN 要想达到同样效果做的配置就要更加复杂。但 CNN 有很强的平移的不变性,对于整个语音识别任务来说,要获得更好的鲁棒性,CNN 比 LSTM 做的好。 机器之心:这次 Deep CNN 带来的提升会应用在哪些产品中? (责任编辑:本港台直播) |