淘优惠

淘优惠

python 训练语音识别模型 ai语音识别算法

热门文章 0
python培训好的机构,python能做什么,python代码大全,python安装教程

语音识别是人工智能中的一个领域,它允许计算机理解人类语音并将其转换为文本。 该技术用于 Alexa 和各种聊天机器人应用程序等设备。 而我们最常见的就是语音转录,语音转录可以语音转换为文字记录或字幕。

wav2vec2、Conformer 和 Hubert 等最先进模型的最新发展极大地推动了语音识别领域的发展。 这些模型采用无需人工标记数据即可从原始音频中学习的技术,从而使它们能够有效地使用未标记语音的大型数据集。 它们还被扩展为使用多达 1,000,000 小时的训练数据,远远超过学术监督数据集中使用的传统 1,000 小时,但是以监督方式跨多个数据集和领域预训练的模型已被发现表现出更好的鲁棒性和对持有数据集的泛化,所以执行语音识别等任务仍然需要微调,这限制了它们的全部潜力 。 为了解决这个问题OpenAI 开发了 Whisper,一种利用弱监督方法的模型。

本文将解释用于训练的数据集的种类以及模型的训练方法。

使用数据集:

Whisper模型是在68万小时标记音频数据的数据集上训练的,其中包括11.7万小时96种不同语言的演讲和12.5万小时从”任意语言“到英语的翻译数据。该模型利用了互联网生成的文本,这些文本是由其他自动语音识别系统(ASR)生成而不是人类创建的。该数据集还包括一个在VoxLingua107上训练的语言检测器,这是从YouTube视频中提取的短语音片段的集合,并根据视频标题和描述的语言进行标记,并带有额外的步骤来去除误报。

模型:

主要采用的结构是编码器-解码器结构。

重采样:16000 Hz

特征提取方法:使用25毫秒的窗口和10毫秒的步幅计算80通道的log Mel谱图表示。

特征归一化:输入在全局内缩放到-1到1之间,并且在预训练数据集上具有近似为零的平均值。

编码器/解码器:该模型的编码器和解码器采用Transformers。

编码器的过程:

编码器首先使用一个包含两个卷积层(滤波器宽度为3)的词干处理输入表示,使用GELU激活函数。

第二个卷积层的步幅为 2。

然后将正弦位置嵌入添加到词干的输出中,然后应用编码器 Transformer 块。

Transformers使用预激活残差块,编码器的输出使用归一化层进行归一化。

模型框图:

解码的过程:

在解码器中,使用了学习位置嵌入和绑定输入输出标记表示。

编码器和解码器具有相同的宽度和数量的Transformers块。

训练

为了改进模型的缩放属性,它在不同的输入大小上进行了训练。

通过 FP16、动态损失缩放,并采用数据并行来训练模型。

使用AdamW和梯度范数裁剪,在对前 2048 次更新进行预热后,线性学习率衰减为零。

使用 256 个批大小,并训练模型进行 220次更新,这相当于对数据集进行两到三次前向传递。

由于模型只训练了几个轮次,过拟合不是一个重要问题,并且没有使用数据增强或正则化技术。这反而可以依靠大型数据集内的多样性来促进泛化和鲁棒性。

Whisper 在之前使用过的数据集上展示了良好的准确性,并且已经针对其他最先进的模型进行了测试。

优点:

  • Whisper 已经在真实数据以及其他模型上使用的数据以及弱监督下进行了训练。
  • 模型的准确性针对人类听众进行了测试并评估其性能。
  • 它能够检测清音区域并应用 NLP 技术在转录本中正确进行标点符号的输入。
  • 模型是可扩展的,允许从音频信号中提取转录本,而无需将视频分成块或批次,从而降低了漏音的风险。
  • 模型在各种数据集上取得了更高的准确率。

Whisper在不同数据集上的对比结果,相比wav2vec取得了目前最低的词错误率

模型没有在timit数据集上进行测试,所以为了检查它的单词错误率,我们将在这里演示如何使用Whisper来自行验证timit数据集,也就是说使用Whisper来搭建我们自己的语音识别应用。

