자연어처리(NLP)/IR(Information Retrieval)

[논문리뷰] Fine-grained Post-training for Improving Retrieval-based Dialogue Systems. NAACL 2021

Hyen4110 2023. 1. 18. 11:24

Fine-grained Post-training for Improving Retrieval-based Dialogue Systems

[저자] Janghoon Han(Department of Computer Science and Engineering- Sogang University, LG AI Research), Taesuk Hong, Byoungjae Kim, Youngjoong Ko, and Jungyun Seo
[게재] NAACL, 2021 June [pdf]
[인용수] 26회인용
[요약] 대화 응답 선택 (Conversational Response Selection) 태스크의 대표 3가지 데이터셋(Ubuntu, Duoban, E-commerce)에서 아래 2가지를 적용한 'fine-grained post-training' 방법론으로 SOTA 기록 달성 (아래 리더더보드 참고 - 2023.01.21 기준)

✔️ 전체가 아닌 일부(short) context-response 쌍으로 된 데이터로 post-training
✔️ URC(Utterance Relevance classification)라는 새로운 pre-training objective function으로 post-training


- Leaderboard (Ubuntu_v1, Duoban, Ecommerce)
https://github.com/JasonForJoy/Leaderboards-for-Multi-Turn-Response-Selection

https://paperswithcode.com/sota/conversational-response-selection-on-ubuntu-1


📕 Introduction

'Multi-turn Response Selection'이란?

Response-Selection이 단순히 한 발화(utterance)에 대한 응답(response)을 후보들 중에서 선택하는 것이었다면,

[논문] Training Neural Response Selection for Task-Oriented Dialogue Systems

Multi-turn Response Selection 이란,
다자간의 대화에서 한 발화(utterance) 이후 다음 응답을 선택하는 것입니다.
즉, 바로 앞의 발화 뿐만 아니라 누적된 대화의 문맥(context)를 이해한 후에 응답을 선택해야 하는 것이죠.

https://taesunwhang.github.io/assets/pdf/aaai2021_slides.pdf

✔ 'Context-Response Pair Training'이란?

multi-turn response selection 태스크에서는 BERT 모델 등장 이후로 아래와 같이
이전 발화들(context)와 응답 정답(response)를 하나의 쌍(pair)으로 BERT에 입력해서
나오는 CLS토큰으로 정답인지 아닌지 (1,0) 학습하는것이 일반적입니다.

이것을 이 논문에서는 context-response pair training이라고 부르고 있습니다.

[Paper] An Effective Domain Adaptive Post-Training Method for BERT in Response Selection

💁 하지만, 이 dialogue context-response 데이터셋을,
모델이 더 의미를 잘 학습할 수 있도록 할수 없을까? 하는 질문에서 시작해서
논문은 전체 pair를 여러개로 쪼개는 'multiple short context-response' 방법을 제안하고있습니다.

기존에는 dialogue context내 발화들 (u1, u2...)을 모두 사용해서
reponse와 하나의 pair set 을 구성하여 학습하는,
'entire context-response pair' 방법을 사용하고 있는데요,

이 논문에서는 dialogue context를 더 잘게 쪼개는
'multiple short context-response ' 방법을 제안합니다.

그 장점은 아래와 같습니다.

✅ utterance들 간의 상호작용도 학습가능
기존 모델에서는, utterance와 response의 상호작용은 self-attention을 통해 학습할 수있지만,
utterance들 간의 상호작용은 학습할 길이 없었습니다.

✅ response와 가까운 utterance에 더 집중하여 좋은 학습을 할 수 있음
일반적으로 response와 관련된 utterance는 가까운 곳에 위치하는데,
짧은 context-response pair를 사용하면, 더 fine-grained 학습을 할 수있다는 장점을 이야기합니다.

✔ 'Post-Training'이란?

- BERT와 같은 사전훈련 언어모델을 사용할때, 일반적으로 대용량의 일반적인 코퍼스에서 사전 훈련된 BERT 계열 모델을 가져와서 특정 태스크에 적합하도록 파인튜닝을 하는 방법을 사용합니다.

- 이때, BERT는 일반적인 데이터로만 학습되었기 때문에, 파인튜닝 이전에 post-training이라는 단계를 통해 특정 도메인의 데이터에 먼저 적응할 수 있도록 하자는 방법이 제안되어왔습니다. 선행 연구들에서는 post-training 단계에서 BERT의 pre-training object와 동일한 MLM(masked language model), NSP(next sentence prediction)을 사용하여 학습하고 있습니다.

  • BERT post-training for review reading comprehension and aspect-based sentiment analysis, NAACL 2019. [link]
  • An effective domain adaptive post-raining method for BERT in response selection , 2020 [link]

💁 하지만, 이 대표적인 두 pre-training object(MLM, NSP)가 과연 multi-turn response selection 태스크에 적합한가?
"더 multi-turn response selection 태스크에 적합한 object를 설계할수 없을까?"
하는 질문에서 출발해서 이 논문에서는 URC라는 새로운 object를 제안했습니다.

✅ NSP의 한계 : coherence prediction을 학습할 수없음

NSP(next-sentence prediction)로 학습하게되면,
모델은 target utterance 가 무작위 문장인지, 아니면 다음 문장인지를 구분할 수 있게 됩니다.

[출처] https://amitness.com/2020/02/albert-visual-summary/

