word2vec에서 음성 샘플링은 어떻게 작동합니까?


19

나는 word2vec의 맥락에서 부정적인 샘플링의 개념을 이해하려고 노력했습니다. [음수] 샘플링에 대한 아이디어를 소화 할 수 없습니다. 예를 들어 Mikolov의 논문 에서 음수 샘플링 기대치는 다음과 같이 공식화됩니다.

logσ(w,c)+kEcNPD[logσ(w,cN)].

나는 왼쪽 용어 이해 ,하지만 난 부정적인 단어 컨텍스트 쌍을 샘플링의 개념을 이해할 수 없습니다.logσ(w,c)


4
word2vec에 대한 문서가 얼마나 흩어져 있는지는 어리 석습니다. 네거티브 샘플링 파생은 여기에서 찾을 수 있습니다 : arxiv.org/pdf/1402.3722v1.pdf
Alex R.

나는 당신이 그 뒤에 수학을 참조하고 이해 한 설명을 겪었습니다. 그러나 샘플링 뒤에 직관을 소화 할 수 없습니다.
Upendra Kumar

답변:


27

문제

"표준"신경망을 사용하여 단어 벡터를 학습하는 데는 몇 가지 문제가 있습니다. 이러한 방식으로, 단어 벡터는 학습되고 네트워크는 단어 (네트워크의 입력)이 주어진 다음 단어 를 예측하는 것을 학습합니다 .

다음 단어를 예측하는 것은 수업을 예측하는 것과 같습니다. 즉, 이러한 네트워크는 "표준"다항식 (다중 클래스) 분류 기일뿐입니다. 그리고이 네트워크에는 클래스만큼 많은 출력 뉴런이 있어야합니다. 클래스가 실제 단어 일 때 뉴런의 수는 엄청납니다 .

"표준"신경망은 일반적으로 확률을 나타 내기 위해 출력 뉴런의 값을 요구 하는 교차 엔트로피 비용 함수로 훈련됩니다. 즉, 각 클래스에 대해 네트워크에 의해 계산 된 출력 "점수"는 정규화되어로 변환되어야합니다. 각 클래스의 실제 확률. 이 정규화 단계는 softmax 기능 을 통해 수행됩니다. Softmax는 거대한 출력 레이어에 적용 할 때 비용이 많이 듭니다.

(a) 솔루션

이 문제, 즉 소프트 맥스의 고가 계산을 처리하기 위해 Word2Vec은 노이즈 대비 추정 이라는 기술을 사용합니다 . 이 기술은 [A] ([B]로 재구성)에 의해 소개 된 후 [C], [D], [E]에서 레이블이없는 자연어 텍스트에서 단어 포함을 배우기 위해 사용되었습니다.

기본 아이디어는 다항식 분류 문제 ( 다음 단어 예측 문제 ) 를 이진 분류 문제 로 변환하는 것입니다 . 즉, softmax를 사용하여 출력 단어의 실제 확률 분포를 추정하는 대신 이진 로지스틱 회귀 (이진 분류)가 대신 사용됩니다.

각 훈련 샘플에 대해, 강화 된 (최적화 된) 분류기는 실제 쌍 (중심 단어 및 그 문맥에 나타나는 다른 단어) 및 다수의 무작위로 손상된 쌍 (중심 단어 및 무작위로 선택된 단어로 구성됨)을 공급 받는다 . 어휘). 분류기는 실제 쌍과 손상된 쌍을 구별하는 방법을 학습함으로써 궁극적으로 단어 벡터를 학습합니다.케이

이것은 중요하다 : 대신 다음 단어 ( "표준"교육 기술)을 예측, 최적화 된 분류는 단순히 단어의 쌍인지 여부를 예측하는 좋은 또는 나쁜 .

Word2Vec 은 프로세스를 약간 사용자 지정하고이를 음수 샘플링 이라고합니다 . Word2Vec에서 음수 샘플에 대한 단어 (손상된 쌍에 사용됨)는 특별히 고안된 분포에서 가져옵니다.

참고 문헌

[A] (2005)-대조적 추정 : 레이블이없는 데이터에 대한 로그 선형 모델 훈련

[B] (2010)-잡음 대비 추정 : 비정규 화 된 통계 모델에 대한 새로운 추정 원리

[C] (2008)-자연어 처리를위한 통합 아키텍처 : 멀티 태스킹 학습을 통한 심층 신경망

[D] (2012)-신경 확률 적 언어 모델 훈련을위한 빠르고 간단한 알고리즘 .

[E] (2013)-노이즈 대비 추정으로 단어 임베딩을 효율적으로 학습 합니다.


대답은 내 오래된 노트를 기반으로합니다.


2
당신은 언급했습니다 "in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often". 이것이 올바른지 궁금합니다. 다른 어떤 출처에서는 더 빈번한 단어가 음성 샘플로 샘플링된다고 말합니다. Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.
Tyler 傲 来 国 主


BTW, 높거나 낮은 단어를 음수 샘플로 선택하는 이유는 무엇입니까? 문맥에 맞지 않는 단어의 무작위 샘플링이 충분하지 않습니까?
Tyler 傲 来 国 主

@Tyler 傲 来 国 主 내가 이해하는 것처럼, 덜 빈번한 단어는 문맥에 따라 경향이 있기 때문에 더 유익합니다. 더 빈번한 단어는 더 많은 다른 단어와 연관되는 경향이 있습니다 ( "극단적 인 예"를 보자). 이로 인해 드물게 단어가 더 어려워지고 (더 빨리 배우게 됨) 실제로 음수 샘플이 아닌 단어를 선택할 가능성이 줄어 듭니다 (큰 코포 라 때문에이 값이 비싸고 종종 제외됨).
drevicko

@drevicko 덜 빈번한 단어는 유익한 정보이지만, 음성이 적은 단어는 덜 유익한 정보입니다. 정보 이론에 따르면, 확률이 높을수록 자기 정보는 더 작습니다. 주어진 대상 단어에 대해 빈번한 단어가 음수 샘플 인 경우 확률이 낮아야하므로 정보의 양이 많아집니다.
Tyler 傲 来 国 主
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.