다음 논문을 읽고 작성한 내용이며 잘못 해석한 내용이 있을 수도 있습니다. 초록색으로 칠한 내용은 이해

를 하지 못한 내용입니다.

 

https://arxiv.org/abs/1606.01541

 

Deep Reinforcement Learning for Dialogue Generation

Recent neural models of dialogue generation offer great promise for generating responses for conversational agents, but tend to be shortsighted, predicting utterances one at a time while ignoring their influence on future outcomes. Modeling the future dire

arxiv.org

Deep Reinforcement Learning for Dialogue Generation

Abstract

  • Dialogue Generation을 RNN으로 하는 것이 좋은 가능성을 보인기는 했지만, 근시안적으로 바라보며 미래에 다가올 영향을 생각하지 않고 대화를 생성하는 경향이 있다.
  • 이러한 문제점이 발생했기 때문에 NLP 모델에 RL을 넣으려는 시도를 해보려고 한다.
  • 이 모델은 두 개의 가상 agent로부터 대화를 생성한다.
    • policy gradient 방법을 사용한다.
    • 대화의 품질을 높힐 수 있는 세 가지 reward를 도입했다.
      • informativity
      • coherence
      • ease of answering
  • 우리는 이 모델을 diversity와 length를 지표로 평가를 할 것이다.

1. Introduction

  • Neural response generation에 대해서 많은 연구가 이루어졌다.

  • Seq2Seq 모델이 Dialogue Generation에서 성공을 이뤘음에도 불구하고 두 가지 문제점이 있다.

    1. SEQ2SEQ 모델은 MLE를 사용해서 주어진 대화 문맥을 통해서 다음 단어를 예측한다.

      • 그러나 MLE는 실생활에 chatbot을 도입하기에는 적합하지 않다.
        • 사람에 의해 학습이 되는 것인데, 다양성을 보장하기 어렵다.
      • 가장 대표적인 예시로 "I don't know"와 같이 input과 상관없이 사용할 수 있는 답변을 가장 많이 하게 된다.
        • 이러한 것들이 다양성을 낮추게 되는 것이다.

           

    2. 위 테이블의 왼쪽 예시처럼 같은 말이 반복되는 무한 루프에 빠지게 될 가능성이 높다.

      • 이것도 역시 MLE-based SEQ2SEQ 모델로 인해 발생하게 되는 문제이다.
  • 이러한 문제를 해결하기 위해서 다음 두 가지를 도전 과제로 잡았다.

    1. chatbot 개발을 잘하기 위해서 개발자가 직접 정의한 reward를 도입한다.
    2. 대화가 진행되면서 long-term influence를 해결하도록 한다.
  • 이러한 목표를 달성하기 위해서 이번 논문에서는 MDP나 POMDP dialogue system의 개념을 사용하도록 한다.

    • 이 방법을 사용하면 long-term reward를 최적화할 수 있을 것이다.
  • 우리 모델은 encoder-decoder 구조를 기본으로 가지고 있으며, reward를 최대화 하는 방향으로 2개의 가상 에이전트가 대화를 시뮬레이션으로 하는 방법을 사용한다.

  • 좋은 대화를 만들기 위해서 reward에 관해 간단한 heuritic한 가정을 정의했다.

    • 좋은 대화란 forward-looking하고 interactive, informative, coherent라고 한다.
  • encoder-decoder RNN은 policy로 정의되며, long-term developer-defined reward를 최적화하기 위해서 policy gradient 방법을 사용해 학습한다고 한다.

  • SEQ2SEQ에 RL의 강점을 부여한 모델이라고 생각하면 되고, 일반적인 SEQ2SEQ와 비교해본다.

2. Related Work


생략

3. Reinforcement Learning for Open-Domain Dialogue

  • learning system은 2개의 agent로 구성되어 있으며, p를 첫 agent가 생성한 문장, q를 두번째 agent가 생성한 문장으로 정의한다.
    • 2개의 agent는 서로 교대로 대화를 하며 진행을 한다.
      • 즉 p1,q1,p2,q2,...,pi,qi와 같이 진행한다.
    • action은 대화를 생성하는 것으로 정의를 한다.
    • policy는 encoder-decoder RNN을 사용한다.
  • 파라미터는 뒤에서 이야기 하도록 한다.
  • Policy gradient 방법이 Q-learning보다 더 적합하다고 생각한다.
    • Q-learning은 각 행동에 대해서 바로 미래 가치 reward를 추정하는데, 이는 long-term reward를 최대화 하려고 하는 목적과 다르기 때문이다?

3.1 Action

  • action a는 문장을 생성하는 것으로, action space는 생성하려는 문장이 가변적이고 의미적으로도 다양하므로 무한하다.

3.2 State

  • state는 이전 두 dialogue [pi,qi]로 정의되며 이를 encoding해서 vector representation으로 input으로 넣어주게 된다.

3.3 Policy

  • LSTM Encoder-decoder의 형태를 가져온다. 그리고 stochastic representation of the policy를 사용한다.

