Neural Text Generation with Unlikelihood Training

jihyelee·2023년 1월 16일
0
post-thumbnail

Neural Text Generation with Unlikelihood Training
ICLR 2020

분야 및 배경지식

Neural Text Generation

  • 생성모델은 사람에 비해 빈도수가 높은 단어를 많이 생성하고, 드문 단어는 거의 생성하지 않는다는 한계를 보임 (mismatch between model and human word distribution)
  • 이러한 현상은 단순히 학습 데이터를 늘린다고 해서 해결되지는 않음

Decoding Algorithms

  • Deterministic decoding

    • greedy search: 각각의 타임스텝에 가장 높은 확률을 가진 토큰을 선택
    • beam search: 부분적으로 디코딩된 시퀀스들의 집합(크기는 고정, hypothese라고도 부름)을 유지하고 그 중 선택
    • 기저하는 모델의 확률에 크게 의존하는 경향을 보임
  • Stochastic decoding

    • top-k sampling: k개의 가장 확률이 높은 토큰들을 샘플링
    • nucleus smapling: 전체 크기(누적분포)가 일정 threshold를 넘는 가장 작은 집합을 샘플링

문제점

  • 일반적으로 사용되고 있는 maximize log-likelihood training (likelihood objective)은 여러 문제를 가짐

    • repetition: 토큰, 구절, 문장을 반복하는 문제
    • frequency: 빈도가 잦은 토큰은 너무나 자주 등장하고 드문 단어들은 너무 적게 등장 (실제 사람의 언어 사용 양상과 다름, different token distributions from human text)
  • 이러한 문제를 수정하기 위해 다양한 decoding strategies가 등장했으나 이 또한 한계를 가짐

    • 모델에 내재하고 있는 시퀀스 확률 자체가 잘못되었다는 핵심 사안을 해결하지 못함

해결책

Unlikelihood training

위에서 언급한 decoding strategies와 함께 사용가능한 새로운 objective 제안

token-level unlikelihood objective (pretrain)

  • unlikelihood loss: negative candidate라고 불리는 특정 토큰들의 확률을 감소시키는 방식
  • negative candidates: 여기에선 이전의 context tokens를 의미하는데, 이유는 이 토큰들의 생성 확률을 감소시킴으로써 1) 반복되는 틀린 토큰들의 생성을 제한할 수 있고, 2) 빈도수가 높은 토큰의 생성을 제한할 수 있기 때문임
  • token-level unlikelihood objective의 경우 일반적으로 사용되는 maximum log-likelihood objective를 대체하여 사전학습 시 사용될 수 있음

sequence-level unlikelihood objective (finetune)

  • token-level unlikelihood objective로 토큰 단위의 페널티를 줄 수 있지만, 학습 시퀀스와 생성 시퀀스 사이의 distribution mismatch는 완전히 해결할 수 없음
  • negative candidates: continuation에서 반복되는 n-gram에 속한 토큰들
  • sequence-level unlikelihood objective의 경우 사전학습 모델에 fine-tuning objective로 적용될 수 있음

평가

  • 모델: Transformer
  • 데이터셋: Wikitext-103
  • Metrics
    • Repetition
      • rep/l: 이전에 생성된 일정 길이(l) 내의 토큰들 중 다음에 예측된 토큰이 존재하는 경우를 측정 (token-level)
      • wrep/l: rep/l 중에서도 ground-truth next-token과 같지 않을 경우 별도로 측정 (token-level)
      • seq-rep-n: 생성된 시퀀스에서 반복된 n-gram의 경우를 측정 (1.0 - |unique n-grams|/|n-grams|) 모델의 반복이 많을수록 1.0과 가까워짐 (sequence-level)
    • Token Distribution (related to frequency)
      • uniq: 사용된 유일한 토큰의 수를 활용해 모델이 예측한 토큰의 분포 측정 (token-level)
    • Quality
      • perplexity (ppl)
      • acc: 다음 토큰의 예측 정확성

의의

  • 기존의 모델과 유사한 perplexity, accuracy를 보임과 동시에 token distribution, repetition 분야에서 성능 향상을 보임
  • 제시된 Sequence-level unlikelihood objective의 경우 사전학습된 모델에 사용되어 성능향상을 기대할 수 있음
  • Human evaluation의 경우 baseline보다 더 좋은 평가를 받음

한계

  • 별도의 downstream task 성능에 대한 평가가 없어 아쉬움
  • 과연 repetition, mismatch between human and model distribution이 생성 태스크에 얼마나 큰 영향을 미치는가
  • human evaluation에서 baseline에 비해 더 좋은 평가를 받았다고 하였으나, 그것 이외에 ppl, acc 등 모델의 성능을 나타내는 지표에는 약점을 보임
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher and Engineer at LG CNS AI Lab

0개의 댓글

Powered by GraphCDN, the GraphQL CDN