Abstract

  • unlabeled 데이터는 많은 반면 labeled 데이터는 부족하다 이는 적은 labeled 데이터로 학습된 모델이 적절하게 task를 수행하지 못하게 한다.

  • 우리는 적은 데이터로도 unlabeled text의 다양한 corpus로 언어 모델을 pre-training 하고, 각 specific task로 fine-tuning 하면서 large gains를 얻을 수 있는 것을 증명한다.

  • 우리의 task-agnostic model은 12개의 tasks들 중 9개를 SOTA를 달성하면서 각 task를 위한 설계로 훈련된 모델들의 성능을 향상시켰다.

Introduction

  • unlabeled 데이터로 학습을해서 언어적 정보를 이끌어 낼 수 있다면 이는 지도 학습을 위해 데이터를 모으는 것보다 시간과 비용의 측면에서 대안이 될 수 있다. 심지어는 지도 학습이 가능해도 비지도 방식으로 좋은 표현을 학습할 수 있다면 성능 향상을 이끌 수 있다. 지금까지의 내용의 증거는 사전 학습된 word embeddings를 활용하고 있다는 점이다.

  • unlabeled text로 단어 수준의 정보이상을 이끌어내는 것은 어려운데, 그 이유는 첫번 째로는 전이학습을 위한 유용한 text 표현들을 학습하는데 어떤 종류의 objectives가 더 효율적인지 불분명한 점이고, 두번 째로는 학습된 표현을 target task로 전이학습 하는데 가장 효율적인 방법의 대한 합의가 없다는 점이다.

  • 우리는 비지도 학습인 pre-training과 지도 학습인 fine-tuning을 사용하면서 language understanding tasks를 위한 semi-supervised approach를 탐구한다. 우리는 훈련 절차를 두 개의 단계로 나눈다. 첫번 째는 neural network model의 초기 파라미터들을 학습시키기 위해서 unlabeled data로 언어 모델 학습을 하고 두번 째는 이 학습된 파라미터들을 지도 학습을 사용하여 target task로 적용시킨다.

  • 우리는 모델 구조로 machine translation, document generation, syntactic parsing과 같은 다양한 tasks를 잘 수행한다고 알려져 있는 Transformer를 사용한다. 전이 학습을 하는 동안 우리는 structured text input을 single contiguous tokens의 sequence로 처리하는 traversal-style approaches를 활용한다. 우리는 실험으로 이러한 adaptations가 사전 훈련된 모델들의 구조를 최소한으로 변경하여 fine-tune 하는 것을 증명한다. 우리의 task-agnostic model은 각 task를 위해 설계된 훈련된 모델들보다 성능을 향상시켰다.

  • 우리는 commonsense reasoning은 8.9% 향상을 이뤘고, question answering은 5.7% 향상을 이뤘고, textual entailment은 1.5% 향상을 이뤘고, GLUE multi-task benchmark은 5.5% 향상을 이뤄냈다.

Related Work

Semi-supervised learning for NLP

  • semi-supervised learning은 sequence labeling과 text classification과 같은 tasks에 적용과 함께 상당한 흥미를 이끌었다. 가장 빠른 접근들은 지도 학습의 특징으로 사용되었던 word-level or phrase-level statistics를 계산하기 위해 unlabeled 데이터를 사용했다. 연구자들은 다양한 tasks들에서 성능 향상을 위해서 unlabeled corpora로 학습된 word embeddings를 사용하는 것의 장점을 증명해왔다. 하지만 이러한 approaches들은 주로 word-level information을 전이 학습하는 반면 우리는 higher-level semantics를 학습하는 목표를 가지고 있다.

