호돌찌의 AI 연구소
728x90
article thumbnail
Pretrained Language Model - 14. BART
AI/NLP 2021. 11. 11. 22:02

이전 글 까지 2가지 종류의 언어 모델을 언급했었습니다. 전통적인 방식의 언어 모델인 이전 단어들을 통해 다음 단어를 예측하는 Auto-regressive Model과 앞과 뒤 단어들을 통해 Masked 된 빈칸을 예측하는 MLM 방식의 Autoencoding Model이었습니다. 이 Model들은 Transformer의 Decoder만을 활용하거나, Encoder만을 활용하는 것이었습니다. 이번 글은 Encoder와 Decoder를 모두 활용하면서 NLG와 NLU Task를 전부 가능케 하는 PLM인 BART(Bidirectional and Auto-Regressive Transformers, 2018)를 소개하고자 합니다. 1. Pretrain - Encoder, Decoder 모두 사용하여 사전학습..

article thumbnail
Pretrained Language Model - 13. RoBERTa
AI/NLP 2021. 11. 5. 19:00

BERT를 Robust 하게 최적화하는 방법에 대해서 논의해보려고 합니다. 정말 사랑받는 모델인 BERT이지만, 학습하는데 많은 시간과 돈이 들었는데, 정말 hyperparameter가 잘 최적화가 되었는가에 대한 의문으로부터 출발합니다. 1. RoBERTa vs BERT - BERT보다 10배 이상 더 많은 데이터를 더 오래오래 학습시켰습니다. - 안그래도 말 많은 NSP task, 불필요하다고 판단하여 제거를 하였습니다. - 모든 샘플들에 대해 Max sequence length를 512로 맞춰서 구성하였습니다. 길게 길게 입력을 주었습니다. - 기존 BERT에서는 Pretrain 데이터에 대해서 masking을 정적으로 해놓고 들어가는데(한번 빈칸 뚫고 그냥 쭈욱 진행했다는 점), RoBERTa는 ..

article thumbnail
Pretrained Language Model - 11. GPT
AI/NLP 2021. 10. 31. 17:29

이전 시간에는 Language Model과 Tokenization(BPE Algorithm)에 대해서 다루었습니다. 본격적으로 PLM을 하나씩 언급해볼 예정입니다. 먼저 PLM의 유형들이 어떤 것이 있는지 알아보면 다음과 같습니다. 1. PLM의 유형 - Autoregressive models : Open AI의 GPT와 같이 NLG Task에 강점이 있는 모델을 뜻하며, Transformer의 Decoder만을 이용해 LM을 구성합니다. - Autoencoder models : 가장 많이 활용되며, 구글의 BERT와 같이 NLU Task(CLS, NER 등)에 강점이 있는 모델이며, Transformer의 Encoder를 통해 LM을 구성합니다. Bi-directional LM이 구현 가능하며 MLM,..

article thumbnail
Pretrained Language Model - 10. Tokenization
AI/NLP 2021. 10. 31. 15:41

NLP에서 데이터를 모델에 바로 집어넣는 것이 아닌 tokenization을 반드시 거쳐주어야 합니다. 문장 속 단어들은 여러 단어가 결합되어 나타나기 때문에, 반드시 이 것을 나누어서 컴퓨터가 더 이해하기 쉽게 작업을 거쳐주어야 합니다. 기호(괄호, 따옴표, 마침표 등)을 나누는 것은 기본이고 NLP에서 난이도가 최상위권인 한국어 같은 경우에는, Mecab과 같은 형태소 분석기를 활용하여 어미와 접사를 분리를 해주는 것이 일반적인 것으로 알려져 있습니다. 왜 이 작업이 필수인 이유는 가장 NLP 하면서 스트레스를 많이 받게 되는 OoV(Out of Vocabulary) 문제이기 때문입니다. 1. OoV(Out of Vocabulary) - 여러 단어가 결합되어 있을 때, 이를 나누지 않으면 Corpus..

article thumbnail
Pretrained Language Model - 9. Language Model
AI/NLP 2021. 10. 24. 14:30

저번 시간 Transformer에 대해 다루었습니다. 조금 더 기초로 돌아가보는 시간 가지겠습니다. NLP에서 가장 근간이 되는 것은 단연 Language Model 입니다. 매우 간단하게 설명하면 토익 Part 5와 같다고 생각하시면 되는데 다음의 빈칸에 알맞은 단어를 고르면 됩니다. 우리 인간은 상당히 많은 말을 일상에서 주고받기 때문에 자연스럽게 단어와 단어사이에 무슨 단어가 들어가야할 지, 어떤 단어가 들어가야 좋은지 학습이 매우 잘 되어 있습니다. 빈칸에 들어갈 확률이 어느게 높은지 잘 학습이 되어있다는 뜻입니다. 언어모델은 위처럼 쉽게 설명하면 그렇지만 수학적으로는 "문장의 확률 분포"를 나타낸 모델이라고 정의할 수 있습니다. 이전 단어들이 주어졌을 때 다음 단어의 확률을 예측하거나, 문장의 ..

