语音方向精典论文品读_HuBERT

英文名称: HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units
中文名称: HuBERT:通过隐藏单元的屏蔽预测进行自监督语音表示学习
链接: http://arxiv.org/abs/2106.07447v1
代码: https:// github.com/pytorch/fairseq/tree/master/examples/hubert
作者: Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed
机构: Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed
日期: 2021-06-14
引用次数: 1518

1 读后感

HuBERT 是一篇偏向底层技术的语音领域的精典论文。作者并没有针对具体的语音识别或语音转换的任务优化,HuBERT 研究成果却成为这些应用的基础。他的研究主要集中在语音和音频表征,即如何描述声音。除了语义信息外,声音还可以描述身份、情绪、犹豫、笑声、咳嗽声、咂嘴声、背景车辆声、鸟鸣声或食物嘶嘶声等。

为了处理没有见过的语言或无标注的语音数据,作者采用了自监督学习的方法。这种方法不需要语言相关的标注数据,同时保持了语言之外声音数据的丰富性。具体方法是,通过对转换后的隐变量进行聚类,将其划分为不同的类别。简当地说,他对未标注的语音数据,先提取特征,然后自动归类。

该方法的底层逻辑是,为了能够正确地聚类,模型中间过程生成的隐变量需要更好地表现声学和语言学的特征,从而得到了声音的表征。此外,由于声音信息的连续性,模型还需要对序列数据的前后关系进行建模。因此,这个问题不仅仅是一个声音小片段的聚类问题,更是一个声音表示学习问题。

2 摘要

目标:自监督语音表示学习的目的是解决三个问题:(1) 每个输入话语中有多个声音单元,(2) 在预训练阶段没有输入声音单元的词典,(3) 声音单元的长度不固定且没有明确的分割。

方法:利用离线聚类步骤为 BERT-like 预测损失提供对齐的目标标签。该方法的一个关键要素是在掩码区域上应用预测损失,这迫使模型在连续输入上学习组合的声学和语言模型。

结论:使用 1B 参数模型,HuBERT 在更具挑战性的 dev-other 和 test-other 评估子集上显示出高达 19% 和 13% 的相对 WER 降低。

3 引言

HuBERT 模型被迫从连续输入中学习声学和语言模型。首先,模型需要将未掩蔽的输入建模为有意义的连续潜在表示,这对应于经典的声学建模问题。其次,为了减少预测误差,模型需要捕获学习表示之间的长期时间关系。模型除了训练正确的聚类,在过程中还训练模型表征的一致性,这使得模型能很好地对输入数据的序列结构建模。

HuBERT 全称为 Hidden unit BERT(HuBERT)。它是一种类似于 BERT 的预训练模型,通过离线聚类生成有噪标签的隐藏单元。

HuBERT 模型被迫从连续输入中学习声学和语言模型。首先,模型需要对未掩蔽的输入建模为有意义的连续潜在表示,这对应于经典的声学建模问题。其次,在对掩蔽的输入建模时,模型需要捕获学习表示之间的长期时间关系。在训练过程中,除了训练正确的聚类,模型还训练模型表征的一致性,这使得模型能够很好地对输入数据的序列结构进行建模。

4 方法

与半监督学习相比,自监督学习无需任何标注数据,只使用纯音频即可训练。

4.1 学习 HuBERT 的隐藏单元

HuBERT 以帧为单位处理声学单元。用 X 表示 X=[x1,⋯,xT] 的 T 帧的音频。隐藏单元用 ℎ(X)=Z=[z1,⋯,zT] 表示,其中 z 的取值 zi∈[C] C 是 C-class 分类变量(可视为聚类后的类别),且 h 是聚类模型, 例如 k-means。

4.2 基于蔽码预测的表示学习

用 M 表示 T 帧的索引集,X^表示遮蔽后的音频,模型用于预测每个时间步 t 上的目标索引帧所对应类别的分布。

遮蔽方法采用了与 SpanBERT 和 wav2vec 2.0 相同的策略来生成掩码,其中随机选择 p% 的时间步作为起始索引,并屏蔽 l 步长的跨度。误失函数是将在屏蔽和未屏蔽时间步长上计算的交叉熵损失分别表示为 Lm 和 Lu :

