다음 논문을 읽고 작성한 내용이며 잘못 해석한 내용이 있을 수도 있습니다. 초록색으로 칠한 내용은 이해
를 하지 못한 내용입니다.
https://arxiv.org/abs/1606.01541
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에서 성공을 이뤘음에도 불구하고 두 가지 문제점이 있다.
-
SEQ2SEQ 모델은 MLE를 사용해서 주어진 대화 문맥을 통해서 다음 단어를 예측한다.
- 그러나 MLE는 실생활에 chatbot을 도입하기에는 적합하지 않다.
- 사람에 의해 학습이 되는 것인데, 다양성을 보장하기 어렵다.
- 가장 대표적인 예시로 "I don't know"와 같이 input과 상관없이 사용할 수 있는 답변을 가장 많이 하게 된다.
- 이러한 것들이 다양성을 낮추게 되는 것이다.
- 이러한 것들이 다양성을 낮추게 되는 것이다.
- 그러나 MLE는 실생활에 chatbot을 도입하기에는 적합하지 않다.
-
위 테이블의 왼쪽 예시처럼 같은 말이 반복되는 무한 루프에 빠지게 될 가능성이 높다.
- 이것도 역시 MLE-based SEQ2SEQ 모델로 인해 발생하게 되는 문제이다.
-
-
이러한 문제를 해결하기 위해서 다음 두 가지를 도전 과제로 잡았다.
- chatbot 개발을 잘하기 위해서 개발자가 직접 정의한 reward를 도입한다.
- 대화가 진행되면서 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을 사용한다.
- 2개의 agent는 서로 교대로 대화를 하며 진행을 한다.
- 파라미터는 뒤에서 이야기 하도록 한다.
- 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 모델의 경험에서 다양성의 부족을 이끌어내기 때문이다.
- pre-trained된 SEQ2SEQ 모델로 policy model을 초기화하는 것을 원하지 않는다.
-
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 하는 방식으로 진행한다.
- training set에서 뽑은 message를 1번 agent에게 준다.
- agent는 input message를 vector representation으로 encoding 한 후, response output을 생성하기 위해 decoding 한다.
- 생성된 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이 있음.
-
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보다 좋은 점수를 받음
-
-
judge는 다시 input message와 system outpus으로 표현한다.
-
single-turn ease to answer에 해당
-
그리고 어떤 output이 respond하기 easy한지 물어본다.
-
500 items을 다시 3 judge로 평가한다.
-
-
두 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한 응답을 보여주었다.