whisper

news2024/9/28 3:24:04

Robust Speech Recognition via Large-Scale Weak Supervision

介绍

大规模弱监督的训练。先前的方法都是通过大量的无监督学习训练(无监督的数据容易收集,所以通过大量无监督的学习可以训练出一个质量较好的encoder)。但是用的时候还需要找一些有监督的数据进行微调。作者觉得微调是一个比较复杂的过程,而且微调的时候,很容易对特定的数据集过拟合,使得模型的泛化能力不强。作者认为一个真正的语音识别系统,应该是拿去就可以直接用,而不用进行微调。

方法

数据处理

whisper模型直接预测原始抄录文本,没有进行任何标准化。系统直接输出自然抄录文本,而不需要一个额外的反向文本归一化的步骤(开头字母大写、加上标点符号、缩写形式等)。

做文本归一化的好处是,可以让训练更加简单一点。但是这样事后需要基于规则等做文本归一化


意思说,只要我的数据足够大,所有的文本归一化的情况都会出现,不需要额外做文本归一化。

构建了来自网络上的不同环境(不同录音状态、说话人、使用的语言)下的【音频转录文本数据对】。这样能使得模型更加健壮。

网络上爬取下来的音频是原始的,但是文本的质量不一定好。所以说做了一个文本过滤器,过滤掉那些不好的文本。很多文本不是人为标注的,而是用ASR系统生成的,研究表明这些数据会让模型变得更差。所有需要把用ASR系统的文本过滤掉。用ASR系统生成的文本有一些特点,比如说没有复杂的标点符号(冒号、问号等),没有格式化的一些字符,比如换行字符,或者全部是大写或者全部是小写。

同时使用了音频语言检测器(2021年的一个prototype模型)和CLD2工具,检测说的是哪种语言,如果这两个检测出来的语言不一样,那么就把【音频转录文本对】数据删除。

把音频文件分为30秒的【音频文本对】。训练所有音频片段,包括那些没有人说话的音频(作为sub-sampled),使用这些片段区分有没有在说话。

模型

由于我们的工作重点是研究大规模监督预训练的语音识别能力,因此我们使用现成的架构来避免将我们的发现与模型改进混淆。

模型使用2017年的encoder-decoder Transformer。
声音输入到Transformer:所有音频采样16K Hz,变为80通道的 logmagnitude Mel spectrogram(每个时间点抽取了80维度的特征),每个时间窗口是25ms,每次窗口滑动10ms。

切30s的音频,每次滑动10ms,长为30s的音频变成了3000个数据点,每个数据点的维度是80
(一个段落3000个词,每个词的词嵌入长度是80)

在输入之前,经过两个卷积层,它的宽度是3,使用GELU激活函数,第二个卷积层的步幅是2

步幅为2,把3000个数据点变为1500

然后把正弦位置编码加到卷积层的输出中,一块送到encoder进行训练。

在这里插入图片描述

多任务格式

虽然语音识别模型的核心部分是预测说的一段话的单词,但这不是唯一的部分。对于一个完整特征的ASR系统来说,包括许多额外的部分,比如说检测是不是有人在说话,谁在说话,识别出来的文字归一化。这些部分通常是分别处理,然后把它们合起来,成为一个复杂完整的语音识别模型。为了减少复杂度,作者想要用一个模型执行所有的任务。可以在相同的输入音频信号上执行许多不同的任务:转录,翻译,语音活动检测等等。

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

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

相关文章

Redis配置文件

Redis配置文件 自定义目录 /myreids/redis.conf Units 单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit。大小写不敏感 INCLUDES 包含 多实例的情况可以把公用的配置文件提取出来 网络配置相关 bind 默认情况…

【WSL】[01] windows subsytem linux 配置和使用 - ubuntu GUI安装

第【1】章前言: AI的训练和设计似乎ubuntu是必要的,而且,GPU的配置似乎也是要在Ubuntu下,某些模式版本才能兼容。单独搞一个编译服务器是个思路,但是,如果资金不够,也许要考虑在Windwos和Linux…

程序员出身备考PMP,如何避开备考误区顺利拿到3A成绩?

还在犹豫2023年如何才能提升自己的职场竞争力吗?PMP项目管理证书值得大家了解。掌握这些备考技巧,让你的PMP学习少走弯路。有计划明年3月参考PMP的小伙伴注意啦! 今天小赛邀请了一位程序员出身的小伙伴,一起来看看他是如何在忙碌…

linux下如何使用configure/make/make install命令编译安装卸载程序

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。安装成功的源码就是所谓的可执行文件,在你不需要的时候,也是可以删除/卸载&#xff08…

leetcode1456. 定长子串中元音的最大数目

给你字符串 s 和整数 k 。 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为(a, e, i, o, u)。 示例 1: 输入:s “abciiidef”, k 3 输出:3 解释:子字符串…

