chatGPT的耳朵!OpenAI的开源语音识别AI:Whisper !

语音识别是通用人工智能的重要一环!可以说是AI的耳朵!

它可以让机器理解人类的语音,并将其转换为文本或其他形式的输出。

语音识别的应用场景非常广泛,比如智能助理、语音搜索、语音翻译、语音输入等等。

然而,语音识别也面临着很多挑战,比如不同的语言、口音、噪音、专业术语等等,都会影响语音识别的准确性和鲁棒性。

为了解决这些问题,OpenAI开源了语音识别系统: Whisper 

目前在开源网站上已收获5w星!

图片

它号称其英文语音辨识能力已达到人类水准,且它亦支持其它98种语言的自动语音辨识。

图片

 Whisper是什么?

Whisper是由研发出ChatGPT的OpenAI的研究团队开发的,OpenAI的研究成果也经常引起广泛的关注和讨论,比如GPT系列的预训练语言模型、DALL-E的图像生成模型、CLIP的图像分类模型等等。

Whisper的主要作者是Jong Wook Kim,他是OpenAI的研究科学家,他的研究兴趣是语音处理、自然语言处理和机器学习。

Whisper 架构是一种简单的端到端方法,以编码器-解码器 Transformer 的形式实现。输入音频被分成 30 秒的块,转换为对数梅尔频谱图,然后传递到编码器。

图片

解码器经过训练来预测相应的文本标题,并与特殊标记混合在一起,指导单个模型执行语言识别、短语级时间戳、多语言语音转录和英语语音翻译等任务。

图片

 

Whisper的惊艳功能

Whisper的最大特点是它的多语言和多任务能力,它可以同时处理多种语言和多种任务,而不需要针对每种语言或任务单独训练或调整模型。Whisper目前支持的语言有99种,包括英语、中文、日语、法语、德语、西班牙语等等,覆盖了世界上大部分的人口和地区。

Whisper目前支持的任务有四种,分别是:

多语言语音识别(Multilingual Speech Recognition):将语音转换为与语音相同语言的文本,比如将英语语音转换为英语文本,或者将中文语音转换为中文文本。

语音翻译(Speech Translation):将语音从一种语言翻译成另一种语言的文本,比如将英语语音翻译成中文文本,或者将中文语音翻译成英语文本。

语言识别(Language Identification):识别语音中的语言类型,比如判断语音是英语还是中文,或者是其他语言。

语音活动检测(Voice Activity Detection):检测语音中的活动区域,即语音中有人说话的部分,和没有人说话的部分。

Whisper的创新之处在于,它可以让人工智能学习和使用语境,从而提高和人类的沟通质量。Whisper的工作原理是,它会根据人类的输入,生成一个语境向量,这是一个包含了语境信息的数学表示。

然后,它会用这个语境向量来指导人工智能的输出,使其更加符合人类的期望。Whisper的优点是,它可以和任何类型的人工智能模型配合使用,无论是文本,图像,音频,视频,还是其他的形式。Whisper还可以让人工智能适应不同的语境,比如不同的场景,不同的任务,不同的用户,不同的风格,等等。

 Whisper的性能

Whisper的这些功能不仅强大,而且准确和鲁棒。Whisper的英文语音识别的准确率已经达到了人类的水平,甚至在一些嘈杂的环境中,还超过了人类的水平。Whisper的多语言语音识别和语音翻译的准确率也非常高,甚至在一些零样本的情况下,也能够表现出色。

Whisper 的性能因语言而异。下图显示了按语言large-v3和模型的性能细分,使用在 Common Voice 15 和 Fleurs 数据集上评估的large-v2WER(单词错误率)或 CER(字符错误率,以斜体显示)。

与其他模型和数据集相对应的其他 WER/CER 指标可以在论文的附录 D.1、D.2 和 D.4 中找到,以及附录 D 中的 BLEU(双语评估研究)翻译分数。

Whisper的性能不仅在实验室的环境中得到了验证,也在实际的应用场景中得到了证明。Whisper已经被应用在了OpenAI的一些项目中,比如GPT-4的语音输入,CLIP的语音分类等等。

代码地址:

https://github.com/openai/whisper

论文地址:

https://arxiv.org/abs/2212.04356

博文地址:

https://openai.com/research/whisper

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

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

相关文章

专题1 - 双指针 - leetcode 11. 盛最多水的容器

leetcode 11. 盛最多水的容器 1. leetcode 11. 盛最多水的容器1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 1. leetcode 11. 盛最多水的容器 1. 题目详情 给定一个长度为 n 的整数数组 height 。有 n 条垂线…

【c++】类中成员函数和成员变量的存储

成员函数和成员变量是分开存储的 1. 非静态成员变量,属于类的一部分,sizeof(类名)的时候会包括进去 2. 静态成员变量,不属于类的一部分,不会影响类的大小 3. 成员函数,都不属于类的一部分 4. 空类大小为1B

分享一波非标设计资源合集

01 非标电表箱柜 本项目为创博智慧云产业研发中心的非标配电箱、电表箱设计原理图,地块一层含dwg图纸一份,包括配电箱壳体尺寸、原理图、接线图等20多种设计图纸。 02 住宅楼高压 低压 非标箱原理和箱体图 本图纸为高级住宅小区高低压非标箱设计原理…

一. Ubuntu入门

目录 一. Ubuntu系统安装 1. 安装虚拟机软件VMware 2. 安装Ubuntu操作系统 二. Ubuntu系统入门 1. Shell操作 1.1 Shell 简介 1.2 Shell基本操作 1.3 常用Shell命令 (1) 目录信息查看命令ls (2) 目录切换命令cd (3) 当前路径显示命令pwd (4) 系统信息查看命令uname…