最终的损失函数是二者的加和:

当 a 为 0 时,仅关注可以看到的帧,类似于混合语音识别系统中的声学建模,更注重对音频特征的提取;在 a 为 1 时,仅对遮蔽的帧建模,类似于语言建模,更注重前后帧之前的关系长跨度的时序结构。通过设置 a 结合二者。

4.3 学习聚类

利用多个聚类模型提升效果,可以创建具有不同码本大小的 k 均值模型集合,从而实现不同粒度的目标。这些目标可以从方式类(元音/辅音)到子音状态进行划分,即将单个 Z 变成了 k 个聚类 Z(k)。

4.4 迭代细化聚类

除了聚类功能,模型的另一个目标是希望预训练模型能够提供比原始声学特征(如 MFCC)更优质的表示。我们可以通过在学习到的潜在表示上训练一个离散的潜在模型来创建一个新的聚类。随后,学习过程将继续利用新发现的单元。

4.5 实现

预训练模型遵循 wav2vec 2.0 架构,包括一个卷积波形编码器,一个 BERT 编码器,一个投影层和一个代码嵌入层。我们考虑了三种不同的 HuBERT 配置:Base,Large 和 X-Large。前两者紧密遵循 wav2vec 2.0 Base 和 Large 的架构。X-Large 架构将模型大小扩展到约 10 亿个参数。BERT 编码器由许多相同的 Transormers 块组成。

卷积波形编码器为 16kHz 采样的音频生成一个 20ms 帧率的特征序列(CNN 编码器的下采样因子是 320 倍)。然后,对音频编码的特征进行随机掩蔽。BERT 编码器接受掩蔽的序列作为输入,并输出一个特征序列 [o1,⋯,oT]。codewords 上的分布是参数化的:

其中 A 是投影矩阵,ec是 codeword 的嵌入,sim(⋅,⋅) 计算两个向量之间的余弦相似度,τ为缩放参数设置为 0.1。当使用聚类时,将为每个聚类模型 k 应用一个投影矩阵 A(k)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/347296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DevEco Studio打印console日志

