NLP problem as a “text-to-text" problem, i.e. taking text as input and producing new text as output. Hence, it can be adapted to controllable text generation tasks. @dathathri2019plug propose a Plug and Play Language Model (PPLM) for controllable language generation. It combines a pretrained LM with one or more simple attribute classifiers that guide text generation without any further training of the LM. This is similar to the classifier feedback technique described in [§\[bg:sec-loss-class\]]{}. Some of the other techniques described in this paper such as stochastic changes [§\[bg:sec-stochastic\]]{} , external feedback [§\[bg:sec-inp-ext\]]{} and [§\[bg:sec-out-ext\]]{}, decompose [§\[bg:sec-decompose\]]{} etc would be hard to incorporate into pre-trained language models without modifying the model architecture or fine-tuning entailing the significant cost of retraining.

Output {#sec:bg-out}
======

In the standard generation process, ${\mathbf{o}}_t$ is the output of the generator module which is projected to the vocabulary space to predict the token ${\mathbf{\hat{x}}}_t$. Here, we discuss the various techniques used to modulate the sequential output ${\mathbf{o}}_t$ at each time step $t$, before projecting it to the vocabulary space. This is marked as position (4) in Figure \[fig:bg-overview\].

Attention {#sec:bg-out-att}
---------

Attention is the most popular way of guiding the generation process. It is typically used to 