最前沿:Meta Learning在少樣本文字翻譯上的應用
今天Flood和大家分享一篇Meta Learning在NLP上應用的paper,這應該是我看到的第一篇。
Paper的名稱是《Meta-Learning for Low-Resource Neural Machine Translation》,微信文章不方便放連結,所以感興趣的朋友還是Google之。
在之前的博文中我說過,任何現有問題加上Few-Shot或者Fast Adaptation都可以直接變成Meta Learning問題,那麼自然就可以用Meta Learning的方法加以處理。所以,這篇paper針對的是Neural Machine Translation神經機器翻譯,可能還是叫文字翻譯比較直接吧。那麼就加個少樣本唄,就變成了Low-Resource Neural Machine Translation。
那麼在構建一個新問題的時候我們當然應該考慮一下有沒有意義,也不是說任何問題都需要Few-Shot是吧。那麼這裡文字翻譯有這個需求嗎?我想當然是有,特別是一些小語種,可能收集的資料樣本比較少,那麼這個時候我們又希望這個翻譯系統也能達到不錯的效果,那就需要少樣本了,或者說我們希望我們的這個翻譯系統是通用的,我們讓其學習很多其他語種的翻譯,然後之後能夠把這種翻譯能力遷移Transfer到新的語種中。那麼有了明確的動機,這篇Paper就是有的放矢,可以嗷嗷的用Meta Learning搞起來了。

那這篇paper就是很直接的,就使用MAML來做,那麼上圖畫的有夠複雜的,真的是把一個簡單的東西硬生生讓你覺得很麻煩。簡單的解釋一下就是:
1)構造一個translation task generator用來生成不同的翻譯task用於meta-train和meta-test,這就是一般Few-Shot Learning的構造。
2)將採集的task用於MetaNMT的訓練,使用MAML訓,目的就是為了得到一個好的初始化引數用於Meta-Test的task實現Fast Adaptation,也就是隻要用少量樣本訓練,就能取得好的效果。

那麼這裡作者也稍微解釋了一下Meta Learning的方法和之前的transfer learning方法的不同,Meta Learning這個訓練相對一般的transfer learning它能得到一個更好的初始化引數,是獨立於訓練語種的,因為我們是按test的方式來train我們的meta learning網路的。
3)畢竟NMT有它的獨特性,關鍵就是不同語種的輸入輸出的space不一樣啊,那這個需要一點處理,這篇paper就是使用了一個Universal Lexical Representation 來表徵不同的語種的特徵,從而得到合適的embedding用於MetaNMT的訓練。這部分可以算是NMT結合MAML創新的地方吧,也就是把不同的技術合在一起用。
那麼整體來說就是也沒有太多的創新點,但是就是把Meta Learning成功的在Low-resource NMT上做了應用,並且取得了更好的效果。
小結一下,這篇paper是第一篇使用Meta Learning在Few-Shot NLP問題上的paper,也是開了一個新的口子,意味著之後必然會有更多的相關的Meta Learning for NLP的paper。有興趣的朋友確實是可以考慮去做一下。然後我們其實可以看到就是MAML在NLP上還是有一定優勢的,比較簡潔,要不然確實也可以搞個conditional neural network來做,比如之前分享的Deepmind做的文字轉語音,就是用特定語音弄一個針對的embedding來處理。有時候我發現不管是人還是公司都傾向於使用自己搞的方法,而不是利用別人的做法。所以DeepMind就更多的在DQN,A3C上面發展,而OpenAI則是John Schulman搞的PPO,TRPO。
本文就分析到這裡啦。
最後,歡迎大家關注本人公眾號:FloodSung的AI遊樂場,歡迎關注,本人所有文章都將先於公眾號釋出!謝謝!