0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在机器学习中如何进行基本翻译

zhKF_jqr_AI 来源:未知 作者:易水寒 2017-12-22 11:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Statsbot数据科学家Daniil Korbut简明扼要地介绍了用于机器学习翻译的基本原理:RNN、LSTM、BRNN、Seq2Seq、Zero-Shot、BLEU。

我们都在使用的很多技术,我们其实并不知道它们到底是如何工作的。实际上,理解机器学习驱动的引擎并非易事。Statsbot团队博客希望能讲清楚机器学习是怎么一回事。这次我们决定探索机器翻译,并解释Google翻译算法的原理。

许多年前,翻译来自未知语言的文本是非常耗时的。使用简单的词汇表逐字翻译之所以很困难,是因为读者必须知道语法规则,在翻译整句时需要记住所有的语言版本。

现在,我们不需要为此付出太多的努力——只需将它们粘贴到Google翻译中,就可以翻译短语、句子甚至大段文本。然而,大多数人实际上并不关心机器翻译的引擎是如何工作的。本文为那些关心这个的人而写。

深度学习翻译问题

如果Google翻译引擎试图储存所有的翻译,甚至仅仅储存短句的翻译,都是行不通的,因为可能的变体数量巨大。最好的想法可能是教会计算机一组语法规则,并根据语法规则来翻译句子,如果这一切真像听起来那样简单的话。

如果你曾经试过学习外语,那么你该知道规则总是有很多例外的。当我们试图在程序中刻画所有这些规则,所有这些例外,乃至例外的例外时,翻译质量就崩塌了。

现代机器翻译系统使用不同的方法:通过分析大量文档将文本与规则联系起来。

创建你自己的简单机器翻译工具,对任何数据科学简历来说都是一个很棒的项目。

我们试着调查一下我们称之为机器翻译的“黑盒子”里隐藏着什么。深度神经网络可以在非常复杂的任务(语音/视觉对象识别)中取得优异的结果,但是,尽管它们很灵活,却只能应用于具有固定维度的输入和目标的任务。

循环神经网络

因此,我们需要长短期记忆网络(LSTM),它能应对事先未知长度的序列。

LSTM是一种能够学习长期依赖的循环神经网络(RNN)。循环神经网络看起来就像一串重复的模块。

在机器学习中如何进行基本翻译

via colah.github.io

因此LSTM在模块之间传递数据,比如,为了生成Ht,我们不仅使用Xt,同时使用所有X之前的输入。关于LSTM的更多信息,可参考Understanding LSTM Networks(英文)和循环神经网络入门(中文)。

双向循环神经网络

我们的下一步是双向循环神经网络(BRNN)。 BRNN将常规RNN的神经元分成两个方向。一个方向是正向的时间,或前馈状态。另一个方向是负向的时间,或反馈状态。这两个状态的输出与反方向的状态的输入互不相连。

在机器学习中如何进行基本翻译

要理解为何BRNN效果更好,可以想像一下我们有一个包含9个单词的句子,然后想要预测第5个单词。我们可以让网络仅仅知道前面4个单词,或者让网络知道前面4个单词和后面4个单词。显然第二种情况下预测的质量会更好。

序列到序列

然后是序列到序列模型(也称为seq2seq)。基本的seq2seq模型包含两个RNN:一个处理输入的编码网络和一个生成输出的解码网络。

最后,我们将创建我们的第一个机器翻译工具!

不过,让我们先考虑一个绝招。Google翻译目前支持103种语言,所以我们应该有103x102个不同的模型。当然,取决于语言的流行程度和训练网络需要的文档数量,这些模型的质量会有所不同。最好我们能创建一个神经网络,然后这个网络能接受任何语言作为输入,然后将其翻译成任何语言。

Google翻译

这个想法正是Google工程师们在2016年末实现的想法。Google工程师使用的正是我们上文提及的seq2seq模型。

唯一的例外是在编码和解码网络之间有8层LSTM-RNN网络,层间有残差连接,还有一些出于精度和速度考虑的调整。如果你想深入了解相关信息,可以看Google’s Neural Machine Translation System这篇论文。

最重要的一点是Google的翻译算法使用单个系统,而不是包含每对语言组合的庞大集合。

在输入句子的开始,系统需要一个指明目标语言的token。

这一方法改善了翻译的质量,同时允许翻译那些系统没有见过对应译文语料的语言组合,这一方法称为“零样本翻译”(Zero-Shot Translation)。

更好的翻译?

当我们谈论Google翻译算法的改进和更好的结果时,我们如何才能正确地评估第一个翻译候选比第二个候选更好呢?

这不是一个微不足道的问题,因为对于一些常用的句子,我们有来自专业译员的参考译文集合,这些译文间当然有一些差异。

能部分解决这个问题的方法有很多,但最流行和最有效的衡量标准是BLEU(bilingual evaluation understudy)。 想象一下,我们有来自机器翻译的两个候选:

候选一: Statsbot makes it easy for companies to closely monitor data from various analytical platforms via natural language.

候选二:Statsbot uses natural language to accurately analyze businesses’ metrics from different analytical platforms.

在机器学习中如何进行基本翻译

