论文阅读_语音识别_Wisper

英文名称: Robust Speech Recognition via Large-Scale Weak Supervision
中文名称: 通过大规模弱监督实现鲁棒语音识别
链接: https://proceedings.mlr.press/v202/radford23a.html
代码: https://github.com/openai/whisper
作者: Alec Radford, Jong Wook Kim, Tao Xu, Greg Brockman, Christine McLeavey, Ilya Sutskever
机构: OpenAI
日期: 2022-12-06
引用次数: 1032

1 读后感

语音识别不仅用于语音输入、语音聊天,生成字幕,还在语音合成,视频分析等等领域作为工具使用,一方面需要识别不同语音,不同发音人的音频特征,还需要生成合理通顺的文本(选择多音字,标点)等等。

Whisper 是 OPENAI 提供的语音转文字的引擎,它是一个开源工具,在自己的 GPU 机器上也能搭建。Wisper 是一个多语音识别引擎,简单用过,感觉对中文识别还是很好的。下面介绍 Whisper 的实现原理。

论文使用非常大量弱监督的标注数据训练模型,这里的弱监督包含大量多语言多任务的数据,以提升语音识别的准确性和稳健性,达到与有监督微调模型同等的识别效果。其底层逻辑是使用多任务训练能提升模型的鲁棒性。

2 摘要

目标:扩展弱监督语音识别的范围,减小弱监督和有监督学习的差距。使模型不再需要根据情境精调,就可以在广泛的环境中“开箱即用”可靠地工作。

方法:通过大量多语言多任务的语音数据,利用弱监督方法,训练不需要精调的语音识别模型。

结论:当扩展到 680,000 小时的多语言和多任务监督时,生成的模型可以很好地推广到标准基准,无需任何数据集特定的微调,即可与有监督学习的结果竞争,达到了与人类接近的准确性和稳健性。

3 引言

之前的方法是使用有监督数据训练模型,约需要 1000+ 小时标注数据;而 Wav2Vec 2.0 的技术使用 1,000,000 小时的无标注数据预训练模型,再用少量标注精调模型;它的表现已经超越了之前的最好水平,特别适用在标注数据较少的情况下。

无监督数据主要训练编码器,能很好地实现音频表征,但缺乏将表征映射到可用输出的解码器,所以需要微调才能实现语音识别等任务。但在一个数据集上精调的模型往往难以泛化到其它数据集上,由此限制了模型的实用性和鲁棒性。

实验证明,与在单个数据源上训练的模型相比,在多数据集/域中以监督方式进行预训练的语音识别系统表现出更高的鲁棒性,在图像领域的应用也证明了,更大的弱监督数据集显着提高了模型的鲁棒性和泛化性。

文中提出的构建 Whisper 模型工程中,将弱监督语音识别扩展了一个数量级,达到 680,000 小时的标记音频数据。并展示了在这种规模上训练的模型可以很好地转移到现有数据集零样本,无需任何特定于数据集的微调即可获得高质量的结果。

除了数据量,训练范围还从纯英语语音识别扩展到多语言和多任务,680,000 小时的音频中,117,000 小时涵盖 96 种英语外的其他语言,以及 125,000 小时的翻译数据;并证明联合多语言和多任务训练没有缺点,甚至有好处。另外,文中 Whisper 没有使用自监督方法。

4 方法

image.png

4.1 数据预处理

利用 sequence-to-sequence 模型在语音和对应的转录文本(音频转文本)之间进行映射,训练 Whisper 模型来预测音频对应的原始文本,而无需任何显著的标准化或预处理。

多样化的数据集,涵盖了来自许多不同环境、录音设置、扬声器和语言的广泛音频分布。虽然音频质量的多样性可以帮助训练模型变得稳健,但转录质量的多样性却没有好处,因此,使用过滤方法以得到高质量的转录。例如:检测并删除机器生成的转录本;使用音频语言检测器,保证音频和文本使用的语言一致,或者作为 X->en 翻译数据使用;还使用转录文本的模糊去重复来减少训练数据集中的重复量和自动生成的内容。

将音频文件分成 30 秒的片段,并与该时间片段内发生的转录子集配对。

4.2 模型

使用现成的架构来避免将文中验证与模型改进混淆。选择了具有“编码器 - 解码器”结构的 Transformer 模型结果。

音频被重新采样到 16,000 Hz,并且在 25 毫秒窗口上以 10 毫秒的步幅计算 80 通道对数梅尔频谱图表示。对于特征归一化,将输入全局缩放到 -1 到 1 之间,预训练数据集中的均值近似为零。

网络结构如图 -1 所示,编码器和解码器具有相同的宽度和 block 数量,音频数据转换成梅尔频谱图,再经过两个卷积层后送入 Transformer 模型。

使用 GPT-2 中的字节级 BPE 文本标记器来处理英语模型,并为多语言模型重新调整词汇表,因此也适用于其他语言。

4.3 多任务

