Abstract
- 기존 대화 context를 토큰의 선형 시퀀스로 보고 토큰의 self-attention을 통해 다음 단어를 생성하는 토큰 수준의 인코딩은 발언간
담화수준
의 일관성 탐색을 방해한다.
- 이에 이전 PLM 기반 대화 모델을 향상시키는 새로운 대화 응답생성 모델인 DialogBERT를 제시한다.
Introduction
- 본 논문에서는 계층적인 트랜스포머 구조를 도입하고, 담화수준의 일관성을 모델링하기 위한 목적함수를 제안한다.
![](https://velog.velcdn.com/images/lejss1012/post/2e954d8f-c639-417d-b322-e419f69de374/image.png)
- transformer 인코더를 통해 대화 발화를 인코딩 한 후, 담화수준(discourse-level)의 transformer를 사용하여 앞선 결과 벡터를 인코딩하여 전체 대화 context의 표현을 얻는다.
- BERT와 유사하게 두가지의 훈련 목표를 제안한다.
- masked context regression : 무작위로 선택된 발화를 마스킹한 후 마스킹된 발화에 대한 인코딩 벡터를 직접 예측
- distributed utterance order ranking : 무작위로 셔플된 대화의 일관된 대화 맥락으로 구성
Method
Approach
![](https://velog.velcdn.com/images/lejss1012/post/50a60491-f8f2-4e93-93c5-141a74d6f98f/image.png)
- 대화 : D
- 대화 맥락(history) : C (uT는 답변)
- ui :발화
- wji : i번째 발화의 j번째 토큰
- 목표 1 : 대화 맥락 C를 represent하는 방법을 학습
- 목표 2 : 대화 맥락 C가 주어질 때, 답변 uT를 생성하는 조건부 확률 학습
![](https://velog.velcdn.com/images/lejss1012/post/2e954d8f-c639-417d-b322-e419f69de374/image.png)
- 1) Utterance Encoder f : 발화 인코더, C에 있는 각각의 발화를 벡터로 인코딩
- 2) Context Encoder g : 문맥 인코더, 문맥 속 주변 발화들에 대해 발화 representation을 학습
1) BERT에서와 같이 발화의 앞뒤에는 [cls]와 [sep] 토큰을 추가한다.
2) 임베딩 레이어가 각 발화에 있는 토큰을 연속적인 공간으로 매핑한다.(word embedding + positional embedding)![](https://velog.velcdn.com/images/lejss1012/post/2e4ee5a0-de4c-4b5d-b054-8acf42fa879d/image.png)
3) 발화 인코더는 임베딩을 input으로 받아 self-attention을 수행하고, 각 발화에 대한 첫번째 토큰([CLS])에 대한 벡터를 발화에 대한 representation으로 사용한다.
![](https://velog.velcdn.com/images/lejss1012/post/7b52ad33-cb4f-4d10-a80f-12e95b671342/image.png)
- 순서를 고려하기 위해 output representation에 positional embedding을 더한 final representation ui를 구하게 된다.
![](https://velog.velcdn.com/images/lejss1012/post/a52116d8-7fc1-4c77-9ca5-2e8b7e822e50/image.png)
4) 문맥 인코더는 발화에 대한 representation을 input으로 받아 문맥을 고려한 hidden state를 반환한다.
![](https://velog.velcdn.com/images/lejss1012/post/2d652a40-945d-422e-b34a-2a8baed48377/image.png)
- 본 과정에서 나온 벡터는 계층적 transformer가 생성한 최종 대화 맥락 encoding 결과이다.
Training Objectives
담화 레벨에서의 일관성을 위해서 논문에서는 생성 loss에 더하여 두가지의 새로운 목적함수를 제안한다.
Next Utterance Generation (NUG)
- 응답 생성의 주요 목표이자 본 논문의 첫번째 훈련 목표는 대화 맥락이 주어진 후 다음 응답을 생성하는 것
- 계층적 transformer를 통해 맥락의 의미를 담은 발화인 H를 얻을 수 있다.
- NUG task에서는 디코더의 cross-entropy loss를 최소화 하는 것을 목적함수로 한다.
![](https://velog.velcdn.com/images/lejss1012/post/99411bd5-955e-4d13-8e12-3e961e32e045/image.png)
![](https://velog.velcdn.com/images/lejss1012/post/fdd1f42d-b75d-4ca8-bc80-de53638fe120/image.png)
Masked Utterance Regression(MUR)
- BERT에서의 MLM 태스크와 유사하게 DialogBERT에서는 문맥 표현 학습을 향상하기 위한 보조 작업으로
MUR
를 설계한다.
대화맥락 C 중에서 랜덤하게 하나의 발화를 선택한 후,
1) 80%의 확률 : Mask utterance로 대체
2) 10%의 확률 : 변화 x
3) 10%의 확률 : 학습 데이터 내의 랜덤한 발화로 대체
-
앞서 마스킹된 발화에 대한 벡터를 reconstruct하고, 마스킹된 문맥(Ctilde)이 주어질 때, 모델은 원래의 발화 벡터를 예측하게 된다.
-> 계층 encoder를 마스킹된 문맥에 적용하여 문맥의 의미를 담은 representation을 얻은 후, 원래 utterance vector에 매핑하는 FC layer를 연결한다.
![](https://velog.velcdn.com/images/lejss1012/post/c34b0993-5b9b-4b8d-9160-bde0e1e03952/image.png)
-> 예측한 hidden vector와 원래 C에서 얻어진 hidden layer의 MRS loss를 최소화하도록 학습한다.
![](https://velog.velcdn.com/images/lejss1012/post/91a52fba-0477-409f-838f-716bfeba6bda/image.png)
Distributed Utterance Order Ranking (DUOR)
- 일관성 있는 담화에서는 발화들이 관계성이나 logic에 따라 특정 순서를 갖기에, 문맥에서 발화의 순서는 대화의 의미를 결정한다.
- 본 논문은 무질서한 일련의 발화를
순서화
하는 것이 대화 맥락의 표현을 하습하는데 중요한 영향을 미칠 것이라고 가정한다.
- 대화문에 n개의 발화가 있을 경우 => n!가지의 발화문의 가지수이기에 그대로 사용하면 결과가 좋지 않을 수 있다.
[DORN]
![](https://velog.velcdn.com/images/lejss1012/post/9cb98705-16e5-41d6-a3c9-137e5ef372b9/image.png)
-
문맥 encoder위에 distributed order ranking network(DORN)
을 붙이는 방식을 설계
-
DORN은 순서가 섞인 발화문을 입력받아 각 발화문에 대한 점수를 예측하고, 이러한 점수를 정렬하면 re-ordering된다.
-
self-attention 메커니즘에서와 같이, order prediction network는 hidden state간의 pairwise inner product를 계산하고, 각 발화문에 대한 점수는 다른 발화문과의 내적에 대한 평균으로 계산한다.
![](https://velog.velcdn.com/images/lejss1012/post/a8352d8c-9212-4f55-9888-d4234a2e9fde/image.png)
-
학습 과정에서는 learning-to-rank framework를 도입하여 예측된 점수를 어떤 context가 첫번째에 와야하는지에 대한 지표로 사용하여 rank-1 확률을 추정한다.
![](https://velog.velcdn.com/images/lejss1012/post/6dd36589-8637-405e-9cac-87c16813b736/image.png)
-
Ground Truth Order는 원래의 순서를 고려하여 다음과 같이 계산된다.
![](https://velog.velcdn.com/images/lejss1012/post/7353e702-6f64-4489-83c7-acce89dc2e17/image.png)
본 문제에서는 위에서 계산한 ground truth 와 예측된 분포간의 KL divergence를 최소화하는 것을 목적함수로 한다.![](https://velog.velcdn.com/images/lejss1012/post/8e837aa6-fb91-4e25-9635-8b4e68b2ea92/image.png)
total loss
![](https://velog.velcdn.com/images/lejss1012/post/6b1d9928-0c65-4dc4-9924-e8d4a8afc5f3/image.png)
- 각 loss에 대한 가중합을 사용하여 전체 loss를 계산한다.
Experiments
![](https://velog.velcdn.com/images/lejss1012/post/c6f0544d-730c-4ea5-b091-1f669d1bcb9c/image.png)
![](https://velog.velcdn.com/images/lejss1012/post/0be4a078-7e2d-4452-8ce8-e748224a56ab/image.png)
- 사람의 대답과 좀 더 근접한 결과를 볼 수 있다.
Conclusions
- 본 논문은 대화 context를 token의 선형 시퀀스로 인코딩 하는 방법 대신 계층적 transformer encoder architecture를 제안한다.
- 기존 BERT 훈련의 자연스러운 확장으로
MUR
과 DUOR
의 훈련 목표를 통하여 기준모델보다 좋은 성능을 내는 것을 보여준다.
Reference
https://arxiv.org/pdf/2012.01775.pdf
https://littlefoxdiary.tistory.com/75
항상 좋은 글 감사합니다.