复现论文《Effective Adversarial Regularization for Neural Machine Translation》,遇到的一些pytorch的技巧(坑),总结一下。
原文是基于另一个库Chainer实现的,我在fairseq框架上加以复现,基于pytorch >= 1.0
论文中主要用公式来介绍主要思想,主要集中在word embedding和loss部分的修改:
- word embedding部分主要是使原本的 e = E ( x ) e = E(x) e=E(x),变成了 e = E ( x ) + r ^ e = E(x)+\hat{r} e=E(x)