텍스트를 벡터로 표현하는 Language Representation은 natural language understanding(NLU) task에 필수 요소입니다. NLU task를 수행을 위해 multi-task learning, language model pre-training 두 가지 접근 법이 주목할만 합니다. 해당 논문에서는 두 개의 접근 법을 결합하여 MT-DNN을 제안하는 것이 목적입니다.
MTL은 여러 supervised task를 결합하여 하나의 모델에 모두 학습시키는 것입니다.
‘인간이 과거에 task를 수행하기 위해 배웠던 지식이 새로운 task를 수행할 때 도움이 될 것’이라는 생각으로부터 영감을 받았습니다. Representation learning에 MTL의 적용은 두 가지의 장점이 있습니다.
많은 양의 unlabeled 데이터를 unsupervised objectives를 사용하여 보편적인 language representation를 학습한 모델을 만드는 것입니다. 이후 NLU 여러 task에 맞게 fine-tune하여 task를 수행합니다. 대표적으로 ELMo, GPT, BERT 등이 있습니다.
저자들은 MTL과 Language Model Pre-training을 결합하여 text representation의 학습을 향상시키고 다양한 NLU task의 성능을 높이고자 합니다.
MT-DNN 모델은 아래 4개 유형의 NLU task를 결합합니다.
MT-DNN 모델의 아키텍처입니다.
아래 부분은 모든 task에서 공통으로 사용되는 “shared layers”이고, 윗 부분은 각 task에 맞도록 결과를 출력하는 “task-specific layers”이다.
Lexicon encoder는 입력 문장을 토큰화한 뒤, 각 토큰을 벡터 공간에 임베딩하는 역할을 합니다.
BERT와 동일하게 mulit-layer bidirectional Transformer encoder를 사용합니다. Transformer의 Self-Attention으로 문장 내 관계 정보를 반영하여 문맥정보가 담긴 임베딩 벡터를 생성합니다. 특히 MT-DNN은 여러 task에 대해 학습을 수행할 때, shared layers는 다양한 representation을 학습할 수 있게 됩니다.
첫 번째 토큰인 [CLS]를 활용하여 입력된 문장을 분류합니다.
[CLS] 토큰을 활용하여 문장 쌍의 유사성 score를 계산합니다.
하나의 문장 쌍(hypothesis, premise) 간에 의미 관계를 분류합니다. 해당 논문에서는 이를 위해 Stochastic Answer Network(SAN)을 사용합니다. SAN은 Multi-step reasoning을 통해 관계를 유추하는데, 입력 값들을 순차적으로 받으며 예측을 수정해나갑니다.
SAN을 사용하기에 앞서 입력 값으로 문장 H(hypothesis)와 P(premise)에 대해 transformer encoder 를 통해 연산된 embedding 값을 사용합니다. 아래 수식의 와 입니다.
각 time step에서 분류 예측은 아래 식을 통해 진행됩니다.
K번의 multi-step reasoning을 통해 예측했다면, 아래 식과 같이 K번의 결과들을 평균내어 최종 결과를 예측합니다.
Question과 Answer 문장을 하나씩 relevance score를 아래 식과 같이 계산하고, 가장 높은 점수를 보이는 answer가 주어진 question과 관련이 있다고 판단합니다.
MT-DNN은 pretraining과 multi-task learning 두 단계의 training을 수행합니다.
Pretraining 단계에서는 MLM, NSP 두 개의 unsupervised objectives를 사용하여 Lexicon encoder와 Transformer encoder의 파라미터를 학습시킵니다(BERT와 동일).
Multi-task learning 단계에서는 mini-batch SGD를 사용하여 shared layers, task-specific layers의 파라미터를 학습시킵니다. 각 epoch에서 mini-batch는 9개의 GLUE task 중 무작위로 하나의 task를 선택하고 해당 데이터셋으로 구성한 뒤, 학습을 수행합니다.
추가로 본문에 classification, similarity, relevance ranking task별 MTL 학습에 사용된 objectives도 제시되어 있습니다.
GLUE에 대한 성능 결과(Accuracy/F1-score)입니다.
GLUE와 동일하게 이번에는 SNLI, SciTail task에 MT-DNN을 적용했을 경우의 성능을 측정해 보았습니다. Training 데이터를 0.1%, 1%, 10%, 100%로 바꿔보며 실험을 수행했습니다.
각 task 도메인의 모든 학습 데이터를 사용하여, 이전의 모델들과 성능을 비교해보았습니다.
Opinion
Reference)
[MT-DNN 논문 Review] Multi-Task Deep Neural Networks for Natural Language Understanding