irpas技术客

论文阅读-Whisper语音识别(OpenAI)_完美屁桃

大大的周 1284

一、论文信息

论文名称:Robust Speech Recognition via Large-Scale Weak Supervision

代码地址:https://github.com/openai/whisper

官方博客:https://openai.com/blog/whisper

作者团队:OpenAI

二、介绍

Whisper是一个通用语音识别模型。它是在各种音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。人工智能公司 OpenAI 开源了Whisper 自动语音识别系统,Open AI 强调 Whisper 的语音识别能力已达到人类水准。

Whisper 是一个自动语音识别(ASR,Automatic Speech Recognition)系统,OpenAI 通过从网络上收集了 68 万小时的多语言,其中11万小时覆盖96 种语言,12万小时的语言标号为英语,用多任务(multitask)监督数据对 Whisper 进行了训练。OpenAI 认为使用这样一个庞大而多样的数据集,可以提高对口音、背景噪音和技术术语的识别能力。除了可以用于语音识别,Whisper 还能实现多种语言的转录,以及将这些语言翻译成英语。

三、方法

Whisper体系结构是一种简单的端到端方法,实现为编码器-解码器Transformer。输入音频被分成30秒的片段,转换成log-Mel谱图,然后传入编码器。解码器被训练来预测相应的文本标题,并混合特殊标记,指示单一模型执行诸如语言识别、短语级时间戳、多语言语音转录和英语语音翻译等任务。

数据预处理

用了off-the-shelf结构,所有的音频从采样到16000Hz,再把它变成一个80通道的Log Scale Mel Spectrogram。将长为30s的语音信号变为3000个数据点,每个数据点上它的维度是80,最后将所有数值都放在-1和+1之间,它的均值大概也是0。

模型架构

序列到序列学习

模型输入长度(log-mel)为3000,特征维度为80。

2. 多任务?

英文转录:输入一段英文语音转录为英文文字;

任何语言语音到英文转录;

任何语言语音转录成对应语言;

输入一段背景音乐,判断无人说话。

3. 多任务流程?

4.??模型细节:不同层不同宽度不同头的个数。

四、实验

1. zero-shot:在很多其他语音数据集上评估whisper性能。

?2. 评估准则:WER 词错误率

假设要预测N个字母,错误率为预测的字母和真实的字母之间需要进行多少次修改。S为替换次数,D是多少次删除,I是多少次插入,如果全部正确则为0,C是正确词的个数。

3. 性能

X轴为在比较干净的语音数据集LibriSpeech的词错误率,Y轴为在别的数据集上的错误率,完美的模型一般表现为在两种数据集上错误率相似,但实际相差较远。

多语言语音识别性能

Whisper模型在各个语言上的词错误率

X轴,每个语言在训练集中有多少小时的训练数据,Y轴对应的词错误率,当数据集成倍增长时,词错误率也是按比例下降,假设想把错误率往下降一倍,那么训练数据集需要增加16倍。在英语上的词错误率为5%,跟人有点近似了。但在中文、韩语、阿拉伯语上表现不那么明显,原因可能是和别的语言发音很不一样,且在Tokenizer上的设计不那么适合中文等语言。

翻译性能

上图右,X轴为所有语言翻译的小时数,其中韩语较多,几万小时,但BLEU比中位线要差一点。

语言识别性能:性能一般

模型变大时在数据集上的效果

p1英语语音识别,从最小的38M到最大时,可以看到WER在下降。

p2多语言语音识别,整体也在下降。

p3翻译,效果也在上升。

p4语言识别,随着模型增大,精度有所提升。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Whisper #Speech #通过从网络上收集了 #68