Button("MenuSimple").margin(10).onClick(() > {console.info(打印日志信息);console.info("普通的信息");console.debug("DEBUG级别的信息");console.warn("警告的信息");console.error("错误的信息");router.pushUrl(…

6.Toast(Android)

愿你出走半生,归来仍是少年! 环境:.NET 7、MAUI 在Maui开发中使用的Toast太丑了,在android项目中使用时不够看。通过Maui的安卓绑定库可实现将android中已有的包导入到C#项目中使用,借助这个方法就可以使用以前在android原生开发…

Spring Security 之摘要认证

摘要认证 注意: 在现代应用程序中不应该使用摘要认证,因为它不被认为是安全的。最明显的问题是你必须以明文或加密或 MD5 格式存储密码。所有这些存储格式都被认为是不安全的。相反,你应该使用单向自适应密码哈希(如 bCrypt、PBKDF2、SCrypt 等)来存储凭据,而这是摘要认…

线性代数速通

二---矩阵 逆矩阵 抽象矩阵求逆 数字型矩阵求逆 二阶矩阵求逆秒杀 解矩阵方程 方阵 伴随矩阵 三---向量组的线性相关性 线性表示 数字型向量组 线性相关性判断 抽象型向量组 线性相关性判断 向量组的秩与极大无关组 四---线性方程组 齐次方程组 基础解系 通解 非齐…

Mediasoup Demo-v3笔记(一)——框架和Nodejs的基本语法

Medisasop Demo的框架 Nodejs基本语法 后记   个人总结,欢迎转载、评论、批评指正

E5 触发器的定义和应用

一、实验目的: 熟练使用MySQL触发器的定义和应用。 二、实验要求: 1、基本硬件配置:英特尔Pentium III 以上,大于4G内存; 2、软件要求:Mysql; 3、时间:1小时; 4、撰写实验报告并按时提交。 三、实验内容: 问题1:创建触发器…

Docker 魔法解密:探索 UnionFS 与 OverlayFS

本文主要介绍了 Docker 的另一个核心技术:Union File System。主要包括对 overlayfs 的演示,以及分析 docker 是如何借助 ufs 实现容器 rootfs 的。 1. 概述 Union File System Union File System ,简称 UnionFS 是一种为 Linux FreeBSD NetB…

应急响应红蓝工程师白帽子取证Linux和windows入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除

应急响应红蓝工程师白帽子取证Linux入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除。 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡)、服务器资源被耗尽(挖矿程序)、不正常的端口连接(反向shell等)、服务…

#常见问题总结#在docker中跑前端vue项目

目录 前言一、no such file or directory, open...总结 前言 提示:这里可以添加本文要记录的大概内容: 记录在docker中跑前端项目过程中,我遇到的问题以及解决方法 提示:以下是本篇文章正文内容,下面案例可供参考 一…

github 推送报错 ssh: connect to host github.com port 22: Connection timed out 解决

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

伦敦金技术分析如何避免事后诸葛的尴尬

技术分析是我们分析伦敦金走势的常用工具,但技术分析长期因为“事后诸葛”的特点而备受一些投资者责难。那有没有什么办法可以避免这种事后诸葛的尴尬呢?下面我们就来讨论一下。 技术分析的事后诸葛是指,在当下用技术分析方法进行分析判断时经…

js - - - - - 如何给自己的网站添加中英文切换(多语言也可)

如何给自己的网站添加中英文切换 1. 需求描述2. 解决方案3. 方案实施3.1 简单实现(第一版) 3.2 样式微调(第二版)3.3 重载页面(第三版)3.4 自动翻译(第四版)3.5 限定适用范围&#x…

程序员如何保持身心健康

程序员要保持身心健康,可以注意以下几个方面: 饮食健康:保持均衡的饮食,多吃蔬菜水果,减少油腻和高热量食物的摄入。同时,适当饮水,避免因长时间坐着工作而导致的脱水。尽量不要吃街边摊、大排…

人工智能(AI)技术应用:解锁未来的无限可能

随着信息时代的来临,人工智能(AI)技术成为推动社会进步的重要力量。在医疗领域,人工智能技术已经开始发挥重要作用。通过大数据分析和机器学习,人工智能可以帮助医生更准确地诊断疾病、制定治疗方案,缩短治疗时间,提高…

JuiceSSH结合内网穿透实现移动端设备公网远程访问Linux虚拟机

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

js计算皮尔逊相关系数

代码如下; let XGX {correlationCoefficient(pA, pB) {let covXY -pA * pBlet varX pA * (1-pA) let varY (1-pB)* pBlet res covXY / (Math.sqrt(varX*varY, 2))return res},correlation(x,y){x[0.3,50.2,99.5,199.3,299,398];y[0.1,50,99.9,200,300,400];// 计算均值con…

字典树-Python

字典树 字典树又叫前缀树、单词查找树,树形结构,是哈希树的变种。能够统计、排序和保存大量的字符串,经常被搜索引擎系统用于文本词频统计。优点是利用字符串的公共前缀来减少查询时间,最大程度减少无谓字符串的比较,…

C语言通过IXMLHTTPRequest以get或post方式发送http请求获取服务器文本或xml数据

做过网页设计的人应该都知道ajax。 Ajax即Asynchronous Javascript And XML(异步的JavaScript和XML)。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发…

【量化交易】股市舞者:小明的撮合交易之旅

马西森AES撮合交易系统 在繁华的都市中,小明,一个普通的青年,刚刚赚到了人生的第一桶金——20万。这笔意外的财富,点燃了他对股市的强烈兴趣。他开始如饥似渴地学习金融知识,钻研各种交易策略。 一天,小…

现货黄金做日内交易和波段交易有何差异?

在现货黄金投资中,日内交易和波段交易都是投资者常用的手段。但投资者其实搞不懂两者有何区别,有时甚至不清楚自己做的是日内交易还是波段交易,下面我们就来讨论一下这两种交易方法的异同。 两者的区别主要是在持仓的时间上。日内交易顾名思义…