黄学东说:“我们说人工智能达到人的水平,要讲在什么样的任务下可以达到人类水平。简单的任务,容易达到人类水平;困难的任务例如对话识别,整个语音界为此努力了二十多年,在这样难度很高的识别任务中能够达到人类水平,是一个重要的里程碑!” 同时,黄学东认为,评测的数据集对其最后结果的解读也会产生不一样的影响。根据官网,Switchboard 的数据是包括了大约2400个自然情形下的对话[1],包含了各种年龄阶段、覆盖了美国主要的一些地方口语。这是一个公认的数据集。在这样的数据集下,计算机做到跟人一样的水平是很不容易的。 那么,从技术上来说,黄学东团队“达到人类水平” 的语音识别技术,是如何实现的呢? 黄学东对新智元说:“达到人类水平的对话语音识别,与其说是算法的胜利,不如说是‘工程的奇迹’。” 微软一项著名的技术——深度残差网络,在黄学东团队的语音识别技术中发挥了重要作用。他说,事实上,这个人类水平的对话语音识别系统用到了10个不同的神经网络。基本上我们能想到的神经网络,他们都用了。通过10个神经网络合力得出最佳结果。所以,这可以称得上是“一场工程的奇迹”。 具体的过程是:首先是用6个不同的神经网络组合并行工作,包括了残差网络、LSTM等,最后的结果再通过4个新的神经网络再组合之后输出,最终获得达到了人类水平的对话语音识别结果。
各个神经网络单独训练词错率和最终系统词错率 据黄学东介绍,在这个模型中,每个神经网络首先分别用长达2000小时的数据单独训练,每个系统具有超过2万个 senone。其中CNN单独训练的效果最出众。在这些神经网络中,包括了3个CNN的变种: 第一个是VGG网络,相比用于图像识别的VGG,这个用于语音识别的VGG网络更深; 第二个是残差网络,在微软亚洲研究院用残差网络在 ImageNet 上取得好成绩的时候,语音团队也引入了残差网络; 第三个是 LACE,是 TDNN 的变种,每一个高层次是一系列低层次的非线性变换的加权总值。 紧随其后的是 LSTM 的单独表现。黄学东团队发现,超过六层的神经网络不能改善词错率,而对于每一个方向的每一个层,选择512个隐藏单位,是对于训练时间和精确度的最佳平衡。 他也提到,整个训练过程主要是监督学习。并且他们最终上线的产品实际训练数据不仅仅是 Switchboard数据集,训练时间也远远超过 2000小时。目前该项研究成果已经用在了如小冰、Cortana、Customize Speech Service 等语音产品。因为商用的语音识别需要的计算资源更多,所以小冰和Cortana实际上用的是简化版的模型。 功臣——CNTK 如此复杂的工程,微软在不到一年的时间完成并取得很好效果。黄学东认为 CNTK 功不可没,尤其是,CNTK在LSTM的训练速度是其它主流开源框架的5倍到10倍。 CNTK 是黄学东团队在研究过程中开发的一个开源深度学习工具包,现在不仅仅是语音团队,图像、自然语言处理、医疗服务等团队都在使用这个工具。
据介绍,CNTK具有灵活的模型定义,同时能够有效地扩展到多个GPU和多个服务器。即使长达2000个小时的语料库,CNTK 也能以很高的性能应对这样的训练挑战。同时CNTK 中既可以使用自定义的函数语言 Brain,也可以用Python。 黄学东说微软的内部工程需要很多数据来训练,做了很多的优化,因此CNTK非常快。这也是他们迅速训练出达到人类水平语音识别AI的关键因素。 现在 CNTK 已经是最受欢迎的开源框架之一,难免被拿出来跟其它几个开源框架比较,例如TensorFlow、Caffe、MXNet、Torch等。大家一提到开源框架,可能更多的人想到 TensorFlow。 黄学东说,关于开源深度学习框框,少有人知的两点事实是: (责任编辑:本港台直播) |