Unsupervised pre-training

  • 비지도 사전 학습은 지도 학습을 변경하는 대신 good initialization point를 찾는 목표를 가진 semi-supervised learning이다. 우리의 모델과 closest line of work는 language modeling을 사용하는 neural network를 pre-training 하는 것과 지도 학습으로 target task로 fine-tuning 하는 것을 포함한다. Dai et al.와 Howard와 Ruder는 이러한 방법을 text classification 향상을 위해서 사용했다. 하지만 pre-training 단계는 언어학 정보를 학습하는데는 도움은 되지만 그들의 LSTM 모델 사용은 short range를 예측하는데 능력을 제한한다. 대조적으로 우리의 transformer 선택은 우리의 실험으로 보였듯이 longer range linguistic structure을 학습하도록 한다. 우리의 모델이 natural inference, paraphrase detection, story completion과 같은 다양한 tasks에서 효율성을 증명한다. 다른 접근법들은 target task에 지도 학습을 하는 동안 auxilary features로써 pre-trained language or machine translation model로 얻어진 hidden representations를 사용한다. 이는 각 separate target tasks로 상당한 새로운 파라미터들을 포함하지만 우리는 전이 학습 동안 우리의 모델로 최소한의 변화를 요구한다.

Auxiliary training objectives

  • auxiliary 비지도 학습을 추가하는 것은 semi-supervised learning의 대안이다. Collobert와 Weston은 semantic role labeling을 향상시키기 위해 POS tagging, chunking, named entity recognition, language modeling과 같은 auxiliary NLP tasks들을 사용했다. Rei는 그들의 target task로 auxiliary language modeling을 추가했고 sequence labeling tasks들의 performance gains를 증명했다. 우리의 실험은 auxiliary objective를 사용하지만 우리가 보였듯이 비지도 pre-training은 이미 target tasks와 관련된 언어적 측면을 학습한다.

Framework

  • 우리의 훈련 절차는 두 단계로 구성되어 있다. 첫번 째는 large corpus of text로 high-capacity language model을 학습하는 것이다. 두번 째는 학습한 모델을 labeled 데이터와 discriminative task로 적용하는 fine-tuning 단계이다.

Unsupervised pre-training

  • 우리의 실험들은 transformer의 변화된 구조인 언어 모델로 여러 층의 Transformer decoder를 사용한다. 이 모델은 input context tokens를 multi-headed self-attention을 적용하고, target tokens의 output distribution을 생산하기 위해서 position-wise feedforward layers를 적용한다.

  • U = (u−k, . . . , u−1)는 the context vector of tokens 이고, n은 the number of layers 이고, W_e는 the token embedding matrix 이고, W_p는 the position embedding matrix 이다.

Supervised fine-tuning

  • 위에서 설명한 objectives로 모델을 훈려하고 우리는 지도 학습인 target task로 이 파라미터들을 적용해줬다. 우리는 input tokens의 sequence인 x_1, . . . , x_m와 label y로 구성된 각 instance인 labeled dataset C를 가정한다. inputs는 final transformer block’s activation인 h^m_l을 얻기 위해 pre-trainded model을 지나고, y를 예측하기 위해 파라미터 W_y와 추가된 linear output layer를 지난다.

  • 우리는 추가적으로 fine-tuning 할 때 auxiliary objective로 언어 모델을 포함하는 것은 지도 학습 모델의 일반화와 수렴의 가속화를 도와주는 것을 발견했다. 우리는 L_3(C) = L_2(C) + λ * L_1(C)를 최적화 한다.

  • 전체적으로 fine-tuning 하는 동안 우리가 요구하는 유일한 추가적인 파라미터들은 W_y와 delimiter tokens를 위한 embeddings이다.

Task-specific input transformations

  • question asnwering, textual entailment와 같은 tasks들은 순서가 있는 문장 쌍, 혹은 3개이상의 문장, 질문, 답변과 같은 inputs으로 구성되어 있다. pre-trained model은 txt의 인접한 sequences로 훈련되고 이러한 tasks들로 적용을 할 때는 약간의 수정이 필요하다.

  • 이전 work는 전이 학습된 표현들을 맨 위층의 task specific architectures로 학습을 제안했다. 이러한 접근법은 상당한 task-specific customization을 재도입하고, 추가적인 architectural components를 위한 전이 학습을 사용하지 않는다.

  • 대신 우리는 pre-trained model이 처리할 수 있는 순서가 있는 sequence로 structured inputs를 바꾸는 traversal-style을 사용한다.