article thumbnail
Pretrained Language Model - 8. Transformer
AI/NLP 2021. 10. 15. 18:00

저번 시간에 Attention에 대해 다루었습니다. 솔직히 제일 처음에 Transformer를 공부할 때 이해가 되질 않았던 기억이 있습니다. 또한 논문 'Attention is all you need'도 초보자가 읽기에 너무 힘들었던 기억이 납니다. 여러 글(Jay alammar의 블로그와 ratsgo님의 블로그)과 유튜브 영상 등을 보고 구현을 하다 보니 이해가 되었고 이를 간단히 정리하고자 합니다. Transformer는 Attention 연산을 통해 정보의 encoding과 decoding을 해결합니다. RNN은 구조상 순서의 정보가 반영이 되어있지만 Attention은 그렇지 않아 순서의 사상을 반영해야하기 때문에 Positional Encoding을 사용하여 반영합니다. Positional E..

article thumbnail
Pretrained Language Model - 6. ELMo
AI/NLP 2021. 10. 2. 14:29

이전 글 Word Embedding에서 동시에 출현하는 단어들이 비슷한 Embedding을 갖도록 학습이 되는 것이 목표라고 이야기를 했었습니다. 하지만 Pre-trained 된 Embedding 벡터를 활용하여 썼을 때 end-to-end 방식보다 성능이 떨어진다고 언급했었습니다. Skip-gram과 같은 Word Embedding 방식들은 단어들이 바뀌다고 해서 문장의 Word Embedding값들이 바뀌는 것이 아닙니다. 해당 Corpus 내의 데이터 셋 내에서는 Global 하게 고정된 것입니다. 정말 간단하게 이야기하면 '배'라는 단어는 3가지 뜻을 가질 수 있습니다. 과일의 배, 바다에 떠다니는 배, 사람 신체의 배 이렇게 동음이의어처럼 이런 경우들은 전부 고정된 임베딩 벡터라는 것이 큰 문제..

article thumbnail
Dacon 자연어 기반 기후기술분류 AI 경진대회 후기 _ 기술 Part (2)
후기/공모전 후기 2021. 9. 23. 19:42

이전 글에 이어서 후기를 이어나가겠습니다. 이전 글은 데이터 모양새와 대회 개요에 대한 내용이었다면, 이번 글은 문제를 푸는 방식에 대해 서술합니다. 6. 문제를 푼 방식 6-1. 전처리 및 결측 처리 - 결측은 공백을 채우거나, 전부 다 채워져 있는 '과제명' 열을 채우거나 했습니다. ML 쪽과 PLM 쪽은 조금씩 다르지만 대체적으로 전처리는 숫자들은 대체하고, 영문은 소문자로 대체, 특수문자와 띄어쓰기 등은 공백으로 처리하는 수준이었습니다. 기술적인 문제를 다 풀고 한계점을 찍었을 때 10에 9는 데이터 문제였던 경험이 있는데, 여기 단계가 성능을 엎을 만한 제일 중요한 단계였을 수 있습니다. 상위권이 쓰는 방법은 거의다 비슷하기 때문에, 과거에도 이런 부분을 조정을 했을 때 등수가 막 치고 올라가면..

article thumbnail
Pretrained Language Model - 5. Word Embedding
AI/NLP 2021. 9. 23. 18:40

1. Motivation Context Window에 단어가 동시에 나타나는 단어일수록 비슷한 단어를 가진다는 가정에서 출발을 합니다. 따라서 비슷한 단어는 비슷한 벡터 값을 가져야 합니다. 대표적인 방법으로는 Skip-gram이 있습니다. 주변 단어들을 맞추려고 하는 것이 큰 Goal이라고 할 수 있습니다. 문장의 문맥에 따라 정해지는 것이 아니고 Context Window 사이즈에 따라 Embedding의 성격이 바뀔 수 있음을 유의하셔야 합니다. 2. Basic Tactics 기본적인 개념은 상당히 AutoEncoder와 비슷합니다. y를 성공적으로 예측하기 위해 필요한 정보를 선택하며 압축을 합니다. 주변 단어를 예측하도록 하는 과정에서 적절한 단어의 Embedding을 구할 수 있습니다. 3. ..

article thumbnail
Pretrained Language Model - 4. Downstream Task
AI/NLP 2021. 9. 17. 21:17

Downstream Task는 간단히 말해 구체적으로 내가 풀고 싶은 문제들을 말합니다. 스택오버플로우에서 퍼온 영문 의미는 아래와 같습니다. Downstream tasks is what the field calls those supervised-learning tasks that utilize a pre-trained model or component. 1. 전형적인 NLP에서의 I/O 빨간색 부분이 Input, 파란색 부분이 Output이라고 할 때, NLP에서 자주 쓰이는 유형은 3가지로 정할 수 있습니다. 1) Many to One : 텍스트 분류 Task가 여기에 해당합니다. 긍정/부정이나 multiclass 등등 제일 많이 활용하는 분야가 분류 Task라고 생각합니다. 2) One to Man..