Spring的7种事务传播方式

Spring事务传播行为体现在某个service方法调用另一个service方法,事务该如何进行下去。 Spring支持7中事务传播方式,在Propagation类中可以看到,如下: REQUIRED(0), SUPPORTS(1), MANDATORY(2), REQUIRES_NEW(3), NOT_SUPPORTED…

【操作系统】进程的属性及状态(三态五态七态)

文章目录进程的概念进程的属性1、结构性2、共享性3、动态性4、独立性5、制约性6、并发性进程状态1、三态模型2、五态模型3、七态模型进程的概念 程进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本…

Java中内部类的讲解(Java系列8)

目录 前言: 1.内部类 1.1内部类的概念 1.2内部类的分类 1.2.1实例内部类 1.2.2静态内部类 1.2.3局部内部类 1.2.4匿名内部类 结束语: 前言: 这次小编主要与大家分享一下什么是内部类,那么接下来就和小编一起来见识一下内…

aloam学习笔记(一)

开始学习aloam框架,记录一下最开始运行aloam中出现的各种问题以及解决方式。 1.aloam地址 GitHub - HKUST-Aerial-Robotics/A-LOAM: Advanced implementation of LOAM 2.安装aloam的一些依赖 主要是两个ceres和pcl库 2.1安装ceres ceres官方地址:I…

宝马335i手动挡和M3手动挡的对比

感受篇 *动力 两车的动力都堪称强悍,但发力感受差异非常大。335具备典型的涡轮车特征,动力来的比较突兀, 低速跟车时油门很难控制,给小了车走得慢,给大了就往前窜。转速拉到3000转以后335的动力刺激度非常高&#xff…

房产管理系统安全可靠性分析

数图互通房产管理 高校房产管理系统是基于公司自主研发FMCenter平台开发的应用系统。 一、系统安全性分析: 1.支持SSL传输协议,可以实现链路层的加密传输。 2.提供基于角色的授权体系,角色可自…

辞旧迎新,社科院与杜兰大学金融管理硕士项目引领你在金融的世界遇到更好的自己

不知不觉中2022年剩下最后的2天了,这一年中一半的时间是核酸,另一半是辛酸。当我们的理想快被生活磨灭的时候,记得把生活调成自己喜欢的频率,尽力而为。告别过去才能跟未来更好的相逢,新的一年我们的在职读研从社科院杜…

webdriver的尝试:三 【移动端的使用appium-配置】

文章目录appium安装appium与inspectorinspector配置配置信息获取inspector启动遇到的错误记录启动appium Selenium webdriver到移动端使用的是appium。 官方网站 介绍是:appium是一个app的自动化测试框架,使用webdriver协议。且可用于,原生…

【机器学习实战】二、随机森林算法预测出租车车费案例

随机森林算法预测出租车车费案例 一、导入第三方库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import sklearn二、加载数据集 train pd.read_csv(train.csv,nrows1000000) # 加载前1000000条数据 test pd.read_csv(…

Java-抽象类与接口

前言 温故而知新 最近从头来看当初学过的语法知识点, 温故而知新, 发现当初还有许多未掌握的知识, 所以我建议大家也要多温故, 可能当初有好多知识点是没掌握到的. 这篇博客的重点就是介绍抽象类与接口, 并阐述他们的区别. 一. 抽象类 1. 概念 在面向对象的概念中, 所有的…

git基础

代码托管平台:git.acwing.com 一、git基本概念 工作区:仓库的目录。工作区是独立于各个分支的。 暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。 版本库:存放所有已经提交…

黑马Hive+Spark离线数仓工业项目--数仓主题应用层ST层构建(2)

服务域:回访主题分析 目标:掌握回访主题的需求分析 路径 - step1:需求 - step2:分析 实施 需求:统计不同维度下的回访主题指标的结果 分析 - 指标 - 回访工程师数量、回访人员数量、回访人员最大数量、回访人员最…

C++学习 Day.8 (重载运算符和类型转换运算符)ps:一大波参考博客来袭~~

this指针 详解请点这里 复制构造函数详解 点这里和这里 指针的指针的地址,指针自身的地址,指针指向的地址 点这里 实例化解释很好 引用和指针的区别 点这里和这里 引用详解:C:引用的简单理解 - Tom文星 - 博客园 (cnblogs.co…

SMC详解

SMC全称:Secure Monitor Call 目的:进入到EL3异常等级 应用场景:大于等于EL1异常等级下使用(EL0下不能使用) 官方介绍以及使用方式如下: 主要配置: (1) SCR_EL3.SMD: (2) HCR_EL2.TSC 主要功…

ArcGIS基础实验操作100例--实验20按像元修改栅格值

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验20 按像元修改栅格值 目录 一、实验背景 二、实验数据 三、实验步骤 (1&…