Artificial Intelligence/Natural Language Processing
🧑🏻💻용어 정리 Neural Networks RNN LSTM Attention Transformer Generator discriminator self-attention layer normalization multi-head attention positional encoding https://arxiv.org/abs/1706.03762 Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect..
🧑🏻💻용어 정리 Neural Networks RNN LSTM Attention Attention을 쓰는 이유? 굉장히 긴 문장이 들어왔다고 봅시다. 100개의 hidden state가 있어서, 맨 마지막의 sentense embedding이 output 생성할 때, 모든 단어의 정보를 다 포함하고 있을까요? output을 생성할 때, 각각의 단어를 다 보면서, 현재 hidden state와 각 100개의 hidden state간의 관계를 구하며 가장 attention score가 높은 것을 선택을 합니다. 결국, encoder가 source sentence를 하나의 vector로 encoding하기 어렵습니다. 그래서 이러한 seq2seq task 에서는 길이가 길 때, 성능이 떨어지는 문제가 있습니다..
🧑🏻💻용어 정리 Neural Networks RNN LSTM Attention CNN Sequential Data Modeling Sequential Data Most of data are sequential Speech, Text, Image, ... Deep Learnings for Sequential Data Convolutional Neural Networks (CNN) Try to find local features from a sequence Recurrent Neural Networks : LSTM, GRU Try to capture the feature of the past 지금까지 입력에 대해 살펴보았죠. 그런데, 그 입력에 대해서 다 output이 존재합니다. 우리는 그 output을..
🧑🏻💻용어 정리 Neural Networks RNN LSTM Attention RNN은 sequence 정보를 학습하고자 하는데, 뒤로 갈수록 앞에 학습한 것들을 잘 잊어버리는 "Long Term Dependency" 문제가 존재합니다. 그래서 LSTM과 GRU가 나왔습니다. 다음과 같이 살펴봅시다. Long Short-Term Memory (LSTM) Capable of learning long-term dependencies. LSTM networks introduce a new structure called a memory cell. An LSTM can learn to bridge time intervals in excess of 1000 steps. Gate units that learn to..
🧑🏻💻용어 정리 Neural Networks RNN LSTM Attention RNN이 왜 나왔을까요? 오늘은 그 이유에 대해 살펴보도록 합시다. 한 마디로 정리하자면, Sequential Data를 다루기 위해서 나온 것이 RNN입니다. text Datas는 보통 sequential Data로 이루어져 있습니다. 이를 더 잘 학습시키기 위한 RNN 기반의 구조가 등장했습니다. 물론 CNN도 local 하게 Convolution을 학습하는 것이 가능하지만, RNN 만큼의 성능이 나오진 않았습니다. RNN (Recurrent Neural Network) Sequential Data Modeling Sequential Data Most of data are sequential Speech, Text, im..
🧑🏻💻 주요 정리 NLP Word Embedding GloVe 아래와 같이, GloVe에 대한 코드를 살펴봅니다. GloVe 워드 임베딩은 하나의 원-핫 인코딩 벡터(한 요소만 1이고 나머지는 0인 벡터)를 훨씬 작은 실수 값의 벡터로 변환합니다. 원-핫 인코딩 벡터는 희소 벡터이며, 실수 값 벡터는 밀집 벡터입니다. 이 워드 임베딩에서 가장 중요한 개념은 비슷한 문맥에 나타나는 단어들은 벡터 공간에서 가까이 위치한다는 것입니다. 여기서 문맥이란 주변 단어를 말합니다. 예를 들어 "I purchased some items at the shop"과 "I purchased some items at the store" 두 문장에서 'shop'과 'store' 단어는 같은 문맥에 나타나기 때문에 벡터 공간에서..
🧑🏻💻 주요 정리 NLP Word Embedding GloVe 이번에는 GloVe에 대해 알아보겠습니다. 통계 기반의 Word2Vec라는 개념을 가지고 이해해주시기 바랍니다. Word2Vec는 Softmax regression 을 이용하여 단어적 의미의 유사성을 보존하여, 비슷한 semantic을 가지면 비슷한 vector를 갖도록 합니다. Word2Vec 은 context words distribution 이 비슷한 두 단어가 비슷한 임베딩 벡터를 지니도록 학습함과 동시에, co-occurrence 가 높은 단어들이 비슷한 임베딩 벡터를 지니도록 학습합니다. 위 내용을 참고로, GloVe와 Word2Vec의 차이를 잘 살펴보기 바랍니다. Introduction to GloVe Word2Vec 은 하나..
🧑🏻💻 주요 정리 NLP Word Embedding CBOW Represent the meaning of word Two basic neural network models: Continuous Bag of Word(CBOW) : use a window of word to predict the middle word. Skip-gram (SG) : use a word to predict the surrounbding ones in window. 위와 같은 차이를 보입니다. 하나씩 살펴봅시다. # see http://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html import torch from torch.autograd import Var..
🧑🏻💻 주요 정리 NLP Word Embedding Word2Vec Word2Vec Training of Word2Vec 방식은 많이 나오는 것을 자주 학습한다는 것에 초점을 뒀습니다. -> 자주 등장하는 단어는 더 높은 가능성으로 업데이트가 이루어집니다.-> 단어들을 확률과 함게 설정합니다. 위 그림과 같이, 빈도수가 낮아질 수록, 드랍할 확률이 작아집니다. 그리고, 빈도수가 높아질 수록, 1에서 빠지는 수가 감소하므로, 드랍할 확률이 높아집니다. Negative Sampling 아래와 같은 skip-gram의 형태를 보겠습니다. 아래 그림에서 문장에서 cat을 통해 4가지 단어를 output으로 냅니다. 여기서 negative sampling은, input과 output이었던 text들을 모두 입력..