본 포스팅은 BERT 이후에 출현한 SpanBERT 모델의 구조와 기존 BERT와 비교했을 때 차이점 및 개선된 점을 알아보도록 하겠습니다.
SpanBERT (Improving Pre-training by Representing and Predicting Spans)
SpanBERT에서는 Span masking 방식을 통해 개별 token을 마스킹하지 않고, 연속적인 span을 마스킹하였다. 또한 RoBERTa와 마찬가지로 NSP(Next Sentence Prediction) task를 사용하지 않고 단일 시퀀스를 입력으로 한 사전 학습을 진행하여 성능을 향상시켰다. 이를 통해 텍스트 범위를 예측하는 질문-응답(Question Answering)과 같은 task에서 성능 향상을 확인하였다. Span masking의 예시는 다음과 같다.
-> [Super, Bowl, 50, was an, American, football, game, to, determine, the, champion]
-> [Super, Bowl, 50, was, [mask], [mask], [mask], [mask], to, determine, the, champion]
1. Span Masking
span masking은 여러 단어에 걸쳐있는 연속적인 span에 무작위로 마스킹 처리하는 방식이다. 연속적인 [MASK] 토큰의 예측을 위해 일련의 [MASK] 토큰 양쪽 경계에 있는 문자 토큰의 임베딩 값을 예측에 활용하였다. 추가적으로 span 내부의 토큰들을 구분하기 위해 [MASK] 토큰의 위치 임베딩 값을 부여하였다. 아래 그림[1]을 보면 이해가 쉬울 것이다.
기존 BERT의 MLM loss와 더불어 SpanBERT에서는 SBO(Span Boundary Objective) loss를 합하여 학습에 사용하였다. Span boundary token(x4, x9)의 임베딩 값을 사용하여 전체 masked span을 예측하기 때문에 학습 시 span 전체의 정보가 많이 포함되도록 학습된다.
2. Single Sequence Training
SpanBERT에서는 RoBERTa에서와 마찬가지로 NSP를 제거하고, 단일 시퀀스를 입력으로 사용한 학습 방식이 성능을 향상시키는 것을 확인하였다. 길이가 긴 하나의 시퀀스를 입력으로 사용하는 것은 다른 document에서 추출한 두 시퀀스를 같이 사용하는 것보다 모델에 더 긍정적인 효과를 주는 것을 확인하였다.
마지막으로 BERT와 SpanBERT를 비교해보면 다음과 같다.
BERT | SpanBERT | |
마스킹 방식 | Token Masking | Span Masking |
사전학습 목적 | MLM + NSP | MLM + SBO |
입력 시퀀스 | 이중 시퀀스 | 단일 시퀀스 |
'Deep Learning > NLP' 카테고리의 다른 글
BERT와 ALBERT 비교 (0) | 2024.03.12 |
---|---|
BERT와 ELECTRA 비교 (0) | 2024.03.12 |
BERT와 RoBERTa 비교 (1) | 2024.03.11 |
Transformer 등장 이전의 자연어처리 Backbone 모델 (0) | 2024.03.03 |
텍스트 전처리 (0) | 2024.02.29 |