Deep Learning/CS224N 9

[CS224N] ELMo, ULMfit

기존에 우리는 모델에 사전학습을 하지 않고 모델을 바로 Small labeled data 에 적용을 시켰다. 모델의 성능을 더 좋게하기 위해서 semi-supervised approach를 이용하자는 내용으로 Pre-ELMo(Train NLM on large unlabeled corpus for NER)이 등장했다. Pre-ELMo는 총 3가지 과정을 거친다. step1. Pretrain language model step2. Word embedding and Char-CNN step3. Use both word embedding and LM for NER ELMo : Embeddings from Language Models ELMo는 모든 문장을 이용해 Contextualized word vector를..

[CS224N] Subword Model - BPE, Wordpiece

12강에서는 Subword Models에 대해서 다룬다. 이전의 언어모델에서는 형태론을 통해서 각 단어를 띄어쓰기 기반으로 분류해 단어에 대해 분석을 진행했다. 하지만 합성어의 경우 띄어쓰기가 존재하는 합성어도 있고 아닌 경우도 있으며, 띄어쓰기가 없는 언어도 존재하기 때문에 문제에 직면하게 된다. 모든 단어를 커버할 수 없기 때문에 단어기반이 아닌 Character 기반의 모델이 등장했다. Character level 모델은 Unknown word도 파악이 가능하며, Conneted Language 분석은 당연히 가능하며, Character n-gram으로 의미를 추출하는 경우로 주로 사용된다. Byte Pair Encoding (BPE) 수부지 피부 고민이라는 단어를 예측하려면 '수부지'라는 단어는 ..

[CS224N] ConvNets for NLP

해당 강의에서는 CNNs을 다루기 전 RNN의 단점에 대해서 먼저 다룬다. RNN은 Prefix(접두사) context를 모두 포함하게 되며 Piece of sentence로 나누지 못한다는 단점이 있고, Sequence to Sequence의 모델을 살펴볼때 앞 단 Encoder부분의 RNN에서 Decoder로 보내주는 과정의 Last hidden state는 Last token에 영향을 많이 받게 된다. 또한 단어의 길이가 길어지면 정보의 손실이 발생할 수 있다는 것이 큰 문제이다. GRU나 LSTM 등 모델을 사용하거나 Encoder 부분에 Attention을 사용해 문제를 보완하곤 했다. CNNs CNNs 에서는 특정 길이로 Sub-sequence로 분할한 후 Feature를 추출하는 과정으로 접..

[CS224N] Machine Translation (MT), Attention

Contents Machine Translation(MT)는 1950년대부터 연구를 진행해왔다. 이당시에는 주로 Bilingual dictionary를 활용한 Rule-based의 번역 시스템을 사용했고, 1990s~2010s에는 서로 다른 두 언어의 Parallel 데이터로부터 확률 모델을 구축하는 Statistical Machine Translation이 주를 이루었고 2014이후부터 현재까지는 Neural Machine Translation 이 주로 연구되고 있다. Statistical Machine Translation SMT는 주어진 parallel 데이터로부터 확률 모델(Probabilistic Model) 을 구축하는 것이 핵심이다. 프랑스어를 영어로 번역하는 경우를 예로 들어보자. 프랑스 ..

[CS224N] Language Model (n-gram, NNLM, RNN)

Contents Language Model 이란? 단어의 시퀀스에 대해서 얼마나 자연스러운 문장인지를 확률을 통해 예측하는 모델이며, 주어진 단어의 시퀀스에 대해 다음에 나타날 단어가 어떤 것인지를 예측하는 작업을 Language Modeling이라고 한다. 기계번역, 음성인식, 자동완성 등 여러 분야에 사용될 수 있다. $w_1, w_2, \cdots, w_{t-n+1}, \cdots, w_{t-1}, w_t, \cdots, w_{T-1}, w_T$ $P(w_1, \cdots, w_T) = P(w_1)\times P(w_2|w_1)\times \cdots \times P(w_T|w_{T-1}, \cdots, w_1)$ $\underset{t=1}{\overset{T}{\prod}}P(w_t|w_{t-1..

[CS224N] Parsing

Parsing 이란? parsing은 각 문장의 문법적인 구성 또는 구문을 분석하는 과정이다. Constituency Parsing은 문장의 구조를 파악하는 것이 주목적이고, Dependency Parsing은 단어간 관계를 파악하는 것이 주목적이다. Constituency Parsing Constituency Parsing은 구 구문분석이라고도 불리며, 문장을 중첩된 성분으로 나누어 문장의 구조를 파악하며, 영어와 같이 어순이 비교적 고정적인 언어에서 주로 사용된다. 아래 예시를 보면 첫 번째로 John이라는 주어(N)와 hit the ball이라는 동사구(VP)로 나눌 수 있고, 동사구는 다시 hit라는 동사(V)와 The ball이라는 명사구(NP)로 나눌 수 있고, the(D)와 ball(N)로 ..

[CS224N] Named Entity Recognition(NER)

NER 개체명 인식은 문장에서 Location, Person, Organization 등 개체명$^{Named\ Entity}$를 분류하는 방법론이다. 개체명 인식을 하기 위해서는 그 전에 전처리 과정을 해주어야 한다. input으로 text가 들어오면 sentence단위로 split을 해주는 과정이 필요하고, 그 후 tokenizing을 거치고 pos tagging을 해준 후 Named entity recognition을 진행할 수 있다. 아래와 같이 '우리', '아버지', '가방', '에', '들어간', '다' 로 토큰화 되었다고 해보자. 일반적으로 '가방'이라는 단어를 location으로 판단할 수는 없지만 NER에서는 문맥을 보고 결정하기 때문에 아래의 경우 '가방'을 Location으로 개체명을..

[CS224N] cound based Word Prediction model (GloVe)

- Optimization - Word Prediction Methods - GloVe : Global Vectors for Word Representation - How to evaluate word vectors - Word senses and word sense ambiguity Optimization gradient descent 최적화의 가장 대표적인 모델은 경사하강법(GD)이 있다. 경사하강법은 Cost Function $J(\theta)$를 최소화하기 위한 알고리즘으로 초기에 $\theta$를 랜덤하게 설정하고 시작한다. 그리고 현재의 $\theta$에서 $J(\theta)$의 기울기를 계산하고 기울기의 반대방향으로 조금씩 이동하면서 최소가 되는 $\hat{\theta}$을 찾아가는 방법이다..

[CS224N] SVD, Word2Vec를 통한 NLP

스탠포드 대학에서 열리는 Natural Language Processing with Deep Learning CS224N 강의를 요약했다. - Introduction to NLP - Word Vectors $\cdot$ Representations $\cdot$ Count-Based Models (SVD Methods) $\cdot$ Neural Network-Based Models (Word2Vec) Human Language가 특별한 이유는 무엇인가? 사람의 언어는 의미를 전달하기 위해 특별하게 구성된 시스템이라고 말한다. 언어는 signifier(기호) 에 매핑된 signified(개념, 의미)라고 한다. 사람이 Rocket이라는 단어(signifier)를 보고 로켓을 연상해 낸다. NLP란 무엇인..

반응형