논문 Paper

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension 바트

sailorCat 2022. 11. 9. 08:27
728x90

https://arxiv.org/abs/1910.13461

 

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension

We present BART, a denoising autoencoder for pretraining sequence-to-sequence models. BART is trained by (1) corrupting text with an arbitrary noising function, and (2) learning a model to reconstruct the original text. It uses a standard Tranformer-based

arxiv.org

arbitrary 미국식 [ˈɑːrbətreri]  영국식 [ˈɑːbɪtrəri; ˈɑːbɪtri]  중요

1. [형용사] 임의적인, 제멋대로인
2. [형용사][격식] 전횡을 일삼는, 독단적인

잡음 제거 오토 인코더 BART 를 소개한다.

BART의 훈련방식

1) 임의의 노이즈를 의도적으로 발생시켜 문자를 가림

2) 오리지널 문자를 알아내기 위해 학습

 

트랜스포머 구조를 따르며, BERT나 GPT와 같은 사전 학습 모델의 기능을 할 수 있지만 굉장히 단순하다.

 

ablation 미국∙영국 [əˈbleɪʃn]  미국식 [əˈbleɪʃn]

[명사][지리] 삭마(削磨: 풍화·침식 작용에 의해 얼음·눈·암석이 깎이는 현상)

 

replicate 미국∙영국 [ˈreplɪkeɪt]  영국식 

1. [동사][격식] (정확히) 모사[복제]하다 (=duplicate)
2. [동사][전문 용어] 자기 복제를 하다

 

 

 

Self-supervised : 자기지도학습, input data(x)에서 target(y)가 될 수 있는 것을 찾아 지도학습한다.

자기지도 학습은 다량의 NLP 과업에서 획기적인 성공을 얻었다.

잡음제거(denoising) 오토인코더는 데이터 텍스트의 일부를 랜덤으로 마스킹한 것에서 원래의 텍스트로 복원하며 학습한다.

 

 

 

양방향(Bidirectional), 자기회귀(Auto-Regressive) 트랜스 포머를 사전학습한 모델 BART를 이 논문에서 소개한다.

바트는 시퀀스 투 시퀀스 모델을 기반으로 한 잡음제거 오토인코더로, 다양한 분야의 말단 과업에 사용할 수 있다.

 

사전학습은 두가지 단계로 실행된다.

1) 임의의 노이즈로 원래의 텍스트를 가린다.

2) 시퀀스 투 시퀀스 모델이 이 가려진 텍스트를 오리지널 텍스트로 복구하기 위해 학습한다.

 

 

 

 

훈련을 위한 셋업의 중요한 점은 잡음의 유연성이다.

길이의 변화를 포함한 다양한 임의의 텍스트 변화가 학습에 도움이 된다.

오리지널 문장의 순서를 랜덤으로 셔플하는 것, 임의의 길이의 문장들을 하나의 토큰 노이즈로 대체 하는 것으로 가장 높은 성능을 측정하였다.

 

 

 

바트는 문장 생성에서 파인 튜닝 되었을 때 가장 좋았고 문장 이해 과업에서도 괜찮게 작용했다.

 

 

 

 

BERT, GPT, BART를 표현한 그림이다.

 

BERT : 임의의 토큰이 가려지고 양방향으로 인코딩 된다. 각각의 가려진 토큰을 독립적으로 예측한다.

GPT : 토큰이 자기회귀적으로 예측된다. 왼쪽에서 오른쪽 방향으로만 동작한다.

BART : 인코더 부분이 BERT와 흡사하고 디코더 부분이 GPT와 흡사하지만 인풋이 디코더의 아웃풋과 동일할 필요가 없다. 임의의 가려진 텍스트를 인코더에서 가능성이 있는 텍스트를 복원하여 자기회귀 모형 디코더를 통해 계산 하게 된다.

 

 

 

ablation analysis :  제안한 요소가 모델에 어떠한 영향을 미치는지 확인하고 싶을 때, 이 요소를 포함한 모델과 포함하지 않은 모델을 비교하는 것

https://fintecuriosity-11.tistory.com/73

 

[데이터 사이언스]"Ablation study"란 무엇인가?

데이터 사이언스에 관련을 가지게 되면서 머신러닝, 딥러닝에 관한 연구, 논문과 수업들에서는 이해가 안가는 단어들이 한,두가지 아니였습니다. 그래서 항상 공부를 하며 모르는 단어의 어원

fintecuriosity-11.tistory.com

 

이 논문에서의 ablation analysis는 문장을 '일부러'  훼손하여 마스킹 하는 것을 의미한다.

 

 

BART는 훼손된 문서를 오리지널 문서로 회귀하는 오토인코더이다.

양방향 시퀀스 투 시퀀스 인코더로 구현되었고, 왼쪽에서 오른쪽으로 자기회귀하는 디코더로 이루어졌다. 

선행학습에서 음의 로그 우도를 최적화한다.

 

 

 

 

GPT를 이어 ReLU 함수를 완화한 GeLUs 함수를 사용하였고 N(0, 0.02)로 파라미터를 초기화 했다.

6개의 인코더와 디코더를 사용했고 큰 모델에는 12개씩의 레이어를 사용하였다.

 

 

 

BERT의 구조와 유사하지만 두가지 다른 점이 있다.

1) 디코더의 각각의 레이어들은 추가적으로 교차 어텐션을 인코더의 마지막 히든 레이어에 적용한다.

2) BERT는 피드 포워드 네트워크를 단어 예측 전에 사용하지만, BART는 그렇지 않아서 10% 정도 더 많은 파라미터를 갖는다.

 

 

 

BART는 의도적으로 훼손된 문서로 학습된다.

디코더의 결과와 오리지널 문서를 비교하며 교차 엔트로피를 측정한다.

문서를 훼손할 때 쓰는 기법들이다.

 

 

토큰 마스킹 - 문자들이 샘플링 되거나 다른 것으로 바뀔 수 있다.

토큰 삭제 - 랜덤 문자들이 삭제될 수 있다. 모델은 어떤 부분이 사라졌는지 알아내야 한다.

 

 

텍스트 대체 - 다수의 텍스트 구간이 샘플링 된다. 각각의 구간은 하나의 마스킹으로 교체한다. 

문장 교환 - 문장들의 순서를 랜덤으로 바꾼다.

문서 회전 - 문서가 로테이션 되어 랜덤 토큰으로 시작된다.

 

 

 

 

 

 

 

 

 

https://huggingface.co/facebook/bart-large

 

728x90