3.4 Reward

  • r은 each action에서 얻어지는 것이며, 대화의 성공을 위해 중요한 요소이다. 이러한 요소들을 어떻게 추정할 것인지에 대해 이야기 한다.
Ease of answering
  • 기계가 대답하는 것이 쉽게 하는 것이다. 이는 앞서 말한 forward-looking function과 연관있다.

  • 이 것을 dull response의 대답에 대한 negative log likelihood를 사용해서 측정한다.

    • SEQ2SEQ에서 발생했던 dull response S list를 사용한다.
  • reward function은 다음과 같이 생겼다.

  • NS는 dull response의 수이다.

Information Flow
  • 각 agent가 대화가 진행되고, 반복을 피하면서 새로운 말을 하는 것을 원한다.

  • 따라서 같은 agent로 부터의 연이은 대화 사이의 의미론적 유사도를 사용한다.

    • hpi, hpi+1를 encoder로 부터 얻을 수 있으며, reward는 negative log of the cosine similarity를 사용해서 구한다.

Semantic Coherence
  • 문법적으로 틀리거나 일관성이 없는 문장을 제외하고는 높은 보상을 주도록 해야 한다.

  • 생성된 응답이 일관성이 있고 적절함을 보장하기 위해서 action a와 previous turn 사이의 mutual information을 고려하도록 한다.

    • 첫번째 term은 probability of generating response a given the previous dialogue utterance이다
    • 두번째 term은 backward probability of generating the previous dialogue utterance qi based on response a 이다.
Final
  • 최종적으로는 다음과 같이 reward를 계산한다.

  • λ1+λ2+λ3=1을 만족해야 하며, 이번 모델에서는 λ1=0.25, λ2=0.25, λ3=0.5로 설정했다.

4. Simulation

  • main idea는 두 개의 가상 agent가 서로 대화를 하면서 state-action space를 탐색하고, policy를 배워 optimal expected reward를 이끌어내는 것이다.

4.1 Supervised Learning

  • training을 하기 위해 supervised SEQ2SEQ model을 사용해서 주어진 dialogue history로 target sequence를 생성하는 예측 사전작업을 한다.
  • attention을 가진 SEQ2SEQ을 학습한다.
    • dataset에 있는 each turn을 target으로 간주한다.
    • 두 이전의 sentence의 결합은 source input으로 간주한다.

4.2 Mutual Information

  • SEQ2SEQ의 sample은 dull 하고 generic하다.(ex)"i don't know")

    • pre-trained된 SEQ2SEQ 모델로 policy model을 초기화하는 것을 원하지 않는다.
      • 왜냐하면 이 것은 RL 모델의 경험에서 다양성의 부족을 이끌어내기 때문이다.
  • Li et al(2016a)에서 source와 target의 mutual information이 dull한 대답을 확실하게 줄이고, 일반적인 대답의 품질을 향상시켰다.

    • 따라서 mutual information response를 최대화하는 encoder-decoder 모델을 사용하였다.
    • 이 논문에서 소개된 것은 실현 불가능하다. 왜냐하면 Eq3에서 second term은 완전하게 생성된 target sentence가 필요하기 때문이다.
    • sequence level learning에 관한 최근 연구에 영감을 받아 maximum mutual information response를 생성하는 문제를 mutual information value의 reward가 model이 sequence의 끝에 도달하는 RL 문제로 취급한다.
  • Ranzato와 유사하게 최적화를 위해서 policy gradient 방법을 사용한다. 우리는 pre-trained model을 사용해서 policy model을 초기화하고, input source를 넣어서 candidate list를 생성한다.

    • 생성된 값들을 mutual information score을 가지게 된다.

      • 이 mutual information score은 reward로 사용이 되고, encoder-decoder의 back-propagated로 사용된다.
    • expected reward는 다음과 같이 주어진다.

    • likelihood ratio를 사용해 추정한 gradient는 다음과 같다.

  • stochastic gradient descent를 사용해서 encoder-decoder 속의 parameter를 업데이트 한다.

  • curriculum learning 전략을 사용해서 모든 T 길이의 sequence 중 첫 L개 token은 MLE loss를 사용하고, reinforcement 알고리즘으로 T-L개 token을 사용한다. 점차적으로 L을 0으로 줄이도록 한다.

  • baseline 전략은 variance를 줄이기 위한 방법이다.

4.3 Dialogue Simulation between Two Agent

  • 2개의 가상 agent 사이에서 대화를 simulation 하는 방식으로 진행한다.
    1. training set에서 뽑은 message를 1번 agent에게 준다.
    2. agent는 input message를 vector representation으로 encoding 한 후, response output을 생성하기 위해 decoding 한다.
    3. 생성된 output을 dialogue history에 넣고 다음 agent가 2번을 수행한다.
