NL-068, Deep Reinforcement Learning for Dialogue Generation (2016-EMNLP)
Comment
- 전체적인 느낌은 SeqGAN과 살짝 비슷하다.
- 단지 language modeling이 아닌, 대화 시스템으로 두 개의 agents가 있는 상황일 뿐이다.
- 여기서는 기존의 seq2seq을 supervised learning으로만 해결하면 생기는 문제점들이 있어서 강화학습의 장점을 결합하려고 했다.
- 따라서 state, action, reward, policy 등의 개념이 등장하고 이를 이용한 loss 식을 제시한다.
- seq2seq와 RL의 강점은 커리큘럼 학습으로 둘 다 가져갈 수 있는 느낌으로 pre-trained seq2seq으로 초기화하고 RL으로 fine-tuned 하는 느낌이다.
- 그 결과 다양하고 long-term 대화가 가능하다고 한다.
- 또한 automatic evaluation은 안했다고 하는데 아마 해봤는데 성능이 구져서 할 필요가 없다고 써놓은게 아닐까 싶다..
0. Abstract
- 최근 대화 생성의 뉴럴 모델은 대화 agents의 응답에 대한 반응을 생성할 수 있는 큰 가능성이 있지만, 근시안적인, 미래의 결과에 대한 영향력은 무시한채 하나씩 utterances을 예측하는 경향이 있다.
- 대화의 미래 방향을 모델링 하는 것은 coherent(일관성)있고 흥미있는 대화를 생성하는데 결정적이며, 이것은 전통적인 NLP 대화 모델을 강화 학습을 하도록 이끈 니즈이다.
- 이 논문에서는 우리는 이러한 목표들을 결합하여 강화학습에 적용하여 모델이 챗봇 대화에서 reward를 모델링한다.
- 모델은 두 가상 에이전트들 사이를 자극하여 policy gradient을 사용하여 문장의 reward로 3개의 유용한 대화 속성인 informativity, coherence, and ease of answering을 사용한다.
- 우리는 우리의 모델을 다양성, 사람의 판단에 따른 길이에 대해 평가한다.
- 이것은 제안된 알고리즘이 상호작용 반응을 생성하고 대화 시뮬레이션속에서 지속적인 대화를 촉지한도록 관리한다.
- 이 연구는 첫 번째 스텝으로 대화의 long-term 성공 기반의 뉴럴 대화 모델을 학습한다.
1. Introduction
- 뉴럴 생성은 관심이 증가하고 있고 LSTM seq2seq 모델이 뉴럴 생성 모델의 하나로 기존의 대화 턴이 주어질 때 반응의 확률을 최대화 하도록 학습이 된다.
- 이 접근법은 연속적인 대화 턴사이에서 매핑할 때, 풍부한 컨텍스트를 통합할 수 있다.
- 대화 생성에서 seq2seq 모델의 성공에도 불구하고 두 가지 문제가 남아있다.
- 첫 번째 문제
- seq2seq 모델들은 MLE (maximum-likelihood estimation)을 사용하여 주어진 대화 컨텍스트로부터 다음의 대화 턴을 예측하도록 학습이 된다.
- 그러나, 이것은 MLE 근사화가 얼마나 챗봇 개발의 실제 목표에서 얼마나 잘 작동될지 모른다.
- : 흥미롭고 다양하고 유익한 피드백을 유저에게 제공하면서 인간과 대화를 하도록 기계를 학습하는 것을 의미한다.
- 한 가지 구체적인 예시는 seq2seq 모델들은 "I don't know"와 같은 일반적인 응답을 생성하도록 하는 경향이 있다. (입력에 상관없이)
- 이것은 학습 데이터세트에서 일반적인 반응의 높은 빈도로 속하고 대화 컨텍스트의 다양한 범위의 호환성에 기인한다.
- 그러나 "I don't know"는 대화를 끝내게 될 때 좋은 행동은 아니다.
- 두 번째 문제
- 다른 일반적인 문제는 다음의 그림과 같다.
- 즉 무한 반복의 반응이 되는 것인데, 이것은 MLE 기반의 seq2seq 모델의 반복을 설명하는 능력이 없기 때문이다.
- 특히 밑의 예시는 3번 턴만에 무한 루프에 빠지는 문제점이 있다.
- 전체적인 대화를 보면 (4)번 말이 대화를 계속할 방법이 없기 때문에 대화에서 나쁜 행동으로 판명이 된다.
- 이러한 챌린지는 우리가 대화 프레임워크가 다음의 능력이 필요함을 제시한다.
- 챗봇 개발의 진짜 목표를 더 잘 흉내내도록 개발자가 정의한 reward을 통합
- 진행중인 대화에서 생성된 응답의 장기적 영향을 모델링하는 것
- 이러한 목표를 성취하기 위해 MDP와 POMDP 대화 시스템에 널리 적용된 강화 학습에 대한 인사이트를 활용한다.
- 우리는 RL 생성 방법을 제시하고 이것이 long-term 생성 방법을 소개하고 이는 시스템 개발자로부터 디자인된 reward을 최적화 한다.
- 우리의 모델은 encoder decoder 구조를 백본으로 사용하고 두 개의 가상 에이전트에 자극을 주어서 기대 reward을 최대화를 학습하면서 가능한 actions의 공간을 탐구한다.
- 우리는 간단한 휴리스틱한 근사를 정의하며 reward가 좋은 대화를 특정화 한다.
- 좋은 대화는 forward-looking (미래 지향적)
- 상호적인 (turn 은 다음의 turn을 제안한다)
- 유익하고 일관성 있는
- 인코더 디코더 RNN의 파라미터들은 가능한 모든 utterances으로 구성되어 있는 무한한 action 공간에 대한 policy을 정의한다.
- 에이전트는 표준 seq2seq 모델로 정의된 MLE objective보다 policy gradient을 사용한 대화 시뮬레이션이 진행동안 long-term 개발자로부터 정의된 reward을 최적화하도록 한다.
- 즉 MLE로 토큰 예측을 최적화 하는 것이 아닌 reward을 사용한 policy gradient을 학습하는 방식으로 하겠다는 것이다.
- 우리의 모델은 따라서 seq2seq 시스템의 파워와 대화속의 long-term을 최적화하는 강화학습의 장점을 통합하여 utterances의 compositional semantic meaning 을 학습한다.
- 다음의 실험 결과는 이 논문의 접근 방식이 MLE만을 사용한 seq2seq 보다 괜찮음을 보여준다.
2. Related Work
- 통계적 대화 시스템은 크게 두 가지로 나뉜다.
- 1) 대화 시스템을 source-to-target 변환 문제로 취급하고 입력 메시지와 학습 데이터의 많은 양으로부터의 응답 사이를 매핑하는 룰을 학습하는 것
- Ritter et al. (2011)은 응답 생성 문제를 SMT 문제로 구성한다.
- Sordoni et al. (2015)은 사전 컨텍스트를 통합한 뉴럴모델의 SMT 기반의 대화 시스템의 출력을 rescoring을 하여 Ritter의 시스템을 향상시킨다.
- seq2seq 모델에서의 최근 진행은 end-to-end 대화 시스템을 위한 노력이 있고 입력을 encoder로 분산된 vector 표현으로 매핑하고 message vector을 생성하는 식이다.
- Serban et al. (2016)은 확장된 대화 히스토리에 대해 의존을 캡쳐하는 hierarchical neural model을 제안한다.
- Li et al. (2016a)은 메지와 응답의 mutual 정보를 제안하여 seq2seq 시스템으로부터 생성된 generic 응답의 비율을 줄이려고 한다. (앞에서 말했듯이 generic이 나쁜 경우가 있기 때문에)
- 2) 다른 통계적 연구는 task-oriented 대화 시스템을 domain-specific tasks로 중점을 둔다.
- MDPs, POMDP와 같은 통계적 모델은 통계적으로 모델 및 생성 규칙을 학습한다.
- 이러한 연구들은 강화학습을 광범위하게 적용해서 대화 policy을 학습한다.
- 그러나, task-oriented RL 대화 시스템들은 종종 제한된 dialogue parameters 혹은 state, action, 도메인별 사람에 의해 정의된 reward로 이루어진 hand-built 템플릿애 제한적이고 이것은 open-domain 시나리오로 확장하기 어렵게 한다.
- 또한 텍스트 기반 게임을 통한 delayed reward signals의 학습을 포함한 강화학습, 윈도우 도움말 혹은 navigation 방향의 대화의 연구들과도 관련이 있다.
- 우리의 목표는 seq2seq와 강화학습의 패러다임의 두 장점을 융합하는 것이다.
- 따라서 최근 연구는 이러한 패러다임을 합쳐서 end-to-end task-oriented 대화 시스템을 학습하여 input representations을 데이터베스에 있는 slot-value pairs와 링크시킨다.
- 혹은 Su은 실제 유저의 tasks에 뉴럴 생성의 강화학습과 결합시켜 강화학습이 대화 성능을 향상시키는 것을 보여준다.
3. Reinforcement Learning for Open-Domain Dialogue
- 학습 시스템은 2개의 agents로 구성된다.
- p는 1번째 agent로부터 생성되는 문장들을 의미
- q는 2번째 agent로부터 생성되는 문장들을 의미
- 두 개의 agents는 서로 대화를 나눈다.
- 즉 agents는 생성 모델들을 의미하는 것이라 보면 될 듯
- 대화는 두 개의 agents로부터 생성된 문장들의 문장이 번갈아가면서 표현이 될 수 있다.
- p1, q1, p2, q2 ..., pi, qi 식
- 우리는 생성된 문장을 RNN encoder-decoder으로 정의된 policy에 따라 행동하는 actions으로 바라본다.
- 생성 모델의 파라미터? 등을 policy로 보는 것?
- 생성된 문장 = actions으로 보면 될 듯
- Sec 4.3에서 네트워크의 파라미터들은 policy을 사용한 미래의 reward 기댓값을 최대화 시키도록 optimize된다.
- policy gradient 방법들은 Q-learning보다 우리의 시나리오에 더욱 적절한 방법이다.
- 1) 왜냐하면, 우리는 MLE 파라미터들을 사용한 encoder-decoder RNN을 초기화하여 미리 유연한 응답을 생성할 수 있기 때문이다.
- 이 작업은 policy가 long-term reward을 최대화하는 방향으로 tuning과 objective을 바꾸기 이전이다.
- 2) Q-learning은 반면에 각각 action의 미래의 reward 기댓값을 직접적으로 측정하여 크기의 순서에 읜해 MLE objective가 다를 수 있다.
- 그래서 masking MLE 파라미터들은 부적절한 초기화가 된다.
- 요소로는 states, actions, rewards 등이 있다.
- subsection에서 살펴보자.
3.1 Action
- An action a is the dialogue utterance to generate.
- 생성될 수 있는 문장의 길이는 제한이 없기 때문에 실제 action space는 무한하다.
3.2 State
- A state is denoted by the previous two dialogue turns [pi , qi].
- 대화 히스토리는 vector representation으로 변환된다.
- Li에서 설명된 것처럼, LSTM encoder에 pi와 qi의 concatenation이 들어가서 나오는 vector이다.
3.3 Policy
- policy는 LSTM encoder-decoder의 형식을 취하며 해당 parameters으로 정의된다.
- 예. pRL(pi+1|pi , qi)
- 즉 pi, qi가 주어졌을 때, pi+1을 생성할 확률의 개념
- 우리는 policy의 stocahstic representation을 사용한다.
- stochastic의 개념은 a probability distribution over actions given states이다.
- deterministic policy는 아마도 불연속적인 objective의 결과로 gradient-based methods을 사용하여 최적화 시키기 어려울 것이다.
3.4 Reward
- r denotes the reward obtained for each action.
- 이 섹션에서 우리는 대화의 성공의 기여하는 major 요소에 대해 얘기하고 어떻게 이러한 factos들이 계산할 수 있는 reward functions으로 작동하도록 근사하는지 설명한다.
3.4.1 Ease of answering
- 기계에의해 생성된 turn은 응답하기 쉬어야 한다.
- 이러한 turn의 관점은 그것의 forward-looking 함수와 관련이 있다.
- turn이 다음 turn에 제약이 있다는 것
- 우리는 dull(단조로운) 반응을 가지는 utterance에 응답하는 renegative log-likelihood을 사용하여 생성된 turn의 편함을 측정할 것을 제안한다.
- 우리는 수동적으로 dull response의 리스트를
을 생성한다.
는 8개의 turns으로 구성되며 예를 들어 “I don’t know what you are talking about”, “I have no idea" 등으로 구성된다.
- 이것들은 우리와 다른 연구들의 seq2seq 대화 모델에서 자주 발생하는 것이다.
- 여기서
은
의 cardinality(집합크기)을 의미한다.
- Ns은 dull response s에 있는 tokens의 수를 의미한다.
- 여기서 s는 위에서 정의한 state라기보단
에 속하는 문장들을 의미하는 것이다.
- 즉 action이 주어질 때(=생성된 utterance가 주어질 때), 다음의 utternace로 dull response가 생성되는 확률이 최소화 되도록 하는 것이 reward이다.
- 물론 list에서 다루는 것보다 dull response을 생성하는 방법은 더 많지만, 많은 응답은 model에 의해 계산되는 vector space의 비슷한 region에 빠질 가능성이 높다.
- 리스트에 있는 utterances을 생성을 덜하는 시스템은 다른 dull response을 생성하는 빈도도 줄을 것이다.
- 즉 모든 dull response은 커버할 수 없지만, 그래도 8개의 적은 list로도 효과를 볼 수 있을 것 같다라고 추측한 듯
- p_seq2seq은 SEQ2SEQ 모델에 의해 출력 likelihood을 나타낸다.
- p_seq2seq은 stochastic policy funcion
와 다르다는 것에 주목할 필요가 있다.
- 왜냐하면 p_seq2seq은 SEQ2SEQ 모델의 MLE ojbective에 의해 학습이 되는 것이다.
은 RL 세팅에서의 long-term future reward을 최적화하도록 되기 때문이다.
- r1은 더 나아가서 target
의 길이에 따라 스케일링된다.
3.4.2 Information Flow
- 우리는 각 agent가 각 turn에 새로운 정보를 기여하여 대화가 움직이도록 유지하고 반복적인 sequences을 피하기를 원한다.
- 우리는 그래서 같은 agent의 연속적인 turns 사이에서 semantic similarity을 penalizing을 제안한다.
와
을 두 개의 연속적인 turns
,
의 encoder의 representations으로 표기한다.
- 이 때 reward는 cosine similarity의 negative log 로 구해지고 다음과 같다.
3.4.3 Semantic Coherence
- 우리는 또한 생성된 응답이 높은 reward을 받으나 문법적으로 일관성이 없는 경우를 피하기 위해 응답의 적절성을 측정해야한다.
- 우리는 그래서 생성된 응답이 일관있고 적절하도록 보장하기 위해 history안에서 action a와 previous turn 사이의 상호 정보를 고려한다.
은 state(이전의 대화)에서 action(생성되는 응답)을 도출할 확률이다.
은 그 반대의 확률로 생성된 응답에서 이전의 대화 qi을 생성할 확률이다.
- 생각해보면 이것은 실제로 일어날 일은 아니다.
- 왜냐하면 대화 거꾸로의 상황이니까
- 이 방법은 target와 source가 뒤 바뀐 standard SEQ2SEQ 방식으로 학습이 되는 것이다.
- 이것의 reward또한 target length에 따라 조절하기 위해
,
을 스케일링한다.
- 이 reward는 즉 action(생선 문장들)과 state(이전 문장들) 사이의 관계를 높이도록 reward을 주는 것이다.
- 최종 reward는 다음과 같다.
- lamda의 합은 1이며 lamda1=lamda2=0.25, lamd1=0.5로 세팅하였다.
- 총 reward는 각 문장의 생성이 끝나면 계산이 되는 식이다.
4. Simulation
- 우리의 접근법의 중심 아이디어는 두 개의 agents의 서로가 대화하는 진행을 시뮬레이션 하는 것이다.
- 이것을 통하여 우리는 state-action space을 explore할 수 있고 policy
을 학습할 수 있다.
- 우리는 알파고 스타일 전략을 수용하여 RL 시스템의 초기화를 fully supervised setting으로 학습된 일반적 반응을 생성하는 policy로 초기화한다.
4.1 Supervised Learning
- 학습의 첫 번째 stage을 위하여 생성되는 target을 예측하는 이전 연구를 설계한다.
- supervised 모델의 결과는 나중에 initalization으로 사용된다.
- 우리는 SEQ2SEQ 모델 with attention을 OpenSubtitles 데이터세트에서 학습한다.
- OpenSubtitles은 80 million source-target pairs으로 러프하게 구성되어 있다.
- 우리는 데이터세트의 각 trun을 target으로 대하고 이전의 두 대 문장을 concat한 것을 source inputs으로 처리한다.
4.2 Mutual Information
- SEQ2SEQ 모델들의 샘플들은 종종 dull 하고 generic하다.
- 예시로 "i don't know"
- 우리는 그래서 pre-trained SEQ2SEQ을 사용하여 policy 모델을 초기화하고 싶지 않았다.
- 왜냐하면 이것은 RL 모델의 경험의 다양성에 대한 부족으로 이끌기 때문이다.
- Li는 source와 targets 사이읭 상호 정보를 모델링하여 dull response의 생성 기회를 많이 감소시켰고 일반적인 응답의 품질을 향상시켰다.
- 우리는 어떻게 mutual information 응답들을 생성하는 encoder-decoder 모델을 획득한지 보여준다.
- Li에서의 설명은 식 3에서처럼 direct decoding은 불가능하다.
- 왜냐하면 두 번째 term은 완벽히 생성된 target 문장이 완전히 생성이 되어야하기 때문이다.
- 문장 단위의 학습에 대한 최근 연구로부터 고안하여 우리는 상호 정보응답을 최대화하는 생성의 문제를 상호 정보의 reward을 이용한 RL 학습으로 취급한다.
- 이 때 reward는 문장의 끝에 도달했을 때 관찰이 된다.
- Ranzato와 유사하게, 우리는 최적화하는데 policy gradient 방법들을 사용한다.
- 우리는 policy model P_RL을 pre-trained
으로 초기화 한다.
- 1) [pi, qi]가 주어지고 우리는 후보 list
을 생성한다.
- 2) 각 생성된 후보
에 대해 우리는 mutual information
을 pre-trained
와
으로부터 얻는다.
- 3) 이 mutual infromation score은 reward로 사용되어 encoder-decoder 모델로 역전파되어 높은 reward을 가지는 문장을 생성하도록 학습된다.
- 수학적으로 표기하면 다음과 같다.
- 4) 우리는 stochastic gradient descent을 사용하여 encoder-decoder 모델의 파라미터들을 업데이트 한다.
- 5) 매 sequence에 대해서 커리큘럼 학습 전략도 다음과 같이 적용이 된다.
- 길이 T을 가지는 시퀀스에 대해 앞 L 토큰들에 대해 MLE 손실함수를 사용
- 남아있는 T-L tokens에 대해서는 RL을 사용
- 즉 첨부터 RL을 사용하면 어려우니까, 앞 tokens에는 MLE 손실함수 뒷 tokens에는 RL 손실함수를 사용한다.
- 우리는 점진적으로 L을 0으로 보낸다.
- 베이스라인 전략은 학습의 variance을 줄이는 것이다.
- 추가적인 뉴럴 모델들은 생성된 target과 초기 source을 입력으로 받고 베이스라인 값을 출력한다.
- 최종 graident는 다음과 같다.
- 정리하자면 문장의 생성에 대한 loss을 계산할 때, 정답으로 주어진 token와 예측한 token이 단지 같도록 손실함수를 정하는 방법은 MLE 손실함수이다.
- 하지만 이렇게 하면, supervised learning이고 우리가 원하는 것은 dull 응답을 생성하지 않고 mutual information을 담은 다양한 응답을 생성하고 싶은 것이다.
- 따라서 상호 정보를 담도록 mutual information을 계산하는 식 3을 계산할 때 강화학습을 사용한다는 것이다.
- 강화학습으로 역전파할 때는 policy gradient을 사용하면 되고 문장 전체에 대해 문장 유사도를 구하는 것을 reward로 가져가겠다는 것이다.
- 그래서 식 6을 역전파하면 된다.
- 추가적으로 문장 길이에 대해 curriculum learning을 진행했다는 점
4.3 Dialogue Simulation between Two Agents
- 우리는 두 개의 가상 agents 사이의 대화를 시뮬레이션하고 서로 대화를 하도록 한다.
- 이 시뮬레이션은 다음과 같이 진행된다.
- 초기화 스텝에서는 학습 셋의 메시지를 first agent에게 제공된다.
- 그 agent는 입력 메시지를 vector representation으로 인코딩하고 응답의 출력을 디코딩한다.
- 대화 히스토리와 first agent으로부터의 즉각적인 출력의 결합하여 second agent는 대화 히스토리를 하나의 표현으로 인코딩하여 state을 업데이트하고 RNN 디코더로 반응을 생성한다.
- 이는 first agent에게 fed back되고 이러한 프로세스가 반복된다.
4.3.1 Optimization
- 우리는 이전 섹션에서 설명했듯이 mutual information model의 파라미터로 policy model pRL을 초기화한다.
- 우리는 그리고나서 policy gradient 방법으로 파라미터들을 찾아서 더 큰 reward 기댓값을 갖도록 한다.
- 최대화할 objective는 다음의 미래 reward을 가진다.
- 이것에 likelihood ratio trick을 사용하면 다음과 같이 된다.
4.4 Curriculum Learning
- (번역) 커리큘럼 학습 전략이 다시 사용되어 2 턴 동안 대화를 시뮬레이션하고 시뮬레이트 된 턴 수를 점차적으로 늘립니다.
- 조사 할 후보자가 기하 급수적으로 기하 급수적으로 증가함에 따라 최대 5 턴을 생성합니다. 시뮬레이션의 각 단계에서 5 개의 후보 응답이 생성됩니다.
5. Experimental Results
5.1 Dataset
- The dialogue simulation requires high-quality initial inputs fed to the agent.
- For example, an initial input of “why ?” is undesirable since it is unclear how the dialogue could proceed.
- We take a subset of 10 million messages from the OpenSubtitles dataset and extract 0.8 million sequences with the lowest likelihood of generating the response “i don’t know what you are taking about” to ensure initial inputs are easy to respond to.
5.2 Automatic Evaluation
- BLEU나 PPL이 일반적으로 사용되지만 여기서는 하지 않는다.
- Since the goal of the proposed system is not to predict the highest probability response, but rather the long-term success of the dialogue, we do not employ BLEU or perplexity for evaluation.
Diversity
Human Evaluation
Qualitative Analysis and Discussion
6. Conclusion
- 우리는 두 개의 agents 사이의 대화를 시뮬레이팅하여 생성된 뉴럴 응답을 위한 RL 프레임워크를 소개한다.
- 이는 뉴럴 SEQ2SEQ 시스템과 RL 대화 시스템의 강점을 결합한 것이다.
- 이전의 SEQ2SEQ 모델들과 비슷하게, 우리의 프레임워크는 대화 turn의 의미 구성 모델을 포착하고 의미론적으로 적절한 응답을 생성한다.
- 강화학습 대화 시스템과 마찬가지로, 우리의 프레임워크는 future reward을 최적화하는 utterances을 생성할 수 있고 성공적으로 좋은 글로벌한 대화의 속성을 캡쳐할 수 있다.
- 우리 모델이 이러한 글로벌 자산을 포착하기 위해 매우 간단하고 작동 가능한 휴리스틱스를 사용함에도 불구하고, 프레임워크는 보다 다양한 대화형 응답을 생성하여 보다 지속적인 대화를 촉진한다.
Reference
댓글
댓글 쓰기