BERT fine-tuning method for downstream tasks

파인 튜닝은 BERT를 처음부터 학습시키지 않는다는 것을 의마한다. 그 대신 사전 학습된 BERT를 기반으로 태스크에 맞게 가중치를 업데이트 하게된다.
이로써 Kaggle, Dacon과 같은 NLP_competition에서 가장 중요한 작업이라고 할 수 있을 것이다. (최근 몇년 NLP계열 S.O.T.A는 BERT가 싹쓸이하기 때문)

총 4가지의 다운스트림 태스크를 다룰 예정이다.

  1. 텍스트 분류
  2. 자연어 추론
  3. 개체명 인식
  4. 질문 - 응답

1. 텍스트 분류

사전 학습된 BERT 모델을 텍스트 분류 태스크에 맞춰 파인 튜닝하는 방법이다. 감정 분석을 수행하고 있다고 가정해보겠다.
감정 분석 태스크에서 목표는 문장이 긍정인지 부정인지 분류하는 것이다. 레이블과 함께 문장이 포함된 데이터셋이 있다고 가정한다.

'I love paris'라는 문장이 주어졌을때 먼저 문장을 토큰화하고 시작 부분에[CLS]토큰의 임베딩만 취한다. [CLS]토큰을 추가한 뒤
문장 끝에 [SEP]토큰을 추가한다. 그 다음 사전 학습된 BERT 모델에 대한 입력으로 토큰을 입력하고 모든 토큰의 임베딩을 가져온다.

다른 모든 토큰의 임베딩을 무시하고 R[CLS](CLS토큰의 임베딩 값)인 [CLS]토큰의 임베딩만 취한다. [CLS]토큰을 포함하면 문장의
집계 표현이 유지된다.R[CLS]를 분류기(소프트맥스 함수가 있는 피드포워드 네트워크)에 입력하고 학습시켜 감정 분석을 수행한다.

스크린샷 2022-05-20 오후 1 03 16



이러한 그림으로 표현될 수 있을 것 같다.

2. 자연어 추론

자연어 추론에서 모델은 가정이 주진 전제에 참인지 거짓인지 중립인지 여부를 결정하는 태스크다.

 



먼저 문자 쌍을 토큰화한 다음 첫번째 문장의 시작 부분에 [CLS]토큰을 추가하고 모든 문장 끝에 [SEP]토큰을 추가한다.
후에 사전 학습된 BERT에 토큰을 입력하고 각 토큰의 임베딩을 가져온다. [CLS] 토큰의 표현이 집계 표현을 보유한다.

따라서 [CLS]토큰의 R[CLS](CLS토큰의 임베딩 값) 표현 벡터를 가져와 분류기(피드포워드 + 소프트맥스)에 입력하면, 분류기는 문장이 참, 거짓,
중립일 확률을 반환한다. 학습 초기에는 결과가 정확하지 않지만 여러 번 반복하면 정확한 결과를 얻을 수 있다.

3. 질문-응답

질문 - 응답 태스크에서는 질문에 대한 응답이 포함된 단락과 함께 질문이 제공된다. 태스크의 목표는 주어진 질문에 대한 단락에서 답을 추출하는 것이다.

BERT의 입력은 질문-단락 쌍이다. 즉, BERT에 질문과 응답을 담은 단락을 입력하고 단락에서 응답을 추출해야 한다. 따라서 BERT는 단락에서 응답에
해당하는 텍스트의 범위를 반환해야 한다.

4. 개체명 인식

개체명 인식에서 우리의 목표는 개체명을 미리 정의된 범주로 분류하는 것이다. 예를들어 '영찬이는 서울에 산다'라는 문장을 예로 들어보면 이 문장에서
'영찬'은 사람으로, '서울'은 위치로 분류한다.

먼저 문장을 토큰화한 다음 시작 부분에[CLS]토큰을 추가하고 끝에 [SEP]토큰을 추가한다. 그런 다음 사전 학습된 BERT 모델에 토큰을 입력하고 모든
토큰의 표현 벡터를 얻는다. 그리고 이러한 토큰 표현을 분류기(피드포워드 네트워크 + 소프트맥스 함수)에 입력한다. 그러면 분류기는 개체명이 속한 범주를
반환한다.

스크린샷 2022-05-20 오후 5 37 55

 

DeBERTa-Decoding-enhanced-BERT-with-Disentangled-Attention

1. Introduction

