반응형

 

배울 점이 많은 강의가 있어서 추천드리며, 시리즈로 글을 쓰고자 합니다.

 

비정형 데이터 분석 2/11 Word2Vec

 

youtu.be/G8UFjFlVVQQ

 

설명 구조

 

 

~식과 같고 이 식을 최대화하려면 분자는 키우고 분모는 줄여야합니다.

~값을 높인다는 것은 무엇일까요?

~의 의미에 대해 잠깐 살펴보겠습니다.

~은 한자~이며 ~입니다.

~의 정의는 ~과 같습니다.

~에 비유할 수 있습니다.

~의 

 


 

수식 입력 관련

blog.naver.com/alwaysneoi/220698343806

 

키워드 및 핵심 내용

 

Word2Vec/ skip-gram 모델 중심

 

- skip-gram 학습 방법

 

학습 목표는 중심단어(c)가 주어졌을 때, 주변단어(o)가 나타날 확률 최대화하는 것입니다.

그 확률은 아래 식과 같고 이 식을 최대화하려면 우변의 분자는 키우고 분모는 줄여야 합니다.

분자를 키우다는 것은 중심단어 벡터 v 와 주변단어 벡터 u의 내적 값을 높인다는 것입니다.

우선 내적의 정의는 아래 식과 같습니다.

주변단어가 중심단어에 더 가깝게 리프리젠테이션되면 그 내적 값은 더 크게 됩니다.

중심단어와 주변단어의 연관성을 높여야 합니다.

 

분모는 줄일수록 좋습니다.

윈도우 내에 등장하지 않는 단어를 포함한 전체 단어와 중심단어의 유사도를 감소시킨다는 정도로

이해하시면 될 것 같습니다.

 

word2vec 의 학습법은 경사상승법으로 업데이트를 수행합니다.

조금씩 이동하면서 가야할 방향을 결정해야 합니다.

가야할 방향과 보폭은 다음 식과 같습니다.

이 식이 만들어진 과정을 살펴보겠습니다.

 

방향을 결정한다는 것은 해당 지점에서의 기울기를 구하는 것을 의미합니다.

 

eda-ai-lab.tistory.com/122

 

- skip-gram 학습 트릭

 

1.다빈도 단어의 표본추출

- 자주 등장하는 단어를 샘플링에서 제외 -> 학습 부하 감소

- 제외 확률

 

2.윈도우 밖 단어의 표본추출

- negative sample : 윈도우(중심단어, 주변단어) 밖에서 5~20개 단어를 확률적으로 추출

- negative sample에 뽑힐 확률

- 3/4(0.75)승하여 많은 샘플은 확률을 약간 줄이고 적은 샘플은 확률을 약간 높임

 


 

[word2vec 추가 설명]

ratsgo.github.io/from%20frequency%20to%20semantics/2017/03/30/word2vec/

 

Word2Vec의 학습 방식 · ratsgo's blog

이번 포스팅에서는 최근 인기를 끌고 있는 단어 임베딩(embedding) 방법론인 Word2Vec에 대해 살펴보고자 합니다. Word2Vec은 말 그대로 단어를 벡터로 바꿔주는 알고리즘입니다. Neural Network Language Model(

ratsgo.github.io

 


[이은아님 강의 모음]

www.youtube.com/playlist?list=PLGAnpwASolI0vViZItiP90nWI_s9m91Av

 

이은아님 머신러닝 자연어처리 - YouTube

 

www.youtube.com


 


 

 

반응형
반응형

배울 점이 많은 강의가 있어서 추천드리며, 시리즈로 글을 쓰고자 합니다.

비정형 데이터 분석 1/11 신경망언어모델(NNLM)

youtu.be/myG2BhlVyH8

 

설명 구조

- 비교를 통해서 ~이 등장하게 된 히스토리

- 문제점이 있습니다. 한

- ~의 문제점을 극복하기 위해 등장한 것이 ~입니다.

- 이러한 문제를 해결하기 위해 등장한 개념이 ~입니다.

- 개념

- 구조

 


키워드 및 핵심 내용

출현빈도 기반 언어모델(Count-based Language Models) / 통계적 언어 모델(Statistical Language Model, SLM)

- Bag-of-Words

- Chain Rule

- 문제점 : 학습 데이터에 없는 조건(조합)은 확률을 계산할 수 없음

- N-Gram

- Markov Assumption

- 모든 단어가 출현했다는 가정이 아니라 n개만 출현했을 때의 확률과 같다고 봄(이전에 등장한 모든 단어를 고려하는 것이 아니라 일부 단어만 고려)

- 예) bi-grams (두단어)

