///
Search
Duplicate
💒

Madotto et al.[2020] Continual Learning in Task-Oriented Dialogue Systems

Created
7/4/2021, 6:45:00 AM
발표일자
2021/02/08
발표자
백병인
Tags
ContinualLearning
DialogueSystem
✅main
포스팅 종류
논문리뷰

들어가며

지난번 다루었던 Dialogue System에서의 Continual Learning 의 주제를 더욱 폭넓게 다룬 논문으로서 흥미롭게 볼 수 있었다. 지난번 다룬 논문은 NLG(Natural Language Generation)에만 국한되어 있었다. 그러나 본 논문에서는 Dialogue System을 위해서 필요한 모듈구성을 아래와 같이 정리하고 있다.
Natural Language Understanding (NLU)
Dialogue State Tracking (DST)
Natural Language Generation (NLG)
Dialogue Policy (DP)
본 논문의 1차적 의의는 Continual Learning 기반의 Dialogue System을 통합 구성하기 위한 문제정의, 데이터셋, Metric, SOTA approach를 체계적으로 정리했다는 데 있다. 이외에도 본 논문이 제시하는 AdapterCL이라는 Arhitectural approach가 있어서, 이것의 성능상 개선효과를 주의깊게 볼만하다.

본 논문의 문제구성

본 논문의 Continual Learning 기반 (Task-oriented) Dialogue System의 개념은 Lee(2017) Toward continual learning for conversational agents 에서 제시된 것과 대동소이하다.
단, Lee(2017)은 3개의 task에 대해 EWC 기반의 CL 을 제시한다. 본 논문은 4개의 데이터셋에서 추출한 37개 데이터셋에 대해 그동안 연구된 모든 CL 기법을 적용하여 성능향상 정도를 분석해 본다. *여기서 주의할 점은 Continual Learning이란 여러 가지 task를 순차적으로 배우는 것을 의미한다.
특정 task를 학습하는 것은 GPT-2 모델의 LM을 학습시키는 일반적인 loss 와 같다.
수식에 오류가 있다. n은 input길이, m은 output길이로 이해하자.

모듈의 역할 정의

1) INTENT : Dialogue history H를 입력으로 하여 Intent(I)를 추론하는 GPT-2 모델
2) DST(Dialogue State Tracking) : Dialogue history H를 입력으로 하여 intent를 포함한 DST(X)를 추론하는 GPT-2 모델
여기서 DST의 정의는 아래와 같다.
Intent 및 DST(아래에선 Dialogue Act)의 역할에 대한 이전 글의 설명부분(아래) 참조
3) NLG : DST를 입력으로 하여 System output(자연어 출력)을 추론하는 GPT-2 모델
4) E2E(end-to-end) : 1)~3)을 결합하면 H→S 로 end-to-end 형태의 모듈을 구성할수도 있다.
실제 구헌되는 원리는 아래와 같다. Sout이 없는(명확하지 않은) 경우 H→S로 direct E2E 응답을 제시할 수 있다.
Sapi와 Sout은 각각 유저의 intent와 시스템의 intent 및 DST를 의미한다.
논문에는 언급이 없지만 DP(dialogue policy) 는 Sapi→Sout 일 것으로 예상한다.

GPT-2 & Data Formatting (feat. special tokens)

다른 논문에서도 이런 예가 많지만 본 논문에서도 GPT-2를 베이스 모델로 사용한다. 이때 중요한 것은, 자연어 데이터 앞에 붙는 Special Token들이다. 아래 예시에서 보는 것처럼 USER: SYS: API: OUT: 의 4가지가 있다. 각각 H, S, Sapi, Sout 의 4종류 입출력 데이터를 의미한다. (학습데이터를 아래와 같이 가공하여 구성한다.)

Continual Learning을 위한 3가지 문제접근

Regularization

본 논문이 제시하는 loss regularization 방식은 L2와 EWC의 2가지이다.
두 방법의 차이는 Omega 텀을 상수로 놓느냐, Fisher Information Matrix 를 이용해 Gradient에 따라 가변적으로 대응하게 하느냐의 차이이다.
Mi et al.(2020)은 lambda 텀도 task에 따라 가변적으로 두는 adaptive EWC를 제안하기도 하였으나, 큰 범위에서는 같은 어프로치라 볼수 있다.

