Neural Text Generation with Unlikelihood Training

Sean Welleck, Ilia Kulikov, Stephen Roller, Emily Dinan, Kyunghyun Cho +1 more
8/12/2019
cs.LGcs.CLstat.ML

Official code: facebookresearch/unlikelihood_training (311 stars, last commit 2021-08-31).

Abstract

Neural text generation is a key tool in natural language applications, but it is well known there are major problems at its core. In particular, standard likelihood training and decoding leads to dull and repetitive outputs. While some post-hoc fixes have been proposed, in particular top-$k$ and nucleus sampling, they do not address the fact that the token-level probabilities predicted by the model are poor. In this paper we show that the likelihood objective itself is at fault, resulting in a model that assigns too much probability to sequences containing repeats and frequent words, unlike those from the human training distribution. We propose a new objective, unlikelihood training, which forces unlikely generations to be assigned lower probability by the model. We show that both token and sequence level unlikelihood training give less repetitive, less dull text while maintaining perplexity, giving superior generations using standard greedy or beam search. According to human evaluations, our approach with standard beam search also outperforms the currently popular decoding methods of nucleus sampling or beam blocking, thus providing a strong alternative to existing techniques.

View on arXivView PDF

Code Implementations(1)

Neural Text Generation with Unlikelihood Training

31144PythonSep 6, 20195 years agoNOASSERTION

Similar Papers

Cite this paper

@article{welleck2019neural,
  title  = {Neural Text Generation with Unlikelihood Training},
  author = {Sean Welleck and Ilia Kulikov and Stephen Roller and Emily Dinan and Kyunghyun Cho and Jason Weston},
  year   = {2019},
  eprint = {1908.04319},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1908.04319}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1908.04319.svg)](https://codeofpaper.com/paper/1908.04319)

Discussion