  Self-training (ST) has come to fruition in language understanding tasks by
producing pseudo labels, which reduces the labeling bottleneck of language
model fine-tuning. Nevertheless, in facilitating semi-supervised controllable
language generation, ST faces two key challenges. First, augmented by
self-generated pseudo text, generation models tend to over-exploit the
previously learned text distribution, suffering from mode collapse and poor
generation diversity. Second, generating pseudo text in each iteration is
time-consuming, severely decelerating the training process. In this work, we
propose KEST, a novel and efficient self-training framework to handle these
problems. KEST utilizes a kernel-based loss, rather than standard cross
entropy, to learn from the soft pseudo text produced by a shared
non-autoregressive generator. We demonstrate both theoretically and empirically
that KEST can benefit from more diverse pseudo text in an efficient manner,
which allows not only refining and exploiting the previously fitted
distribution but also enhanced exploration towards a larger potential text
space, providing a guarantee of improved performance. Experiments on three
controllable generation tasks demonstrate that KEST significantly improves
control accuracy while maintaining comparable text fluency and generation
diversity against several strong baselines.
