天天看点

Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似

这个题目很拗口。我的本意是说这两个东西:零样本的机器翻译,和无监督条件GAN 其实很像,如果抛开二者的domain不同(一个是NLP,一个一般是在图像领域),这两者简直一模一样。

目录

  • 无监督学习
  • zero-shot机器翻译
  • 无监督条件GAN
    • 算法
  • 相似

无监督学习

Yann Lecun多次提到这样的类比: 如果把“智能”(intelligence)比作一个蛋糕,那么无监督学习就是蛋糕本体,监督学习是蛋糕上的糖霜,而增强学习是蛋糕上的樱桃。我们知道如何得到糖霜和樱桃,但不知道怎样做蛋糕。 今天少样本甚至零样本的学习,都是在更基础的方向上(蛋糕本体)发力,而且取得了很好的效果。远的不说,最近的GPT3利用海量文本通过自(无)监督学习就在很多任务达到惊人效果。

回到机器翻译。现实生活中,很难保证有高质量的语言翻译的平行语料库,尤其是对小语种来讲。所以做零样本翻译非常有实用价值。

zero-shot机器翻译

前面有两篇文章介绍过这个方向。最近Facebook做出来的TransCoder是一个很好的应用。上一篇文章(TransCoder介绍)解释过具体的细节。大致上分这么三步走:

  1. 初始化MT

    老的做法是直接用双语词典训练一个最简单的翻译模型;高级一点的做法是可以用MLM来初始化。

  2. 用单语料文本自学习一个DAE(Denoising auto-encoder)

    好处是让翻译模型的encoder部分更加robust,而且decoder也学会了翻译(虽然是对单语言的"翻译")。

  3. 用back-translation来学会语言之间的翻译。

    这也是最关键的一步。如下面右图所示,首先

    Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似
    从源语言x翻译到目标语言y,再翻译到源语言 x ^ \hat{x} x^,最后最小化李逵x和李鬼 x ^ \hat{x} x^的差距。下面我们看一下无监督条件GAN。

无监督条件GAN

无监督条件GAN包含了非常多种类的GAN,这里特指CycleGAN或者DualGAN。

先看一下CycleGAN能做什么,见下图:

Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似

从两种不同风格的图片出发(注意和zero shot machine translation一样,这里的图片是没有"对齐"的,也就是说这里不可能做监督学习),CycleGAN可以学会把一种风格的图片翻译成另外一种风格。比如图中的照片能够被“翻译”为莫奈,梵高等等风格。

怎么做到的?

算法

Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似

如上图,是不是非常眼熟?这个图和上面一个section的图简直如出一辙。图(a)是说假设我们有两个生成器G和F,G能够把X风格的图片转化为Y风格,F能反向转化。图(b)是说我们可以做一个GAN领域的"back-translation",就是说先利用G把x转为 y ^ \hat{y} y^​,再利用F把 y ^ \hat{y} y^​转为 x ^ \hat{x} x^,最后又(为什么要说又?)最小化李逵x和李鬼 x ^ \hat{x} x^的差距。这个差距在这个语境下被称为cycle-consistency loss。因为X和Y是对称的,所以对换X和Y的位置,我们得到了图 (c)。

这里如果把语境换成自然语言机器翻译,把X理解为源语言,Y理解为目标语言,一切都完美成立!

当然了,我们毕竟是在利用GAN搞事情,不能把判别器给扔掉了。所以以图(b)为例,我们用 D Y D_{Y} DY​来判断 y ^ \hat{y} y^​

  1. 是否是faked
  2. 是否是Y风格的。

这里的正例就来自Y domain的图片。一个高水平技术博客怎么可能没有公式充一下门面 :)

Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似
Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似
Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似

相似

做个表总结一下二者的对应关系。

Zero-shot MT 无监督条件 GAN
类型 无监督 无监督
语料 monolingual corpus 无平行语料 单一风格图片,无图片对
领域 NLP CV
方法 Back Translation CycleGAN
LOSS dual loss或者其他alias Cycle-consistency loss
用途 翻译 风格迁移
生成器 Machine tranlator 生成器

声明一下:

无监督条件GAN有非常多的方法,这里只是拿CycleGAN来作为代表。原因是它和zero-shot MT的方法实在太像了。

好方法总是能够共享的。希望无监督这块蛋糕能够越做越大。

关注公众号《没啥深度》有关自然语言处理的深度学习应用

Zero-shot 机器翻译 和 无监督条件GAN无监督学习zero-shot机器翻译无监督条件GAN相似

继续阅读