天天看點

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相似

繼續閱讀