BLEURT: Learning Robust Metrics for Text Generation
ACL 2020
분야 및 배경지식
자연어 생성(NLG; Natural Language Generation), 평가지표(metrics)
- surface similarity(표면유사성): BLUE, ROGUE. n-gram overlap 등으로 어휘의 변형(lexical) 평가는 가능하나 의미론적, 구문론적(syntactic, semantic) 변형에 대한 평가에는 취약
- injecting learned components: 평가지표에 학습된 요소를 포함
- fully learned metrics
- BEER, RUSE, ESIM
- 처음부터 끝까지 학습되며, 손으로 작성한 특성들과/혹은 학습된 임베딩 이용
- 훌륭한 표현성(expressivity): 사람의 평가를 학습데이터로 확보할 수 있다면 이를 잘 학습할 수 있음
- 태스크 특화 특성 측정 가능: 유창성,신뢰성, 문법, 스타일 등을 측정하도록 튜닝 가능
- hybrid metrics
- YiSi, BERTscore
- 학습된 요소들을 결합(예: 손으로 작성한 논리와 문맥적 임베딩을 결합하는 등)
- 강건성 제공(robustness): 학습 데이터가 적거나 학습/테스트 데이터의 분포가 동일하지 않더라도(IID가 아니더라도) 좋은 결과를 제공
문제점
- 자연어생성(NLG; natural language generation)은 놀랄만한 발전을 이루었으나 이를 측정하는 적절한 metric의 부재
- 사람의 평가는 품질을 제대로 판단할 수 있으나 시간이 오래 걸리고 비용이 비쌈
- BLEU, ROGUE와 같은 기존 평가지표는 n-gram overlap 기반, 주어진 참조문장의 의미론적, 구문론적(syntactic, semantic) 변형을 제대로 평가할 수 없음
- 자연어생성 평가는 domain drift(도메인 변화), quality drift(품질 변화)에도 강건해야 하며, 주어진 학습 데이터를 충분히 활용해 좋은 성능을 낼 수 있어야 함(fully learned metrics + hybrid metrics 결합 필요성)
해결책
BLEURT
- 새로운 사전학습 기법: 어휘, 구문 수준의 지도학습 시그널을 이용해 증가시킨 위키피디아 문장의 무작위 변형을 사용
- random pertrubations of Wikipedia sentences augmented with a diverse set of lexical and semantic-level supervision signals
- 문장 단위, 참조(reference)기반 평가지표 (후보 문장이 참조할 문장과 얼마나 유사한가)
- 학습목표: 참조문장(reference)과 예측문장(input)이 주어졌을 때 사람이 판단한 유사성 평가(output)를 얼마나 잘 예측하는가
- 사전학습 (pretraining on synthetic data)
- BERT를 평가 데이터에 맞게 파인튜닝하기 전에 warm up 하기 위한 목적
- 필요조건
- reference 문장들이 크고 다양해야 함
- 어휘, 구문, 의미에 있어서 다양성을 가져야 함 (유사 X)
- 사전학습 objective(목적함수)가 NLG 시스템이 야기할 수 있는 다양성(예: 구문대체, paraphrase, 생략 등)을 효과적으로 표현해야 함
- 1) 가상의 문장쌍(reference-candidate) 생성: 위키피디아에서 약 180만개 segment를 무작위로 변형(perturb)
- BERT의 mask filling(빈칸 채우기), back translation(번역한 문장을 다시 번역), 랜덤하게 단어 없애기 활용
- 2) 사전학습 시그널: 각 문장쌍을 사전학습 시그널을 활용해 증가 (사전학습 시그널 타우: 사전학습 태스크의 타겟 벡터)
- BLEU, ROUGE, BERTscore 등 자동평가지표(automatic metrics)를 활용한 시그널 활용 (precision, recall, F-score)
- Backtranslation Likelihood: 문장쌍에서 한 문장이 다른 문장의 backtranslation일 확률 (semantic equivalence 측정)
- Textual Entailment: reference 문장이 candidate 문장을 포함하는지(entail) 혹은 모순관계인지(contradict) 분류
- Backtranslation flag: boolean, perturbation이 backtranslation 혹은 mask-filling으로 생성된 것인지
=> 가상의 reference-candidate 쌍들을 만들고, multi-task loss를 활용해 몇 개의 어휘, 문맥 수준의 지도학습 시그널에 대해 BERT를 학습 (regression 혹은 classification loss 활용, task-level loss의 가중합을 합침)
- 파인튜닝 (fine-tuning on task-specific ratings)
- 몇 천개의 데이터를 활용하여 사람의 점수를 예측할 수 있도록 BERT의 [CLS] 학습, regression loss 사용
- 파인튜닝만 하는 것으로는 다양한 태스크와 모델의 변화(drfit)에 일반화하기 어려움
평가
- Task: translation, data-to-text
- WMT Metrics Shared task (2017-2019, to-English)에서 SOTA 성능
- 평가 기준: 자동평가지표와 사람의 평가가 얼마나 일치하는지
- metrics: Kendall's Tau, official WMT metric (Pearson's correlation, DARR)
- WMT 2017을 기반으로 한 가상의 데이터의 품질 변화(quality drift)에도 강건
- low-rated translation을 학습 데이터로, high-rated translation을 테스트 데이터로 유지, skew factor 활용
- WebNLG 2017의 데이터-텍스트(data-to-text) 데이터셋의 3개 태스크(다른 도메인)에도 쉽게 적응(domain drift)
- semantics, grammar, fluency에 대해 평가
- ablation: BERTscore, entailment, backtranslation에 대한 사전학습은 성능을 높이나, BLEU, ROUGE에 대한 사전학습은 부정적인 영향 (사람의 판단과 큰 연관관계가 없는 경우 모델의 성능 저하)
한계
- ablation study에서 BLEU, ROUGE 등을 사전학습에 포함했을 시 성능이 떨어진다고 했는데, 왜 사전학습에 이를 포함했는지 충분히 설명이 되지 않음
의의
- 모델이 일반화할 수 있도록 만든(synthetic) 예시들을 활용한 새로운 사전학습 기법을 제시
- 사전학습이 일관된 성능 향상을 야기함을 밝힘 (특히 BLEURT-base 모델과 학습데이터 양이 적을 때 더욱 유리)
- 사전학습이 또한 강건성 향상에도 도움이 됨을 밝힘
- 사전학습이 더 많이 진행될수록 다른 태스크(도메인)에 빠르게 적응함을 밝힘
- expressivity, robustness를 동시에 달성