u013250861
这个作者很懒,什么都没留下…
展开
-
Audio-预训练模型(一):概述
专注于语音识别任务,一步步将预训练模型从特征提取器发展到带有离散化模块的端到端的自监督训练模型,一步步地挑战更为困难的语音识别数据集,使用更少的有标注数据或者完全使用无标注的数据,取得更好的结果。模型,通过加入句子混杂增强和句子之间的对比学习有效提升模型在speaker相关任务上的结果。模型,通过让中间层也去预测target使ASR结果明显提升(与data2vec比肩的结果),针对Speaker相关的任务提出了。",把预训练模型做的更大更强,用1百万小时的youtube语音数据训练了8B参数的。原创 2022-10-28 10:17:38 · 1675 阅读 · 0 评论 -
Audio-预训练模型-2019:vq-wav2vec
文中提出了两种量化方法,Gumbel softmax和K-Means,如下图。其中,左右两个部分中的 e1 …ev,就是码本(记录特征集,可以理解为 BERT 中的词表),Gumbel通过逻辑值最大化(回传时使用Gumbel softmax来保证可导)找对应码本条,K-Means通过计算与码本距离来找最小距离的码本条。本文基于wav2vec,将连续特征z通过提出的量化模块,变成离散特征z‘,实现特征空间从无限的连续到有限的离散的转换过程。原创 2022-10-28 18:07:48 · 467 阅读 · 0 评论 -
Audio-预训练模型-2020:Wav2vec 2.0
的思路,通过mask 在latent space 上的语音输入,训练一个contrastive task将真正的量化的latent变量表示与其他负例分辨出来(同时训练了量化过程的latent representation), 由此得到的representation, 基于少量的有标签数据fine-tuning就取得了不错的效果。相较于vq2vec无需接bert,将原先两个分开训练的模型合并成一个,是一个更好的工程实现。原创 2022-10-28 18:05:39 · 1466 阅读 · 1 评论 -
Audio-预训练模型-2019:wav2vec【利用自监督方式训练得到每一帧音频文件的表示(相对于机理特征的优势:可以融入上下文信息);替换MFCC等通过机理得到的特征】
当前用于语音识别的最新模型需要大量标记好的音频数据才能获得良好的性能(Amodei et al., 2016 [1])。最近,在标注数据缺少的情况下,神经网络的预训练已经成为一种有效的技术。关键思想是先在有大量标记或未标记数据中进行general的训练,再在数据量受限的目标数据上fine-tune来提高下游任务的性能。对于需要大量工作来获取标记数据的任务(例如语音识别),这种预训练的方法尤其有效。在本文中,作者提出了wav2vec模型,通过多层的卷积神经网络来提取音频的无监督语音特征。原创 2022-10-28 15:27:21 · 1563 阅读 · 0 评论 -
中文语音预训练模型:Wav2vec 2.0、HuBERT
腾讯游戏知几AI团队与西工大ASLP组联合发布了基于 WenetSpeech 1 万小时数据训练的中文版 Wav2vec 2.0 和 HuBERT 模型。Wav2vec 2.0 [1],HuBERT [2] 和 WavLM [3] 等语音预训练模型,通过在多达上万小时的无标注语音数据(如 Libri-light )上的自监督学习,显著提升了自动语音识别(Automatic Speech Recognition, ASR),语音合成(Text-to-speech, TTS)和语音转换(Voice Conver原创 2022-06-16 10:57:41 · 4548 阅读 · 1 评论 -
乘积量化(Product Quantization)算法原理
乘积量化(PQ)算法是和VLAD算法是由法国INRIA实验室一同提出来的,为的是加快图像的检索速度,所以它是一种检索算法,在矢量量化(Vector Quantization,VQ)的基础上发展而来,虽然PQ不算是新算法,但是这种思想还是挺有用处的。它原文中是接在VLAD算法后面,假设我们使用VLAD算法获得了1M(1024K)的图像表达向量,向量的维度为D=128,则对于一幅查询图像来说,我们需要计算1M(1024K)个余弦距离,这样实时性就比较差。原创 2022-11-01 00:22:50 · 1013 阅读 · 1 评论 -
语音合成:Tacotron详解【端到端语音合成模型】【与传统语音合成相比,它没有复杂的语音学和声学特征模块,而是仅用<文本序列,语音声谱>配对数据集对神经网络进行训练,因此简化了很多流程】
Tacotron模型是首个真正意义上的端到端TTS深度神经网络模型。与传统语音合成相比,它没有复杂的语音学和声学特征模块,而是仅用配对数据集对神经网络进行训练,因此简化了很多流程。然后Tacotron使用Griffin-Lim算法对网络预测的幅度谱进行相位估计,再接一个短时傅里叶(Short-Time Fourier Transform,STFT)逆变换,实现端到端语音合成的功能。Tacotron的总体架构如下图:参考资料:Tacotron以及Tacotron2详解语音合成...原创 2022-06-27 00:41:08 · 1840 阅读 · 1 评论 -
语音合成:概述【不等长序列关系建模的生成任务】
语音合成是一个“不等长序列关系建模的生成任务”“七百三十九”5个“token”对应着20多个语音“帧”不能单独建模 “七”与X帧的关系,“百”与Y帧的关系,。。。。,然后拼接起来,这样是违反人类发音的本质的。采样率 = 16000为了将字符映射为浮点数,pytorch采取了“可训练查询表”的方式,设数据集中含有的token 数量= N,则建立一个 二维矩阵【N,D】,每行向量对应每个token。简单暴力,认为语音中每个“音素”的帧的数量就等于 1 * factor,因此有N个字符,就扩充为 N *fa原创 2022-06-28 23:18:17 · 617 阅读 · 0 评论 -
如何在BERT模型中添加自己的词汇(pytorch版)
但是英文不一样,英文预训练BERT(对,就是它,bert-base-uncased 和 bert-base-cased)以词为单位。新词倒是很常见,但是在中文BERT里直接就被tokenizer切成字了,因此一般没有多大的扩充词(字)表的需要。比如我这里需要添加一个原来词表里没有的词“anewword”(现造的),这时候就把[unused1]改成我们的新词“anewword”此外,在英文模型中,添加自定义词的作用不仅是增加新词或者专业领域的词汇,而且可以防止词语被自动拆成词根词缀。原创 2023-12-30 15:09:53 · 1015 阅读 · 0 评论 -
从词到数:Tokenizer与Embedding串讲
和一直是LM被忽略的一部分。随着各大框架如HF的不断完善,大家对tokenization和embedding的重视程度越来越低,到现在初学者大概只能停留在调用这样的程度了。这在实践中是很危险的,比如你要调用ChatGPT的接口,但是经常发现输出被截断了,原因可能就是你输入的句子太长了。你计算句子长度是直接用空格分词,而ChatGPT是用不同的分词法(BPE分词法)。原创 2023-12-30 15:08:08 · 1720 阅读 · 0 评论