谷歌语音转录背后的神经网络

谷歌神经网络深度学习语言识别
width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-08-15%2F2825468&type=3&count=&appkey=&title=%E6%9C%80%E8%BF%91%EF%BC%8C%E8%B0%B7%E6%AD%8C%E5%AE%A3%E5%B8%83%E4%BA%86%E5%9C%A8%E8%AF%AD%E9%9F%B3%E8%BD%AC%E5%BD%95%E4%B8%8A%E4%BD%BF%E7%94%A8%E9%95%BF%E7%9F%AD%E6%9C%9F%E8%AE%B0%E5%BF%86%E9%80%92%E5%BD%92%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%EF%BC%88LSTM%20RNNs%EF%BC%89%E6%89%80%E5%8F%96%E5%BE%97%E7%9A%84%E6%88%90%E5%B0%B1%EF%BC%8C%E6%9C%AC%E6%96%87%E8%AF%A6%E7%BB%86%E5%8F%99%E8%BF%B0%E4%BA%86%E5%AE%9E%E7%8E%B0%E7%9A%84%E8%BF%87%E7%A8%8B%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1439815204605" frameborder="0" scrolling="no" allowtransparency="true">摘要:最近,谷歌宣布了在语音转录上使用长短期记忆递归神经网络(LSTM RNNs)所取得的成就,本文详细叙述了实现的过程。

【编者按】由于“记忆单元”的优势,LSTM RNNs已经应用于Google、百度、科大讯飞的语音处理之中。最近,Google在其技术博客中自述了使用LSTM模型取代GMM模型实现语音转录的过程。文章尚未披露训练模型的具体步骤,但介绍了数据源的解决、建模的思想,并对目前尚未解决的问题进行解析,如错认“噪音”和转录标点符号,对希望尝试LSTM的团队有借鉴意义。

在过去的几年中,深度学习在世界计算机科学难题中表现出了卓越的成就,从图像分类、字幕添加到机器翻译,再到可视化模型技术。最近,我们宣布了在谷歌语音转录上使用长短期记忆递归神经网络(LSTM RNNs)所取得的成就(然而其他神经网络也在提升服务性能)。我们想更详细地讲述我们是怎么做到这些的。

从2009年上线以来,谷歌语音转录一直使用高斯混合模型(GMM)的声音模型,30多年来,它们在语音识别领域独占鳌头。用复杂的技术(比如将模型运用于人声)增广相对简单的建模方法。

到了2012年左右,深度神经网络(DNNs)彻底改变了语音识别领域。这些多层的网络可以比GMMs更好地分辨声音,它们采用了“判别训练”的方式,将各个语音单位区分开而不是单独对某个进行建模。

2012年5月份,谷歌语音转录第一次在安卓的语音识别上使用,使用递归神经网络(RNNs)的确可以迅速提高性能,特别是LSTM RNNs。和DNNs相比,LSTM RNNs有额外的递归连接和记忆单元,可以让神经元“记住”它们已经处理过的数据,跟你在听到一句话然后口译时候记住的单词数目相当

链接:深入浅出LSTM神经网络

但是,仍在使用GMMs的谷歌旧版语音信箱系统已经远远落后了。所以我们决定利用我们使用LSTM RNNs所积累的经验,从头开始设计它。但现在我们面临着一些挑战。

一个LSTM的记忆单元。显示了它存储、交流信息的闸门机制。供图:Alex Graves

在音频处理中,语音识别比识别单个声音要考虑更多的因素:声音序列需要匹配现有的文字,文字序列需要有现实意义。这叫做“语言建模”。语言模型通常用超大语料库进行训练,它们通常比语音数据要多出几个数量级。找到大量的文本信息很容易,但是要找到与自然语言匹配的数据源却并非易事。17世纪莎士比亚的戏剧中使用的英语不会对开发语音信箱系统有所帮助。

现在我们决定重新训练声音和语言模型,并且用现有的语音邮件来训练。我们已经收集了一小部分由用户捐赠用于研究的语音邮件,我们将用这些数据对转录进行训练和测试,但重新训练语言模型则需要更多的数据。所以我们要求用户捐赠大量的语音邮件,并且向他们保证这些消息不会被任何人阅读和窃听,它们只被计算机及其学习算法使用。然而,在没有人为确认和手工转录的情况下,我们又该怎样来训练模型呢?

我们不能单单使用旧版的转录模块,因为它们已经用识别错误——无用数据输入输出——进行训练了。恰恰相反我们开发了一套精巧的迭代管道来训练模型。使用改进的声音模型,我们能够在离线情况下识别现有的语音邮件,得到更新的、更好的转录信息,这些信息将作为重新训练语言模型的数据,有了更好的语言模型之后,我们就可以重新识别同样的数据,然后重复上述过程。经过多步之后,识别错误率降低了,最终在原始系统的基础上将识别错误率降低将近一半。这确实是个意外的惊喜。

但也存在其他的“惊喜”(不是那么好的)。比如,有时候识别器会跳过整个语音片段;就好像是睡着了一样,几秒过后又醒来了。结果表明这个声音模型偶尔会碰到bug,它会认为用户接下来不会继续说话了,然后将它听到的作为噪声,所以停止输出。当我们重新训练那些相同的数据的时候,我们会认为这些语音的确应该被忽略,这样会强化模型继续使用这种做法。将这种处理方式从识别器中剥离出来需要谨慎微调。

