1. Introduction

기존으 NLP모델은 labeled된 데이터를 바탕으로 지도학습을 했다. 하지만 존재하는 데이터는 unlabeled data가 훨씬 많기 때문에, unlabeled data의 정보를 활용한다면 훈련에 필요한 시간과 비용을 절약할 수 있다.

하지만 unlabeled data의 정보를 활용하는 것이 힘든 이유는 크게 두가지가 있다.

1) 어떤 목적함수(Optimization objective)가 효과적인지 알 수 없다.

2) 모델에서 학습된 표현(reprentation)을 다양한 NLP task로 전환하는데 가장 효율적인 방법이 정해지지 않았다.

GPT-1은 이 두 가지 단점을 보완하고자 하였는데, 먼저 unsupervised로 pre-training하고 supervised로 fine-tuning을 한 semi-supervised를 구현하였다. 이는 광범위하게 조절 후에 미세한 조정을 거치기 때문에 광범위한 task에 보편적으로 적용할 수 있는 universal representation을 학습하는 것을 목표로 하였다.

모델을 간단히 2단계로 요약하자면

1단계 : 신경망의 초기 매개변수를 학습(pre-trained)하기 위해 unlabeled data에 언어 모델링 목적함수(language modeling objective)를 사용하고

2단계 : 1단계에서 얻은 parameter를 supervised objective를 사용하여 fine-tuning한 후 특정 task에 적용시켰다.


2. Related work


3. Framework

학습은 두 단계로 구성된다.

1단계 : 대규모 텍스트 말뭉치에서 대용량 언어 모델을 학습(pre-training)

2단계 : 라벨링된 데이터를 사용하여 discriminative task에 모델 적용(fine-tuning)

3.1 Unsupervised pre-training

레이블링 되지 않은 말뭉치의 tokens U = {u1, u2, ..., un}가 주어지면 standard LM사용해 다음과 같은 likelihood를 최대화하는 방향으로 학습을 진행한다.

transofrmer의 변형 중 하나인 multi-layer transformer decoder를 사용한다. multi-headed self-attention 연산을 모든 입력 토큰에 대해서 수행하고, 해당 결과를 position-wise feedforward layer의 입력을 제공한다.

처음 h_0에는 해당 token을 postion embedding으로 값을 정해줌 -> transformer_block에 넣어서 학습 진행 -> 결과 P(u)는 학습된 마지막 값을 행렬곱하여 text dictionary만큼 softmax로 다음 단어를 뽑아냄

3.2 Supervised fine-tuning

pre-training을 거치고 target task에 맞게 fine-tuning을 수행한다. labeling된 데이터셋의 입력 x1, x2, xm..으로 구성되고 label y로 구성된다고 가정했을 때 입력들은 pre-trainined된 모델의 입력으로 제공되고 마지막 transformer block의 출력인 h_l_m으로 출력된다. 이 출력은 W_y를 파라미터로 하는 linear output layer의 입력으로 제공되어 y(=label)를 예측하게 된다.

위의 식을 바탕으로 아래 식을 최소화하도록 학습을 진행한다.

Language modeling을 fine-tuning 과정에서 보조 objective로 사용했을 때, supervised model의 generalization을 향상하고 빠르게 수렴할 수 있도록 한다. weight λ에 대해서는 아래와 같은 방식으로 최적화를 진행한다.

=> Fine-tuning과정에서 추가적으로 필요한 파라미터는 linear output layer를 구성하는 W_y, delimiter를 위한 임베딩뿐이다.

3.3 Task-specific input transformations

text classification과 같은 tast들은 위에서 언급한 방법대로 할 수 있다. 하지만 question answering이나 textual entailment는 여러 개의 문장이 필요하기 때문에, Figure 1처럼 delimiter로 각 sentence를 구분하여 하나로 연결하는 방식을 사용한다.

Textual entailment : 전체 p와 가정 h를 구분자 $로 연결하였다.

Similarity : 두 개의 텍스트 사이에 순서가 없으므로 텍스트 두 개를 다른 순서로 이어붙여 총 2개를 입력으로 사용하고, 이는 각각 Transformer에 입력으로 사용된다.

Quenstion Answering and Commonsense Reasoning : 문맥 문서 z, 질문 q, 가능한 답변 ak라고 하면, [z ; q; $; ak]로 연결되고 입력의 갯수는 답변의 갯수만큼 생성된다.


4. Experiments

4.1 Setup

Unsupervised pre-training : dataset으로 다양한 분야의 미출판 책에 대한 내용을 포함하는 BooksCorpus를 사용. alternative dataset은 ELMO에서 사용한 Word Bechmark

Model specifications:

Fine-tunning details : Unsupervised pre-training와 hyperparameter 동일. p = 0.1의 dropout 추가

learning rate 6.25e-5, batchsize 32, 3 epochs, learning rate decay는 warmup을 포함해 학습당 0.2%, 람다는 0.5로 세팅


6. Conclusion

본 논문은 생성적 사전학습과 특정과제에 특화된 미세조정을 통해 학습된, 과제에 대해 별다른 지식이 없으며 자연어이해 능력이 뛰어난 단일 모델(framework)를 소개한다.

넓은 분야의 다양한 말뭉치에 대해 사전학습을 진행하여 중요한 일반지식과 질답, 의미유사성 평가, 함의 확인, 문서분류 등의 task에서 성공적으로 전이되는 장거리 의존성을 처리하는 능력을 학습하여 12개 중 9개의 과제에 대해 state-of-the-art를 달성하였다.

본 논문은 상당한 성능향상이 정말로 가능하며 어떤 모델(Transformers)과 dataset(장거리 의존성을 포함하는 텍스트)가 이 접근법에 가장 좋은지에 대한 조언을 제공한다.

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기