论文阅读_音频表示_wav2vec_2.0

news2024/10/6 14:31:27

论文信息

name_en: wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations
name_ch: wav2vec 2.0:语音表示自监督学习框架
paper_addr: http://arxiv.org/abs/2006.11477
date_read: 2023-04-27
date_publish: 2020-10-22
tags: [‘深度学习’,‘音频表示’]
author: Alexei Baevski,Facebook AI
code: https://github.com/pytorch/fairseq

1 读后感

模型用于语音识别,模型结构结合了CNN和Transformer。文章言简意赅,结构非常舒服。

2 摘要

先从未标注语音中学习音频的表示,然后通过少量标注数据精调,得到模型优于用大量标注数据训练的模型,且其原理非常简单。
仅使用十分钟的标记数据和 53k 小时的未标记数据的预训练,可达到 4.8/8.2 WER。这证明了使用有限数量的标记数据进行语音识别的可行性。

3 介绍

语音识别系统一般需要成千上万小时的转录语音(语音+对应文本)才能达到可接受的性能,而对于全球近7,000种语言中的大多数来说,并没有这么多标注数据。
神经网络受益于大量无标记训练数据。自监督学习的方法,可从未标注的数据示例中学习通用的数据表示,再在标注数据上微调模型。这在自然语言处理,和计算机视觉中都取得了重要进步。
文中提出的一个自监督学习框架,旨在从原始音频数据中学习到通用的数据表示。该方法使用了多层卷积神经网络对语音音频进行编码,使用类似于NLP中mask的方法,通过Transformer网络来构建情境化的表示,并通过对比任务来训练模型。

4 模型

模型先使用卷积网络将输入音频X映射到隐空间Z,然后将Z送入Transformer网络构建表示C以便从上下文中提取相关信息;另外特征编码Z还被送入量化工具,以生成量化后的表示Q(离散)。从而学习了音频的表示。

4.1 特征编码器

编码器由多个块组成,其中包含时间卷积,然后是层归一化 和 GELU 激活函数。输入到编码器的原始波形被归一化为零均值和单位方差。编码器输出到 Transformer 。

4.2 通过Transformer结合上下文 表示

特征编码器的输出被送到Transformer 架构的上下文网络。使用卷积层作为相对位置嵌入。我们将卷积的输出和 GELU 添加到输入中,然后应用层归一化。

4.3 量化模型

在自监督训练阶段,通过乘法量化将特征编码器 z 的输出离散化为有限的语音表示集。乘积量化相当于从多个码本中选择量化表示并将它们连接起来。给定 G 个码本或组,从每个码本中选择一个条目并连接生成向量 e1, …, eG 并应用线性变换。Gumbel softmax 支持以完全可微分的方式选择离散码本条目。

5 训练&实验

5.1 Masking

类似BERT的Mask方法,Mask掉部分Encoder后的特征,随机无重复地选择一定比例的时间步作为起始点,并屏蔽每个起始点连续M个时间步,屏蔽区间可能会重叠。

5.2 目标

预训练时,通过对比学习优化损失函数Lm,同时使用损失Ld以鼓励模型使用codebook。

其中a为超参数。

5.2.1 对比学习的损失

上下文网络输出的c,q为量化隐空间的表示:

sim用于计算上下文表式与量化隐空间的距离。

5.2.2 多样性损失

5.3 精调

预训练模型针对语音识别进行了微调:使用Librispeech数据集,通过在上下文网络顶部添加一个线性投影,将音频表示映射到分类任务中,通过最小化 CTC 损失来优化模型。
LibriSpeech是一个包含大约1000小时16kHz英语读音的语料库,数据源自LibriVox项目的有声读物,并经过仔细的分段和对齐。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++深度解析:虚函数的使用与避免

C深度解析:虚函数的使用与避免 1. 虚函数的基本概念与原理 (Basic Concepts and Principles of Virtual Functions)1.1 虚函数的定义与作用 (Definition and Role of Virtual Functions)1.2 虚函数的底层实现 (Underlying Implementation of Virtual Functions)1.3 …

【CANN训练营0基础赢满分秘籍】进阶班 Atlas 200I DK 智能小车

1 智能小车三维结构设计 1.1 基本模块 坚固酷炫结构模块运动控制模块超声波传感器模块摄像头视觉模块其他传感器模块 1.2 结构设计基本原则 从零开始设计并搭建智能小车,在满足外观要求的基础上,要满足小车运转过程中的运动干涉率为O,并且…

【CANN训练营0基础赢满分秘籍】进阶班 应用开发深入讲解

1 AIPP AIPP (Artificial Intelligence Pre-Processing)人工智能预处理,在AI Corfe上完成数据预处理。 1.1 静态AIPP 构造AIPP配置文件*.cfg使能静态AIPP,将其配置参数保存在模型文件中。 atc --framework3--soc_versionS[soc_version) --model SHOM…

基于51单片机的电子琴Protues仿真设计

一、设计背景 基于51单片机的电子琴是一款由51单片机控制器、音频模块和硬件阵列组成的数字化乐器。它可以模拟各种乐器的音效,同时也具有许多常规电子琴所没有的高级功能。 首先,这种电子琴是以数字信号处理技术为基础的。通过软件编程,将…

【JUC】Java对象内存布局和对象头

