DSANet : Dual Self-Attention Network for Multivariate Time-Series Forecasting

ABSTRACT

Multivariate Time-Series Forecasting을 하는데 전통적인 model이나 RNN과 attention을 사용하는 모델로 수행하기에는 어려움이 있다. 따라서 이번 논문에서 DSANet을 제안하는데 이 문제를 해결했다.

global Temporal Convolution과 local Temporal Convolution을 parallel하게 사용했고, 이 과정을 거친 뒤 Self-Attention을 수행한다. 마지막으로 linear한 특징을 부여하기 위해 AR을 사용해 최종 예측값을 얻는 모델이다.

1.Introduction

  • multivariate time series forecasting이 연구되는 중이다.

    • sensor network , road occupancy rates forecasting, financial market prediction
    • 하지만 complex하고 non-linear dependencies 문제로 인해서 어려움을 겪고 있다.
      • 심지어 이 dependencies는 dynamic하게 변해서 분석이 더 어렵다.
  • 전통적인 방법(VAR, GP)등은 non-linear dependencies을 잡아내지 못해서 사용할 수 없다.

  • RNN 계열들은 이러한 non-linear dependencies을 잡아낼 수 있지만 long-time dependency 문제가 발생한다.

    • LSTM과 GRU를 사용하거나 attention을 사용하면 이러한 문제를 해결할 수 있다.
    • 하지만 현실 세계에서 흔히 발생하는 nonperiodic patterns과 dynamic-period patterns을 해결하지는 못한다.
  • 따라서 이러한 문제를 해결하고자 dual self-attention network(DSANet)을 제안한다.

    • univariate time serie들을 두 개의 평행한 parallel convolutional components에 넣는다.
      • global temporal convolution , local temporal convolution
    • 각 convolution에서 나온 representation을 각각 self-attention에 넣어준다.
      • 이는 다른 series들 간의 dependency를 배우기 위함이다.
    • 마지막으로 linear한 특징을 더해주기 위해서 autoregressive 값을 더해준다.

2. Related Work

생략

3.Preliminaries

  • univariate time seires는 X(i) = <x1(i),x2(i),...,xT(i)>와 같이 표현을 하며 이를 multivariate로 확장하면 X=<X(1),X(2),...,X(D)>와 같다.

  • 우리가 해결해야 할 문제는 <X1,X2,...,XT>가 주어졌을 때, XT+h를 예측하는 일이다.

    • 동일하게 XT+h+k를 예측하기 위해서는 <X1+k,X2+k,...,XT+k>가 필요하다. 즉 input window size k만큼의 범위의 값을 알아야 한다.

4.Methodology

  • Introduction에서 설명했던 구조를 하나씩 자세히 살펴보도록 한다.

Global Temporal Convolution

  • Deep learning method인 RNN을 사용해서 temporal한 pattern을 잡곤 했지만 long term의 특징을 잡지 못했다.
  • 따라서 multiple Tx1 filter를 사용하는 convolution인 global temporal convoltion(TCN)을 사용한다.
  • 각 global TCN의 filter는 input matrix X를 훑으며 D 크기의 vector를 생산해낸다.(activation function은 ReLU를 사용한다.) 각 filter에서 나온 vector들을 합쳐서 output matrix HG를 만들어낸다.
    • 각 filter별로 각 time seires를 표현하는 값을 얻어서 D 크기의 vector가 나온다.
  • matrix의 각 행은 univariate series의 representation이라고 할 수 있다.

Local Temporal convolution

  • 현재 시점으로부터 가까운 time step들이 멀리 있는 time step보다는 더 관련있을 가능성이 높다.
    • 따라서 global TCN은 이 time series의 전반적인 특징을 살펴보았다면, 이번에는 local한 특징을 찾아보도록 한다. 이 과정은 parallel하게 수행된다.
  • global TCN과 다른 점이라고 하면 filter size의 크기를 l로 사용하는데, l<T보다 작은 수이다.
    • 따라서 각 filter별로 vector가 아닌 matrix MkL를 생성해낸다.
  • 각 univariate time series의 local temporal relation을 vector representation으로 map하기 위해서 DSANet은 1-D max pooling을 사용한다.
    • 따라서 최종 output인 matrix HL을 얻게 된다.

