본문 바로가기

분류 전체보기84

[논문 리뷰] BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding (NAACL 2019) 2019년 구글에서 발표한 BERT에 대한 논문이다. 논문의 원본은 여기서 볼 수 있다. # Introduction Pre-trained Language Model은 자연어 처리 task의 성능을 향상시킬 수 있다. PLM(pre-trained language model)을 적용하는 방법은 현재 크게 2가지로 구분된다 : feature-based, fine-tuning. Feature-based 방식의 경우, (대표적으로 ELMo) 특정한 task에 알맞는 구조를 보유하고, pre-trained representation을 특성으로 추가해서 사용하게 된다. 반면에 fine-tuning 방식의 경우 (대표적으로 GPT), 특정 task에 특화된 파라미터를 최소화 하고, 사전 학습된 파라미터를 fine-tu.. 2020. 10. 5.
[논문 리뷰] Deep contextualized word representations (2018 NAACL) 2018년에 발표된 해당 논문은 새로운 단어 임베딩 방법을 제안한다. ELMo 는 Embeddings from Language Model의 약자로, pre-trained language model 을 사용한다. 해당 논문의 원본은 여기서 조회할 수 있다. # Abstract 해당 논문은 새로운 방식의 deep-contextualized 단어 임베딩을 제안한다. 해당 임베딩은 각 단어의 다양한 특징과 의미를 표현할 수 있게 한다. Deep bidirectional language model (biLM)의 중간 state 들을 사용해서 단어 임베딩을 생성하게 된다. 이러한 방식은 다른 다양한 모델에 쉽게 결합해서 사용할 수 있는 장점이 있다. 결과적으로 6개의 NLP task에서 state-of-the-ar.. 2020. 10. 3.
[논문 리뷰] 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.