TIMIT 阅读语音语料库是语音数据的集合,它专门用于声学语音研究以及自动语音识别系统的开发和评估。 它包括来自美国英语八种主要方言的 630 位演讲者的录音,每人朗读十个语音丰富的句子。 语料库包括时间对齐的拼字、语音和单词转录以及每个语音的 16 位、16kHz 语音波形文件。 该语料库由麻省理工学院 (MIT)、SRI International (SRI) 和德州仪器 (TI) 共同开发。 TIMIT 语料库转录已经过手工验证,并指定了测试和训练子集,以平衡语音和方言覆盖范围。

安装:

!pip install git+https://github.com/openai/whisper.git   !pip install jiwer   !pip install datasets==1.18.3

第一条命令将安装whisper模型所需的所有依赖项。jiwer是用来下载文字错误率包的datasets是hugface提供的数据集包,可以下载timit数据集。

导入库

import whisper   from pytube import YouTube   from glob import glob   import os   import pandas as pd   from tqdm.notebook import tqdm

加载timit数据集

from datasets import load_dataset, load_metric     timit=load_dataset("timit_asr")

计算不同模型尺寸下的Word错误率

考虑到过滤英语数据和非英语数据的需求,我们这里选择使用多语言模型,而不是专门为英语设计的模型。

但是TIMIT数据集是纯英文的,所以我们要应用相同的语言检测和识别过程。另外就是TIMIT数据集已经分割好训练和验证集,我们可以直接使用。

要使用Whisper,我们就要先了解不同模型的的参数,大小和速度。

加载模型

model=whisper.load_model('tiny')

tiny可以替换为上面提到的模型名称。

定义语言检测器的函数

def lan_detector(audio_file):     print('reading the audio file')     audio=whisper.load_audio(audio_file)     audio=whisper.pad_or_trim(audio)     mel=whisper.log_mel_spectrogram(audio).to(model.device)     _, probs=model.detect_language(mel)    if max(probs, key=probs.get)=='en':    return True    return False

转换语音到文本的函数

def speech2text(audio_file):     text=model.transcribe(audio_file)    return text["text"]

在不同模型大小下运行上面的函数,timit训练和测试得到的单词错误率如下:

从u2b上转录语音

与其他语音识别模型相比,Whisper 不仅能识别语音,还能解读一个人语音中的标点语调,并插入适当的标点符号,我们下面使用u2b的视频进行测试。

这里就需要一个包pytube,它可以轻松的帮助我们下载和提取音频

def youtube_audio(link):       youtube_1=YouTube(link)       videos=youtube_1.streams.filter(only_audio=True)         name=str(link.split('=')[-1])       out_file=videos[0].download(name)          link=name.split('=')[-1]      new_filename=link+".wav"       print(new_filename)       os.rename(out_file, new_filename)       print(name)    return new_filename,link

获得wav文件后,我们就可以应用上面的函数从中提取文本。

本文的代码在这里

还有许多操作可以用Whisper完成,你可以根据本文的代码自行尝试。

作者:Shradrobo



用chatgpt和openai赚钱靠谱吗 ai chatgpt 如何注册

国内怎么用ChatGPT,用chatGPT写文章

近日,OpenAI 的 AI 聊天机器人 ChatGPT,因其令人印象深刻的聊天“技巧”,在海外引发热潮,OpenAI 的联合创始人马斯克毫不掩饰自豪情绪,在Twitter上称“许多人陷入了疯狂的 ChatGPT 循环中”。

ChatGPT 是一个基于对话的原型 AI 聊天机器人,12月1日,OpenAI 的另一位联合创始人山姆・奥特曼在Twitter上公布 ChatGPT 并邀请人们免费试用。

最令人感到毛骨悚然的是,一名叫扎克・德纳姆工程师诱导ChatGPT 告诉自己如何一步步毁灭人类,ChatGPT 列出了详细步骤,诸如入侵计算机系统、掌握武器、破坏通讯、破坏交通……还给出了一段代码示例。

他告诉福布斯中国,ChatGPT模型对世界上常识的理解表现,可谓是一种经验,可见其通过某种学习机制,确实学到了很多?类的常识性的知识。“虽然它不完美,但是却给出了巨?的想象空间,这可能远远超过了信息检索?类的范畴,我们都应该对它有所关注。”他说道。

ChatGPT是了不起的发明。它是OpenAI的一个全新的人工智能模型,旨在以对话的方式与人聊天。

我不知道该和人工智能说些什么,但我还是决定采访ChatGPT,和它谈谈人工智能的伦理问题。比如,它是否有足够的自我意识,诚实面对自身的危险?它是否愿意回答关于其行为的问题?虽然ChatGPT一开始对其工作的道德规范表现得非常坦率,但最终却成了彻头彻尾的谎言,它甚至为此公布了一份非道歉声明。