Self-Attention Module

  • self-attention이 feature extraction 능력이 좋기 때문에 서로 다른 series간 dependency를 포착하기 위해 사용한다.

  • 각 univariate representation을 input으로 넣어주도록한다.

    • 그러면 자기 자신을 포함해서 다른 representation간의 관계를 파악한다.
  • N identical layer를 stack하며, self-attention layer와 position-wise feed-forward layer를 가지고 있다.

    • 일반적인 Self-Attention 구조이다.

  • resulting weighted representation을 결합하고 linearly projected해서 final representation ZOG를 얻게 된다.

  • position-wise feed-forward layer를 통과해서 최종 결과인 FG를 얻는다.

  • local도 똑같이 적용해서 FL를 얻는다.

Autoregressive Component

  • convolution과 self-attention은 모두 non-linear한 특징을 가지기 때문에 neural network의 scale이 input에 sensitive하지 않게 되었다. 따라서 linear한 특징을 부여하기 위해서 AR을 사용한다.

Generation of Prediction

  • 예측단계에서 각 self-attention에서 나온 값들을 dense layer를 통해서 결합하고 AR에서 얻은 값을 더해서 최종 예측값을 얻는다.

5.Experiments

  • dataset은 지리적으로 가까운 5개의 gas station 데이터를 사용했다.
  • root relative squared error(RRSE), mean absolute error(MAE), empirical correlation coefficient(CORR)를 사용해서 측정했고, hyperparameter들은 이것저것 많이 했다고 한다.

  • 다음은 실험결과 중 일부인데, 32일의 데이터가 있을 때, 각 3일, 6일, 12일, 24일 뒤의 값을 예측하는 실험이다.
    • 당연히 24일 뒤가 맞추기 힘드므로 값이 가장 클 것이다.
  • 기존에 있던 method보다 DSANet이 가장 좋은 성능을 보였다.

Ablation Study

  • model의 일부분을 하나씩 빼고 실험한 결과인데, AR이 이 모델에서 가장 큰 영향을 끼치고 있음을 알 수 있다.

다음 논문을 읽고 작성한 내용이며 잘못 해석한 내용이 있을 수도 있습니다.

https://arxiv.org/abs/1605.05396

 

Generative Adversarial Text to Image Synthesis

Automatic synthesis of realistic images from text would be interesting and useful, but current AI systems are still far from this goal. However, in recent years generic and powerful recurrent neural network architectures have been developed to learn discri

arxiv.org

Generative Adversarial Text to Image Synthesis

Abstract

Text로 실제 이미지와 같은 합성 이미지를 만드는 것은 흥미롭고 유용하지만 많은 연구가 되어 있지는 않다

최근 RNN과 GAN의 연구가 활발해지고 있고 text to image를 이에 적용시켜보도록 한다.

1. Introduction

single-sentence human written descriptions를 image pixel로 바꾸는 것에 관심이 있다.

ex) this small bird has a short, pointy orange beak and white belly -> image

natural language는 물체를 설명하는데 일반적이고 유연한 추론을 제공한다. 따라서 이상적으로 text desciption이 discriminative의 성능을 높힐 것이다.

최근에 text와 image 분야에서 다양한 연구(zero-shot)가 진행되고 있고, 이러한 연구를 바탕으로 char to pixel을 mapping 학습을 시도해본다.

이 문제를 해결하기 위해서는 두 가지 문제를 해결해야 한다.

  1. 시각적으로 중요한 것을 잡아내는 text feature 표현을 학습해야 한다.
  2. 이 feature를 사용해서 사람이 실제라고 착각할만한 이미지를 만들어내야 한다.

딥러닝은 이 두가지 subproblem을 각각을 잘 해내고 이를 한번에 푸는 것이 목표다.

하지만 딥러닝으로도 어려운 것이 있는데, text 설명을 조건으로 가지는 image의 분포가 매우 높은 multimodal이다

  • 텍스트 설명에 맞는 이미지는 무수히 많기 때문에 쉽지 않다.
  • image to text에서도 이러한 문제가 발생하지만 문장의 단어를 순차적으로 생성한다.
  • 주어진 이미지와 생성할 단어들을 조합하면 well-defined prediction problem이 된다.
  • image에서 text를 만드는 것은 한 단어를 기준으로 순차적으로 생성하면 되지만, text에서 image를 만드는 것은 한 번에 진행해야 할 일이기 때문에 어렵다.

새나 꽃 이미지를 text 설명으로 생성하는 것이 목표이며 다음과 같은 dataset을 사용할 것이다.

  • Caltech-UCSD (Birds)
  • Oxford-102 (Flowers)
  • MS COCO (general)

