원본 논문 링크 : https://paperswithcode.com/paper/plug-and-play-language-models-a-simple
Motivation
- 이 논문의 목적은 생성 모델에서 텍스트가 생성될 때 원하는 방향으로 생성되는 것이다.
- 예를 들어, 기존 모델인 GPT-2의 경우 Input으로 부정적인 문장을 넣을 경우 그 뒤 생성되는 문장들이 부정적으로 생성된다. 즉 Input 문장의 방향에 따라 그 뒤에 생성되는 문장의 방향도 결정된다. 그러나, 이 논문에서는 Input에 넣은 문장의 방향과 상관없이 원하는 방향으로 문장을 생성하는 것을 목적으로 한다.
- 그러나, 원하는 방향으로 문장을 생성하기 위해 조건 a를 추가하여 p(x|a)를 학습시킬 때 문장이 제대로 생성되는지 평가하기가 어렵다. 평가 방법을 정하는 것도 어렵고 많은 Dataset이 필요하기 때문이다.
- 그래서 논문에서는 Bayes' rule을 이용하여 p(a|x)를 학습시키는 방식인 PPLM으로 조금 더 쉽게 학습을 시킨다.
Related Work
- 기존 Language Model인 GPT-2나 CTRL에 비해서 PPLM의 경우 학습하는 parameter의 양이 훨씬 적다.
- 또한, 적합한 데이터를 추출하기 위해 Fine-tuning 과정이 있는 GPT-2와 달리 PPLM은 그 과정이 없다.
Plug and Play Language Models
Language Modeling with Transformers
- Language Model : 이전 단어 sequence를 입력 받아 다음 단어를 예측한다.
- Transformer for Language Model : Query, Key, Value를 이용한 Attention Layer를 이용하여 이전 단어들을 기반으로 다음 단어를 예측한다.(Query : 바로 이전 단어 + 현재 포지션 값, Key, Value : 이전에 나온 모든 단어들)
Steering Generation: Ascending log p(a|x)
- 이전 단어를 기반으로 다음 단어를 생성한다.
- Attribute Model에 현재 output을 입력한다.
- log p(a|x) 값을 높이는 방향으로 그래디언트 값을 계산해서 key value에 다시 넣어준다.
- 다시 다음 단어를 계산한 후 Attribute Model에 넣어준다. 매 단어를 생성할 때마다 위 과정을 3~10회 진행한다.
Ensuring Fluency: Ascending log p(x)
KL Divergence
- 업데이트 된 output과 업데이트 되기 전 GPT-2로 생성된 output의 distribution의 KL Divergence가 최소화 되도록 H_t를 학습한다.
Post-norm Geometric Mean Fusion
- 학습에 영향을 미치지는 않으며, 업데이트 된 H_t를 기반으로 구한 다음 단어의 확률과 업데이트 되기 전 H_t를 기반으로 구한 다음 단어의 확률을 적절히 조합하여 다음 단어를 구한다.
Sampling and Ranking
- 여러 개의 샘플 문장을 만들어서 각 문장별로 순위를 매겨 가장 높은 순위인 것을 선택한다.
Experiments, Results, and Evaluation
BoW Attribute Models
- Input을 모두 똑같이 "The issue focused"를 넣었음에도 불구하고 원하는 Topic에 맞게 결과가 생성된 것을 확인할 수 있다.
- Red : BoW에 속한 단어
- Soft Red : BoW에 없으나 Topic에 가까운 단어
- Method 설명
- B : unchanged GPT-2, sampled once
-
BR: B but sampled r times, with best chosen
-
BC: update latent representation, sampled once
-
BCR: BC but sampled r times, with best chosen
-
CTRL (salesforce, 2019) : 1.62 billion transformer
-
GPT2-FT-RL (OpenAI, 2019): GPT-2 LM fine-tuned for human evaluated positivity with RL
-
WD (2017): weighted decoding, directly toward maximizing p(a|x)
- GPT-2와 비슷한 다양성을 가지고 있으나 이보다 더 Topic에 가까운 문장을 생성하는 것을 확인할 수 있다.
- 또한 Sampling보다 Gradient를 계산해서 업데이트 하는 것이 점수 차이가 큰 것을 확인할 수 있다. 즉, latent space 내에서 shifting을 하는 것이 output distribution을 조절하는 것보다 더 좋은 성과를 낸다는 것이다.
Discriminator Attribute Models
- attribute로 positive, negative를 제시하였고 이에 따라 각각 attribute에 맞게 문장을 만들어 낸 것을 확인할 수 있다.
Language Detoxification
- Dataset에 bias가 있어 차별, 혐오 표현 등이 학습이 되는 것을 막기 위해 BoW에 bias한 단어들을 모아 이러한 단어들의 발생 확률이 낮아지도록 학습하여 bias를 줄이는 Language Detoxification을 할 수 있다.