1. sequential model의 어려운 점 sequence data가 다루기 어렵다는 이유 중 input의 차원이 어느 정도인지 알기 어렵다는 점이 있었다. 추가로 시간 순서가 바뀌어서 들어온다든지 일부가 잘려서 들어온다든지 아니면 섞여서 들어온다든지 그래서 또 다루기가 어렵다 2. transformer 핵심 아이디어 위와 같은 input의 무작위성 때문에 sequence data를 다루기 어렵다는 한계를 극복하고자 등장했다. 처음 도입되었을 때는 기계어 번역 문제를 풀기 위해 도입했다. 지금은 이미지 분류, detection 등 다방면에서 활용되고 있다. sequence를 다루는 모델인데 그 동안 RNN이 재귀적구조를 활용했다면 Transformer은 attention구조를 활용했다. 3. tra..
1. MRC와 ODQA는 무슨차이인가 MRC는 문서가 주어지고 그에 대한 질문이 함께 주어지면 모델이 문서를 읽고 질문에 대한 답을 내는 방식 ODQA는 문서가 주어지지 않았는데 질문이 주어지면 질문과 관련된 문서를 찾고 그 문서로부터 모델이 질문에 대한 답을 내는 방식 2. open domain vs. open book vs. closed book open domain은 질문이 주어질 때 관련된 문서를 찾아 읽고 질문에 답을 내는 task 자체를 나타냄 open book은 질문을 던졌을 때 모델이 질문에 답하기 위해 ‘책’이라고 할 수 있는 거대한 corpus를 접근하게 하는것 closed book은 corpus없이 질문을 받으면 모델이 가지고 있는 사전지식만을 활용하여 정답을 냄 3. core ide..
1. introduction text-to-text format을 적극적으로 밀었던 사실상 첫번째 model? BART랑 유사하면서도 text-to-text format을 활용하여 거의 모든 자연어처리 문제를 text-to-text format으로 해결하자고 제안했다 자세한 부분은 조금 다르겠지만 seq-to-seq original transformer와 유사한 구조를 사용했다 2. pre-training 다양한 모델 구조, 다양한 사전학습목표, 방대한 사전학습용 데이터셋, 다양한 fine tuning 방법등을 마련하여 체계적으로 실험을 수행 당연하지만 이들 중 가장 좋은 방식을 선택하여 방대한 규모의 모델을 학습시킴 BERT나 BART와 마찬가지로 T5같은 모델을 방대한 언어에 사전학습시켜서 fine-..
1. motivation GPT-2로 closed question answering의 가능성을 본 이후로 등장한 방법론 closed question answering는 generation MRC와 유사하다. 단, 둘의 차이라면 전자는 지문없이 질문만 들어간다 closed question answering도 BART같은 seq-to-seq transformer기반의 모델을 사용함 text-to-text format은 그 이름처럼 모든 종류의 NLP task를 text에서 text로 mapping하는 방식으로 치환하겠다는 방법론 input text 앞에 task에 대한 설명을 붙여준다. 그러면 모델이 처음 보는 task더라도 가지고 있는 언어 지식만으로 task를 이해하여 수행한 output을 출력할 수 있..
text 데이터는 보통 길이가 서로 달라서 전처리할때 padding을 해서 길이를 맞춰준다고 보통 그러는데 왜 해야할까? 보통 batch형태로 데이터를 만들어서 모델을 학습시키는데, 길이가 서로 다르면 batch가 안만들어진다 데이터셋을 다음과 같이 구현하고 dataloader를 만들어본다 class ChatbotDataset(Dataset): def __init__(self, dataset, tokenizer, max_length = 438): self.tokenizer = tokenizer self.data = dataset self.max_length = max_length def __getitem__(self, i): inputs = tokenizer(self.data[i][1], return_t..