2. Related work

  1. Multimodal learning

    어떠한 modal을 사용할지?

  2. 여러 modal에서 공유되는 representation 연구

    이미지가 여러개 생성된다고 해도 공통되는 특징이 어떠한 것인가

  1. Deep Convolutional decoder network 관련 연구

    이미지를 만들어내는 과정이 decoder에 해당하는데 DCN을 기반으로 실제같은 이미지를 합성하는 연구

  2. image to text

    이 논문의 반대

3.Background

생략

4.Method

text feature를 조건으로 가지는 DC-GAN을 학습한다. text feature는 hybrid character-level convolutional recurrent neural network로 encoding 했다.

4.1 Network architecture

G : RZ x RT -> RD, D : RD x RT -> {0,1}

T는 text description embedding의 차원

D는 image의 차원

Z는 G의 noise input의 차원

G에서 noise는 정규분포에서, t는 text encoder를 통해 encoding한다. embedding은 fc를 사용해서 작은 차원으로 압축시킨다.(leaky ReLU 사용) 그리고 이를 noise vector z와 합친다. 이 과정을 거친 뒤에 normal deconvolutional network에 진행시켜서 합성된 이미지 x를 얻는다. 이미지 생성은 query text와 noise sample을 바탕으로 진행한다.

D에서, stride가 2인 spatial batch normalization를 수행하고, description embedding의 차원과 같아질때까지 반복한다. 4x4의 차원이 될 때 텍스트 벡터를 복사해서 concat을 다시 수행하고 final score를 구해 분류를 한다.

4.2 Matching-aware discriminator(GAN-CLS)

conditional GAN을 훈련하기 위해 대부분 text와 image 쌍을 joint obeservation 하고, D가 진짜인지 가짜인지 판별하는 방법이다. 하지만 이렇게 naive한 discriminator는 진짜 image가 text embedding context와 일치하는지 알 수 없다.

discriminator가 conditioning information을 무시하고, 쉽게 거절해버리는데 G가 이상하게 생성하기 때문이다. G가 괜찮게 이미지를 생성하기 시작하면 이것이 information을 담고 있는지 판별해야 한다.

일반 naive GAN은 D는 두 개의 input을 가진다. real image with matching text, synthetic image with arbitrary text 그러므로 당연히 두 가지 에러를 가지게 될 것이다. unrealistic image, realistic image but mismatch conditioning information.

따라서 앞서 말한 내용들을 반영하기 위해서 GAN 알고리즘을 수정한다. 세번째 input type을 넣는데, D가 fake라고 반별하는 reacl image with mismatched text이다.

4.3 Learning with manifold interpolation (GAN-INT)

딥러닝은 data manifold 근처에 있는 embedding pari 사이에서 interpolations을 수행해 표현을 학습한다고 밝혀졌다. 이를 이용해서 training set의 embedding으로 부터 interpolation을 수행해 추가적인 text embedding을 얻을 수 있다. 그리고 이 것은 사람이 작성한 text가 아니기 때문에 labeling cost가 발생하지 않는다고 한다. 비슷한 이미지에 대해서 많은 텍스트 임베딩을 만들고 그들이 공유하는 것을 찾아낼 수 있기 때문에 그럴듯한 이미지를 만들 수 있다. 이 것은 다음 목적함수를 보면 알 수 있다.

여기서 z는 noise 분포에서 온 것이고, B는 두 text embeddings를 interpolation한 값이며 보통 0.5로 고정한다.

interpolate 된 embedding은 합성이기 때문에 D는 이 와 연관된 image가 없기 때문에 real을 가지고 있지 않다.그러나 image와 text가 match하는지 예측해야 하기 때문에 fake라고 예측할 것이다. 그러므로 D가 이 것을 잘 수행하면 training points 사이의 data manifold 상에 있는 gap을 메꿀 수 있다.

  • training points는 유한개이기 때문에 빈 공간이 생길 수 밖에 없는데 무한히 생성한다면 이 공간들을 메꿀 수있을 것이다.

4.4 Inverting the generator for style transfer

text encoding은 image content를 잡아내고, real같은 이미지를 만들기 위해서 noise는 뒷 배경이나 pose같은 style factor를 포착한다. GAN을 훈련시킬 때, query image의 style을 특정한 text 설명의 내용으로 전환시키고 싶다. 이를 하기 위해서 G를 x^에서 z로 거꾸로 흐르게 훈련을 시킨다. 따라서 다음과 같은 squared loss를 가지는 style encode를 가진다.

5. Experiments

