NLP

SpanBERT[Improving Pre-training by Representing and Predicting Spans] - 논문리뷰

김다응 2022. 8. 1. 16:45
728x90

Abstract

  • random token 이 아닌 contiguous 한 random span 을 마스킹함
  • 개별 token representation 에 의존하지 않고 mask 범위의 전체 내용을 예측하도록 span boundary representation 을 학습
  • Q/A 와 conference resolution 과 같은 span 선택 task 에서 가장 큰 이득을 보임

 

1. Introduction

BERT 는 individual word, subword 를 마스킹하여 self-supervised training 을 통해 성능을 크게 향상 시킴
NLP task 의 text span 간의 relationship 추론에 대해 고민한 논문
eg. extractive Q/A 에서 "Denver Broncos" 가 "NFL 팀"인지 결정하는 것은 어떤 NFL 팀이 Super Bowl 50 에서 우승했습니까? 라는 질문에 대답하는데 중요한 역할을 함
난이도로 봤을 때 "Denver Broncos" 예측은 다음 단어가 "Broncos" 라는 것을 알 때에 "Denver" 만 예측하는 것 보다 훨신 어려운 self supervised learning target 임 (span boundary representation 을 사용하면 난이도가 쉬워짐)

BERT 와 masking scheme training objective 에서 차이가 있음

 

  1. random individual token 이 아닌 random contiguous span 을 마스킹
  2. boundary 에서 관찰된 token 으로 부터 전체 마스크된 span 을 예측하도록 모델을 학습시키는 span-boundary objective 를 제안
  3. objective 는 모델이 span-level information 을 boundary token 에 저장하도록 함 (fine tuning 중 쉽게 접근 가능)

 

 

BERT 와 다른 점

 

1. Span Masking

1) seq of tokens X = (x1, x2, ..., xn) 이 주어졌을 때 text span 을 반복적으로 sampling 하여 X 의 subset Y 를 select

2) 각 iteration 에서 geometric distribution 으로 부터 span length 를 sampling 함

-> geometric distribution

BERT에서 각 토큰에 대해서 개별적으로 [MASK] 토큰을 변환한 것과 다르게

연속된 span 단위로 각 토큰에 대해서 [MASK] 토큰을 변환하였음

연속된 span은 각 토큰에 대해 베르누이 트라이얼(Bernoulli trials)을 연속적으로 수행하였을 경우에

geometric distribution(p=0.2)을 사용하여 마스킹을 수행하였음

총 마스킹 토큰은 전체 토큰 수의 15%를 동일하게 사용하였음

실험에서는 p = 0.2 로 정하고 lmax - 10 에서 l = 3.8 의 평균 span 길이를 반환하였다고 한다. (?) 3.8 일때를 sampling 하여 사용했다는 뜻인지?...

 

베르누이 시행이란 (실패 / 성공 두가지 중 하나인 실험을 의미, 각 시행은 독립적)

각 x 값에 대해 y 값은 n 번째에 첫 성공이 일어날 상황에 대한 확률

 

그 후 masking 처리 될 span 의 starting point 를 random 하게 선택

 

(짧은 토큰일 수록 선택될 수 있는 확률이 높아지는 것)

 

3) 언제나 complete word 의 seq 만 선택하고 starting point 는 한 단어의 시작점이 되어야함

4) BERT 에서 전체 단어의 15% 비율로 masking 처리하듯 span BERT 는 각 단어 대신에 span 내의 모든 단어를 token 으로 대체함

 

 

2. Span Boundary Objective

span selection model 은 전형적으로 span 의 boundary token 을 이용하여 해당 span 의 fixed-length representation 을 만듬

span 의 경계의 representation 이 가능한 span 내부의 content 를 많이 summarize 하기를 바라고 있음

xi 는 transformer encoder 의 output

s, e 는 start 와 end position

pi-s+q 은 target token 의 position embedding

representation function 은 다음과 같은 2 - layer feed-forwrad net work 로 구성

GeLU activations 를 거치고 layer norm 으로 결정됨

 

최종적인 loss 는

다음과 같이 정이됨

MLM objectives 를 계산하기 위해 cross entropy 를 사용하였으며 xi 를 예측하기 위해  

Y(vector) = (xs, ..., xe) 로 구성 masked 된 부분이 y (s,e 는 start end position) 값이 됨 여기서 (pi-s+1 은 masked token 의 상대적 위치)

SpanBERT 는 MLM objectives 와 SBO objectives 를 더하였음

전체 sentence xi 에 대해 target xi, span 단위의 masking yi 에 대해 xi 를 구하여 둘을 더함

 

 

 

3. Single-Sequence Training

해당 논문에서는 NSP 를 사용하는 것이 single seq 를 사용하는 것 보다 성능을 떨어뜨린다고 주장

1) model 은 longer full context 로 부터 이점을 얻을 수 있음

2) 다른 document 에서 온 context 를 사용하는 것이 masked language 모델에 noise 를 줄 수 있음

spanBERT 에서는 NSP objective 와 two-segment sampling procedure 을 없어고 단순히 하나의 contiguous segment 를 사용함 (512 tokens)

 

 

4. Architecture

랜덤하게 select 된 span 내의 모든 token 을 masking 하였고

p4, p9 을 통해 SBO objective 를 계산함 (마스킹 된 부분을 입력으로 하여 마스킹 된 각각을 예측하는 부분은 transformer encoder 에서 이루어지고 이후에 SBO objectives 는 x4 x9 과 target 의 postion 을 통해 계산할 수 있음 이러한 이유로 x4 x9 이 해당 span 의 맥락을 잘 요약하는 token 이길 바람)

 

Coreference Resolution

text 에서 metion(명사들, entity) 들을 얻어내는 task

...