当前位置:首页 > IT资讯 >

语音识别大拿 Daniel Povey 发布新一代框架 Kaldi,有望年内应用于小米产品IT资讯

来源:天之家 发表于:2021-11-11 10:39 阅读:

  8 月 31 日,Daniel Povey 以小米集团首席语音科学家的身份,正式推出了新一代 Kaldi。

  Daniel Povey 是语音识别领域的执牛耳者,他主要开发和维护的开源工具 Kaldi,是业界公认的语音识别框架的基石,他也被称为 Kaldi 之父。

  2019 年 Daniel 离任约翰霍普金斯大学语言和语音处理中心教职,在 Facebook、美团、滴滴、快手等一众互联网巨头抛来的橄榄枝中选择了小米,开始带领小米语音技术团队开发新一代 Kaldi。

语音识别大拿 Daniel Povey 发布新一代框架 Kaldi,有望年内应用于小米产品

  加入小米后,业界开发者对 Daniel 的研究动向一直高度关注。

  昨日 Daniel 亮相发布会现场,宣布新一代 Kaldi 完成了所有子项目的布局。他表示,“新一代 Kaldi 的目标不仅仅是赶上或者稍微领先现有语音识别库,而是要从根本上改变语音识别的实现方式。”

  据悉,经过近一年多的技术研发,Daniel 团队完成了所有模块的研发和更新,新一代 Kaldi 在 Librispeech 数据集上的词错率降到了 2.57%;通过全新代码库解决了 Kaldi 灵活性不足、体量过大等问题;作为核心部件的 k2,不仅可以用来做语音识别,也可以用来做手写文字识别等其他任务。

  兼容 PyTorch,提高识别精度

  Kaldi 集成了多种语音识别模型,包括隐马尔可夫和最新的深度学习神经网络,自 2011 年发布以来下载量超过了两万多次。无论是工业界还是学术界,几乎所有的语音团队都在使用 Kaldi 引擎来开发智能解决方案,包括 MIT、哈佛、清华、微软、谷歌、Facebook 等等。

语音识别大拿 Daniel Povey 发布新一代框架 Kaldi,有望年内应用于小米产品

  作为语音识别领域的“老前辈”,Kaldi 也急需更新迭代。

  Daniel 在媒体见面会上坦言,初版 Kaldi 的旧代码库已经难以满足机器学习发展的需求,用户需要更轻便、更灵活的源代码,也需要兼容 PyTorch 等主流框架的工具包。

  新一代 Kaldi 的研发工作从 2019 开始启动,去年已经完成了 k2 和 Lhotse 模块的研发工作。Daniel 还在 2020 MIDC 大会上进行了展示,不过当时 Icefall 模块还只是一个初步概念。今年研发团队进一步完善了 k2 和 Lhotse 模块, 并基于二者正式发布 Icefall 项目。

  Daniel 介绍说,与初代 Kaldi 相比,新一代 Kaldi 是一个全新的代码库,主要是由 C++、CUDA 写就;支持 Python 调用;后端也由 PyTorch 取代了此前的自定义代码。

  发布会现场,Daniel 团队不仅展示了如何使用 k2 和 Lhotse 来实现现有的各种不同的语音识别模型,如基于 Transformer/Conformer 的 CTC 和 LF-MMI 等,更着重展示了 k2 何以能从根本上改变人们实现语音识别的方式。

语音识别大拿 Daniel Povey 发布新一代框架 Kaldi,有望年内应用于小米产品

  “我们实现了多轮解码 (mutiple pass decoding) 的示例,以及我们称之为‘双向建模’(bidirectional modeling) 的模型”。Daniel 兴奋地表示,基于这种多层模型的优势,新一代 Kaldi 可以大大提高语音识别模型的建模能力,从而降低词错误率。目前,新一代 Kaldi 在 LibriSpeech 数据集上的词错误率为 2.57%。

  值得一提的是,Daniel 团队在 k2 中实现了所有的 FSA 操作的可导性,用户仅使用几十行代码就可以完成复杂的多层模型结构。同时,他们还为用户提供了极大的“自定义”空间,诸如在网络中加入 phone 的 embedding 信息,支持带置信度的识别等用户自己的各种想法都能够基于 k2 来实现。

  Daniel 表示,希望通过新一代 Kaldi,能为语音识别领域打开一扇崭新的大门。

  引入 Python,改善灵活性

  新一代 Kaldi 分为 Lhotse、Icefall 和 k2 三个部分,Daniel Povey 博士在发布会上表示,新一代 Kaldi 的独立设计是为了降低耦合性,方便用户使用。更重要的是,这样有助于扩展了组件使用的灵活性。

  例如,用作数据准备的 Lhotse,既可以用在 Icefall 项目里,也可以用在任意其他语音识别库里来处理音频和文本数据,

  Daniel 团队在发布会上介绍了 Lhotse、Icefall 和 k2 三个部分的更新细节。

  Lhotse 抛弃了传统的 shell 脚本,采用了更加方便易用的 Python 语言。通过通用且不失灵活性的接口设计,满足了包括语音识别,语音合成等多种语音任务的需求,方便用户基于 Lhotse 可以方便地实现针对自己特定任务的接口,操纵各种不同的音频元数据和文本。

语音识别大拿 Daniel Povey 发布新一代框架 Kaldi,有望年内应用于小米产品