본문 바로가기

CS224N8

[CS224N] Assignment 4 (풀이 중) 이번 과제는 크게 2가지 파트 : RNN을 이용한 Neural Machine Translation과 NMT 시스템의 분석으로 이루어진다. # Neural Machine Translation with RNNs Neural Machine Translation(NMT)는 source language에서 target language로 변환을 하는 task 이다. (이번 과제에서는 스페인어에서 영어로 변환한다.) 이번 과제에서는 attention을 활용한 Seq2seq 모델을 사용할 것이다. Seq2seq 모델은 bidirectional encoder와 unidirectional decoder로 구성된다. 길이 $ m $ 의 입력을 embedding matrix를 통해 $ e $ 크기의 word embedding.. 2020. 11. 10.
[CS224N] Assignment 3 이번 과제에서는 neural dependency parser를 만들어 본다. # 문제 문제 해석 : 우리가 기존에 사용하던 stochastic gradient descent 의 경우 다음과 같은 식을 만족한다. 이 때, $ J $ 는 loss function 이고 $ \alpha $ 는 learning rate 를 의미한다. 우리는 각 loss 에 대한 파라미터의 gradient 값을 learning rate에 곱해서 파라미터 값을 업데이트하는 방식으로 학습을 진행했다. 이번에 새로 다뤄볼 Adam optimizer 의 경우 다음과 같은 식을 만속시키면서 학습을 진행한다. $ \beta $ 값은 0에서 1 사이의 (보통 0.9를 사용한다) 하이퍼파라미터로 사용한다. Adam optimizer가 m을 사용.. 2020. 11. 2.
[CS224N] Assignment 2 한 단어($ c $)는 그 단어의 주위 단어에 의해서 뜻을 유추할 수 있다. [그림-1]을 보면 center word 는 "banking" 이고, 해당 단어를 둘러싸고있는 context word 는 각각 "turning", "into", "crises", "as" 등으로 구성된다. Word2vec에서는 주변 단어 $ o $ 와 중간 단어 $ c $ 사이의 관계 $ P(O = o | C = c) $ 를 계산하려고 한다. 이 방법의 경우는 skip-gram 방식으로, 중간 단어가 주어졌을 때, 주번 단어를 예측하는 방식이다. 다른 방식으로는 Continuous bag-of-words (CBOW)가 있는데, 이 방식의 경우에는 주변 단어에 따라서 중간 단어를 예측하는 방식으로 학습이 진행된다. 해당 Condi.. 2020. 10. 26.
[CS224N] Lecture 7 - Vanishing Gradients, Fancy RNNs CS224N의 7번째 강의, Vanishing Gradient와 다양한 RNN의 종류에 대한 내용이다. 해당 강의는 여기에서 직접 들을 수 있다. 잘못된 내용, 궁금한 점, 피드백 모두 환영입니다 :) 주요 내용 : Vanishing Gradient, RNN, LSTM, GRU, Bidirectional RNN, Multi-layer RNN # Vanishing/Exploding Gradient # Exploding Gradients Back-propagation을 할 때 발생할 수 있는 문제 중 하나인 exploding gradient이다. [식-1]을 보면 gradient와 learning rate을 이용해서 파라미터 값을 업데이트하는 식을 확인할 수 있다. 이때, gradient의 값이 너무 커지는.. 2020. 8. 23.
[CS224N] Lecture 6 - Language Models and RNNs CS224N의 6번째 강의, Language Model과 RNN에 대한 내용이다. 해당 강의는 여기에서 직접 들을 수 있다. 잘못된 내용, 궁금한 점, 피드백 모두 환영입니다 :) 주요 내용 : Language Modeling, RNN # Language Modeling 이번 강의에서는 NLP의 대표적인 task 중 하나인 Language Modeling(LM)에 대해서 이야기한다. LM은 이전 단어들이 주어졌을 경우, 그다음으로 올 단어를 예측하는 문제이다. [그림-1]을 보면, "the students opened their"라는 단어들이 주어지고, 다음에 오는 빈칸에 어떤 단어가 가장 적합한지 예측하게 된다. 해당 그림에서는 books, laptops, exams, minds 등 다양한 예시를 제공.. 2020. 8. 23.
[CS224N] Lecture 5 - Dependency Parsing Sentence Structure 문장의 구조를 파악하는 방법은 총 2가지가 있다. Phrase-structure grammar(context-free grammar, CFG) dependency structure grammar 문장 구조를 제대로 파악해야지 문장의 의미를 정확하게 이해할 수 있다. Phrase-structure grammar 문장을 unit으로 구성 각 unit 들을 progressively nest Dependency structure grammar 한 단어가 어떤 다른 단어에 의존적인지 나타내는 방식 Treebank 사람이 직접 문장들의 dependency를 파악해서 dependency structure 를 구성한 데이터셋 영어 뿐만 아니라, 다양한 언어들에 대해서 생성 Depend.. 2020. 8. 14.
[CS224N] Lecture 3 - Neural Networks Classification setup & notation $ x_i $ : inputs (d-dimension vector) $ y_i $ : C개의 class 중, $ x_i $ 에 해당하는 class(label) $$ \left\{x_i, y_i \right\}^N_{i=1} $$ Classifier classification : x 값들이 주어졌을 때, y 값에 따라서 영역을 구분할 수 있는 선을 구해야 한다. classifier : 영역을 구분하는 선 softmax, logistic regression 등의 linear classifier(선으로 두 영역을 구분)를 사용한다. softmax : 입력값을 probability distribution으로 제공한다. 각 x 에 대해서 아래 정의한 $ p.. 2020. 8. 12.
[CS224N] Lecture 1 - Introduction and Word Vectors Stanford 에서 진행하는 CS224N : NLP with Deep Learning 을 듣고 정리한 내용입니다. 과거에는 Human language 를 통해 지식을 전달했다. 상대적을 slow network를 형성한다. (bandwidth 가 작다.) 그러므로 내용을 축약해서 전달한다. : 대화하는 사람이 어느정도의 배경 지식을 보유하고 있다고 가정하고 대화를 한다. 그러므로 짧은 단어만 이용해서 더 많이 이해할 수 있다. 우리가 이번 과정을 통해서 하고 싶은 것 : represent the meaning of words common solution : WordNet 단어의 synonym 과 hypernyms 를 사용해서 dictionary 를 구성한다. human labor를 통해서 구성된 hand.. 2020. 8. 10.