阅读 125

Kaldi之父Daniel Povey:新一代Kaldi将根本上改变语音识别

近日,Kaldi 之父 Daniel Povey 接受媒体专访,发布了新一代 Kaldi, 包括 k2、Lhotse 和 Icefall 三个部分。据介绍,新一代 Kaldi 之所以将整个项目分为三个部分,一方面是为了降低耦合性,方便用户使用。更重要的是,Lhotse 作为数据准备部分,不仅可以用在 Icefall 项目里,也可以用在任意其他语音识别库里来处理音频和文本数据。

  其实在去年的 MIDC 大会上,Daniel Povey 博士就发布了新一代 Kaldi,当时,k2 和 Lhotse 的核心部分已经开发完成,但 Icefall 尚是一个初步概念。经过这一年的开发,他们团队完善了 k2 和 Lhotse, 并基于二者正式发布 Icefall 项目。

  其中 k2 的主要更新包括优化代码以提高整体性能;实现一些 Icefall 项目需要用到的辅助函数; 修复 bug。Lhotse 的主要更新包括更加完善的支持 PyTorch Dataset 的 API ( 如支持 map-style 的 datasets,动态 batch 大小,对分布式训练的支持等);加入了更多在线(on-the-fly)功能的支持(如在线的重采样,特征提取等); IO 和序列化的支持(如支持从 HTTP/S3/GCP/Azure URLs 下载音频,支持 JSONL 等);更多公开数据集的支持(如 AiShell, Musan, AMI 等);其他的一些优化和 bug 修复(如文档的完善,支持可选的 noise padding, 错误信息的优化,数据加载的可视化等)。

  与此同时,这次发布最重要的部分是 Icefall 训练脚本集合,据介绍,不仅在其中展示了如何使用 k2 和 Lhotse 来实现现有的各种不同的语音识别模型,如基于 Transformer/Conformer 的 CTC 和 LF-MMI 等,更重要的是,着重展示了 k2 何以能从根本上改变人们实现语音识别的方式。目前,已经在 LibriSpeech 数据集上取得了 2.57% 的词错误率。

  Kaldi 之父 Daniel Povey 表示,新一代 Kaldi 将同上一代 Kaldi 一样,保持高效的 C++ 代码实现,以方便工业界的使用。更重要的是,将 k2 的 C++ 代码都(使用 pybind11)包装到了 Python, 模型的训练迭代都可以使用纯 Python 代码完成。基于 Icefall 中的示例脚本,工程师们可以很容易地基于自己公司产品的数据集进行修改,进而快速地搭建线上数据反馈和模型自动迭代更新的流程。

  而谈及初代 Kaldi 和新一代 Kaldi 之间最大区别,Daniel Povey 告诉记者,新一代 Kaldi 是一个全新的代码库,它被完全重新书写,主要是由 C++ 还有一些 CUDA 写就,并可以在 Python 调用,而且它由 3 个独立的项目组成,分别称为 k2、Lhotse 和 Icefall。

  在他看来,之所以在小米做这样的事情,“是因为担心有些公司保证我和团队可以从事开源工作,但在一两年后又改变想法,选择小米是因为这是一家稳定的公司,表现出对开源的承诺与重视,所以我觉得是我的最佳去处”。

  资料显示,Daniel Povey 是著名的语音识别开源工具 Kaldi 的主要开发者和维护者,被称为 Kaldi 之父。Kaldi 集成了多种语音识别模型,包括隐马尔可夫和最新的深度学习神经网络,公认是业界语音识别框架的基石。

来自: www.163.com

小鱼创业https://www.237fa.com/


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