谷歌同声翻译Translatotron原理
背景介绍
作为中国人,学好英语这件事从小学开始就让人苦恼,近些年随着AI的快速发展,语言差异是否会缩小甚至被消灭成了热门话题。在5月15日,谷歌AI在博客平台发出一篇文章,正式介绍了一款能保留原声的“同声传译”黑科技,消息一出,迅速席卷网络,为科技发烧友带来了更多曙光,下面,让我们来揭开这个叫做“Translatoron”的神秘面纱。
Translatotron的出现
目前市面常用的语音翻译产品的翻译过程包含三个步骤,首先将语音转换为文字,再由机器将文字转换为目标语言文字,最后将目标语言的文字转化为语音(文字转语音全称Text-To-Speech,也叫TTS)。
而谷歌的Translatotron有很大不同,它通过某种手段实现了语音到语音的直接转译,避免了上述的三个步骤。除此之外,它还有一些其它的优势,比如更快的推理速度、更容易识别不需要翻译的名称及专业名词等,最牛的是它可以保留原说话人的声音特征,做到原声输出其它语言,幻想一下用自己的声音说出了连本人都听不懂的外语,是不是有点像《流浪地球》中的同声翻译,多刺激啊,在此向大刘致敬!
Translatotron的原理
其实端到端的语音翻译在2016年就出现了,当时研究者们发现用“序列到序列模型”来做“语音到文字”的翻译可行性很高,到了2017年,研究者们证明出它果然很吊,但是这还不够,Translatotron的出现又向大家证明了“序列到序列模型”不仅可以转文字,还可以不依赖任何中间文本,直接帮你转为语音。
上面部分的名词有些含糊不清,这里来解释一下,首先是端到端学习,英文名为end-to-end,它就像一个黑盒子,人们把数据丢进去后只关心结果是否与期望的结果一致,不关心中间的实现过程。这个黑盒子的实现原理是,当结果和期望的结果出现误差后,它会将误差反传回训练模型的每一环节,让它们根据误差来自我调节,直到结果与预期相符为止。
而序列到序列模型,英文为Sequence to Sequence,它是端到端理念的一种实现框架,最早出现于Bengio在2014年的论文,Bengio是蒙特利尔大学的教授,他与另外两位朋友被AI领域的人戏称为“加拿大黑手党”。
“序列到序列”模型的目的是“将一个领域(比如中文)的序列转化为另一个领域(比如英文)的序列”,它是通过联合两个循环神经网络(RNN)来实现的,而联合的这种结构又被叫做编码-解码(Encoder-Decoder)结构,结构的两端支持多种数据类型,比如文字、语音、图像、视频等,非常适用于机器翻译。
Translatotron正是利用了图像这种数据类型,它通过声谱图作为输入,再生成出目标语言的声谱图,然后通过一个叫做Vocoder的语音编解码器(用于分析和合成用于音频数据压缩,多路复用,语音加密,语音转换等的人类语音信号)将新生成的光谱图转换为时域波形(一种表达信号与时间关系的波浪形状)。另外,它还可以选择使用一个编码器在合成翻译语音中维护原来的语音特征。
这项研究是由谷歌大脑、谷歌翻译和谷歌语音团队共同完成的,由于目前的训练数量较少,Translatotron所展示出的翻译质量以及原声匹配度没有预想中那么好,但随着更多数据的训练相信会有非常光明的前景。感兴趣的同学可以去官方博客了解一下。
谷歌同声翻译Translatotron原理的更多相关文章
- 谷歌验证器的原理及JS实现
阅读本篇文章你可以了解到谷歌验证器的实现原理,并且可以自己使用node.js实现支持谷歌验证器的两步验证. 这两年发现身边的很多应用和网站纷纷支持两步验证,并且呼吁用户使用两步验证. 并且发现,除了A ...
- Chrome谷歌页面翻译增强插件开发
最近想做一个Chrome的插件(看别的博客说其实叫插件不准确,应该叫拓展,大家叫习惯了就按习惯的来吧).一开始咱先直接看了Chrome开发(360翻译)和chrome extensions(这个官方的 ...
- PC端免费高效的同声翻译
疫情期间上网课,对于英语听力较差或者需要观看英文视频,但实际上并没有双语字幕的这种情况下需要找一个实时的翻译工具.虽然说手机上此类软件比较多,但电脑上没有特别合适的应用可以做为一个免费实时翻译.哪怕是 ...
- 自己动手写谷歌API翻译接口
可以看到,利用GET请求方式,带入某些参数,就会返回一个json数组,QueryString参数如下: 同样的,我们只需要传入这三个参数,就可以获得我们想要的翻译内容,公开方法,代码如下. ...
- Mesh R-CNN 论文翻译(原理部分)
毕设做Mesh R-CNN的实现,在此翻译一下原论文.原论文https://arxiv.org/pdf/1906.02739.pdf. 摘要 二维感知的快速发展使得系统能够准确地检测真实世界图像中的物 ...
- Java跨平台原理
此篇博文主要源自网络xiaozhen的天空的博客:http://xiaozhen1900.blog.163.com/blog/static/1741732572011325111945246/ 1.是 ...
- 【转】Java跨平台原理
原文地址:http://www.cnblogs.com/gw811/archive/2012/09/09/2677386.html 1.是么是平台 Java是可以跨平台的编程语言,那我们首先得知道什么 ...
- 用Python做一个简单的翻译工具
编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过 ...
- .NET开发笔记(二十三) 谷歌地图下载
关于如何将地球经纬度坐标系统转换成程序中常用到的平面2D坐标系统,网上的文章很多,参考http://www.cnblogs.com/beniao/archive/2010/04/18/1714544. ...
随机推荐
- 360手机助手: App上架(提交资料)注意事项
提交app资料尤其注意: .keystore和密码?由HBuilder提供公有证书: 签名证书KeyStore证书别名:hbuilder证书密码:123456keystore密码:123456 360 ...
- 我的Java开发学习之旅------>使用Working Setst将Eclipse中的项目分类使项目一目了然
今天发现Eclipse中若有太多的项目,杂七杂八的,看起来会非常的痛苦.今天请教公司的前辈学会了一个方法,在Eclipse中,当项目比较多的时候,我们可以用WorkingSet将这些项目分类,把相关连 ...
- springMvc 4.0 jackson包改变
使用之前的json包出包java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonProcessingException错误. sp ...
- 【AWS】亚马逊云常用服务解释
新公司使用的是亚马逊服务,刚开始的时候,对很多名词不太明白,总结了一下如下 1,EC2 这个是亚马逊的一种服务器服务,可以理解为跟vmware差不多,EC2为虚拟机提供载体,EC2上跑虚拟机服务器. ...
- ZOJ - 3866 Cylinder Candy 【数学】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3866 思路 积分 参考博客 https://blog.csdn. ...
- P4474 王者之剑
P4474 王者之剑 题目大意 n*m的带权网格,任意选择起点开始时刻为0秒.以下操作,每秒按顺序执行 在第i秒开始的时候,在方格(x,y)上,获得(x,y)的值 在偶数秒,周围四格的值清零 每秒可选 ...
- 6410开发板sd卡启动时烧写u-boot.bin以及u-boot-spl-16k.bin步骤
参考文档:<SMDK6410_IROM_APPLICATION NOTE_REV 1.00>(可以从这里下载到> 参考博客:Tekkaman的博文<u-boot-2010.09 ...
- LightOJ - 1079 Just another Robbery —— 概率、背包
题目链接:https://vjudge.net/problem/LightOJ-1079 1079 - Just another Robbery PDF (English) Statistics ...
- python读写txt大文件
直接上代码: import easygui import os path = easygui.fileopenbox()#path是打开的文件的全路径 if path:#如果选择打开文件,没有选择取消 ...
- capsule network——CNN仅仅考虑了“有没有”的问题,没有考虑feature map的结构关系。这个结构关系包括位置,角度等。Capsule layer的输出也跟feature map的max-pooling输出不同,capsule layer的输出是一个向量,这个向量包含了位置,大小,角度等信息,这是feature map仅能输出一个值所不具备的;训练比较慢
capsule network--<Dynamic Routing Between Capsules> from:https://zhuanlan.zhihu.com/p/31491520 ...