同样,正确转录标点符号也是件困难的工作。老系统依赖于手动配置的规则或者语法,这种做法不能正确理解文本语境。比如,在之前的测试中,我们使用的算法将“I got the message you left me”(我收到了你留给我的信息)转录成了“I got the message, You left me”(我收到了信息,你离开了我)。为了修正这点,我们再次挖掘神经网络,教LSTM在正确的位置插入标点符号。虽然结果并不是很完美,但是我们不断尝试各种方法来增加准确性。

在语音识别中,和其他许多复杂服务一样,神经网络正在迅速的替代以前的技术。当然神经网络也有改进的余地,而且我们正在研究更优越性能的新型网络!

谷歌语音转录背后的神经网络相关推荐

  1. 【美国】谷歌重返机器人背后有何深意?

    https://www.toutiao.com/a6676955674955481608/ 关于机器学习 - 这似乎是谷歌重返机器人背后的一个主题,据报道这项工作与软件有关,而不是创造类似于人类的机械 ...

  2. 3年后准确率仍达97%:利用谷歌语音转文本 API 绕过reCAPTCHA

     聚焦源代码安全,网罗国内外最新资讯! 三年前出现的一种攻击技术是,使用谷歌自身的语言转文本 API 绕过谷歌的音频 reCAPTCHA,目前其准确率仍然高达97%. 1月2日,安全研究员 Nikol ...

  3. 告别深度学习炼丹术!谷歌大脑提出“权重无关”神经网络

    来源:新智元 本文约5600字,建议阅读10+分钟. 无需权重训练!谷歌再向深度学习炼丹术发起"攻击". [ 导读 ]神经网络训练中"权重"有多重要不言而喻.但 ...

  4. 嘘!你与谷歌语音助手的对话,可能已经泄露……

    要闻聚焦 1.你与谷歌语音助手的对话,可能已经泄露-- 2.外媒看中关村:正在改变中国,谋求改变世界 3.网约车司机行车途中玩手机.剪指甲,滴滴:已暂停其服务账号 4.改名大法好:瑞安航空将波音737 ...

  5. 安卓调用系统语音识别功能全解(谷歌语音服务):获取识别结果,使用语音识别进行搜索。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓调用系统语音识别功能全解(谷歌语音服务):获取识别结果,使用语音识别进行搜索. 首先要添加权限 <uses-permission andro ...

  6. GoogleVoice群发WhatsApp翻译谷歌语音消息自动群发

    大家都知道GoogleVoice是跨境电商外贸用的比较多的社交工具,尤其是我们用谷歌语音发开发信给客户介绍我们的产品的时候,基本上都是用的GoogleVoice,让我们在找寻国外的客户过程中省时省心省 ...

  7. 令人激动的语音UI背后

    亚马逊Echo和Echo Dot智能音箱获得了成功,它已经使语音命令(通常称为语音UI或语音UI)出现在了新技术产品中.在每一部智能手机和平板电脑上,大多数新型汽车上,以及快速增长的音频产品中,都有这 ...

  8. 谷歌语音对接-GoogleAssistant-smart-home

    谷歌语音对接-GoogleAssistant-smart-home 谷歌语音对接-GoogleAssistant-smart-home 官方文档 音响使用步骤 一 google home mini 入 ...

  9. android 百度语音 对话框,Android 通过调用系统接口使用如 谷歌语音、百度语音、讯飞语音等语音识别对话框的方法...

    现在app的开发进程会集成一些语音识别功能,而一般开发者是不具备自己开发一套语音识别引擎的,因此大多数情况是选择一个已经成熟的语音识别引擎SDK集成到自己的app中. 通常情况下,这种集成分两种,一种 ...

最新文章

  1. 某互联网大厂出现招聘事故!HR告知应聘者肯定会发offer,应聘者拒绝另一家公司耐心等待,hr却说流程有变,offer被卡!...
  2. python3装饰器的高级使用
  3. iOS设计模式——MVC(Model-View-Controller)
  4. Cotex-M内核双堆栈指针MSP和PSP
  5. javascript实现图片轮播_第2章 第9节 JavaScript(四)
  6. LeetCode 647. 回文子串 (动态规划)
  7. 《深入剖析Nginx》一2.5 加桩调试
  8. Tuple and Tie
  9. kotlin_Kotlin print(),println(),readLine(),Scanner,REPL
  10. 【渝粤教育】电大中专新媒体营销实务 (14)作业 题库
  11. Node.js:连接 MySQL
  12. Codeforces 490F Treeland Tour(离散化 + 线段树合并)
  13. unittest 简单使用
  14. Mp3原理及文件格式解析(from)
  15. vld在MFC 中内存泄漏检测
  16. 软件测试入门理论基础
  17. mysql sumif函数的使用方法_用sumif函数如何求平均值
  18. 【实践】人体红外传感器
  19. 搭建政务民生可视化管理系统 | 智慧城市
  20. 用ln命令链接文件 --- 一根绳子上的蚂蚱?

热门文章

  1. mysql zrm 配置_利用MySQL-zrm来备份和恢复MySQL数据库方法详解
  2. 8种相似度度量方式的原理及实现【笔记自用】【1】
  3. OnnxRuntime 性能调优
  4. sklearn onehot
  5. 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization
  6. NTU 课程笔记: MAS714 1415 regular language
  7. 用Tableau画3D模型之四(放弃篇)
  8. 运动检测(前景检测)之(二)混合高斯模型GMM
  9. 部门换届推文文字_【校安协招新】这篇推文不要标题,只要你!
  10. matlab-xlsread无法打开文件找不到文件