Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

蛋酱报道

纯PyTorch语音工具包SpeechBrain开源,Kaldi:我压力有点大

距离 Mirco Ravanelli 宣布打造新的语音工具包过去了一年多,SpeechBrain 真的如期而至。

语音处理技术的进步,是人工智能改变大众的生活的重要一环。深度学习技术的兴起,也让这一领域近年来得到了长足的发展。在过往,该领域的主要方法是为不同的任务开发不同的工具包,对于使用者来说,学习各个工具包需要大量时间,还可能涉及到学习不同的编程语言,熟悉不同的代码风格和标准等。现在,这些任务大多可以用深度学习技术来实现。

此前,开发者常用的语音工具有 Kaldi、ESPNet、CMU Sphinx、HTK 等,它们各有各的不足之处。以 Kaldi 为例,它依赖大量的脚本语言,而且核心算法使用 C++ 编写,再加上可能需要改变各种神经网络的结构。即便是拥有丰富经验的工程师,在调试的时候也会经历巨大的痛苦。

秉承着让语音开发者更轻松的原则,Yoshua Bengio 团队成员 Mirco Ravanelli 等人曾经开发了一个试图继承 Kaldi 的效率和 PyTorch 的灵活性的开源框架——PyTorch-Kaldi,但据开发成员本人认为「还不够完善」。

所以,在一年多前, Mirco Ravanelli 宣布要打造一款新的一体化语音工具包 SpeechBrain。该项目于近日正式开源,鉴于上述背景,SpeechBrain 诞生的主要宗旨是:够简单、够灵活、对用户友好。

项目地址:https://github.com/speechbrain/speechbrain

作为一个基于 PyTorch 的开源一体化语音工具包,SpeechBrain 可用于开发最新的语音技术,包括语音识别、说话者识别、语音增强、多麦克风信号处理语音识别系统等,且拥有相当出色的性能。团队将其特征概况为「易于使用」、「易于定制」、「灵活」、「模块化」等。

对于机器学习研究者来说,SpeechBrain 可轻松嵌入其他模型,促进语音技术的相关研究;对于初学者来说,SpeechBrain 也不难掌握,根据测试,一般开发者仅需要几个小时就能熟悉该工具包的使用。此外,开发团队也发布了很多教程以供参考(https://speechbrain.github.io/tutorial_basics.html)。

总体来说,SpeechBrain 有以下几大亮点:
  • 开发团队与 HuggingFace 集成一些预训练模型,这些模型具备可运行推理的接口。如果 HuggingFace 模型不可用,团队会提供一个 Google Drive 文件夹,包含所有对应的实验结果;

  • 使用 PyTorch 数据并行或分布式数据并行来进行多 GPU 训练和推理;

  • 混合精度,加快训练速度;

  • 透明且完全可自定义的数据输入和输出 pipeline。SpeechBrain 遵循 PyTorch 数据加载器和数据集样式,使用户能够自定义 I / O pipeline。

快速安装

目前开发者可以通过 PyPI 安装 SpeechBrain,此外还可以使用本地安装来运行实验和修改 / 自定义工具包。

SpeechBrain 支持基于 Linux 的发行版和 macOS(且针对 Windows 用户也提供了相应解决方案:https://github.com/speechbrain/speechbrain/issues/512)。

SpeechBrain 支持 CPU 和 GPU,但对于大多数 recipe 而言,训练期间必须使用 GPU。需要注意的是,必须正确安装 CUDA 才能使用 GPU。

安装教程地址:https://speechbrain.readthedocs.io/en/latest/installation.html

通过 PyPI 安装

创建 Python 环境后,只需输入以下内容即可:

pip install speechbrain

然后可以使用以下命令访问 SpeechBrain:

import  speech  brain  as  sb

本地安装

创建 Python 环境后,只需输入以下内容即可:

git clone https://github.com/speechbrain/speechbrain.gitcd speechbrainpip install -r requirements.txtpip install --editable .

然后可以通过以下方式访问 SpeechBrain:

import  speechbrain  as  sb

对 speechbrain 软件包所做的任何修改,将在安装带有 --editable 标志的软件包时自动解释。

SpeechBrain 未附属于任何机构,团队成员来自 Mila 研究所、Nuance、杜比实验室、英伟达、三星、Viadialog 等实验室和企业单位。最初的两位负责人是 Mila 研究所博士后 Mirco Ravanelli 和 Avignon 博士生 Titouan Parcollet。目前,Speechbrain 项目还在完善中,也欢迎更多开发人员加入。

看到这里,Kaldi 会不会感到压力有点大了呢?
入门Mirco Ravanelli一体化语音工具包SpeechBrain
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

语音增强技术

语音增强旨在通过利用信号处理算法提高语音的质量和可懂度。 主要包括1. 语音解混响,混响是由于空间环境对声音信号的反射产生的;2,语音降噪,干扰主要来源于各种环境和人的噪声;3. 语音分离,噪声主要来源于其他说话人的声音信号。通过去除这些噪声或者人声来提高语音的质量。现已经应用于现实生活中,如电话、语音识别、助听器、VoIP以及电话会议系统等。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

信号处理技术

信号处理涉及到信号的分析、合成和修改。信号被宽泛地定义为传递“关于某种现象的行为或属性的信息(如声音、图像和生物测量)”的函数。例如,信号处理技术用于提高信号传输的保真度、存储效率和主观质量,并在测量信号中强调或检测感兴趣的组件。我们熟悉的语音、图像都可以看做是一种信号形式。因此,对于语音、图像的增强、降噪、识别等等操作本质上都是信号处理。

语音处理技术

语音处理(Speech processing),又称语音信号处理、人声处理,其目的是希望做出想要的信号,进一步做语音辨识,应用到手机界面甚至一般生活中,使人与电脑能进行沟通。

推荐文章
暂无评论
暂无评论~