Textual entailment

  • entailment tasks는 premise p와 hypothesis h 사이로 delimiter token을 추가한다.

Similarity

  • similarity tasks는 비교되는 두 문장간 내제하는 순서가 없다. 우리는 input sequence를 가능한 문장 순서를 포함하도록 변경하고, 두 개의 sequence representations인 h^m_l을 만들고 이를 더한 뒤 linear output layer를 지난다.

Question Answering and Commonsense Reasoning

  • 이 tasks들은 context document z, question q, set of possible answers {a_k}가 주어진다. document context와 question과 각 가능한 answer를 연결하고 [z; q; $; ak] 처럼 delimiter token을 추가한다.

Experiments

Setup

Unsupervised pre-training

  • 우리는 언어 모델을 학습시키기 위해 BooksCorpus dataset을 사용한다. 이는 generative model이 long-range information을 학습할 수 있도록 long stretches of contiguous를 포함한다.

Model specifications

  • 우리는 768차원과 12개의 attention heads를 갖는 masked self-attention heads로 transformer의 12층 decoder로 학습시켰다. position-wise feed-forward networks는 3072개의 차원을 사용했다.

  • Adam optimization scheme를 최대 learning rate 2.5e-4와 사용했다. learning rate는 2000번 updates 될 때까지 0부터 증가하다가 cosine schedule을 사용하여 0으로 줄여갔다. 512 tokens의 인접한 sequences를 무작위로 샘플링된 64개의 미니배치로 100 epochs를 학습시켰다. 40000 단어사전과 BPE 알고리즘을 사용했으며 residual, embedding, attention dropouts는 정규화를 위해 0.1을 적용했다.

  • 모든 non bias와 gain weights를 w = 0.01로 L2 규제의 수정된 version을 채택했다. 활성화 함수는 GELU를 사용했다. sinusoidal version 대신 학습가능한 position embeddings를 사용했다.

Fine-tuning details

  • 특정한 경우 말고는 비지도 학습인 pre-training으로 얻어진 하이퍼파라미터 환경을 재사용했다.

  • 분류기에는 0.1 dropout rate를 적용했다. 배치사이즈 32와 learning rate 6.25e-5를 사용했다.

  • 우리의 모델은 빠르게 finetunes 했고, 대부분 경우 3 epochs면 충분했다. λ는 0.5로 훈련 0.2%를 warnup으로 linear learning rate decay schedule을 사용했다.

Supervised fine-tuning

Natural Language Inference

  • 우리의 방법은 이전 best results보다 MNLI는 1.5%의 향상을 이뤘고, SciTail은 5%의 향상을 이뤘고, QNLI는 5.8%의 향상을 이뤘고, SNLI는 0.6%의 향상을 이뤘다. 평가한 가장 적은 dataset인 RTE는 multi-task biLSTM 모델이 기록한 61.7% 보다 낮은 56%의 정확성을 성취했다.

Question answering and commonsense reasoning

  • Story Cloze는 이전 best results보다 8.9%의 상당한 margins을 남기면서 성능을 향상했고, RACE는 전체적으로 5.7%의 성능을 향상했다.

  • 이는 우리의 모델이 long-range contexts를 효율적으로 다룬는 능력을 증명한다.

Semantic Similarity

  • 3개의 semantic similarity tasks 중 2개를 SOTA를 달성했는데, STS-B는 1 point의 성능이 향상했다. QQP의 성능은 상당했는데, single-task BiLSTM + ELMo + Attn을 4.2%나 향상했다.

Classification

  • 우리의 모델은 이전 best result인 35.0을 innate linguistic bias를 보여주면서 CoLA를 45.4로 score를 얻었다. SST-2는 SOTA 모델과 경쟁할 정도인 91.3%의 정확도를 성취했다.

  • GLUE benchmark에서 이전 best인 68.9를 72.8의 score로 상당히 앞지르면서 성취했다.

  • 전체적으로 많은 경우 ensembles 보다 성능을 향상시키면서 우리가 평가한 12개의 datasets 중 9개의 데이터를 SOTA를 성취했다.

