Plug and Play Language Models

Motivation

控制文本生成的风格是一个比较困难的文本生成问题,在不修改模型结构的基础上去控制更加困难。

Introduction

本文提出了一个将语言模型和一个额外的属性分类器结合在一起的方法,可以方便控制文本生成的风格和主题(topic)。

Method

在计算机视觉领域,有研究控制图像风格生成的工作——Plug & Play Generative Networks (PPGN),一个判别器(也称为属性模型)计算\(p(a|x)\),而已有的语言模型可以计算\(p(x)\),而结果可以根据\(p(x|a) \propto p(a|x) p(x)\)采样。模型通过分别提高\(p(a|x)\)\(p(x)\)两部分来提高表现。

在这项工作中,作者使用了一个简单的词袋模型(CBOW)作为属性模型(attribute model),语言模型使用了GPT2。

Transformer

计算输出序列的概率

\[p(X) = \prod_{i=1}^{n}p(x_i|x_0,\cdots , x_{i-1}) \]

建模是表示为

\[o_{t+1},H_{t+1} = \mathrm{LM}(x_t, H_t) \]

\(x_{t+1}\)的采样:\(x_{t+1} \sim p_{t+1} = \mathrm{Softmax}(Wo_{t+1})\)

升高\(\log p(a|x)\)

调整严格控制在\(H_t\)上,而不对其他参数进行调整。设调整的量\(\Delta H_t\)\((H_t + \Delta H_t)\)为更加接近想要的主题的hidden states。由于模型输出历史只和\(H_t\)相关,因此\(p(a|x)\)可以写作\(p(a|H_t + \Delta H_t)\),参数调整:

\[\Delta H_t \leftarrow \Delta H_t + \alpha \frac{\bigtriangledown _{\Delta H_t} \log p(a|H_t + \Delta H_t)}{||\bigtriangledown _{\Delta H_t} \log p(a|H_t + \Delta H_t)||^{\gamma}} \]

用更新过的参数得到\(\tilde{o}_{t+1}, \tilde{H}_{t+1} = \mathrm{LM}(x_t, \tilde{H}_t), \tilde{H}_t = H_t + \Delta H_t\)

升高\(\log p(x)\)

作者发现,如果只是升高\(\log p(a|x)\),那么会使得句子不够流畅,因此需要让模型继续进行language modeling。这一步作者给出了两种实现方法。

  • 使用KL Divergence,让调整后的概率逼近调整前的概率分布,这个损失项为它添加一个缩放的因子\(\lambda _{KL}\)
  • Post-norm Geometric Mean Fusion:不直接修改\(\Delta H_t\),而是修改采样的概率:\(x_{t+1} \sim \frac{1}{\beta} (\tilde{p}_{t+1}^{\gamma _{gm}}p_{t+1}^{1-\gamma_{gm}})\),其中\(\tilde{p}_{t+1}\)指的是修改后的概率分布。
posted @ 2022-03-29 11:29  TABball  阅读(89)  评论(0编辑  收藏  举报