Sequence Models

Skip-grams 이번에는 Word2Vec 모델 중 하나인 skip-gram에 대해 다룹니다. 지금까지는 target 단어를 기준으로 context를 어떻게 설정하는지에 대해 주로 이야기했습니다. 하지만 여기서는 orange라는 하나의 context를 기준으로 랜덤하게(5개의 단어 +- 범위 내에서) target을 설정한 것을 볼 수 있습니다. Model context에 따른 target을 설정하는 방법이 조금 다르다는 점을 제외한 나머지 과정은 동일합니다. context의 one-hot vector를 통해 embedding matrix에서 해당 column을 추출합니다. 여기에 softmax를 적용해 어떤 단어가 될지(vocab에 포함된 단어 중)를 예측하여 y hat을 구합니다. 이때 context..
Neural language model 지난 시간까지 배웠던 word embedding이 어떤 식으로 모델 학습에 이용되는지를 나타내고 있습니다. 1. 각 단어(토큰)를 대상으로 vocab에서 숫자를 꺼내어 one-hot vector를 생성합니다. 2. 이를 이용하여 embedding matrix에서 매칭되는 column을 추출합니다. 3. 추출된 column을 중첩하여 input으로 이용합니다. 4. 모델 학습은 이렇게 만든 input에 대한 weight & bias, 그리고 softmax를 통해 추출한 확률을 구할 때의 weight & bias로 진행됩니다. Other context/target pairs target, 즉 예측하고자 하는 단어의 주변 문맥을 어디까지 설정하는가도 중요한 문제입니다. ..
Analogies 벡터는 특정 차원 내의 한 점을 가리키는 화살표로 이해할 수 있습니다. 따라서 두 벡터 간의 차를 통해 다른 벡터 간의 특징을 유추할 수 있습니다. 예를 들어 man-woman의 차이를 생각해보면 성별이 반대라는 특징을 얻을 수 있죠. 이런 차이는 king-queen에서도 똑같이 드러날 것입니다. Analogies using word vetors 그래서 만약 man-woman과 유사한 관계에 있는 king의 짝꿍을 찾는다고 한다면 위와 같은 sim(유사도) 공식을 이용할 수 있습니다. 유사도가 가장 높은(arg max) 원소를 찾는 방식을 이용하는 것이죠. 이는 2차원 공간으로 시각화했을 때를 생각해보면, 두 벡터 간의 차이를 나타내는 화살표(벡터)가 가장 유사한 것이 무엇인지 찾는 과..
Named entity recognition example One-hot encoding 대신 word embedding을 활용할 수 있는 예시인 NER 태스크입니다. 이때는 학습된 word embedding을 이용하여 심지어 처음 보거나 익숙하지 않은 단어, 혹은 문구까지도 처리할 수 있습니다. 예를 들어 우리가 학습시킨 단어 중에 durian, cultivator라는 단어가 없었다고 하더라도, 이들이 위치하는 자리의 특성을 파악하여 durian은 과일, cultivator는 직업 중 하나로 인지할 수 있다는 뜻입니다. Transfer learning and word embeddings 여기에는 Transfer learning(전이 학습)의 개념이 적용되는데 그 원리 자체는 엄청 간단합니다. 우선 대량..
Word representation 만약 지금까지 공부했던 것처럼 각 단어를 one-hot vector로 나타내게 되면 단어 간의 특징을 파악할 수 없게 됩니다. 예를 들어 apple과 orange의 경우 둘 다 과일이면서 굉장히 유사한 특성을 지니겠죠. 하지만 위 상황에서는 어떤 두 벡터를 dot product(내적)하더라도 그 결과가 0입니다. 즉 유사도가 0이라는 뜻이죠. 따라서 orange와 king, orange와 apple을 비교하더라도 의미가 없기 때문에, 각 단어(token)가 지니는 특징이 추출되기 어렵다는 문제점이 존재합니다. 그렇기 때문에 apple 뒤에도 juice가 오겠구나 예측하는 것이 불가능하죠. Featurized representation: word embedding 위에서..
Deep RNN example 지금까지 배웠던 RNN, GRU, LSTM, BRNN 등의 내용을 Deep Neural Network에 접목시킬 수 있습니다. notation을 잘 살펴보면 [layer] 으로 표기된 것을 알 수 있습니다. 또한 layer는 사용자가 의도한 바에 따라 얼마든지 쌓을 수 있음은 당여한 것이며, BRNN의 경우 연산량이 두 배가 될 것도 예상 가능합니다. 출처: Coursera, Sequence Models, DeepLearning.AI
chanmuzi
'Sequence Models' 카테고리의 글 목록 (4 Page)