본문 바로가기

대학원 이야기50

[논문 리뷰] Attention Is All You Need 이 포스트부터 읽어보세요. 2017년 NIPS에서 Google이 소개한 Transformer에 대한 논문이다. 논문 원본은 여기에서 볼 수 있다. 기존의 CNN과 RNN에서 벗어난 새로운 구조를 제안한다. # Introduction RNN, 특히 LSTM, GRU는 sequence modeling, transduction problem(Language Modeling, Machine Translation, etc.) 등의 분야에서 SOTA의 성능을 꾸준히 제공하고 있다. Recurrent 한 모델들은 특정 step에서 이전 hidden state $ h_{t-1} $ 를 바탕으로 $ h_t $ 를 생성한다. 이렇게 순차적으로 처리하는 특성 때문에 병렬 처리에 어려움이 있었다. 다양한 방법으로 이러한 문제.. 2020. 8. 31.
[논문 리뷰] GloVe: Global Vectors for Word Representation (수정 중) (2014 EMNLP) GloVe 에 대한 논문이다. 논문의 원본은 여기에서 볼 수 있다. # Introduction 벡터 공간을 구성하는 단어 벡터는 다양한 분야에서 사용된 수 있다. 대부분의 단어 벡터들을 벡터들 사이의 거리 또는 각도를 이용해서 벡터의 성능을 평가한다. 최근에는 이러한 방법을 벗어나, 각 차원의 차이를 이용한 평가 방식이 제시되었다. 예를 들어, "king" - "queen" = "man" - woman" 과 같은 경우이다. 단어 벡터를 학습하는 방법은 크게 두 가지로 구분된다. 첫 번째로는 전체적인 통계 정보를 사용하는 Latent Semantic Analysis(LSA) 와 같은 방법이 있다. 해당 방식은 전체적인 통계를 효과적으로 사용할 수 있다는 장점이 있지만, word analogy에서는 성능을 .. 2020. 8. 26.
Bayes' Rule (베이즈 정리) (수정 중) 베이즈 정리(Bayes' Rule) 는 두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리이다. 대부분의 내용을 이 블로그의 글을 참고했다. 조금 더 자세한 내용을 보고싶다면 들어가보는 것을 추천한다. # 조건부 확률 (Conditional Probability) 베이즈 정리에서 가장 중요한 개념이다. 어떤 사건 A 가 일어난 경우, 특정 사건 B가 일어날 확률을 계산하는 것이다. 조건부 확률을 식으로 표현하면 다음과 같다. 만약에 사건 A와 B가 서로 독립적으로 수행되는 경우 P(A∩B) = P(A)P(B) 라고 할 수 있다. 그렇다면, A 와 B가 서로 독립인 경우, A가 일어났을 때 B 가 나타날 확률은 다음과 같이 표현할 수 있다. # 베이즈 정리 (Bayes' Rule) 참고한 .. 2020. 8. 26.
[CS224N] Lecture 7 - Translation, Seq2Seq, Attention (수정 중) CS224N의 8번째 강의, 에 대한 내용이다. 해당 강의는 여기에서 직접 들을 수 있다. 잘못된 내용, 궁금한 점, 피드백 모두 환영입니다 :) 주요 내용 : # Machine Translation Machine Translation은 다양한 NLP task 중 하나이다. Machine Translation은 원문 언어로 된 텍스트 x 를 결과 언어로 된 텍스트 y로 제공하는 문제이다. Neural Network를 해당 task에 적용하기 전에 다양한 시도들이 있었다. 1950 년대에는 규칙을 기반으로 번역을 진행하기도 했다. 이후, 1990 ~ 2010 년대에 걸쳐서 통계를 활용한 Statistical Machine Translation의 발전이 이루어졌다. # Statistical Machine T.. 2020. 8. 24.
[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.
[논문 리뷰] A neural probabilistic language model (수정 중) Word2vec 논문을 읽다가 비교 대상으로 나온 Neural Network Language Model (NNLM)을 다룬 논문이다. 논문의 원본은 여기에서 볼 수 있다. # 들어가기 전 논문을 직접 읽어보기 전에 먼저 어떤 내용인지, 공부한 내용을 기반으로 정리해보겠다. 이런거 필요 없이 논문 내용을 보고 싶다면 다음 섹션부터 읽으면 된다. Neural Probabilistic Language Model (NPLM) 은 Distributed Representation을 사용하는 방식 중 하나이다. 기존에는 대부분 one-hot-encoding을 사용했다. One-hot-encoding에 대해서 간단하게 설명하자면, 전체 Vocabulary의 각 단어에 대해서 자신만의 인덱스를 부여한다. 각 단어의 wo.. 2020. 8. 22.
[논문 리뷰] Efficient Estimation of Word Representations in Vector Space Word2vec에 대한 논문이다. 논문의 본문은 여기에서 확인할 수 있다. 1. Introduction 기존의 NLP 에서는 모든 단어를 독립적인 atomic 한 요소로 취급했다. 그렇기 때문에 단어들 사이의 유사성을 파악하는 것이 불가능했다. 반면에, 단순하고 robust하다는 등 다양한 장점들 덕분에 해당 방식을 계속 사용해왔다. 하지만, 이런 단순한 방식에는 많은 한계점이 존재한다. 최근 머신 러닝의 발전으로 우리는 조금 더 복잠한 모델을 큰 데이터셋을 이용해 학습할 수 있었고, 복잡한 모델들은 단순한 모델의 성능을 뛰어넘을 수 있었다. 가장 성공적으로 사용된 방식은 단어를 distributed representation으로 표현하는 방식이라고 할 수 있다. 이번 논문은 큰 데이터셋을 이용해서 hi.. 2020. 8. 18.
[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.