MAD Learning/NLP (8) 썸네일형 리스트형 RNN : Recurrent Neural Network RNN 모델은 자연어처리의 연구과 함께 대두되었던 딥러닝 모델로 Sequence data를 처리하여 특정 Sequence data로 출력으로 변환하도록 훈련된 모델이다. Recurrent 방식은 입력값을 보존하여 기억할 수 있도록 하기에 문장 형식의 데이터나 시계열 데이터, 소리 데이터 등에 적절하게 이용되곤 했다. 하지만 몇가지의 치명적인 단점이 있으며 Transformer 기반의 모델이 등장하고 나서는 자연어 처리 분야에서 많이 사용되지 않고 있다. 그럼에도 불구하고 해당 방식을 Computer Vision이나 여러 알고리즘에서 사용하기에 충분히 집고 넘어가 볼 필요성이 있다.우선 가장 심플한 버전인 Vanila RNN을 확인해자.아마 공부를 했던 사람들에게는 아주 익숙한 장면일 것 같은데, 여기에서.. [ 논문 리뷰 ] GPT-2 : Language Models are Unsupervised Multitask Learners 이번 리뷰하게될 논문은 GPT-2에 관한 내용이다. 이를 이해하기 위해 이전 논문인 GPT-1을 보고 와야한다(Architecture의 구조는 크게 변화하지 않음). 본 논문에서 가장 주의깊게 봐야할 부분은 해당 model에 Zero-shot 방식을 사용하기 위해 어떤 노력을 했는지 였다. | Zero-shot : 모델이 훈련 중에 본 적 없는 새로운 태스크나 데이터에 대해 예측을 수행하는 능력 당시의 ML system은 성능이 비약적으로 좋아지고 있지만, 약하고 민감하여 약간의 데이터 혹은 task의 변화에도 많은 영향을 받기때문에 논문에서는 당시 system이 compentent generalist보다는 narrow expert와 유사하다는 비유적인 표현을 사용하였다. 이는 좋은 성능을 만들어 내기 .. [논문 리뷰] ELMo : Deep contextualized word representations BERT 이전에 NLU task에서의 SOTA는 ELMo였다. 그래서 먼저 나온 Decoder 기반의 GPT와 ELMo, BERT는 항상 비교를 하며 사용되고는 한다. 이전의 논문 리뷰를 확인해보면 ELMo와 BERT의 차이점을 잘 정리하였기에 이번 리뷰에서는 ELMo에 대하여만 간단하게 리뷰를 남기고자 한다. ELMo는 Embeddings from Language Models의 약자로, 여러개의 사전 훈련된 (bi)LM으로부터 Embedding시키는 방식이다. 논문에서 소개하는 이 model의 장점을 크게 두가지로 나누어 볼 수 있다. 'high quality deep context-dependent representation & 다양한 NLP task에서의 성능 향상'으로 정리해보고자 한다. 여기에서.. [ 논문 리뷰 ] BERT : Pre-training of Deep Bidirectional Transformers for Language Understanding 이번에는 Transformer의 Encoder를 사용하여 만든 모델 BERT를 읽어 보았다. BERT(Bidirectional Encoder Representations from Transformers)는 2018년 Google AI에 의해 소개된 자연어 처리(NLP)를 위한 혁신적인 전이 학습(Transfer Learning) 모델로문장 혹은 단어의 맥락을 양방향에서 이해할 수 있는 능력을 통해, Transfer Learning(기계 번역), QA(질문 응답 시스템), Sementic Analysis(감정 분석) 등 다양한 NLP 태스크에서 뛰어난 성능을 보여주었다. 당시의 NLP 분야에서 SOTA로 여겨졌던 ELMo를 제치고 약 7개의 task에서 좋은 성능을 보였다. ELMo는 아직 자세하게 뜯어 .. [논문 리뷰] GPT-1 : Improving Language Understandingby Generative Pre-Training 지금은 우리 일상에서 자연스럽게 사용하고 있는 ChatGPT는 사실 처음부터 채팅을 위해서 만들지 않았다는 것을 이 논문을 통해 깨닫게 되었다. 본 논문에서는 총 4가지의 task로 나누어 모델 성능을 평가하였고 각 부분에서 좋은 성능을 보였다. 이 논문을 읽으며 여러 데이터셋을 만날 수 있게 되었는데 관련 데이터 셋에 대한 내용은 노션에 정리해 두었다. Abstract, Introduction, Related Work section의 중요한 내용을 위주로 Intro에 정리하였다. Intro - 대부분의 NLP 처리는(딥러닝) 수동으로 label된 많은 양의 data가 필요 → labeled data가 없는 부분에서는 적용 가능성(applicability)이 제한됨 - unlabeled data이 lab.. [논문 리뷰] Transformer : Attention Is All You Need 더보기 해당 논문의 내용은 Notion에 정리하였다. 따라서 Tistory에서는 '논문에 대한 리뷰'에 중점을 두고 할 생각이다. 현재 이 시점에서 아무래도 가장 유명한 NLP 모델은 GPT 모델이라고 할 수 있다. 하지만 자연어 처리를 이제 막 공부하기 시작한 나는 이렇게 유명한 초대형 모델들을 잘 소화시키기 위해 NLP 모델의 기념비라고 할 수 있는 Transformer를 논문을 읽고 사용해보며 곱씹을 필요성이 있다고 생각하였다. 내가 가장 먼저 배웠던 자연어 처리 모델은 RNN이다. 의미를 간단하게 정의 하자면 단어의 풀이 그대로 회귀하는(recurrent) 인공신경망(nn)이다. 자연어 처리에서 가장 지배적인 모델이 었던 RNN에서 Transformer가 SOTA로 지정된 이유는 Recurrent.. Encoding VS Embedding 개념을 보고 직접 사용해 보고를 반복을 하다 보면, 처음에는 아무생각이 없다가 점점 모호해지는 개념들이 몇몇 있다. 나에게는 encoding과 embedding이 그러한 단어 중 하나다. 각각의 단어는 '컴퓨터가 이해할 수 있는 단어로 변환'을 위해 사용이 되는데, 그럼 차이점은 뭘까? 그 정답은 '사용의 목적'과 '사용할 대상'에 있었다. Encoding Encoding은 주어진 정보를 특정한 형식으로 변환하는 과정이다. 이때 특정한 형식은 컴퓨터가 이해할 수 있는 형식(0과 1)을 의미한다. 또한 이때 사용할 수 있는 데이터들은 여러 정형 데이터 등을 의미하는데, 그 종류는 UTF-8, ASCII, CP949 등이 있다. Embedding 자연어 처리에서 하는 인코딩을 통칭한다면 할 수 있으므로, 자.. Subword Segmetation Algorithm(BPE, Wordpiece, Unigram) BPE(Byte Pair Encoding), Wordpiece, Unigram은 모두 텍스트 데이터를 subword로 분할하기 위한 Tokenization Algorithm이다. 하나의 단어는 더 작은 단위의 의미있는여러 서브 워드들의 조합을 구성된 것이 많기 때문에 subword tokonization 기법으로 translation 등의 여러 분야들에서 시도 중이다. Google 번역기는 이미 WPM(Word Piece Model)을 이용하여 2016년부터 사용이 되었고, Google이 무료로 오픈하여 실무에도 사용되고 있는 sentencepiece는 unigram algorithm을 사용하였다. BPE(Byte Pair Encoding) Algorithm 1994년에 '데이터 압축 알고리즘'으로 개발.. 이전 1 다음