Rehearsal

방법 1) REPLAY Experience Replay, Exemplar Replay, Episodic Memory 등 다양한 용어로 불리우는 이 방법은 task별로 적절한 갯수의 메모리(M)를 저장해 두었다가 task별 데이터셋 Dt와 함께 재사용해 아래 loss를 최소화하는 방향으로 theta_t를 학습시킨다.
여기서 주의할 점은, 본 논문에서는 Mi et al. (2020) 처럼 task 증가에 무관하게 메모리 갯수를 일정하게 유지하는 정책을 펼치거나, 그를 위해 task별 유지할 memory를 선별하는 priority 관리를 엄격하게 하지는 않는다. 나중 실험결과 task당 500이 적절하다고 하는데, 이것은 Mi et al. 에서 250~500이 적절한 갯수라고 한 것과 일맥상통해 보인다.
방법 2) Gradient Episodic Memory(GEM) (Lopez-Paz and Ranzato, 2017)
compute the gradient constrain via a quadratic programming solver
→ parameter 수가 많은 GPT-2 기반 모델에는 부적당하다.
그래서 A-GEM (Averaged GEM, Chaudry et al. 2018) 을 대신 적용해 보았다.
방법 3) LAMOL (Sun et al. 2019) Lamol: Language modeling for lifelong language learning Replay memory(M)을 유지하는 대신 sample generator를 학습시키는 방식.
일종의 Teacher-student 모델로 CL을 구현하는 방식이다.

Architectural

CL을 위해 task별 별도의 레이어를 추가사용하는 구조. (Mi et al. 2020에서는 다루지 않았다.) ProgressiveNet, DEN(Dynamically Expandable Networks), Learning-to-grow 등 다양한 사례가 있으나 본 논문에서는 실험하지 않았고, 아래에서 설명할 AdapterCL 이라는 redisual adapter 기반의 모델만 테스트하였다.

AdapterCL

기존의 GPT-2 Transformer Decoder 구조에 task별 residual adapter 레이어를 끼워넣었다.
task t에 대해 mu_t를 학습시키는 것은 theta를 고정시켜 놓고 task별로 아래와 같이 학습을 시킨다.
Perplexity-based (task) classifier 이런 방법으로 task t에 대해서는 mu_t가 가장 PPL이 낮게 나오게 하여, task 정보가 없는 test 단계에서는 adapter의 PPL을 보고 어느 task인지 알아맞추게 하는 방법을 사용한다.

데이터셋 구성

Mi et al. 2020이 MWOZ 데이터셋만 사용하여 5개 task에 대해서만 실험한 것에 비해, 본 논문은 intent 기반으로 구성된 TM19, TM20, MWOZ, sgd 등 4가지 데이터셋을 모두 사용하여 37개 task로 구성하였다.

실험 결과

아래 방법들로 비교실험을 하였다. INTENT는 accuracy, DST는 JGA, NLG는 EER과 BLEU 기준으로 평가하였다.
JGA(joint goal accuracy) :
The joint goal accuracy compares the predicted dialogue states to the ground truth Bt at each dialogue turn t
MULTI는 CL이 아니라 모든 task 데이터를 동시에 학습한 best baseline이다.
REPLAY 모델이 NLG에서 유리하지만, AdaptCL 기반 Architecture를 추가하였을 때 Intent나 DST 판별 정확도가 올라간다. 하지만 NLG에서 slot error rate (EER)이 떨어지는 것은 유의할 점. GPT-2 파라미터를 고정시키고 중간에 adapter를 끼우는 방식이 NLG에 주는 악영향은 고려할 점이다.
아직까지 DST 정확도 JGA를 높게 유지하는 CL 솔루션은 없는듯. 연구대상이다.
INTENT 측면에서는 Adaptor나 Replay가 확실히 유리하다. 특히 adaptor 기반이 task 갯수 증가에 무관하게 안정적이나, LAMOL, AGEM 등은 task 증가에 취약하다.
EER 관점에서도 비슷한 패턴을 보인다.
memory 사이즈는 500이 적당하다.