Setting up Back-translation in OpenNMT script

There are models in MT that use back-translation (http://www.aclweb.org/anthology/P16-1009 and https://www.microsoft.com/en-us/research/uploads/prod/2018/03/final-achieving-human.pdf) . I think the essence of this system is to use 2 decoders, one decoder src -> tgt, another decoder tgt -> src, and the embeddings are shared.

Is there a way to set up OpenNMT to do it easily or should I extend the core model/training code in order to achieve this? I’ve been really enjoying training PGNet (pointer-generator network) with one command line flag…or training Transformer so easily. OpenNMT has saved me tons of time and thank you for making it so easy to use and publicly available!

1 Like

Did you find a solution? I am also trying to use backtranslation to improve modeling capabilities.