ML & DL/NLP

· ML & DL/NLP
0. BERT 등장 BERT는 Google의 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 논문에서 처음 제안된 모델로, 이전의 Transformer의 인코더 기반의 언어 모델이다. 우선 unlabeld data로부터 pre-train을 진행한 후, 전이학습을 하는 모델이며, 하나의 output layer을 pre-trained BERT에 추가하여 다양한 NLP task에서 SOTA를 달성하였다. 기존의 사전학습된 벡터 표현을 이용하는 방법은 크게 2가지가 존재하였다. 0-1. feature based approach 대표적으로 ELMo가 있으며, pre-trained representations를 하나의 ..
· ML & DL/NLP
오늘은 생성 모델 GPT에 대한 강의를 정리해 보도록 하겠다. 0. GPT 등장 GPT 모델은 2018년에 OpenAI에서 "Improving Language Understanding by Generative Pre-Training"이라는 논문에서 처음 등장하였다. 일반적으로 자연어처리에서 특정 작업을 진행하기 위한 데이터셋이 부족하기 때문에 기존에도 unsupervised learning이나, semi-supervised learning 같이 라벨이 없는 비정형 텍스트를 사용하는 방법들이 계속 제안되었었다. 또한 ELMo 같이 LM을 기반으로 사전학습을 거친 모델들이 좋은 성능을 보인다는 것이 알려져 있었다. 그러나 RNN기반의 모델들은 구조적 한계가 있었다. 그래서 GPT는 Transformer이 등..
· ML & DL/NLP
0. 등장배경 Transformer: 트랜스포머는 2017년 구글이 발표한 "Attention in all you need"에서 발표된 모델로, Seq2Seq의 구조인 인코더 디코더 형태를 따르면서도 Attention으로만 구현된 모델이다. 이 모델은 RNN구조를 사용하지 않았음에도 번역 성능에서도 RNN보다 우수한 성능을 보여줬으며 지금까지도 다양한 분야에서 사용된다. RNN, LSTM, Seq2Seq 등의 언어모델들은 연속적인 입력에 대한 모델링을 개선하여 자연어처리 분야에서 많은 성과를 가져왔으며, Seq2Seq 등의 모델들은 시간에 의존적인 입력시퀀스에 따라 hidden state를 생성하여 입력을 처리하는 구조이며, 가변적인 입/출력을 처리하는데 효과적이었다. 그러나 고정된 크기의 context..
· ML & DL/NLP
0. ELMo 개요 Deep Contextualized Word Representations Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer. Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Vol aclanthology.org 이번에는 저번 Seq2Seq에 이어서 ELMo라는 임베딩 기을 공부해 볼 것이다. 우선 ELMo: Embeddings from L..
· ML & DL/NLP
0. 문장임베딩이란? 기존의 Word2Vec, Glove, FastText 등은 모두 단어 수준의 임베딩 모델이었다. 이러한 단어 수준의 임베딩 기법은 단어의 형태만 보고 동일한 단어로 판단하여, 자연어의 특성인 모호성(중의성 등)을 구분하기 어렵다는 한계가 있었다. 이에 문장수준의 언어 모델링 기법들이 등장하기 시작하였다. 언어 모델이란, 자연어 문장 혹은 단어에 확률을 할당하여 컴퓨터가 처리할 수 있도록 하는 모델로, 주어진 입력에 대해 가장 자연스러운 단어 시퀀스를 찾도록 해준다. 따라서 언어 모델링은 주어진 단어로부터 아직 모르는 단어들을 예측하는 작업을 뜻한다. 단어 시퀀스에 확률을 할당하게 하기 위하여 주로 사용되는 방법으로는 Masked Language Modeling 혹은 Next Toke..
· ML & DL/NLP
이번 글에서는 Word2Vec을 이용한 워드 임베딩을 구현해 볼 것이다. 1. 영어 워드 임베딩 구축 우선 scikit-learn에서 제공하는 데이터 set을 사용할 예정이다. import pandas as pd import numpy as np from sklearn.datasets import fetch_20newsgroups dataset = fetch_20newsgroups(shuffle=True, random_state=1, remove=('headers', 'footers', 'quotes')) dataset = dataset.data news_df = pd.DataFrame({'document':dataset}) news_df 위의 데이터셋에는 총 11314개의 데이터가 포함되어 있다. 1-..
창빵맨
'ML & DL/NLP' 카테고리의 글 목록