Disentangled attention - 입력 계층의 각 단어 임베딩과 위치 임베딩의 합인 벡터를 사용하여 표현되는 BERT모델 과는 달리 DeBERTa의 단어는 각각의 내용과 위치를 인코딩하는 두 개의 벡터를 사용하여 표현되며 단어 사이의 어텐션 가중치는 이를 기반으로 분리된 행렬을 사용하여 계산된다. 이러한 방법은 단어 쌍의 어텐션 가중치가 내용뿐만 아니라 상대적인 위치에 따라서도 의미가 달라질 수 있다는 것을 의미한다.

Enhanced mask decoder - BERT모델과 마찬가지로 DeBERTa는 Masked language modeling(문장의 약 15퍼센트를 mask처리하고 mask처리된 문장을 예측하는)을 사용하여 사전 학습되는데, 기존에는 절대적 위치 정보에 영향을 받았지만 Relative Position Embedding이 전 계층에 영향을 주고 위치 정보를 보완 하기위해 Absolute Position Embedding을 추가하였다.

2. Background

Transformer - standard self-attention 메커니즘은 단어 위치 정보를 파악하는 것이 부족하여 입력 단어 임베딩에 위치 임베딩을 추가하여 위치 정보를 보완하였다.
Masked language model - 전체 시퀀스의 15% 마스킹하고 이를 복원한 예측값을 예측하도록 학습하였다.

3. DeBERTa Architecture

3.1 DISENTANGLED ATTENTION: A TWO-VECTOR APPROACH TO CONTENT AND POSITION EMBEDDING

내용(content)와 Position Embedding을 분리해서 접근합니다.

Content Embedding = H , Relative Position Embedding = P

위의 식을 계산하여 HH, HP, PH, PP를 구하고 content-to-content, content-to-position, position-to-content, and position-to-position 표현된다. 단어 쌍의 어텐션 가중치가 content뿐만 아니라 상대적인 위치에 따라 달라지기 때문에 position-to-content 또한 중요하다고 말하지만, content-to-position, position-to-content 용어를 모두 사용하여 완전히 모델링한다. 따라서 postion-to-position은 많은 정보를 제공하지 않으므로 제거된다. 위 과정 후에는 QKV(Query, Key, Value)를 사용한 어텐션 연산 방식과 같습니다.​​

3.2 ENHANCED MASK DECODER ACCOUNTS FOR ABSOLUTE WORD POSITIONS

DeBERTa는 상대적 위치 정보를 보완하기 위해 절대적인 위치를 고려했다. ‘쇼핑몰’(원래는 ‘mall’ 이라는 의미보다 ‘store’의 의미가 큰 것 처럼) 구문적 뉘앙스는 단어의 절대적인 위치에 크게 의존한다. DeBERTa에서는 모든 Transformer 계층 바로 뒤에 있지만 마스크된 토큰 예측을 위한 softmax 계층 바로 앞에 통합한다. 이러한 방식으로, DeBERTa는 모든 트랜스포머 레이어에서 상대 위치 정보를 보완하고 마스크된 단어를 디코딩할 때 보완 정보로 절대 위치만 사용한다.
DeBERTa의 디코딩 구성 요소를 강화 마스크 디코더(EMD)라고 부른다. 마지막으로 BERT가 사용하는 절대 위치의 통합 모델이 상대 위치의 충분한 정보를 학습하는 것을 방해할 수 있다고 추측하고 EMD를 사용하면 사전 교육을 위해 position이외에도 다른 유용한 정보를 얻을 수 있을 것이라 생각한다.

4. SCALE INVARIANT FINE-TUNING

이 섹션에서는 fine-tuning을 위해 설명된 알고리즘의 변형인 새로운 가상 대립 훈련 알고리즘 Scale-invariant-Fine-Tuning(SiFT)를 제시한다.

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Jacob Devlin Ming-Wei Chang Kenton Lee Kristina Toutanova

Google AI Language

Abstract

BERT 는 새로운 언어 표현 모델입니다. 기존의 representation models(Peters et al., 2018a; Radford et al., 2018)과는 다르게 BERT는 모든 계층의 왼쪽 및 오른쪽 컨텍스트에서 공동으로 조건화함으로써 레이블이 없는 텍스트에서 심층 bidirectional 표현을 사전 학습하도록 설계되었다. BERT는 한개의 추가 출력 계층으로 미세하게 조정되어 작업 아키텍쳐 수정 없이 답장, 추론과 같은 작업에 대한 최신 모델을 생성한다.
BERT는 강력한 성능을 자랑하는데, 11개의 자연어 처리에서 최고의 결과를 얻을 수 있다. GLUE 점수를 80.5%, MultiNLI 정확도를 86.7%로 높이는 작업을 포함한다. SQuAD v1.1 문항은 93.2로, SQuAD v2.0 시험 F1은 83.1이다.

