“嘿,机器,你是怎么做好翻译的呀?” “来,我画给你看!” | 论文访谈间 #01

简介:

如果有一个功能神奇的“黑箱子”,你想不想打开它,好好研究一番?神经机器翻译就是这么一个“黑盒”,只要给它一句中文,就能将对应的英文顺利地翻译出来,如何才能一探其中的究竟呢?清华大学的丁延卓同学、刘洋老师、栾焕博老师和孙茂松老师在今年 ACL2017 上的工作就将这其中的奥秘“画给你看”。


近年来,深度学习快速发展,神经机器翻译(Neural Machine Translation)方法已经取得了比传统的统计机器翻译(Statistical Machine Translation)更为准确的翻译结果。可是,深度学习这样的复杂而又庞大的网络模型,就像一个摸不清的“黑箱子”,网络中只有浮点数的传递,到底背后包含着怎样的语义、逻辑,一直困扰着研究人员对于神经机器翻译的深入理解和分析。因此,如果能够将网络可视化,找到网络中神经元之间的相关关系,将极大帮助人们探究神经机器翻译中出现的各类错误,同时也能帮助指导如何调试更好的模型。


而就在今年的 ACL2017 上,清华大学的丁延卓同学、刘洋老师、栾焕博老师和孙茂松老师发表了论文“Visualizing and Understanding Neural Machine Translation”,借鉴视觉领域中的研究,首次将计算机视觉中 layer-wise relevance propagation(LRP)的方法引入到神经机器翻译中,为注意力机制(attention mechanism)的编码-解码(encoder-decoder)神经机器翻译模型提供了可视化以及可解释性的可能。通过分析层与层之间的相关性,将这些关系“画”了出来。“据我们所知,目前还没有工作是在神经机器翻译模型的可视化上。”作者告诉我们,现有的注意力机制被限制在只能证明源语言(source language)和目标语言(target language)之间存在关系,却不能提供更多的信息来帮助了解目标语言的词语是如何一步一步生成的;而相关性分析则能够帮助理解这个过程,并且能够分析任意神经元之间的关系。


Layer-wise relevance propagation(LRP)的方法到底是什么呢?其实就是一个计算相关性,并将相关性逐层向后传播的过程。首先将网络模型看成一个拓扑图结构,在计算一个节点 a 和输入的节点之间的相关性时,将 a 点的数值作为相关性,并且计算与 a 点相连的上一层节点在生成 a 点时所占的权重,将 a 的相关性逐层向后传播,直到输入层。作者用下图的例子告诉了我们:


▲ 图1:Layer-wise Relevance Propagation 示例


如果要计算 v1 和 u1 之间的相关性,首先计算 v1 和 z1, z2 之间的相关性,再将 v1 和z1, z2 的相关性传递到 u1, 从而求得 v1 和 u1 之间的相关性。


通过这样的计算,我们最终能“画”出怎样的相关性呢?让我们来几个例子(颜色越深表示相关性越强):


▲ 图2:目标语言单词"visit"对应的隐变量可视化图


▲ 图3:错误分析:不相关词语"forge"与源句子完全不相关


图 2 是在翻译“我参拜是为了祈求”时中间的隐层 c2, s2 以及输出层 y2 和输入句子词语之间的相关性,可以看到“visit”这个词语正确的和“参拜”以及“my”的相关性更为强烈,因而正确的翻译出了词语“visit”;而图 3 则表明“forge”(锻造)这个词语的隐层 c9, s9 和输入的词语都没有正确的相关性并且跳跃,而在生成时 y9 也没有和输入有正确的相关性。


“通过对翻译中出现的不同错误的相关性的可视化的观察,我们的方法能够帮助模型进行改造和更好的调试。”作者告诉我们,在将 LRP 的方法引入时其实也遇到了一些难点,比如图像领域只是输入图像像素点,而机器翻译中则是一串词语,每个词语都对应着一个长度或百或千的向量,对于计算相关性造成了困难;同时模型复杂,包含各种不同的计算算子。而通过仔细地设计计算方法以及 GPU 的利用,也将困难一个个克服了。


“未来,我们希望将方法用于更多不同的神经机器翻译模型中,另外也希望构建基于相关性分析的更好的神经机器翻译模型。”对于未来的研究工作,他们也更为期待。