尽管它们的意思相同,但在质量和结构上都有差异。

让我们看下两个来自人类的翻译:

Reference 1: Statsbot helps companies closely monitor their data from different analytical platforms via natural language.

Reference 2: Statsbot allows companies to carefully monitor data from various analytics platforms by using natural language.

显然,候选一更好,与候选二相比,候选一和人工翻译共享更多的单词和短语。这是简单BLEU方法的核心想法。我们可以比较候选翻译和参考翻译的n元语法,并计算匹配的数量(与它们的位置无关)。我们只评估n元语法的准确率,因为计算多个参考的召回很困难,评估结果是n元语法的几何平均值。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:机器学习翻译基本原理

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器学习和深度学习需避免的 7 个常见错误与局限性

    ,并验证输出结果,就能不断提升专业技能,养成优秀数据科学家的工作习惯。需避免的机器学习和深度学习数据错误训练数据驱动的人工智能模型时,我们会遇到一些常见错误和局
    的头像 发表于 01-07 15:37 341次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b><b class='flag-5'>中</b>需避免的 7 个常见错误与局限性

    对于设备上的旧固件如何进行备份和恢复?

    对于设备上的旧固件,如何进行备份和恢复?
    发表于 12-12 08:23

    使用CW32L083系列微控制器时如何进行系统复位和看门狗定时器配置?

    使用CW32L083系列微控制器时,如何进行系统复位和看门狗定时器配置?
    发表于 12-10 06:46

    探索RISC-V机器人领域的潜力

    利用Gazebo仿真环境(x86主机上运行)和MUSE Pi Pro上的ROS 2节点进行了联合仿真。 • 场景: PC的Gazebo运行一个TurtleBot3
    发表于 12-03 14:40

    &quot;网关”成顶流!PROFINET转CC-LINK,汽车产线的“翻译官”出圈记

    "网关”成顶流!PROFINET转CC-LINK,汽车产线的“翻译官”出圈记 现代化汽车制造工厂内部,机器人手臂进行精密焊接作业 汽车制
    的头像 发表于 11-26 16:08 548次阅读
    &quot;网关”成顶流!PROFINET转CC-LINK,汽车产线的“<b class='flag-5'>翻译</b>官”出圈记

    L083最低功耗是多少,应该如何进行低功耗设计?有哪些注意事项?

    L083最低功耗是多少,应该如何进行低功耗设计?有哪些注意事项?
    发表于 11-12 07:29

    XKCON祥控输煤皮带智能机器人巡检系统对监测数据进行挖掘分析

    XKCON祥控输煤皮带智能机器人巡检系统通过智能机器人在皮带运行过程对皮带的运行状态和环境状况进行实时检测,应用过程
    的头像 发表于 09-15 11:22 759次阅读
    XKCON祥控输煤皮带智能<b class='flag-5'>机器</b>人巡检系统对监测数据<b class='flag-5'>进行</b>挖掘分析

    翻译失去网络,时空壶新T1翻译机开创首个离线模型赋能全球沟通新体验

    全球化交流日益紧密的当下,跨语言沟通工具的重要性愈发凸显。近日,时空壶推出的T1翻译机凭借其强大的离线模型与便捷应用,成为市场焦点,为人们跨国交流场景带来前所未有的便利。时空壶T
    的头像 发表于 09-08 16:52 1352次阅读
    当<b class='flag-5'>翻译</b>失去网络,时空壶新T1<b class='flag-5'>翻译</b>机开创首个离线模型赋能全球沟通新体验

    2KW逆变侧功率管的损耗如何进行计算详细公式免费下载

    本文档的主要内容详细介绍的是2KW逆变侧功率管的损耗如何进行计算详细公式免费下载。
    发表于 08-29 16:18 34次下载

    传音斩获WMT 2025国际机器翻译大赛四项冠军

    近日,由国际计算语言学协会(ACL)主办的WMT 2025国际机器翻译大赛,传音低资源印度语言翻译任务(Low-Resource In
    的头像 发表于 08-06 18:21 1325次阅读

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以最先进的边缘设备上进行人工智能处理。在这篇博文
    发表于 07-31 11:38

    FPGA机器学习的具体应用

    ,越来越多地被应用于机器学习任务。本文将探讨 FPGA 机器学习
    的头像 发表于 07-16 15:34 3074次阅读

    使用MATLAB进行无监督学习

    无监督学习是一种根据未标注数据进行推断的机器学习方法。无监督学习旨在识别数据隐藏的模式和关系,
    的头像 发表于 05-16 14:48 1585次阅读
    使用MATLAB<b class='flag-5'>进行</b>无监督<b class='flag-5'>学习</b>

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    人部署,详细介绍了基于颜色阈值和深度学习的巡线方法。 二维码识别则广泛应用于机器人定位与任务触发,例如AGV(自动导引车)的路径规划。 深度学习
    发表于 05-03 19:41

    请问STM32WBA65如何进行matter的学习

    STM32WBA65如何进行matter的学习?相关的支持都有哪些?有一个X-CUBE-MATTER,可是这个没有集成STM32CubeMX
    发表于 04-24 07:22