完整的语音处理系统除了语音识别之外还涉及许多组件,从而形成一个相对复杂的交互部件系统。

由于可以对同一输入音频信号执行许多不同的任务:转录、翻译、语音活动检测、对齐和语言识别,将所有任务和条件信息指定为解码器的输入标记序列(见图 -1 右上的黄色块)。并以转录文本的历史为条件,希望它能够学习文本上下文来解决不明确的音频(Decoder 模块以之前文本作为输入)。

实际训练时,首先,使用 VoxLingua107 模型预测音频的语言,写入输入标记,加入任务标记,再指定是否预测时间戳,然后是数据。图中灰色部分展示了有时间戳处理的差异。

4.4 训练

训练了一套模型,以研究 Whisper 参数范围从 39M 到 1550M 的扩展特性。模型具体参数见论文附录,对比效果见实验部分。不使用任何数据增强或正则化,而是依靠如此大的数据集中包含的多样性来鼓励泛化和鲁棒性。

5 实验

Whisper 的目标是开发一个单一的强大语音处理系统。因此,实验的目的是检查 Whisper 是否能够很好地跨领域、任务和语言进行泛化。因此测试时不使用任何训练数据集,只在 zero-shot 设置中评估 Whisper,以衡量其强大的泛化能力。

语音识别研究通常根据词错误率(WER)指标评估系统。然而,WER 惩罚模型输出与参考文本之间的所有差异,包括文本风格上的无害差异。这个问题对于像 Whisper 这样的零样本模型尤为严重。在 WER 计算之前通过文本标准化来解决这个问题,以尽量减少非语义差异的惩罚。

人们常常需要在对所研究的特定数据几乎没有或完全没有了解的情况下完成任务。所以,人类的表现实际上是一种衡量如何在新的、未知的情况下进行推理和解决问题的能力。这就解释了为什么在特定测试中人类评分不如模型,但在实际环境中超过模型的问题。

Whisper 模型是在广泛和多样化的音频分布上进行训练并在零样本设置中进行评估的,能比现有系统更好地匹配人类行为。具有高有效鲁棒性的模型在分布外数据集上的表现优于预期,其表现取决于参考数据集上的表现,并接近于在所有数据集上表现相等的理想状态。

零样本 Whisper 模型具有与监督 LibriSpeech 模型非常不同的鲁棒性特性,并在其他数据集上远远超过所有基准 LibriSpeech 模型。与图 2 中的人类相比,最佳的零样本 Whisper 模型大致匹配其准确性和鲁棒性。

image.png

6 分析和消融

6.1 数据规模

图 -4 展示了训练规模与效果之间的关系,如在英语语音识别方面,从 3,000 小时到 13,000 小时,性能迅速提高,然后在 13,000 小时到 54,000 小时之间明显放缓。对于多语言语音识别,WER 的改进在 54,000 小时之前平稳增长,然后减少。对于 X→en 翻译,当训练 7,000 小时或更少的音频时,性能几乎为零,然后在 54,000 小时之前以大致对数线性的方式改善,之后再进一步扩展到完整数据集大小时也显示出收益递减。

6.2 模型规模

除了英语语音识别之外,多语言语音识别、语音翻译和语言识别的性能随着模型大小的增加而不断提高。英语识别的回报递减可能是由于接近人类水平表现的饱和效应所致。

6.3 多任务和多语言迁移

对于使用适量计算资源训练的小型模型,任务和语言之间确实存在负迁移:然而,对于最大的模型来说,它们优于仅英语训练,展示了来自其他任务的正迁移。

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

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

相关文章

精品springboot基于大数据技术的电商数据挖掘平台设计与实现购物商城

