• 谷歌同声翻译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所展示出的翻译质量以及原声匹配度没有预想中那么好,但随着更多数据的训练相信会有非常光明的前景。感兴趣的同学可以去官方博客了解一下。

  • 相关阅读:
    [译]在Python中如何使用额enumerate 和 zip 来迭代两个列表和它们的index?
    [译]如何去除Git的unstaged的文件提示“old mode 100755 new mode 100644”?
    [译]在SQL查询中如何映射(替换)查询的结果?
    [总结]《敏捷软件开发: 原则、模式与实践》一次编程实践
    [书摘]《敏捷软件开发: 原则、模式与实践》第一部分:敏捷开发
    [译]Python
    [问题解决]Python locale error: unsupported locale setting
    [持续补充]开发过程中常见bug查找思路
    [译]如何比较同一分支上的不同commit的代码区别?
    [整理]如何切换到远程分支
  • 原文地址:https://www.cnblogs.com/pingyeaa/p/10886429.html
Copyright © 2020-2023  润新知