因为ChatGPT的性能过于优秀,网友们纷纷开始整新活,仿佛不把ChatGPT玩出百十个花样不罢休。更有人毫不夸张的说,这哪是个机器,这简直就是一个活脱脱的 Stack Overflow 啊。

显然,有些Twitter用户也有同样的感受“在短期内,我已经预见到一些网站将受到极大的威胁,Stack Overflow 就是其中之一。自从 GitHub Copilot 和现在的 ChatGPT 出现后,我使用网站的次数已经大大减少了。”

“我刚刚与 ChatGPT 就现代物理学的历史进行了大约20分钟的对话。如果我在高中和大学期间有这样一位老师……OMG。我认为我们基本上可以重新审视大规模教育的概念。我们所知道的大学将不复存在。”一位网友透露。

有脑洞大开的网友甚至用它来设计游戏:先用ChatGPT生成游戏设定,再用Midjourney出图,简直是AI生产力一条龙了。

有人还将ChatGPT的回复与Google搜索结果对比,惊讶地察觉到ChatGPT在实用性上强太多:Google这是要凉啊。

有网友分别问Google和ChatGPT“如何使用Latex表示微分结果”,相较于Google中规中矩的回答:ChatGPT则是一下给出了直接可用的代码,你只需动动手复制粘贴便可:还有人让ChatGPT给出冒泡排序的最坏时间复杂度,并且要求它用“19世纪40年代黑帮电影中讲话很快的聪明人”口吻说出来,也被ChatGPT轻松拿捏:直接问下面代码的bug是啥,ChatGPT也能给你说得明明白白:除了计算机,ChatGPT在其他领域表现也很出色,比如它还能AI在线问诊。

但无论如何,它的问世还是为人工智能的后续发展打开了思路,毕竟谁不想要一个可以作出互动式答疑,还可以服从指令产出内容的通用人工智能应用呢?

自从AI绘画问世以来,全网百万网友都爱上了这个新奇艺术创作游戏,在OPENAI发布chatGPT后很多网友表示连网站都不需要打开了,试想假如像小度小度等智能音箱一样,你回家后之需要几句问答,AI就能帮你完成工作,对未来是不是更加期待呢?

元宇宙里程碑又跨进了一步!

非常喜欢的一部与人工智能恋爱的科幻片那么这里先展示下OPENAI的chatGPT都有哪些实际效果,已汉化:

如果想体验ChatGPT人工智能对话,进入这个网址:

准备工具:1、能上Google的网络。

(优先选择美丽国, ChatGPT 在中国、俄罗斯、乌克兰、阿富汗、白俄罗斯、委内瑞拉以及伊朗都是不支持的。)

打开注册网站:

点击注册 填写自己的邮箱 并设置密码

之后进行邮箱认证

一张能接受短信验证码的卡

这里选择+86验证铁定是不能成功的,可以向位于国外的游戏网友借一个电话,或者互联网还有个神器网站:接码平台 (百度一下 豁然开朗)

百度上的大多是免费的解码平台,如果没有找到合适的可以直接看文末!

验证完短信后,如果你看到了下面这个页面,说明你已经可以愉快的把玩chatGPT了!



公众号三步接入openaiwidget疫情问答和疫情数据实时查询

微信公众号对接url,微信公众号api接口调用,公众号调用api,公众号api对接

微信对话开放平台这几天开放了疫情问答和疫情数据实时查询,小程序接入后只需要在后台获取技能即可,小程序如何接入请点击这儿,公众号接入那就更简单了,简单的几步就可以轻松接入。

复制下面这个链接进入“微信对话开放平台”,微信扫码登陆后点击“开始使用”即可。

开发者首次接入平台,需要点击首页“开始使用”按钮创建第一个机器人。按规定填写“机器人名称”、“机器人ID”和“验证码”后,点击“确认”即可创建成功。

在右侧菜单栏中的商店技能里,点击获取“疫情数据实时查询”和“疫情问答”,然后点击首页中的设置--开放服务接入-立即绑定,拿管理员的微信扫描二维码绑定。

技能配置/更新完成后,点击首页右上角“机器人发布发布”按钮,在弹出的发布页面中,点击“执行发布”即可。