.box_article .article_cont p code
3. BART: Denoising SequencetoSequence Pretraining for Natural Language Generation Translation and Comprehension 논문 리뷰
BART
본 논문에서는 다양한 작업에서 최상의 성능을 갖는 BART의 실험 결과를 보이고 있음
⇒ Bidirectional 및 Auto-Regressive Transformer를 결합한 모델을 사전 학습하는 BART를 제시
i. BERT: bidirectional encoder
- 임의 토큰이 masked + 양방향으로 encoded
- 빠진 토큰은 독립적으로 예측 (→ 생성 task에는 잘 사용되지 않음)
ii. GPT: left-to-right decoder
-토큰이 auto-regressive하게 예측 (→ 생성에 사용될 수 있음)
-단어들이 왼쪽의 context만을 기반으로 하고 있어서 bidirectional 상호작용을 학습할 수 없음
BERT(Bidirectional Encoder), GPT(left-to-right Decoder) 등의 사전 학습 Transformer 기반의 아키텍처를 사용
→ seq2seq 모델(encoder-decoder)로 구축된 denoising auto encoder
⇒ 광범위한 end task에 적용 가능 + noising flexibility를 가짐
(텍스트 생성을 위해 fine tuning 할 때 특히 효과적이지만 이해 작업에서도 잘 작동)
corrupted text에 대해 bidirectional encoder와 left-to-right autoregressive decoder를 적용한 seq2seq model
→ pre-training 과정에서는 원래 문서에 대해 negative log likelihood를 최적화
BART
BART
⇒ 본 논문에서는 몇 가지 새로운 변형으로 실험 진행
Token Masking
BERT처럼 임의로 토큰이 추출된 후 [MASK] 토큰으로 대체
Token Deletion
입력에서 임의의 토큰이 삭제. Token Masking과 대조적으로, 모델은 입력이 누락된 위치 (삭제된 토큰의 위치)를 결정
Text Infilling (중요!)
포아송 분포(lambda=3)에서 추출한 범위 길이(0~6)와 함께 여러 텍스트 길이가 표본으로 추출 → 각 길이 만큼의 토큰이 단일 [MASK] 토큰으로 대체 (길이 0: [MASK] 토큰 삽입을 의미)
⇒ 모델은 누락된 토큰 수를 예측하도록 학습
Sentence Permutation
full stop을 기준으로 문장들을 나누고 이를 임의의 순서로 섞음
Document Rotation
토큰은 무작위로 균일하게 선택되고 문서는 해당 토큰으로 시작되도록 rotate (→문장의 순서 바꿈)
⇒ 모델은 문서의 시작을 식별하도록 학습
encoder와 decoder에 동일한 입력이 공급 → decoder의 최종 은닉 상태는 새로운 다중 클래스 선형 분류기에 전달
(BERT의 CLS토큰처럼, 마지막 토큰의 representation까지 추가해 전체 input에 대한 decoder의 attention 계산 가능하게 함)
전체 문서를 encoder와 decoder에 입력 → decoder의 최상위 은닉 상태를 각 단어의 표현으로 사용
⇒ 이 표현은 토큰을 분류하는 데 사용
(abstractive question answering, summarization ∵BART's autoregressive decoder)
BART의 ****auto regressive decoder로 인해 sequence 생성 작업에 대해 직접 fine tuning 가능
→ Encoder에 완전한 입력을 넣어주면 decoder가 auto regressive하게 한 개씩 출력해 해당 task에 대한 fine tuning을 진행
전체 BART 모델(encoder와 decoder 모두)을 기계 번역을 위한 사전 학습된 decoder로 사용 → 이 과정에서 BART의 encoder 임베딩 계층을 무작위로 초기화된 새로운 encoder 계층으로 교체해 fine tuning
⇒ 새롭게 학습된 encoder는 다른 나라의 언어를 BART가 denoise할 수 있는 영어로 대체 (서로 다른 언어는 noise 학습이 안되기 때문)
BART 기본 크기 모델(인코더 6개 및 디코더 6개 계층, hidden size 768)을 사용하여 다양한 옵션을 비교
본 논문에서 모델의 구현을 BERT paper의 성능과 비교 (BERT는 책과 위키피디아 데이터의 조합에 대해 1백만 단계의 학습을 진행)
Masked Language Model
15%의 토큰을 [MASK] 기호로 대체하고 원래 토큰을 독립적으로 예측하도록 모델을 학습 (BERT)
Masked Seq-to-Seq
50%의 토큰을 포함하는 범위를 마스킹하고 마스킹 된 토큰을 예측하기 위해 seq2seq 모델을 학습 (MASS)
Language Model
왼쪽에서 오른쪽으로 Transformer 언어 모델을 학습 → cross-attention 없이 BART decoder와 동일 (GPT)
Permuted Language Model
토큰의 1/6을 추출하여 임의 순서로 auto regressive 하게 생성 (XLNet)
Multitask Masked Language Model
추가적인 self-attention masks와 함께 마스크 된 언어 모델을 학습 (UniLM)
사전 학습 방법의 성능은 task마다 크게 다름
ex) simple LM 모델은 ELI5 성능이 가장 우수 but SQUAD에서의 결과는 최악
토큰 마스킹이 매우 중요
문서 rotation 또는 문장 permutation는 단독으로는 잘 수행되지 않음 → 성공적인 방법은 토큰 삭제 또는 마스킹 또는 self-attention 마스크를 사용하는 것
!특히 토큰 삭제가 생성 작업에서 마스킹보다 성능이 뛰어남
왼쪽에서 오른쪽으로 사전 학습으로 생성 성능 개선
마스킹 언어 모델과 순열 언어 모델은 생성 시 다른 모델보다 성능이 떨어지며 사전 학습 중에 left-t-right auto-regressive 언어 모델링을 포함하지 않는 유일한 모델
Bidirectional encoders는 SQuAD에 매우 중요
elft-to-right decoder는 SQuAD에서 성능이 떨어짐 (← 뒷부분의 맥락이 분류 결정에 중요하기 때문)
그러나 BART는 bidirectional 계층의 절반만 사용해도 유사한 성능을 달성
사전 학습 방식만이 중요한 요소는 아님.
본 논문에서 Permuted Language Model은 XLNet보다 성능이 낮음 → 이러한 차이 중 일부는 상대적 position embeddings 또는 segment-level recurrence와 같은 다른 아키텍처 개선을 포함하지 않기 때문.
순수 언어 모델은 ELI5에서 가장 우수한 성능을 발휘
ELI5 데이터 셋은 다른 작업보다 훨씬 높은 난이도를 가지며, 다른 모델이 BART를 능가하는 유일한 생성 작업
→ 순수 언어 모델은 출력이 입력에 의해 오직 느슨하게 제한될 때 BART가 덜 효과적이라는 것을 암시
BART는 가장 지속적으로 강력한 성능을 달성
ELI5를 제외하고 text-infilling을 사용하는 BART 모델은 모든 작업에서 우수한 성능을 발휘
RoBERTA 모델과 동일한 스케일을 사용하여 BART를 학습
다른 목표이지만 같은 resource로 사전훈련되었던 RoBERTa와 비교해봤을 때, 대부분의 task에서 거의 비슷한 성능을 보임
→ BART의 generation tasks에서의 성능 향상이 classification 수행을 약화시켜서 얻은 결과가 아님을 보여줌
BART의 Fine-tuning
Summarization
BART가 요약에 대해 이전 모델들의 성능을 능가함
i. CNN/DailyMail dataset
: extractive model이 좋은 성능을 보임
ii. XSum dataset
: abstractive model이 좋은 성능을 보임
Dialogue
BART가 대화 응답 생성에서 이전 모델들의 성능을 능가함
Abstractive QA
BART가 long free-form 답변 생성해야 하는 ELI5 abstractive QA 데이터 셋에서 SOTA를 달성
→ 각 질문에 특정한 답변을 보이기는 약함
본 논문에서는 6 계층의 Transformer encoder를 사용하여 루마니아어를 영어로 noise를 제거할 수 있는 표현으로 mapping
→ 해당 결과를 Transformer-대형 설정(기준 행)이 있는 baseline Transformer 아키텍처와 비교
⇒ 위 접근 방식이 역방향 데이터가 없으면 덜 효과적이고 과대 적합하기 쉽다는 것을 시사 (정규화 필요)
자동화된 측정 기준 이상의 BART의 성능을 이해하기 위해, 추가적으로 BART의 생성을 질적으로 분석 → WikiNews 기사에서 요약하기 전에 기사의 첫 번째 문장을 삭제해 요약 수행
⇒ 출력물은 일반적으로 사실적으로 정확하며, 입력 문서 전반에 걸친 지원 증거를 배경 지식과 통합 (이러한 샘플은 BART 사전 학습이 자연어 이해와 생성의 강력한 조합을 학습했음을 입증)
(생략)
BART: 손상된 문서를 원본에 mapping하는 방법을 배우는 사전 학습 접근 방식
*참고
4. BertSum: Text Summarization with Pretrained Encoders 논문 리뷰 (0) | 2021.09.28 |
---|---|
2. Fine-tune BERT for Extractive Summarization 논문 리뷰 (0) | 2021.09.19 |
0. [Paper Review] Transformer to T5 (XLNet, RoBERTa, MASS, BART, MT-DNN,T5) (0) | 2021.09.19 |
1. Attention is all you need 논문 리뷰 (0) | 2021.09.18 |
0. Machine Translation Survey(Vol1): Background 영상 후기 (0) | 2021.09.18 |
댓글 영역