《[含文档PPT源码等]精品基于springboot基于大数据技术的电商数据挖掘平台设计与实现[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: Java——涉及技术: 前端…

蓝桥杯:C++模运算、快速幂

模运算 模运算是大数运算中的常用操作。如果一个数太大,无法直接输出,或者不需要直接输出,则可以对它取模,缩小数值再输出。取模可以防止溢出,这是常见的操作。 模是英文mod的音译,取模实际上是求余。 取…

晨曦记账本,微信账单全解析,轻松掌握收支明细与总花销!

在这个数字化时代,微信已不仅仅是一个简单的社交工具,更是我们日常生活中不可或缺的支付与收款平台。从购买早餐、支付水电费到线上购物,微信支付已经渗透到我们生活的方方面面。然而,你是否曾经对自己的微信消费产生过疑惑&#…

模型 4i(趣味、利益、互动、个性)理论

系列文章 分享 模型,了解更多👉 模型_总纲目录。重在提升认知。以用户为中心营销。 1 模型 4i(趣味、利益、互动、个性)理论的应用 1.1 4i理论在电子商务中的应用 小米公司在其电子商务平台上运用了 4i理论,取得了较好的效果。具体表现如下…

亚马逊速卖通temu:店铺产品怎么才能上首页爆单并且不翻车

在亚马逊平台上经营的卖家,深知平台规则的重要性。每个产品的销量和评价,特别是关键词的排名,对产品的推广至关重要。如果一个产品在亚马逊上没有评论和销量,其推广成本会大大增加。无论是通过官方渠道还是其他途径,卖…

C语言第二十六弹---字符串函数(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1、strncat 函数的使用 2、strncmp 函数的使用 3、strstr 函数的使用和模拟实现 4、strtok 函数的使用 5、strerror 函数的使用 6、perror 函数的使用…

1.初识Tauri

文章目录 一、前言二、基本认识三、js与rust通信四、构建应用 一、前言 原文以及后续文章可点击查看:初识Tauri。 Tauri是一款比较新的跨平台桌面框架,也是我目前最喜欢的一个框架,其官网为:Tauri 它的作用其实和Electron很像&…

js---webAPI

01 声明变量 js组成: DOM:操作网页内容的,开发页面内容特效和实现用户交互 BOM: DOM树:将 HTML 文档以树状结构直观的表现出来,我们称之为文档树或 DOM 树 文档树直观的体现了标签与标签之间的关系 CSS获取元素的方法 document.querySele…

代码随想录算法训练营第三十四天|860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 细节: 1. 首先根据题意就是只有5.的成本,然后就开始找钱,找钱也是10.和5. 2. 直接根据10 和 5 进行变量定义,然后去循环…

每日OJ题_算法_递归④力扣24. 两两交换链表中的节点

目录 ④力扣24. 两两交换链表中的节点 解析代码 ④力扣24. 两两交换链表中的节点 24. 两两交换链表中的节点 难度 中等 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即…

【Py/Java/C++三种语言详解】LeetCode每日一题240217【二叉树BFS】LeetCode429、N叉树的层序遍历

有LeetCode交流群/华为OD考试扣扣交流群可加 948025485 可上全网独家的 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1336了解算法冲刺训练 文章目录 题目链接题目链接题目描述解题思路DFS和BFS异同用队列维护的BFS 代码PythonJavaC时空复杂度 相关习题华为OD算法/大厂面…

物理层计网

文章目录 前言一、物理层的基本概念1.物理层所要解决的问题2.物理层协议的主要任务 二、物理层下面的传输媒体1.导引型传输媒体2.非导引型传输媒体 三、传输方式1.串行传输和并行传输2.同步传输和异步传输3.单工、半双工、全双工传输 四、编码与调制1.数据通信中的常用术语2.编…

RM电控工程讲义

HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) 是一个回调函数,通常在STM32的HAL库中用于处理CAN(Controller Area Network)接收FIFO 0中的消息。当CAN接口在FIFO 0中有待处理的消息时,这个函数会被调用。 HAL库C…

算法刷题:长度最小的子数组

长度最小的子数组 .题目链接题目详情算法原理滑动窗口定义指针进窗口判断出窗口 我的答案 . 题目链接 长度最小的子数组 题目详情 算法原理 滑动窗口 这道题,我们采用滑动窗口的思想来解决,具体步骤如图所示 定义指针 如图所示,两个指针都需要从左往右进行遍历,因此初始值…

Python算法100例-1.6 打鱼还是晒网

1.问题描述2.问题分析3.算法设计4.确定程序框架5.求出指定日期距离1990年1月1日的天数6.完整的程序7.补充知识点 1.问题描述 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起便开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”…

Vue练习3:组件开发3(页面切换)

预览 ——————————————————————————————————————————— 组件文档 Pager组件 属性 属性名含义类型必填默认值current当前页码(总数据量/单页容量)Number否1total总数据量Number否0limit单页容量Number否10vis…

「算法」滑动窗口

前言 算法需要多刷题积累经验,所以我行文重心在于分析解题思路,理论知识部分会相对简略一些 正文 滑动窗口属于双指针,这两个指针是同向前行,它们所夹的区间就称为“窗口” 啥时候用滑动窗口? 题目涉及到“子序列…

AI大模型专题:工业大模型技术应用与发展报告1.0

今天分享的是AI大模型系列深度研究报告:《AI大模型专题:工业大模型技术应用与发展报告1.0》。 (报告出品方:中国信通院) 报告共计:25页 人工智能的几个相关概念 大模型:即基础模型&#xff…

爱上JVM——常见问题(一):JVM组成

1 JVM组成 1.1 JVM由那些部分组成,运行流程是什么? 难易程度:☆☆☆ 出现频率:☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的运行环境(java二进制字节码的运行环境) 好处: 一次编写&…

批量美化图片:轻松打造统一风格的图片库!

在数字时代,图片已经成为我们生活中不可或缺的一部分。从朋友圈的分享到商业广告的展示,每一张图片都承载着我们的情感和创意。但是,你是否曾经因为大量的图片需要美化而感到头疼?是否因为繁琐的手动编辑而失去了创作的热情&#…