Optimization
  • mutual information model의 parameter로 pRL을 초기화 한다.

  • 더 큰 expected reward를 얻기 위해 policy gradient를 사용한다. objective 함수는 다음과 같다.

  • likelihood ratio trick을 사용해 gradient는 다음과 같이 구한다.

4.4 Curriculum Learning

  • dialogue의 2 turn을 simulating 하는 것으로 부터 시작해서 5개까지 늘리는 것을 목표로 한다.

5. Experimental Results

  • human judgments와 two automatic metric를 사용해서 비교한다.
    • conversation length
    • diversity

5.1 Dataset

  • dialogue simulation은 high-quality initial input이 필요하다.
    • 만약 첫 시작부터 "why?", "i don't know what you are taking about"와 같은 것이 들어오게 된다면 훈련이 잘 안될 것이다.

5.2 Automatic Evaluation

  • true response quality보다는 long-term success of the dialogue이 목표이기 때문에 BLEU나 perplexity를 평가지표로 활용하지 않는다.
Length of the dialogue
  • 이 논문에서 제안하는 first metric은 simulated dialogue의 length이다.

    • "i don't know"와 같은 dull response를 생성하거나 같은 agent로 부터의 응답이 같을 경우 end라고 한다.
  • test set은 1,000개의 input message로 구성되어 있다.

    • circular dialogue의 위험을 줄이기 위해서 turn을 8개로 제한했다.

    • 결과는 다음 표와 같다.

    • mutual information이 SEQ2SEQ보다 더 긴 대화를 나누었고, mutual information으로 훈련을 하고 RL의 장점을 추가한 RL 모델이 가장 좋은 결과를 얻었다.

Diversity
  • generated response에서 distinct unigram과 bigram의 수를 계산하는 것으로 diversity를 본다.

  • value를 favoring long sentence를 피하기 위해서 생성된 toal number로 scaled 했다. (by Li et al. (2016a).)

  • SEQ2SEQ 모델과 RL 모두 beam size를 10으로 해서 beam search를 수행했다.

    • mutual information model은 pSEQ2SEQ(t|s)를 사용해서 n-best list를 생성하고 pSEQ2SEQ(s|t)를 사용해서 linearly re-rank했다.
  • RL 모델이 diversity가 가장 높다는 것을 알 수 있다.

Human Evaluation
  • human evaluation에 three setting이 있음.

    1. crowdsourced judge to evaluate a random sample of 500 items (by Li et al (2016a))

      • single-turn general quality에 해당

      • input message 와 generated output을 3단계로 나타냄.

      • 어떤 output이 better인지 물어본다. (Tie도 허용)

      • 동일한 string은 같은 점수를 부여한다.

      • RL 모델로 mutual information보다 좋은 점수를 받음

    2. judge는 다시 input message와 system outpus으로 표현한다.

      • single-turn ease to answer에 해당

      • 그리고 어떤 output이 respond하기 easy한지 물어본다.

      • 500 items을 다시 3 judge로 평가한다.

    3. 두 agent 사이에 simulated conversation으로 표현한다.

      • multi-turn general quality에 해당
      • 각 대화는 5개의 turn으로 구성되고 200개의 시뮬레이션된 대화가 있다.
      • 이 역시 3 judge로 수행한다.
    • 사람들이 평가한 표를 위와 같다.
      • 대답을 잘 했는지에 대한 비교는 40퍼 승, 36퍼 패로 비슷하다.
      • 하지만 얼마나 장기적으로 대화를 했는가 문제에서는 RL이 훨씬 좋은 성능을 보였다.
Qualitative Analysis and Discussion

  • random sample에 대해 응답한 mutual information model과 RL 모델의 비교이다.

    • RL 모델로 생성한 것이 더 interactive한 응답을 했다.
    • 그리고 RL 모델이 대답을 다른 질문을 하는 것으로 sentence를 끝내는 경향이 보인다.
  • error analysis를 할 때 발견된 것으로 반복되는 응답에 패널티를 부여했지만 다음과 같이 긴 cycle이 존재하는 반복이 존재한다.

    • 우리가 생각할 수 있는 대화의 양이 제한되어 있기 때문인 것 같다?
  • 다른 문제로는 모델이 가끔 관계 없는 주제를 이야기 하는 경우도 있다.

  • 중요한 문제는 당연하게도 우리가 임의로 정해준 reward로 이상적인 대화를 만들기 위해서 모든 면을 cover할 수는 없다.

  • 현재 모델의 다른 문제점은 적은 수의 candidate를 고려할 수 밖에 없다는 것이다.

6. Conclusion

  • RL 과 SEQ2SEQ의 각각 강점을 dialogue에 적용해보았다.
  • 이전의 SEQ2SEQ와 같이 dialogue turn의 의미와 적절한 응답을 할 수 있었다.
  • RL의 특성으로 봤을 때, 미래 지향적인 점을 충분히 잡았다.
  • 우리의 모델이 간단하다는 사실에도 불구하고, global 특성을 잡았고, 더 다양하고 interactive한 응답을 보여주었다.

+ Recent posts