来源:AI前线
本文约3185字,建议阅读6分钟
在语音识别技术领域,Daniel Povey (以下简称:Daniel)的名字家喻户晓。他是语音识别开源工具 Kaldi 的主要开发者和维护者,被称为 Kaldi 之父。
过往,Daniel 在技术领域的发展轨迹始终没有离开“语音识别”。年少时,Daniel 在剑桥大学获得语音识别博士学位。工作初期,Daniel 在 IBM 研究院负责计算机语音识别的工作,并成为 Research Staff Member 的一员。随后,他又进入微软研究院继续深耕语音识别技术,2012 年,Daniel 加入约翰霍普金斯大学,担任语言和语音处理中心系主任。2019 年 12 月初,Daniel 正式加入小米成为小米首席语音科学家,主要负责下一代 Kaldi 的开发。
当今不少广为流传的科学或技术研究成果都诞生于偶然,例如 Guido van Rossum 在开发 Python 时只是因为他在圣诞节期间觉得很无聊,所以决定开发一种新的脚本解释语言。Kaldi 的诞生与之类似。
在采访中,Dainel 表示,最初开发 Kaldi 主要是为了一个特殊的项目——子空间高斯混合模型(SGMM)发布代码。虽然现在这项技术已经不重要了,但 Kaldi 这个工具为其他很多技术提供了支持,也变得越来越受欢迎。
Kaldi 工具包自 2011 年发布以来,下载量超过了两万多次,合著的论文目前也已经被引用三千多次,Kaldi 集成了多种语音识别模型,包括隐马尔可夫和最新的深度学习神经网络,被认为是业界语音识别框架的基石。
与许多早期的机器学习框架类似,Kaldi 本身也是用 C/C++ 语言编写的,虽然当下 Python 是更为机器学习开发者所追捧的,但早期的大部分框架都选择了稳定的 C/C++ 语言。对此,Daniel 认为,高性能的代码通常在内部用 C 或者 C++ 实现,后上层来进行调用,或者是由上层来调用其他 C 或者 C++ 的第三方库。但由于设计时间较早,Kaldi 并没有 Python 接口(或编译成其他语言的接口),要编写唤起 C++ 程序的 shell 脚本来使用 Kaldi。
在加入小米之前,国内外许多互联网头部公司都向 Daniel 抛出了橄榄枝,包括 Facebook、美团、滴滴、快手等,但在提及为什么会选择加入小米时,Daniel 表示:
我想加入一家 规模比较大的公司,能有足够优秀的开发者来进行下一代 Kaldi 的研发。 中国(尤其是北京)大公司云集,人才济济,所以这里自然而然成为了我的选择。我也面试了北京的一些其他公司,给我的感觉都很好,我之所以加入小米,是因为我认为小米是孵化开源软件的沃土,我觉得这里也愿意支持一项长期的开源项目,而且,小米的产品在市场上也有着良好的口碑。在我看来,小米是一家充满活力的企业,同事们都很友好且乐于助人。
Kaldi 的目标用户是那些了解语音识别技术的开发者,Kaldi 对于该领域的入门者来说并不容易。因此 Daniel 也表示接下来会研究 如何简化 Kaldi。但为了避免项目的体量过大,Daniel 团队现阶段并未对 Kaldi 进行大幅度地简化,但已经在 基于 PyTorch 来开发下一代 Kaldi, 该项目还没有完成,也没有对外公开发布。过去几个月,Daniel 对 Kaldi 所做的最大调整就是和快速解码相关的一些变动(解码是部署语音识别系统时的图搜索程序)。
下一代 Kaldi 完成后,Daniel 希望能 将其融入到小米的产品和服务中。
“和中国公司一起打造健康的社区,走向世界。”这是小米集团副总裁、集团技术委员会主席崔宝秋一直向 Daniel 重点表达的开源愿景,这也正是 Daniel 所欣赏的开源社区环境。
2017 年之前,小米没有自己的语音技术团队,但是却已经有了自己的云、大数据和 AI 平台。从过去的互联互通到未来的整体互联服务中,语音交互扮演着越来越重要的角色,小米也意识到,要想在激烈的市场竞争中占得一席之地,首先就要“自强”。
2018 年 3 月,雷军在两会的媒体沟通会上表示,“2017 年年初,小米设立了探索实验室,不久将有重磅级的人工智能产品发布。”而到了 2018 年 7 月,传闻已久的小米 AI 产品——小米 AI 音箱终于现身。在发布会上,小米联合创始人王川特意提到了小米的 NLP 团队,也就是说小米已经用上了自家的 NLP 技术。
两年间,小米不仅组建了自己的语音技术团队,还在智能产品中应用了自家的 NLP 技术,更重要的是,2019 年年初,小米创始人雷军确定了小米“手机 +AIoT"双引擎战略发展模式,为小米在语音技术领域的发展指明了方向,Daniel 带着 Kaldi 的加入则会为小米的“AIoT"战略添砖加瓦。
作为一个开源项目,Kaldi 要用于商业落地还要在很多地方进行调整,例如场景优化、跨平台兼容、对内对外赋能等。加入小米之后,Daniel 负责的主要工作就是将 Kaldi 应用于现有应用,在实践中检验技术的可用性。
目前,业界已有不少企业基于 Kaldi 进行产品研发,针对这一现状,Daniel 在接受 InfoQ 记者采访时给出的建议是:
如果用于基于服务器的、没有内存限制的识别,Kaldi 已经足够优化了,不需要做其他改进。如果用于基于设备的、有内存限制的识别,有时候使用(如 RNN-T)这类端到端的模型,以及 Tensorflow 工具包可能会比仅使用 Kaldi 更有成效。
语音识别是计算机处理和识别人类语音的能力,其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或字符序列。语音识别涉及信号处理、概率论和信息论、模式识别、声学、语言学和认知科学、人工智能等许多学科领域。
过往,工业界取得的许多技术突破是依赖学术界的研究结果,例如,语音识别技术在上世纪 50 年代就已经诞生,而到了 2012 年才在深度神经网络的助力下达到实用化,在没有应用 DNN 之前的六十年里,语音识别技术的发展极为缓慢。2015 年以前,业界更多使用的是传统的 DNN-HMM 混合模型,需要借助对齐信息和上下文相关音素才能达到比较好的识别准确率。2015 年以后,CTC 算法简化了训练过程,于是语音界纷纷投入大量资源训练更深、更复杂的神经网络,利用端到端技术进一步大幅提升语音识别的性能。2017 年 12 月,谷歌提出“使用序列到序列模型的当前最佳语音识别系统”(State-of-the-art Speech Recognition With Sequence-to-Sequence Models),将词错率降低至 5.6%,业界又开始基于此进行探索......
可以说,工业界的每一次突破背后都是学术界的研究成果在支撑,这种模式在人工智能领域最为明显。对此,Daniel 认为:
有时产品开发有助于推进研究,因为它强制我们去解决一些主流研究无法解决的问题,当研究遇到天花板时,就迫使人们要做出改变来解决问题。
语音识别技术发展至今,已经在工业、医疗、教育、金融等各行业进行了落地,而语音识别产品供应商们也表示其产品的识别准确率达到了 95% 甚至 97%,针对当下语音识别技术的发展现状,Daniel 认为:
现在业内许多人士认为,语音识别系统的准确度已经很高了,但实际上这种高精准度仅仅针对的是某些特定的语音类型。现阶段,让机器来识别人们日常交流还是比较困难的,尤其是当周围环境掺杂着噪声、音乐且多人同时发声时。也就是说,我们还需要对现有的语音识别技术进行认真打磨。
过去几年,我们看到了各类算法不断出现并应用在实际的业务系统中,进而提升语音识别的效果。同时,语音识别技术的应用领域越来越广,基于语音识别技术的人机交互系统开始大规模应用,并且在限定场景下已经有比较好的表现,比如机器人电话客服系统、智能手机助手、智能音箱等。从火爆渐趋冷静,从学术突破到工业落地,接下来,语音识别领域的技术突破值得期待。
嘉宾介绍:
Daniel Povey 是著名的语音识别开源工具 Kaldi 的主要开发者和维护者,被称为 Kaldi 之父。Kaldi 集成了多种语音识别模型,包括隐马尔可夫和最新的深度学习神经网络,公认是业界语音识别框架的基石。1993 年至 2003 年,Daniel 在剑桥大学度过了自己的高等教育经历,获得语音识别的博士学位。2003 年至 2008 年,Daniel 在 IBM 研究院负责计算机语音识别的工作,成为 Research Staff Member 的一员。2008 年至 2012 年, Daniel 在微软研究院参与计算机语音识别方面的工作。2012 年,Daniel 加入约翰霍普金斯大学,担任语言和语音处理中心系主任。2019 年 12 月,Daniel 正式加入小米公司,担任小米首席语音科学家,负责开发下一代 Kaldi。
——END——