Analysis

Impact of number of layers transferred

  • 우리는 비지도 학습인 pre-training 으로 부터 지도 학습인 target task까지 전이 학습하는 layers의 수의 영향을 관찰했다.

  • 우리는 transferring embeddings가 성능을 향상시키는 standard result를 관측했고, 각 transformer layer가 MultiNLI에서 full transfer은 9%까지 성능의 향상을 보였다. 잉는 target tasks를 해결할 때 pre-trained model의 각 layer는 유용한 기능을 가지고 있는 것을 보여준다.

Zero-shot Behaviors

  • 우리는 transformers의 언어 모델을 pre-training 하는 것이 왜 효과적인지 이해하고자 한다.

  • 가설은 underlying generative model이 언어 모델의 capability를 향상시키기 위해 우리가 평가하는 많은 tasks를 학습한다는 것이고, LSTMs와 비교하여 transformer의 structured attentional memory가 이를 돕는다는 것이다.

  • 우리는 지도 학습인 finetuning 없이 underlying generative model이 tasks를 수행하기 위해 사용하는 일련의 heuristic solutions를 설계했다.

  • 우리는 이러한 heuristics가 안정적이고 generative pretraining이 functionality와 관련있는 다양한 task의 학습의 지원을 제안하면서 훈련하면서 꾸준히 증가하는 것을 관측했다. 우리는 또한 전이 학습 동안 Transformer 구조의 inductive bias를 돕는 것을 제안하면서 LSTM이 zero-shot performance에서의 higher variance를 억제하는 것을 관측했다.

Ablation studies

  • 우리는 세가지의 다양한 ablation studies를 수행했다. 첫번 째는 fine-tuning 동안 auxiliary LM objective 없이 우리의 모델의 성능을 관측했다. 우리는 NLI tasks와 QQP tasks가 auxiliary objective의 도움을 받는 것을 관측했다. 전체적으로 larger datasets는 auxiliary objective 로부터 도움을 받지만 smaller datasets은 그렇지 않는다.

  • 두번 째로 우리는 같은 framework를 사용하면서 single layer 2048 unit을 갖는 LSTM과 Transformer를 비교하면서 영향을 분석했다. 우리는 Transformer 대신 LSTM을 사용하면 평균적으로 5.6 score가 떨어지는 것을 관측했다. LSTM은 오직 MRPC dataset에서 Transformer보다 성능이 좋았다.

  • 우리는 pre-training 없이 지도 학습인 target tasks로 학습된 transformer 구조를 비교했다. 우리는 pre-training의 부재는 full model과 비교했을 때 14.8%의 성능 감소를 초래하며 모든 tasks에서 성능을 좋지 않게 한다는 것을 관측했다.

Conclusion

  • 우리는 generative pre-training과 discriminative fine-tuning을 통한 single task-agnostic model과 natural language understanding을 성취하기 위한 framework를 소개했다. long stretches of contiguous text와 다양한 corpus를 pre-training 하면서 우리의 모델은 우리가 평가한 12개의 datasets 중 9개를 SOTA를 달성하면서 question answering, semantic similarity assessment, entailment determination, text classification과 같은 tasks를 해결하도록 전이학습 되는 long-range dependencies를 처리하는 상당한 지식과 능력을 획득했다. 성능을 향상시키기 위해 discriminative tasks로 비지도 학습인 pre-training을 사용하는 것은 Machine Learning research의 중요한 부분이 되었다. 우리의 work는 상당한 성능 향상을 성취하는 것은 실제로 가능하는 점을 제안하고, 이러한 approach는 어떤 models와 data sets과도 잘 작용한다는 hints를 제공한다. 우리는 이것이 natural language understanding과 다른 domains 둘다 어떻게, 언제 비지도 학습이 작용하는지 이해를 향상시키면서 비지도 학습으로의 새로운 연구를 가능하게 하는 것을 도울 것이라고 희망한다.

Tags:

Categories:

Updated: