MT-DNN
(Multi-Task Deep Neural
Networks for Natural Language
Understanding )
2019. 00. 00
Copyright© 2018 Tmax. All Rights Reserved.
I. Language Representation
II. GLUE Tasks
III. Model Architecture
IV. Evaluation
I. Language Representation
II. GLUE Tasks
III. Model Architecture
IV. Evaluation
2/21
핵심 요약
• MT-DNN은 BERT에 Multi-task learning(GLUE의 9개의 Task 활용)을 수행하여
성능 개선한 모델
- 다양한 Task의 Supervised Dataset을 모두 사용하여 대용량 데이터로 학습
- Multi-task Learning을 통해 특정 Task에 Overfitting되지 않도록 Regularization
• 다음의 Task들에 대해 State-of-the Art 성능 (BERT 보다 높은 성능)
- 8개의 GLUE Task
- SNLI와 SciTail Task로 Domain Adaptation
- Fine Tuning 데이터가 적을 때에도 Classification 정확도가 꽤 높음
3/21
Language Representation
• Natural Language Understanding에서 Word 혹은 Sentence의 Vector Representation을
생성하는 방식 2가지
• Language Model Pre-Training
• Unlabeled dataset을 활용한 학습 방법
• (대표적인 방법)문장에서 특정 단어를 맞추는 방식으로 Unsupervised Learning
• ELMO, BERT….
• Multi-task learning
• 여러 Task의 Labeled Dataset을 활용하여 1개의 모델 Supervised Learning
• 어떤 Task에서의 학습 효과가 다른 Task의 성능에 영향을 미칠 것이라는 가정
• Ex) 스키를 잘 타는 사람이 스케이트를 잘 탈 수 있음
4/21
Langue Model Pre-Training – BERT
• Book Corpus와 Wikipedia Data를 활용하여 다음 2가지 방식으로 학습
• Masked Word Prediction
• 문장이 주어졌을 때 특정 Word를 Masking하고 다른 주변 Word들을 활용하여 해당 Word를
예측하는 방식으로 학습
• ex) my dog is [Mask] -> my dog is hairy
• Next Sentence Prediction
• 문장이 2개 주어졌을 때, 2개의 문장이 연결된 문장인지 아닌지를 Classification 하는 방식으로
학습
- ex) Input = the man went to the store [SEP] he bought a gallon of milk → IsNext
5/21
Multi Task Learning
• Supervised Task를 1개의 모델을 통해 학습
• GLUE의 9개 Task 활용
• Multi-Task Learning의 이점은?
• 대용량 Supervised Dataset을 활용하여 학습 가능
- Supervised Dataset은 Task에 따라 데이터가 적을 경우 성능이 상당히 저하되지만, Multi-task Learning 시 이러한
데이터를 모두 합쳐서 활용 가능
• 모델이 특정 Task에 Overfitting 되지 않도록 Regularization 효과를 줄 수 있음
• 어떤 식으로 Multi-Task Learning이 가능한건지??
-> 뒤에서 설명
6/21
GLUE Tasks
• Single Sentence Classification
• 하나의 문장이 Input으로 주어졌을 때 class를 분류하는 Task
• CoLA - 문장이 문법적으로 맞는지 분류 (True/False)
• 1 (Acceptable) The book was written by John.
• 0 (Unacceptable) Books were sent to each other by the students.
• SST-2 - 영화 Review 문장의 감정 분류 (Positive/Negative)
• Text Similarity
• 문장 쌍이 주어졌을 때, 점수를 예측하는 Regression Task
• STS-B - 문장 간의 의미적 유사도를 점수로 예측
• Pairwise Text Classification
• Relevance Ranking
7/21
GLUE Tasks
• Single Sentence Classification
• Text Similarity
• Pairwise Text Classification
• 문장 쌍이 주어졌을 때, 문장의 관계를 분류하는 Task
• RTE, MNLI - 문장 간의 의미적 관계를 3가지로 분류 (Entailment, Contradiction Neutral)
• QQP, MRPC - 문장 간 의미가 같음 여부를 분류 (True/False)
• Relevance Ranking
8/21
GLUE Tasks
• Single Sentence Classification
• Text Similarity
• Pairwise Text Classification
• Relevance Ranking
• 질문 문장과 지문이 주어졌을 때, 지문 중 정답이 있는 문장을 Ranking을 통해 찾는 Task
• QNLI - 질문, 지문 중 한 문장이 쌍으로 주어졌을 때 해당 지문 문장에 질문의 답이 있는지 여부를
분류 (True/False)
- MT-DNN에서는 이를 Rank 방식으로 바꾸어 모든 지문 문장에 정답이 있을 가능성을 Scoring 하여 가장 높은 지문
문장만을 True로 분류하는 방식으로 수행
9/21
Model Architecture
10/21
Model – Lexicon Encoder
• Input을 생성하는 Layer로 다음 3개의 Embedding으로 구성
• Token Embedding - Wordpiece Embedding Vector
- 1번째 Token은 [CLS] Token으로 추후 Output에서 Classification 등을 위해 사용됨
- 각 문장은 Wordpiece로 Tokenization 된 Vector로 구성되며 [SEP] Token이 두 문장 사이의
구분자로 사용됨
• Sentence Embedding - 1번째 혹은 2번째 문장을 표시해주는 Vector
• Positional Embedding - 각 Token의 위치 정보를 표현하는 Vector
11/21
Model – Transformer Encoder
• Lexicon Encoder로 부터 각 Token의 Input Vector를 입력으로 받아 Transformer를 통해
각 Token의 Output Vector를 추출
• Transformer이기 때문에 생성된 Vector는 Self Attention을 통해 주변 Token 정보를
반영한 Contextual Embedding Vector
12/21
Model – Single Sentence Classification
• Single Sentence Classification
• CoLA - 문장이 문법적으로 맞는지 Classification
• SST-2 – Movie Review 문장의 Sentiment Classification (Positive / Negative)
class Input
Sentence
Task specific
Parameter
Class
Token
13/21
Model – Text Similarity Output
• Text Similarity
• STS-B – 문장 Pair의 Similarity를 1~5점으로 Regression
Input
Sentence
Pair
Sigmoid Task specific
Parameter
Class
Token
14/21
Model – Pairwise Text Classification Output (1)
• Pairwise Text Classification
• MNLI – 문장 Pair의 entailment, contradiction, neutral을 Classification
• RTE – 문장 Pair의 Entailment 여부를 Binary Classification
• QQP, MRPC – 문장 Pair의 의미 같음 여부를 Binary Classification
• Stochastic Answer Network(SAN)를 활용하여 Classification
• 핵심 Idea - Multi-step Reasoning
• RNN을 활용하여 2번 이상의 예측을 통해 문장 간 관계를 분류
• 다음 2가지 문장이 있을 때 한번에 문장 간 관계를 분류하기는 쉽지 않음
• If you need this book, it is probably too late unless you are about to take an SAT or GRE
• It’s never too late, unless you’re about to take a test.
• 두 문장이 Cotradiction이라고 분류하기 위해서는 SAT, GRE가 Test라고 예측 단계가 먼저 필요함
15/21
Model – Pairwise Text Classification Output (2)
• RNN을 통해 Hypothesis 문장과 Premise 문장 간 관계를 예측
• Hidden State – Hypothesis Token Vector들의 Weighted Sum
• Input – Premise Token Vector들의 Weighted Sum
• 이전 Hidden State를 활용하여 Weight 계산
GRU!"#$ !"
%"
Hypothesis 문장
Token의 Vector Premise 문장
Token의 Vector
16/21
Model – Pairwise Text Classification Output (3)
• Time step 마다 hidden state와 input을 각각 문장의 Vector로 활용하여 문장 간 관계 분류
• 문장 간 관계를 예측 하기 위해 다음 수식과 같이 Heuristic하게 Vector를 구성하여 예측
• 문장 간 거리, Similarity(dot-product)를 문장 간 관계를 나타내는 값으로 활용
• K step 예측을 했다면 평균 값을 최종 예측 값으로 사용
각 문장의
Vector
문장 간
거리
문장 간
Similarity
17/21
Model – Relevance Ranking Output
• Relevance Ranking
• QNLI – 질문과 지문 pair에서 지문에 질문에 대한 답이 있는지 여부를 Binary Classification
• Sigmoid function을 통해 모든 answer candidate 문장을 scoring을 하고 Ranking을 통해
1개의 문장만을 True로 분류
Input
Sentence
Pair
Sigmoid Task
specific
Parameter
Class
Token
18/21
Training Procedure
• 9개의 GLUE Dataset을 모아서 Training dataset을
구성
• Batch 단위로 Training 시 마다 Shared Layer와 해당
Task의 Layer를 학습
Answer가
포함된 문장
19/21
Evaluation – Testing set 평가 결과
• BERT (80.4) -> MT-DNN (82.2) 1.8% 성능 향상
• BERT large로 학습한 다음에 GLUE Task 9개로 Fine Tuning
Relevance
Ranking
Pairwise Text
Classification
Single
Sentence
Classification
Text
Similarity
Regression
NLI ProblemSemantically
Equivalent Problem
데이터가 적을 때 더
높은 성능 향상
20/21
Evaluation – Development set 평가 결과
• ST-DNN – Multi Task Learning을 하지 않고 Task Specific Layer만 바꾸어서(SAN,
Pairwise Ranking loss) 학습한 모델
• SAN을 사용하여 얻은 성능 향상 효과가 크지는 않은듯… (Class Token을 쓰지 않고 Token
Embedding을 썼다는 정도 의미…)
• QNLI는 Ranking Approach로 큰 성능 향상
Stochastic Answer
Network Relevance
Ranking Loss
Accuracy / F1
21/21
Evaluation – Domain Adaptation
• BERT, MT-DNN에 각각 새로운 Task Specific Layer를 붙여서 학습 및 평가 결과
• NLI Dataset인 SNLI, SciTail을 활용하여 Domain Adaptation 평가
• 0.1%, 1%, 10%, 100%로 평가
• 데이터가 적을 때 MT-DNN의 성능이 BERT 보다 훨씬 높은 성능을 보임
Q & A
감사합니다
24/21
GLUE Dataset

More Related Content

PPTX
PPT - Enhancing the Locality and Breaking the Memory Bottleneck of Transforme...
PDF
kaggle NFL 1st and Future - Impact Detection
PDF
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
PDF
Deep Learning for Chatbot (2/4)
PDF
Deep Learning for Chatbot (1/4)
PDF
딥러닝 기반의 자연어처리 최근 연구 동향
PDF
Improving Language Understanding by Generative Pre-Training
PPT - Enhancing the Locality and Breaking the Memory Bottleneck of Transforme...
kaggle NFL 1st and Future - Impact Detection
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (1/4)
딥러닝 기반의 자연어처리 최근 연구 동향
Improving Language Understanding by Generative Pre-Training

Similar to MT-DNN (20)

PDF
파이썬을 활용한 챗봇 서비스 개발 3일차
PDF
MultiModal Embedding integrates various data types, like images, text, and au...
PPTX
2009 DevC Seongnam - NLP
PDF
검색엔진에 적용된 딥러닝 모델 방법론
PDF
[study] character aware neural language models
PPTX
211223 지승현 text generation survey
PPTX
딥러닝을 이용한 자연어처리의 연구동향
PDF
Neural module Network
PDF
네이버 NLP Challenge 후기
PDF
파이썬을 활용한 자연어 분석
PDF
메이크챗봇 자연어기초
PDF
서울 R&D 캠퍼스 자연어 수업자료
PDF
One-Shot Learning
PDF
Rnn개념정리
PDF
Natural Language Processing(NLP) - basic 2
PPTX
A joint many task model
PDF
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
PPTX
A neural image caption generator
PDF
[study] Long Text Generation via Adversarial Training with Leaked Information
PDF
[224] backend 개발자의 neural machine translation 개발기 김상경
파이썬을 활용한 챗봇 서비스 개발 3일차
MultiModal Embedding integrates various data types, like images, text, and au...
2009 DevC Seongnam - NLP
검색엔진에 적용된 딥러닝 모델 방법론
[study] character aware neural language models
211223 지승현 text generation survey
딥러닝을 이용한 자연어처리의 연구동향
Neural module Network
네이버 NLP Challenge 후기
파이썬을 활용한 자연어 분석
메이크챗봇 자연어기초
서울 R&D 캠퍼스 자연어 수업자료
One-Shot Learning
Rnn개념정리
Natural Language Processing(NLP) - basic 2
A joint many task model
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
A neural image caption generator
[study] Long Text Generation via Adversarial Training with Leaked Information
[224] backend 개발자의 neural machine translation 개발기 김상경
Ad

MT-DNN

  • 1. MT-DNN (Multi-Task Deep Neural Networks for Natural Language Understanding ) 2019. 00. 00 Copyright© 2018 Tmax. All Rights Reserved.
  • 2. I. Language Representation II. GLUE Tasks III. Model Architecture IV. Evaluation I. Language Representation II. GLUE Tasks III. Model Architecture IV. Evaluation
  • 3. 2/21 핵심 요약 • MT-DNN은 BERT에 Multi-task learning(GLUE의 9개의 Task 활용)을 수행하여 성능 개선한 모델 - 다양한 Task의 Supervised Dataset을 모두 사용하여 대용량 데이터로 학습 - Multi-task Learning을 통해 특정 Task에 Overfitting되지 않도록 Regularization • 다음의 Task들에 대해 State-of-the Art 성능 (BERT 보다 높은 성능) - 8개의 GLUE Task - SNLI와 SciTail Task로 Domain Adaptation - Fine Tuning 데이터가 적을 때에도 Classification 정확도가 꽤 높음
  • 4. 3/21 Language Representation • Natural Language Understanding에서 Word 혹은 Sentence의 Vector Representation을 생성하는 방식 2가지 • Language Model Pre-Training • Unlabeled dataset을 활용한 학습 방법 • (대표적인 방법)문장에서 특정 단어를 맞추는 방식으로 Unsupervised Learning • ELMO, BERT…. • Multi-task learning • 여러 Task의 Labeled Dataset을 활용하여 1개의 모델 Supervised Learning • 어떤 Task에서의 학습 효과가 다른 Task의 성능에 영향을 미칠 것이라는 가정 • Ex) 스키를 잘 타는 사람이 스케이트를 잘 탈 수 있음
  • 5. 4/21 Langue Model Pre-Training – BERT • Book Corpus와 Wikipedia Data를 활용하여 다음 2가지 방식으로 학습 • Masked Word Prediction • 문장이 주어졌을 때 특정 Word를 Masking하고 다른 주변 Word들을 활용하여 해당 Word를 예측하는 방식으로 학습 • ex) my dog is [Mask] -> my dog is hairy • Next Sentence Prediction • 문장이 2개 주어졌을 때, 2개의 문장이 연결된 문장인지 아닌지를 Classification 하는 방식으로 학습 - ex) Input = the man went to the store [SEP] he bought a gallon of milk → IsNext
  • 6. 5/21 Multi Task Learning • Supervised Task를 1개의 모델을 통해 학습 • GLUE의 9개 Task 활용 • Multi-Task Learning의 이점은? • 대용량 Supervised Dataset을 활용하여 학습 가능 - Supervised Dataset은 Task에 따라 데이터가 적을 경우 성능이 상당히 저하되지만, Multi-task Learning 시 이러한 데이터를 모두 합쳐서 활용 가능 • 모델이 특정 Task에 Overfitting 되지 않도록 Regularization 효과를 줄 수 있음 • 어떤 식으로 Multi-Task Learning이 가능한건지?? -> 뒤에서 설명
  • 7. 6/21 GLUE Tasks • Single Sentence Classification • 하나의 문장이 Input으로 주어졌을 때 class를 분류하는 Task • CoLA - 문장이 문법적으로 맞는지 분류 (True/False) • 1 (Acceptable) The book was written by John. • 0 (Unacceptable) Books were sent to each other by the students. • SST-2 - 영화 Review 문장의 감정 분류 (Positive/Negative) • Text Similarity • 문장 쌍이 주어졌을 때, 점수를 예측하는 Regression Task • STS-B - 문장 간의 의미적 유사도를 점수로 예측 • Pairwise Text Classification • Relevance Ranking
  • 8. 7/21 GLUE Tasks • Single Sentence Classification • Text Similarity • Pairwise Text Classification • 문장 쌍이 주어졌을 때, 문장의 관계를 분류하는 Task • RTE, MNLI - 문장 간의 의미적 관계를 3가지로 분류 (Entailment, Contradiction Neutral) • QQP, MRPC - 문장 간 의미가 같음 여부를 분류 (True/False) • Relevance Ranking
  • 9. 8/21 GLUE Tasks • Single Sentence Classification • Text Similarity • Pairwise Text Classification • Relevance Ranking • 질문 문장과 지문이 주어졌을 때, 지문 중 정답이 있는 문장을 Ranking을 통해 찾는 Task • QNLI - 질문, 지문 중 한 문장이 쌍으로 주어졌을 때 해당 지문 문장에 질문의 답이 있는지 여부를 분류 (True/False) - MT-DNN에서는 이를 Rank 방식으로 바꾸어 모든 지문 문장에 정답이 있을 가능성을 Scoring 하여 가장 높은 지문 문장만을 True로 분류하는 방식으로 수행
  • 11. 10/21 Model – Lexicon Encoder • Input을 생성하는 Layer로 다음 3개의 Embedding으로 구성 • Token Embedding - Wordpiece Embedding Vector - 1번째 Token은 [CLS] Token으로 추후 Output에서 Classification 등을 위해 사용됨 - 각 문장은 Wordpiece로 Tokenization 된 Vector로 구성되며 [SEP] Token이 두 문장 사이의 구분자로 사용됨 • Sentence Embedding - 1번째 혹은 2번째 문장을 표시해주는 Vector • Positional Embedding - 각 Token의 위치 정보를 표현하는 Vector
  • 12. 11/21 Model – Transformer Encoder • Lexicon Encoder로 부터 각 Token의 Input Vector를 입력으로 받아 Transformer를 통해 각 Token의 Output Vector를 추출 • Transformer이기 때문에 생성된 Vector는 Self Attention을 통해 주변 Token 정보를 반영한 Contextual Embedding Vector
  • 13. 12/21 Model – Single Sentence Classification • Single Sentence Classification • CoLA - 문장이 문법적으로 맞는지 Classification • SST-2 – Movie Review 문장의 Sentiment Classification (Positive / Negative) class Input Sentence Task specific Parameter Class Token
  • 14. 13/21 Model – Text Similarity Output • Text Similarity • STS-B – 문장 Pair의 Similarity를 1~5점으로 Regression Input Sentence Pair Sigmoid Task specific Parameter Class Token
  • 15. 14/21 Model – Pairwise Text Classification Output (1) • Pairwise Text Classification • MNLI – 문장 Pair의 entailment, contradiction, neutral을 Classification • RTE – 문장 Pair의 Entailment 여부를 Binary Classification • QQP, MRPC – 문장 Pair의 의미 같음 여부를 Binary Classification • Stochastic Answer Network(SAN)를 활용하여 Classification • 핵심 Idea - Multi-step Reasoning • RNN을 활용하여 2번 이상의 예측을 통해 문장 간 관계를 분류 • 다음 2가지 문장이 있을 때 한번에 문장 간 관계를 분류하기는 쉽지 않음 • If you need this book, it is probably too late unless you are about to take an SAT or GRE • It’s never too late, unless you’re about to take a test. • 두 문장이 Cotradiction이라고 분류하기 위해서는 SAT, GRE가 Test라고 예측 단계가 먼저 필요함
  • 16. 15/21 Model – Pairwise Text Classification Output (2) • RNN을 통해 Hypothesis 문장과 Premise 문장 간 관계를 예측 • Hidden State – Hypothesis Token Vector들의 Weighted Sum • Input – Premise Token Vector들의 Weighted Sum • 이전 Hidden State를 활용하여 Weight 계산 GRU!"#$ !" %" Hypothesis 문장 Token의 Vector Premise 문장 Token의 Vector
  • 17. 16/21 Model – Pairwise Text Classification Output (3) • Time step 마다 hidden state와 input을 각각 문장의 Vector로 활용하여 문장 간 관계 분류 • 문장 간 관계를 예측 하기 위해 다음 수식과 같이 Heuristic하게 Vector를 구성하여 예측 • 문장 간 거리, Similarity(dot-product)를 문장 간 관계를 나타내는 값으로 활용 • K step 예측을 했다면 평균 값을 최종 예측 값으로 사용 각 문장의 Vector 문장 간 거리 문장 간 Similarity
  • 18. 17/21 Model – Relevance Ranking Output • Relevance Ranking • QNLI – 질문과 지문 pair에서 지문에 질문에 대한 답이 있는지 여부를 Binary Classification • Sigmoid function을 통해 모든 answer candidate 문장을 scoring을 하고 Ranking을 통해 1개의 문장만을 True로 분류 Input Sentence Pair Sigmoid Task specific Parameter Class Token
  • 19. 18/21 Training Procedure • 9개의 GLUE Dataset을 모아서 Training dataset을 구성 • Batch 단위로 Training 시 마다 Shared Layer와 해당 Task의 Layer를 학습 Answer가 포함된 문장
  • 20. 19/21 Evaluation – Testing set 평가 결과 • BERT (80.4) -> MT-DNN (82.2) 1.8% 성능 향상 • BERT large로 학습한 다음에 GLUE Task 9개로 Fine Tuning Relevance Ranking Pairwise Text Classification Single Sentence Classification Text Similarity Regression NLI ProblemSemantically Equivalent Problem 데이터가 적을 때 더 높은 성능 향상
  • 21. 20/21 Evaluation – Development set 평가 결과 • ST-DNN – Multi Task Learning을 하지 않고 Task Specific Layer만 바꾸어서(SAN, Pairwise Ranking loss) 학습한 모델 • SAN을 사용하여 얻은 성능 향상 효과가 크지는 않은듯… (Class Token을 쓰지 않고 Token Embedding을 썼다는 정도 의미…) • QNLI는 Ranking Approach로 큰 성능 향상 Stochastic Answer Network Relevance Ranking Loss Accuracy / F1
  • 22. 21/21 Evaluation – Domain Adaptation • BERT, MT-DNN에 각각 새로운 Task Specific Layer를 붙여서 학습 및 평가 결과 • NLI Dataset인 SNLI, SciTail을 활용하여 Domain Adaptation 평가 • 0.1%, 1%, 10%, 100%로 평가 • 데이터가 적을 때 MT-DNN의 성능이 BERT 보다 훨씬 높은 성능을 보임
  • 23. Q & A