目录
模型介绍
Wav2vec 2.0 模型
HuBERT 模型
中文预训练模型
首页 科技周边 人工智能 找不到中文语音预训练模型?中文版 Wav2vec 2.0和HuBERT来了

找不到中文语音预训练模型?中文版 Wav2vec 2.0和HuBERT来了

Apr 08, 2023 pm 06:21 PM
ai 数据 模型

Wav2vec 2.0 [1],HuBERT [2] 和 WavLM [3] 等语音预训练模型,通过在多达上万小时的无标注语音数据(如 Libri-light )上的自监督学习,显著提升了自动语音识别(Automatic Speech Recognition, ASR),语音合成(Text-to-speech, TTS)和语音转换(Voice Conversation,VC)等语音下游任务的性能。然而这些模型都没有公开的中文版本,不便于应用在中文语音研究场景。 

WenetSpeech [4] 是由西工大音频、语音和语言处理研究组 (ASLP@NPU)、出门问问、希尔贝壳联合发布的 1 万多小时多领域语音数据集。为了弥补中文语音预训练模型的空缺,我们开源了基于 WenetSpeech 1 万小时数据训练的中文版 Wav2vec 2.0 和 HuBERT 模型。

为了验证预训练模型的性能,我们在 ASR 任务进行了验证。实验结果表明,在 100 小时有监督数据 ASR 任务上,预训练模型学到的语音表征相对于传统声学 FBank 特征有显著的性能提升,甚至仅用 100 小时有监督数据能够得到和 1000 小时有监督数据可比的结果。

模型链接:https://github.com/TencentGameMate/chinese_speech_pretrain

模型介绍

Wav2vec 2.0 模型

图片

图 1: Wav2vec 2.0 模型结构 (Baevski et al., 2020)

Wav2vec 2.0 [1] 是 Meta 在 2020 年发表的无监督语音预训练模型。它的核心思想是通过向量量化(Vector Quantization,VQ)构造自建监督训练目标,对输入做大量掩码后利用对比学习损失函数进行训练。模型结构如上图 1,基于卷积网络(Convoluational Neural Network,CNN)的特征提取器将原始音频编码为帧特征序列,通过 VQ 模块把每帧特征转变为离散特征 Q,并作为自监督目标。同时,帧特征序列做掩码操作后进入 Transformer [5] 模型得到上下文表示 C。最后通过对比学习损失函数,拉近掩码位置的上下文表示与对应的离散特征 q 的距离,即正样本对。原论文中,Wav2vec 2.0 BASE 模型采用 12 层的 Transformer 结构,用 1000 小时的 LibriSpeech 数据进行训练,LARGE 模型则采用 24 层 Transformer 结构,用 6 万小时的 Libri-light 数据训练。训练时间方面,BASE 模型使用 64 块 V100 显卡训练 1.6 天,LARGE 使用 128 块 V100 显卡训练 5 天。在下游 ASR 评测中,即使只用 10 分钟的有监督数据,系统仍可得到 4.8 的词错误率(Word Error Rate, WER)结果。

HuBERT 模型

图片

图 2: HuBERT 模型结构 (Hsu et al., 2021)

HuBERT [2] 是 Meta 在 2021 年发表的模型,模型结构类似 Wav2vec 2.0,不同的是训练方法。Wav2vec 2.0 是在训练时将语音特征离散化作为自监督目标,而 HuBERT 则通过在 MFCC 特征或 HuBERT 特征上做 K-means 聚类,得到训练目标。HuBERT 模型采用迭代训练的方式,BASE 模型第一次迭代在 MFCC 特征上做聚类,第二次迭代在第一次迭代得到的 HuBERT 模型的中间层特征上做聚类,LARGE 和 XLARGE 模型则用 BASE 模型的第二次迭代模型提取特征做聚类。从原始论文实验结果来看,HuBERT 模型效果要优于 Wav2vec 2.0,特别是下游任务有监督训练数据极少的情况,如 1 小时、10 分钟。

中文预训练模型

实验配置我们使用 WenetSpeech [4] train_l 集的 1 万小时中文数据作为无监督预训练数据。数据主要来源于 YouTube 和 Podcast,覆盖了各种类型录制场景、背景噪声、说话方式等,其领域主要包括有声书、解说、纪录片、电视剧、访谈、新闻、朗读、演讲、综艺和其他等 10 大场景。我们基于 Fairseq 工具包 [6] 分别训练了 Wav2vec 2.0 和 HuBERT 模型,遵循 [1,2] 的模型配置,每个预训练模型模型包括 BASE 和 LARGE 两种大小。对于 BASE 模型,我们使用 8 张 A100 显卡,梯度累计为 8,模拟 64 张显卡进行训练。对于 LARGE 模型,我们使用 16 张 A100 显卡,梯度累计为 8,模拟 128 张显卡进行训练。

