论文阅读_语音识别_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 多任务和多语言迁移

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

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

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

相关文章

vue2+高德地图web端开发(二)

前言: 高德地图输入提示与 POI 搜索相关文档:输入提示与 POI 搜索-服务插件和工具-进阶教程-地图 JS API 2.0 | 高德地图API (amap.com) 输入提示-输入提示-示例中心-JS API 2.0 示例 | 高德地图API (amap.com) 创建输入框: 引入Element组…

渲染案例 |《甲辰春来,福暖四季》蓝海创意云助力央视新闻频道打造2024龙年除夕视觉盛宴

随着2024年甲辰龙年的脚步渐近,中央广播电视总台新闻频道精心策划的除夕特别节目《甲辰春来,福暖四季》于2月9日上午9点准时与全国观众见面。这一场充满传统韵味与现代气息的视觉盛宴,不仅展现了浓厚的节日氛围,更在技术上实现了突…

Halcon 元组/数组基本操作

Halcon 元组/数组基本操作 ** 元组/数组 tuple *******数组创建与字典******* ** 创建一个数组 A : [1,3,45,6] A[0] : 1 A[1] : 2** 定义一个key value字典类型create_dict (DictHandle) set_dict_tuple (DictHandle, test_tuple, A) set_dict_tuple (DictHandle, test_obj, …

[HTML]Web前端开发技术26(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Java数字孪生智慧工地数据大屏APP项目源码

目录 智慧工地云平台核心功能 1.劳务管理 2.视频监控 3.安全教育 4.进度管理 5.环境监测 6.塔吊监控 7.升降机监控 8.工地广播 9.深基坑高支模 10.AI识别 11.安全质量 智慧工地建设的价值和意义 危大工程管理 智慧工地聚焦施工现场一线生产活动,利用物…

数字孪生10个技术栈(总括):概念扫盲和总体介绍

数字孪生涉及到诸多技术领域,千汇数据工场将分为10个技术领域来介绍数字孪生,力争将复杂的技术术语给出最浅显易懂的解释,不会上复杂的的代码,大家可以畅快阅读。 本片先从总体上介绍数字孪生技术栈。 一、什么是数字孪生 数字孪…

【github】利用Git将自己的代码上传至GitHub

记录一下将自己的代码上传GitHub的步骤。    Git工具下载:https://git-for-windows.github.io/ 1、在github上建立项目 首先在github主页上,创建一个reopsitory,并命名为PHF-Test,可添加项目描述(Description&#x…

骨传导耳机好用吗?如何挑选骨传导耳机?

骨传导耳机是一种非常创新的骨传导耳机,采用耳挂式佩戴,使用起来也非常舒适。 而且骨传导耳机最近几年还是比较火的,骨传导耳机的出现解决了传统入耳式耳机长时间佩戴不舒服、听力受损等问题。但随着骨传导耳机的品牌逐渐变多,很多…

React 更改程序入口点(index.js文件位置变更)

食用前提示:本文基于已经快速配置好的React环境而作,配置React环境详见拙作:React环境配置-CSDN博客~ 一、了解默认入口点 使用create-react-app快速搭建react环境后,npm start启动程序的默认入口点为/src/index(即src目录下的ind…

P2024 [NOI2001] 食物链 带权并查集 循环关系

题目: P2024 [NOI2001] 食物链 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 本文学习自: 题解 P2024 【食物链】 - RE: 从零开始的异世界信竞生活 - 洛谷博客 (luogu.com.cn) ———— 关系并查集其实就是在普通并查集的基础上额外开个数组r…

从零开始学howtoheap:解题西湖论剑Storm_note

how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境:从零开始配置pwn环境:从零开始配置pwn环境:优化pwn虚拟机配置支持libc等指令-CSDN博客 1.题目信息 https://github.com/ble55…

学习对象原型中的hasOwnProperty()

hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性,如果是,返回true,否者false; 参数propertyName指要检测的属性名;

揭秘铷原子钟:北斗卫星系统的“心脏”

揭秘铷原子钟:北斗卫星系统的“心脏” 近日,中国科学院精密测量科学与技术创新研究院的梅刚华团队发布了一项重要成果。他们成功将铷原子钟的短期频率稳定度提高到了E-14(即10的负14次方,相当于百万亿分之一)的量级&a…

作业帮 x TiDB丨多元化海量数据业务的支撑

导读 作业帮是一家成立于 2015 年的在线教育品牌,致力于用科技手段助力教育普惠。经过近十年的积累,作业帮运用人工智能、大数据等技术,为学生、老师、家长提供学习、教育解决方案,智能硬件产品等。随着公司产品和业务场景越来越…

阿里云服务器配置选择方法和经验(CPU+内存+宽带)

阿里云服务器配置怎么选择?根据实际使用场景选择,个人搭建网站可选2核2G配置,访问量大的话可以选择2核4G配置,企业部署Java、Python等开发环境可以选择2核8G配置,企业数据库、Web应用或APP可以选择4核8G配置或4核16G配…

18. 【Linux教程】vim 编辑器

前面小节介绍如何创建文件、移动文件、删除文件,但之前都没有介绍如何修改文件内容,本小节介绍如何使用 vim 编辑器对文件内容进行修改,另外介绍 vim 编辑器的安装和使用。 1. vim 编辑器简介 vim 编辑器是由 vi 发展而来的文本编辑器。它的…

大屏设计:公说公有理婆说婆有理!错,看这十个判定标准。

“公说公有理,婆说婆有理”这句话通常用来形容争论双方都认为自己是正确的,而且都有自己的理由和观点。在设计中,这种情况也是很常见的。 为什么会公说公有理婆说婆有理? 设计是一门艺术和技术相结合的学科,涉及到很多…

【算法分析与设计】最大层内元素和

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。 请返…

Qt的安装

下载安装包 我们选择Open Source的版本。 可以从https://www.qt.io/download-open-source直接下载最新版本,对于想要选择特定版本,或者尝试beta版功能的用户,也可以从https://download.qt.io选择自己需要的版本。 如果你的网速可以的话&am…

PCL库学习及ROS使用

PCL库学习 c_cpp_properties.json {"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**","/usr/include","/usr/local/include"],"defines": [],"compiler…