하지만 Lan et al.(2020),이 언급한 것과 같이, NSP는
- 발화들의 내용의 유사성(semantic meaning)을 구분하는 topic prediction 능력은 학습할지 몰라도,
- 두 발화가 연속적인가(consecutive)?는 coherence prediction 능력은 학습할 수없다는 한계를 지닙니다.

쉽게 말해서 덧붙이자면, NSP에서는 어떤 문장이 앞에 오는 것인지 순서를 학습하지는 않기 때문에,
'이 문장 다음에 이런 문장이 올 것이다' 라는 의미적인 연속성은 학습할 수 없고,
다만 같은 주제를 다루는 문장이라는 것만 학습할 수있다는 것이죠.

✅ SOP의 한계 : coherence prediction을 학습할 수없음

NSP의 이러한 한계점에 대한 대안으로, Lan et al.(2020) 은 순서를 예측하는 SOP(sentence-order prediction)를 제안하였습니다.

https://amitness.com/2020/02/albert-visual-summary/

그러나 SOP는 문장의 연속성, 즉 coherence prediction은 잘 학습할지 몰라도,
반대로 기존 NSP가 가지고 있던 topic prediction 능력은 충분히 학습되기 어렵습니다.
왜냐하면 대부분의 데이터셋의 문장들은 비교적 유사한 문장으로 구성되어있기 때문이죠.

하지만, multi-turn response selection 에서는
유사한 주제를 다루는 발화를 선택하는 topic prediction 능력도,
그 중에서 다음 문장으로 나올 연속성이 높은 발화를 선택하는 coherence prediction도 모두 중요합니다.
따라서 논문에서는 새로운 URC(Utterance Relevance Classification) 라는 object를 제안합니다.

URC 제안 : topic prediction & cohorence prediction 둘다 가능!

[요약] target utterance를 3가지 class(random, semantically similar, next)로 분류

 

 

📕 Model 설명

모델의 메인 구조도는 아래와 같습니다.
한 스텝 한 스텝 그림과 수식으로 설명하겠습니다.

 

[Post-Training] STEP1. dataset 구성

1. short context & response
전체 dialogue context에서 어떤 utterance든 response로 선택할 수있으며,
response로 선택한 토큰 앞의 k 개의 utterance가 short context(sc)가 됩니다.

즉, 하나의 context dialogue는 여러 개의 shor context response set으로 샘플링 되며
사용되지 않는 utterance가 없도록 구성합니다.

2. Lable
: 논문에서 제안하는 방법론에서는 정답은 클래스는 3가지로 구성되어있습니다.
next : 정답(correct response)으로 context 발화 다음에 나오는 발화
random : dialogue context 내에 있지 않은 엉뚱한 발화
semantically similary : dialogue context 내에 있는 발화로 같은 문맥 내에 존재하는 발화

 

[Post-Training] STEP2. context-reponse의 score 구하기

전체 dialogue context 중에서 일부만 추출된 short context-response에서
- utterance 토큰들 사이에는 [EOU], 그리고 response 토큰 앞에는 [SEP] 토큰을 사용하여 utterance들과 response들을 구분하 input response vector를 구성합니다.
- 이후 BERT 를 통과하여 나온 output layer의 첫번째 토큰인 CLS 토큰만을 단일 신경망(MLP)의 입력값으로 사용하여 최종 score를 계산합니다.

 

[Post-Training] STEP3. training loss 구하기

위에서 구한 score g(c,r)로 cross entropy loss (L(URC))와,
기존의 BERT 에서 사용하는 MLM loss를 더하여 최종 loss(L(FP))를 계산합니다.

📕 실험 결과

이전 SOTA 모델인 UMS (BERT+)와 BERT-SL 모델보다 더 우수한 성능을 기록하여, 새로운 SOTA 달성함

<추가실험>

 1. Performance across Different Lengths of Short Context

실험 결과 context의 길이에 따라 성능의 차이가 있음을 발견

 

✅  2. Performance according to Training Objective

논문에서 제안한 URC가 기존의 NSP, SOP보다 더 좋은 성능을 기록함 확인

 

✅  3. The effective ness of SCR, URC

기본 BERT에 점진적으로 방법론들을 적용하여 어느 단계에서 성능향상을 보이는지 보여주는 표.

- 기본 BERT에서 MLM으로 Post-trining 했을때 4.3%의 성능향상
- 이후 NSP 방법으로 post-training 하면 1.3%가 더 향상됨
- 그러나, 단순한 NSP가 아니라 논문에서 제안하는 SCR (short context-response pair training)을 사용하면 4.0%나 더 상승함
- 하지만, NSP 대신에 URC로 SCR을 더한다면 0.7% 상승함

-> 결론은 "SCR, URC가 모두 효과적이었다."

✅  4. The effectiveness of data augmentation

본 논문에서는 일종의 data augmentation을 사용했지만, 이는 일반적으로 fine-tuning 단계의 data augment와는 다르다.
따라서 기존에 일반적으로 사용하는 data augmentation 방법과 비교하여 효과가 있는지 테스트하였다.
기존 방법(BERT-DA) 모델은 Chen and Wang (2019)의 방법을 사용함.
비교결과, 성능도 더 뛰어나고 BERT-DA보다 2.5배 더 빠르다는것 확인함

 

5. The effectiveness of fine-grained post-training

post-training의 효과에 대해서 강조하는 테스트 결과이다.
결론부터 이야기하자면, post-training만 하면 fine-tuning을 하지 않더라도 어느정도 성능을 향상 시킬 수있다는 것.
BERT-FP-NF는 fine-tuning 없이 post-training만 한 모델이다.