来源:paperweekly 原文链接

相关文章
|
7月前
|
人工智能 网络协议 数据中心
你的GPU正在“等米下锅”:RDMA如何修出一条绕过CPU的高速公路?
本文深度解析现代集群网络的底层革命:从冯·诺依曼瓶颈出发,剖析RDMA如何通过零拷贝、内核旁路与硬件卸载突破TCP/IP桎梏;直击其易用性差、连接爆炸、内存注册昂贵等痛点;并揭示Mooncake(面向LLM KV Cache的张量传输引擎)与Infinistore(万卡级分布式KV底座)如何以内存池化、拓扑感知、RC/UD混合等架构创新, bridging hardware power and software simplicity。
931 7
|
10月前
|
传感器 人工智能 算法
解析支持二次开发的移动机器人关键设备与平台选型
本文解析支持二次开发的移动机器人关键设备与平台选型,涵盖服务机器人、通用底盘、科研教育、工业AMR、导航算法及桌面级平台六大类别。重点分析猎户星空、松灵、九号、Clearpath、斯坦德等主流平台的技术特点,对比其在开放性、实时性、仿真支持与场景适配上的优势,为开发者提供选型参考。(238字)
|
人工智能 物联网 API
ModelScope魔搭25年9月发布月报
ModelScope魔搭25年9月发布月报
1011 10
|
SQL 人工智能 API
智能导购AI助手测评 | 替代未来客服的保障方案
阿里云推出的主动式智能导购AI助手,采用Multi-Agent架构,通过规划助理、商品导购助理和历史对话信息,为顾客提供个性化的产品推荐。无论是商家还是顾客,都能从中受益。它不仅帮助顾客在购买不熟悉的产品时做出明智选择,还让商家更高效地服务客户。开发者可快速部署,使用便捷,大大降低AI技术门槛。
1034 165
|
人工智能 API 语音技术
免费版的配音软件,支持童声男声女声不同声音选项,语音转文字软件推荐支持多种声音
免费版的配音软件,支持童声男声女声不同声音选项,语音转文字软件推荐支持多种声音
5097 2
|
存储 Prometheus 监控
Prometheus 深度指南:设计理念 · PromQL · Exporter · Thanos
Prometheus 是一款开源的系统监控与报警工具,专为云原生环境设计。它采用拉取模型采集数据,内置高效的本地时序数据库(TSDB),支持丰富的指标类型和四个黄金指标(延迟、流量、错误、饱和度)。其查询语言 PromQL 功能强大,可灵活聚合和分析时间序列数据。此外,通过 Exporter 机制,Prometheus 能轻松扩展到各种系统和服务。针对大规模场景,Thanos 提供高可用解决方案,整合多 Prometheus 实例,实现全局视图和长期存储。整体架构简洁可靠,适用于动态分布式环境。
2045 10
Prometheus 深度指南:设计理念 · PromQL · Exporter · Thanos
|
消息中间件 存储 算法
一文详解 RocketMQ 如何利用 Raft 进行高可用保障
一文详解 RocketMQ 如何利用 Raft 进行高可用保障
530 1
|
存储 安全 Java
synchronized原理详解(通俗易懂超级好)
当系统检查到锁是重量级锁之后,会把等待想要获得锁的线程进行阻塞,被阻塞的线程不会消耗cpu。但是阻塞或者唤醒一个线程时,都需要操作系统来帮忙,这就需要从用户态转换到内核态,而转换状态是需要消耗很多时间的,有可能比用户执行代码的时间还要长。
synchronized原理详解(通俗易懂超级好)
|
存储 安全 Linux
Linux权限之谜:一步步教你如何解锁sudo权限并窥视/etc/shadow的神秘面纱!
【8月更文挑战第22天】在Linux中,`sudo`命令让授权用户能以其他用户(通常是root)身份运行命令。关键的安全文件`/etc/shadow`存储用户密码哈希,仅root可读。要使用`sudo`,需确保账户被列入`sudoers`文件中。系统管理员可通过`visudo`编辑此文件来赋予用户权限,例如添加`username ALL=(ALL) NOPASSWD: ALL`行。获得`sudo`权限后,可运行`sudo cat /etc/shadow`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
1473 2
|
Windows
Windows系统命令dir使用详解
Windows系统命令dir使用详解
3038 2