Dataset

  • CUB dataset : 11,788개의 새 이미지
  • Oxford -102 dataset - 8,189개의 꽃 이미지

Encoder

  • Text encoder - deep convolutional recurrent text encoder(1024 dimensional)
  • Image encoder - 1024 dimensional GoogLeNet

Hyper Parameter

  • Image size 64 x 64 x 3
  • learning rate 0.0002
  • momentum 0.5
  • Minibatch size : 64
  • 600 epochs

5.1 Qualitative results

GAN을 baseline으로 GAN-CLS, GAN-INT, GAN-INT-CLS를 비교했다.

CUB 데이터로 봤을 때, GAN과 GAN-CLS는 color information 정보는 맞지만 real 같아 보이지는 않다. 하지만 GAN-INT와 GAN-INT-CLS는 이미지가 text를 잘 반영하며 그럴듯한 이미지를 보여주고 있다.

Oxford-102 데이터로 봤을 때에는 4개의 방법 모두 설명을 잘 반영하며 그럴듯한 이미지를 생성하고 있다.

따라서 interpolation을 적용한 방법이 더 좋은 성능을 내는 것이라고 생각된다.

5.2 Disentangling style and content

style과 content를 구분한다. content는 새 자체의 시각적 특징을 의미하며 모양, 크기 각 몸의 색깔을 나타낸다. style은 image의 다른 요소들 뒷 배경이라 새 자체의 pose를 의미한다.

text embedding은 주로 content information을 담당하고, style에는 관여하지 않는다. 그러므로 실제같은 이미지를 생성하기 위해서 GAN은 noise sample z를 잘 학습해야 한다. style encoder에 미지를 줌으로써 style vector를 예측한다. GAN이 image content로 부터 z를 사용해 style을 풀어내고 싶다면 같은 style을 가지는 이미지들 사이의 유사성이 더 높을 것이다.

z를 위해서 이전에 4.4와 같이 구축하고, K-means를 이용해 100개의 cluster를 그룹지었다.

평가를 위해서 4가지 모델에 대해 style encoder를 적용해서 비교해 보았다. cosine 유사도를 사용해 점수를 매겼으며 AU-ROC로 기록했다.?

예상했던 것처럼 caption만을 사용하는 것은 style prediction에 도움을 주지 못했다. 게다가 interpolation을 적용한 것이 더 성능이 좋았다.

5.3 Pose and background style transfer

훈련된 style encoder를 가지고 있는 GAN-INT-CLS는 text 설명이 있는 보지 않은 query image로 부터 style transfer를 수행할 수 있다. style encoder를 이용해 분리해낸 스타일을 다른 이미지를 생성할 때 transfer 할 수 있다.

맨 위의 이미지에서 얻어낸 스타일을 통해서 새로운 이미지를 만들때 이를 사용해서 그럴듯한 이미지를 만드는 것이다. 텍스트만으로 새에 대한 정보를 알 수 없기 때문에 이러한 방법을 사용한다.

5.4 Sentence interpolation

intervening points를 위한 no ground-truth text가 없음에도 불구하고 그럴듯한 이미지를 만들어낼 수 있다.

noise 분포가 같다고 하면 우리가 사용하는 text embedding만 바뀌게 된다. interpolation이 새가 파란색에서 빨간색으로 변하는 것과 같은 color information을 반영할 수 있다. 즉 텍스트의 일부가 변경되어도 noise가 고정되기 때문에 새의 색만 바뀌게 되는 것이다.

반대로 text embedding 값을 interpolate하는 것처럼 두 noise 벡터를 interpolate한 결과로 text 부분이 고정되고 noise와 style이 smooth하게 연결되는 것을 확인할 수 있다.

5.5 Beyond birds and flowers

이제 일반성을 보기 위해서 bird, flower 말고 일반 데이터인 COCO 데이터를 통해서 진행한다. 나름 괜찮은 결과를 얻을 수 있었다. 하지만 중심이 되는 객체가 여러개일 경우에는 잘 반영을 하지 못하고 있으며 추후 연구가 필요하다고 합니다.

6. Conclusions

시각 설명에 기반한 이미지를 생성하는 효과적이고 간단한 모델을 개발했다.

manifold interpolation가 성능을 향상시켰으며, content와 style을 분해하여 복사해내는 모델임을 증명했다.

MS COCO 데이터에도 일반적으로 적용이 가능하다.

고해상도 이미지를 만들고, 많은 텍스트를 반영하기 위한 연구가 필요하다.

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

를 하지 못한 내용입니다.

 

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