1. introduce

  • BERT는 문장 수준 및 토큰 수준 작업의 대규모 제품군에서 최첨단 성능을 달성하여 많은 작업별 아키텍처를 능가하는 최초의 미세 조정 기반 표현 모델이다.
  • BERT는 11개의 NLP 작업에 대한 최첨단 기술을 발전시킨다.

2. Related Work

2.1 Unsupervised Feature-based Approaches

  • Pre-trained word 임베딩은 현대 NLP 시스템의 필수적인 부분으로, 처음부터 학습한 임베딩보다 상당한 개선을 제공한다.

2.2 Unsupervised Fine-tuning Approaches

  • Unsupervised Feature-based Approaches와 마찬가지로 레이블이 없는 상태에서 사전 훈련된 단어 임베딩 매개 변수만 수행한다.

figure1 - 전반적인 Pre-training 과 Fine-tuning 절차이다. 출력 계층을 제외하고, 사전 훈련과 미세 조정 모두에서 동일한 아키텍처가 사용된다.
동일한 사전 훈련된 모델 매개 변수는 다양한 down-stream 작업에 대한 모델 초기화 하는데에 사용된다. fine-tuning 중에는 모든 파라미터가 fine-tuning된다.
[CLS]는 모든 입력 예제 앞에 추가된 특수 기호이고 [SEP]는 특수 구분 기호이다.

3. BERT

프레임 워크에는 Pre-training, fine-tuning 두가지 단계가 있다. Pre-training 동안 모델은 서로 다른 사전 훈련 작업에 대해 레이블이 지정되지 않은 데이터에
훈련한다. Fine-tuning을 위해 BERT 모델은 먼저 Pre-taining을 진행한 매개 변수로 초기화 되고 모든 매개 변수는 Down-stream 작업의 레이블이 지정된 데이터를
사용하여 Fine-tuning된다. 각 다운스트림 작업에는 Pre-taining된 동일한 매개 변수로 초기화되었음에도 불구하고 별도의 Fine-tuning된 모델이 있다. 그림 1의 질문 답변
예제는 이 섹션의 실행 예제로 사용된다.

3.1 Pre-training BERT

Masked LM : 불행하게도, 표준 조건부 언어 모델은 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로만 훈련될 수 있는데, bidirectional 조건화는 각 단어가 간접적으로 "자신을 볼 수 있게" 할 수 있고,
모델은 다중 계층 맥락에서 대상 단어를 사소한 것으로 예측할 수 있기 때문이다. 심층 bidirectional 표현을 훈련하기 위해 입력 토큰의 일부 비율을 무작위로 마스크한 다음 마스크된 토큰을 예측합니다.
마스크 토큰에 해당하는 hidden vectors는 표준 LM(language Model)에서와 같이 어휘를 통해 softmax 함수로 출력된다. denoising auto-encoders(Vincent et al., 2008)와 달리, 우리는 전체 입력을
재구성하지 않고 마스크된 단어만 예측한다.
이를 통해 bidirectional Pre-trained model 을 얻을 수 있지만, [MASK] 토큰이 fine-tuning 중에 나타나지 않기 때문에 pre-training 과 fine-tuning에 불일치를 만들고 있다는 단점이 있다.

3.2 Next Sentence Prediction (NSP)

질의응답(QA)과 자연어 추론(NLI)과 같은 많은 중요한 다운스트림 작업은 언어 모델링에 의해 직접 포착되지 않는 두 문장 사이의 관계를 이해하는 것을 기반으로 한다.
문장 관계를 이해하는 모델을 훈련하기 위해, 우리는 단일 언어 말뭉치에서 일반적이게 생성할 수 있는 이진화된 다음 문장 예측 작업을 위해 사전 훈련한다.
섹션 5.1에서 이 작업에 대한 사전 훈련이 QA와 NLI 모두에 매우 유익하다는 것을 보여준다.

BERT 입력 표현입니다. 입력 임베딩은 토큰 임베딩, 분할 임베딩 및 위치 임베딩의 합이다.

+ Recent posts