下游语音识别任务验证为了验证预训练模型在下游 ASR 任务的效果,我们遵循 ESPnet [7,8,9] 工具包中的 Conformer [10] 模型实验配置,即将预训练模型作为特征提取器,对于输入语音提取预训练模型各隐层表征进行加权求和,得到的语音表征将替换传统 FBank 特征作为 Conformer ASR 模型的输入。

  • Aishell 数据集

我们使用 Aishell 178 小时训练集作为有监督数据进行训练,分别对比了使用 FBank 特征、Wav2vec 2.0 BASE/LARGE 模型特征和 HuBERT BASE/LARGE 模型特征的字错误率 (Character Error Rate, CER) 结果。同时,我们额外对比了使用 WenetSpeech train_l 集 1 万小时中文数据进行训练时,其在 Aishell 测试集上的效果。训练数据使用了变速(0.9、1.0、1.1 倍)和 SpecAugment 数据增广技术,解码方式为 beam search,使用了基于 Transformer 的语言模型进行 rescoring。

图片

表 1:不同模型在 Aishell 测试集上的字错误率(CER%)结果

根据表 1 结果可以看到,通过结合上万小时无监督数据训练的预训练模型,下游 ASR 任务效果均有显著提升。尤其是使用 HuBERT LARGE 模型时,在 Test 集上得到约 30% 的 CER 相对提升,实现了目前在 178h 有监督训练数据下业界最好结果。

  • WenetSpeech 数据集

我们使用 WenetSpeech train_s 集 100 小时中文数据作为有监督数据进行训练,分别对比了使用 FBank 特征、Wav2vec 2.0 BASE/LARGE 模型特征和 HuBERT BASE/LARGE 模型特征的字错误率 (Character Error Rate, CER) 结果。同时,我们额外对比了使用 WenetSpeech train_m 集 1000 小时和 train_l 集 1 万小时中文数据 FBank 特征训练的模型结果。训练数据没有使用变速或 SpecAugment 数据增广技术,解码方式为 beam search,没有使用语言模型 rescoring。

图片

表 2:不同模型在 WenetSpeech 测试集上的字错误率(CER%)结果

根据表 2 结果可以看到,通过结合上万小时无监督数据训练的预训练模型,下游 ASR 结果得到了巨大提升。尤其当使用 HuBERT LARGE 作为语音表征提取器时,使用 100 小时有监督数据训练的 ASR 模型要比 1000 小时基于 FBank 特征训练的模型效果要好,甚至接近 1 万小时数据训练的模型。

更多语音下游任务实验结果请关注 GitHub 链接(https://github.com/TencentGameMate/chinese_speech_pretrain)。欢迎大家使用我们提供的中文语音预训练模型开展研究工作,一起探索语音预训练模型在中文和相关众多场景下的应用。

以上是找不到中文语音预训练模型?中文版 Wav2vec 2.0和HuBERT来了的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

CentOS上GitLab的备份方法有哪些 CentOS上GitLab的备份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

如何检查CentOS HDFS配置 如何检查CentOS HDFS配置 Apr 14, 2025 pm 07:21 PM

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

CentOS上Zookeeper性能调优有哪些方法 CentOS上Zookeeper性能调优有哪些方法 Apr 14, 2025 pm 03:18 PM

在CentOS上对Zookeeper进行性能调优,可以从多个方面入手,包括硬件配置、操作系统优化、配置参数调整以及监控与维护等。以下是一些具体的调优方法:硬件配置建议使用SSD硬盘:由于Zookeeper的数据写入磁盘,强烈建议使用SSD以提高I/O性能。足够的内存:为Zookeeper分配足够的内存资源,避免频繁的磁盘读写。多核CPU:使用多核CPU,确保Zookeeper可以并行处理请

CentOS上PyTorch的GPU支持情况如何 CentOS上PyTorch的GPU支持情况如何 Apr 14, 2025 pm 06:48 PM

在CentOS系统上启用PyTorchGPU加速,需要安装CUDA、cuDNN以及PyTorch的GPU版本。以下步骤将引导您完成这一过程:CUDA和cuDNN安装确定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA显卡支持的CUDA版本。例如,您的MX450显卡可能支持CUDA11.1或更高版本。下载并安装CUDAToolkit:访问NVIDIACUDAToolkit官网,根据您显卡支持的最高CUDA版本下载并安装相应的版本。安装cuDNN库:前

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

centos安装mysql centos安装mysql Apr 14, 2025 pm 08:09 PM

在 CentOS 上安装 MySQL 涉及以下步骤:添加合适的 MySQL yum 源。执行 yum install mysql-server 命令以安装 MySQL 服务器。使用 mysql_secure_installation 命令进行安全设置,例如设置 root 用户密码。根据需要自定义 MySQL 配置文件。调整 MySQL 参数和优化数据库以提升性能。

centos8重启ssh centos8重启ssh Apr 14, 2025 pm 09:00 PM

重启 SSH 服务的命令为:systemctl restart sshd。步骤详解:1. 访问终端并连接到服务器;2. 输入命令:systemctl restart sshd;3. 验证服务状态:systemctl status sshd。

See all articles