【JUC】Java对象内存布局和对象头 文章目录 【JUC】Java对象内存布局和对象头1. 对象的内存布局1.1 对象头1.1.1 对象标记1.1.2 类元信息/类型指针 1.2 实例数据1.3 对齐填充 2. 测试 1. 对象的内存布局 在 HotSpot 虚拟机里,对象在堆内存中的存储布局可以划分为三…

MSP432学习笔记6:中断优先级管理

所用型号:MSP432P401R 今日继续我的MSP432电赛速通之路。 主要学习的是:中断优先级管理、软件挂起中断、屏蔽中断优先级 目录 MSP432具有8级可编程的中断优先级。 中断优先级管理库函数: 软件挂起中断: 屏蔽中断优先级&#…

微信小程序富文本插件mp-html

使用场景: 偏偏后端传过来的数据又要用到富文本标签,然后找了很多组件,要不就是下载量低,要不就是里面功能太少,只有这款mp-html组件深得我心,里面功能丰富,简单实用,真的绝绝子&…

DMA直接存储器存取

目录 存储器映像 寄存器 DMA框图 DMA基本结构 DMA请求映射 数据宽度与对齐 ​编辑 存储器到存储器 ​编辑 外设与存储器 来源b站江科大stm3入门教程 存储器映像 寄存器 DMA框图 AHB从设备(DMA自身的寄存器)连接在总线矩阵右侧的AHB总线上 所以DMA既…

LeetCode:509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

509. 斐波那契数 题目 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),…

无底线内卷?谈谈如何在职场中实现人生巅峰

在竞争激烈的职场上,各种职场难题时常出现,如何进行有效沟通、如何应对工作压力、如何提升职业能力等,这都是需要去克服的问题。 1. 尝试人际沟通A:TO 企业B:TO 员工 2. 适应工作压力A:原因B:TO…

ROS2 入门应用 创建启动文件(C++)

ROS2 入门应用 创建启动文件(C) 1. 创建功能包2. 添加依赖关系3. 添加编译信息4. 创建启动文件4.1. Python4.2. XML4.3. YAML 5. 编译和运行 1. 创建功能包 用Python、XML或YAML编写的启动文件可以启动和停止不同的节点,以及触发和处理各种事…

法规标准-GB/T 39323标准解读(2020版)

GB/T 39323是做什么的? GB/T 39323全称为乘用车车道保持辅助(LKA)系统性能要求及试验方法,其中主要描述了LKA系统的功能要求及测试要求 一般要求 1.系统应能在状态良好的车道边线环境下识别车辆与车道边线的相对位置,辅助驾驶员将车辆保持…

76.建立一个主体样式第二部分

上节课的时候我们完成的页面是这个样子! ● 之后我们通过绝对定位来解决位置定位的问题 .header-container {width: 1200px;margin: 0 auto;position: absolute;left: 50%;top: 50%; }header {height: 100vh;background-color: orange;position: relative; }● 之…

通过Python的PyPDF2库提取pdf中的文字

文章目录 前言一、PyPDF2库是什么?二、安装PyPDF2库三、查看PyPDF2库版本四、使用方法1.引入库2.定义pdf路径3.打开PDF文件4.创建PDF阅读器对象5.获取PDF文件中的页数6.遍历每一页7.获取当前页内容8.提取当前页文本9.打印当前页文本10.效果 总结 前言 一、PyPDF2库…

【2023 · CANN训练营第一季】初识新一代开发者套件 Atlas 200I DK A2---介绍Atlas 200I DK A2的基本使用

1.Atlas 200I DK A2开发者套件板介绍 应用场景:昇腾AI开发者上手学习、实践创新场景,提供配套软硬件 关键特性规格描述形态135mm120mm44mmAI 算力整数精度(INT8):8 TOPS 半精度(FP16): 4 TFLOPS摄像头接口2* MIPI - CSI 支持两个…

研报精选230521

目录 【行业230521山西证券】煤炭行业周报:量减需增进口倒挂,煤炭价格企稳反弹 【行业230521东吴证券】大炼化周报:油价弱势震荡,下游表现疲软 【行业230521东海证券】4月社零报告专题:低基数下创新高,实质…

MyBatisX

文章目录 MyBatisXMybatis带参方法 动态条件查询多条件查询多条件-动态条件查询ifchoose(when,otherwise) 添加添加-主键返回 修改修改全部字段修改动态字段 删除MyBatis参数传递多个参数单个参数 MyBatis注解完成增删改查 MyBatisX pojo类中的属性名要和数据库中的一致才能实现…

ARM学习笔记_2 模式,寄存器,流水线

ARM arm体积小功耗低性能高,支持thumb ARM双指令集,兼容8/16位器件;大量使用寄存器,指令定长,寻址简单。 ARM是32位架构,Word 32bit, half Word 16bit. 模式 用户模式是用户程序的模式&#…

RK3568平台开发系列讲解(驱动基础篇)RK平台IR的使用

🚀返回专栏总目录 文章目录 一、红外遥控配置二、内核驱动2.1 DTS 定义键值表2.2 内核用户码和IR键值的获取2.3 编译 IR 驱动进内核2.4 Android 键值映射三、IR 波形沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将对RK IR的使用进行学习。 一、红外遥控配置 …

解决插件加载动态库的冲突问题

最近发给用户的插件在使用过程中,UI界面一直未能加载成功,分析后发现和其他的插件发生冲突了,同时用到了一个UI库:MahApps.Metro(自己改造过的版本)。 分析过程中使用ProcessExplorer查看Revit运行过程中所…