Unity:Animation 三 Playable、ImportModel

目录​​​​​​​ 1. Playables API 1.1 Playable vs Animation 1.2 Advantages of using the Playables API 1.3 PlayableGraph Visualizer 2. Creating models outside of Unity 2.1 Preparing your model files for export 2.1.1 Scaling factors 2.1.2 优化模型文…

Pytest教程:Pytest的跳过与标记功能用法

一、pytest跳过功能 1. 使用 pytest.skip 装饰器跳过测试用例 Pytest中的 pytest.skip 装饰器允许你跳过指定的测试用例。你可以将该装饰器应用于测试函数或测试类上。 import pytestpytest.mark.skip(reason"Skipping this test case") def test_skip():assert 1…

开源文生图大模型Playground v2.5发布:超越SD、DALL·E 3和 Midjourney

前言 在AI技术迅速发展的今天,文生图模型成为了艺术创作、设计创新等领域的重要工具。Playground v2.5的发布,不仅在技术上取得了突破,更在开源文化的推广与实践上迈出了重要一步。 Huggingface模型下载:https://huggingface.co/…

虚拟化相关面试题集锦(1)—— 如何在QEMU/KVM中跑通AI相关训练

接前一篇文章:虚拟化相关面试题集锦(0)—— 引言 问题1 问:如何在QEMU/KVM虚拟机上跑通AI相关模型的训练和测试,并对虚拟机的GPU资源的分配进行配置和优化? 备注:此问题是笔者年上周参加中科时…

图论练习5

Going Home Here 解题思路 模板 二分图最优匹配,前提是有完美匹配(即存在一一配对)左右集合分别有顶标,当时,为有效边,即选中初始对于左集合每个点,选择其连边中最优的,然后对于每…

Sqli-labs靶场第18关详解[Sqli-labs-less-18]自动化注入-SQLmap工具注入

Sqli-labs-Less-18 通过测试发现,在登录界面没有注入点,通过已知账号密码admin,admin进行登录发现: 返回了User Agent,设想如果在User Agent尝试加上注入语句(报错注入),测试是否会…

react hooks useReducer使用

在React中,useReducer是一个用于管理组件状态的Hook,它特别适用于处理复杂的状态逻辑和多个相关状态。这个Hook接收一个reducer函数(与Redux中的reducer概念类似)和一个初始状态作为参数,并返回一个新的state值以及一个…

Unity中关于继承ScriptableObject的类

在游戏中我们会经常看到一些.asset的配置文件,而这些文件就是用一个自定义的类去继承ScriptableObject来生成的。比如当前有一些零散特效需要预加载,这个时候我们可以声明一个类去保存这些零散特效对象的信息,然后统一读取加载。 代码&#…

JavaScript极速入门(1)

初识JavaScript JavaScript是什么 JavaScript(简称JS),是一个脚本语言,解释型或者即时编译型语言.虽然它是作为开发Web页面的脚本语言而著名,但是也应用到了很多非浏览器的环境中. 看似这门语言叫JavaScript,其实在最初发明之初,这门语言的名字其实是在蹭Java的热度,实际上和…

.jsonl 格式文件的解释

根据 CHATGPT .jsonl 文件格式是一种文本文件格式,通常用于存储每行一个JSON对象的数据。.jsonl 文件的每一行都是一个独立的JSON对象,这些对象之间没有任何分隔符。 以下是一个示例.jsonl文件的内容: {"name": "John"…

【LeetCode】876_链表的中间结点_C

题目描述 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 示例 提示&#xff1a; 链表的结点数范围是 [1, 100]1 <…

Subversion svn 开源的版本控制系统入门介绍 VCS

拓展阅读 Subversion 开源的版本控制系统入门介绍 VCS Git 开源的版本控制系统-01-入门使用介绍 Git 开源的版本控制系统-02-base usage 基本用法 Git 开源的版本控制系统-03-时间数据回溯 Git 开源的版本控制系统-04-branch manage 分支管理 Git 开源的版本控制系统-05-…

SpringBoot使用Jackson 序列化小妙招

前言 SpringBoot默认使用Jackson进行json数据的序列化&#xff0c;在这个过程中总会有些奇奇怪怪的需求&#xff0c;对于这些小需求要么增加一堆配置类&#xff0c;要么重写方法&#xff0c;其实都有点杀鸡用牛刀了&#xff0c;那么我来列举下日常开发中这些小需求如何通过配置…

UE5数字孪生系列笔记(一)

智慧城市数字孪生系统 虚幻引擎连接数据库 将自己的mysql版本的libmysql.dll替换掉插件里面的libmysql.dll 然后将这个插件目录复制到虚幻项目目录下 然后添加这个插件即可 新建一个UMG&#xff0c;添加一个按钮试试&#xff0c;数据库是否连接 将UI添加到视口 打印是否连接…

力扣爆刷第87天之hot100五连刷21-25

力扣爆刷第87天之hot100五连刷21-25 文章目录 力扣爆刷第87天之hot100五连刷21-25一、240. 搜索二维矩阵 II二、160. 相交链表三、206. 反转链表四、234. 回文链表五、141. 环形链表 一、240. 搜索二维矩阵 II 题目链接&#xff1a;https://leetcode.cn/problems/search-a-2d-…

前端每日一练 :相邻元素、嵌套元素Margin 塌陷、合并问题如何额解决?

相邻元素外边距塌陷合并 表现示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</t…