- 문제점 : 학습 데이터에 나타나지 않는 단어 조합은 확률이 0

- (n을 크게 선택하면 정확하게 예측할 확률은 높아지지만 실제 훈련 코퍼스에서 해당 n-gram을 카운트할 수 있는 확률은 적어지므로 희소 문제는 점점 심각해집니다. 또한 n이 커질수록 모델 사이즈가 커진다는 문제점도 있습니다.)

신경망 기반 언어모델(Neural Network-based Language Models)

- NNLM

- 신경망을 이용한 첫번째 시도

- 카운트 기반 텍스트 변환(one-hot vector / Sparce representation) -> 분산표상(continuous vector / Dense representation)

- 입력 단어의 다음 단어가 출력될 확률이 높도록 신경망 학습

- 신경망 구조 : 입력층, 은닉층, 출력층

- 입력층 : one-hot vector

- 출력층 : Softmax 함수 적용

- NPLM 구조 : 가중치, 바이어스, parameter 차원수 정의

- NPLM 학습 : 확률적 경사상승법(Stochastic gradient ascent)

- Word2Vec

- GloVe

- Fasttext


 

[언어모델 추가 자료]

translate.google.com/translate?hl=en&sl=en&tl=ko&u=https%3A%2F%2Fwikidocs.net%2F21692&anno=2&prev=search

 

언어 모델(Language Model, LM)이란? 언어라는 현상을 모델링하고자 단어 시퀀스(또는 문장)에 확률을 할당(assign)하는 모델입니다.

자연어 처리에서 단어 시퀀스에 확률을 할당하는 일이 왜 필요할까요? 예를 들어보겠습니다. 여기서 대문자 P는 확률을 의미합니다.

a. 기계 번역(Machine Translation):

P(나는 버스를 탔다) > P(나는 버스를 태운다)P(나는 버스를 탔다) > P(나는 버스를 태운다)

: 언어 모델은 두 문장을 비교하여 좌측의 문장의 확률이 더 높다고 판단합니다.

b. 오타 교정(Spell Correction)

선생님이 교실로 부리나케

P(달려갔다) > P(잘려갔다)P(달려갔다) > P(잘려갔다)

: 언어 모델은 두 문장을 비교하여 좌측의 문장의 확률이 더 높다고 판단합니다.

c. 음성 인식(Speech Recognition)

P(나는 메롱을 먹는다) < P(나는 메론을 먹는다)P(나는 메롱을 먹는다) < P(나는 메론을 먹는다)

: 언어 모델은 두 문장을 비교하여 우측의 문장의 확률이 더 높다고 판단합니다.

언어 모델은 위와 같이 확률을 통해 보다 적절한 문장을 판단합니다.

[NPLM 추가 자료]

https://medium.com/@omicro03/%EC%9E%90%EC%97%B0%EC%96%B4%EC%B2%98%EB%A6%AC-nlp-nplm-f7d0f472ce68


 

[이은아님 강의 모음]

www.youtube.com/playlist?list=PLGAnpwASolI0vViZItiP90nWI_s9m91Av

 

이은아님 머신러닝 자연어처리 - YouTube

 

www.youtube.com


 

 

반응형

+ Recent posts