이 게시물에서 가져온 : https://stats.stackexchange.com/a/245452/154812
문제
"표준"신경망을 사용하여 단어 벡터를 학습하는 데는 몇 가지 문제가 있습니다. 이러한 방식으로, 단어 벡터는 학습되고 네트워크는 단어의 윈도우 (네트워크의 입력)가 주어진 다음 단어를 예측하는 것을 학습한다.
다음 단어를 예측하는 것은 수업을 예측하는 것과 같습니다. 즉, 이러한 네트워크는 "표준"다항식 (다중 클래스) 분류 기일뿐입니다. 그리고이 네트워크에는 클래스만큼 많은 출력 뉴런이 있어야합니다. 클래스가 실제 단어 일 때 뉴런의 수는 엄청납니다.
"표준"신경망은 일반적으로 확률을 나타 내기 위해 출력 뉴런의 값을 요구하는 교차 엔트로피 비용 함수로 훈련됩니다. 즉, 각 클래스에 대해 네트워크에 의해 계산 된 출력 "점수"는 정규화되어로 변환되어야합니다. 각 클래스의 실제 확률. 이 정규화 단계는 softmax 기능을 통해 수행됩니다. Softmax는 거대한 출력 레이어에 적용될 때 비용이 매우 많이 듭니다.
(a) 솔루션
이 문제, 즉 softmax의 값 비싼 계산을 처리하기 위해 Word2Vec은 노이즈 대비 추정이라는 기술을 사용합니다. 이 기술은 [A] ([B]로 재구성)에 의해 소개 된 후 [C], [D], [E]에서 레이블이없는 자연어 텍스트에서 단어 포함을 배우기 위해 사용되었습니다.
기본 개념은 다항식 분류 문제 (다음 단어 예측 문제)를 이진 분류 문제로 변환하는 것입니다. 즉, softmax를 사용하여 출력 단어의 실제 확률 분포를 추정하는 대신 이진 로지스틱 회귀 (이진 분류)가 대신 사용됩니다.
각 훈련 샘플에 대해, 강화 된 (최적화 된) 분류기는 실제 쌍 (중심 단어 및 문맥에 나타나는 다른 단어)과 다수의 kk 무작위로 손상된 쌍 (중심 단어와 무작위로 선택된 단어로 구성됨)을 공급받습니다. 어휘). 분류기는 실제 쌍과 손상된 쌍을 구별하는 방법을 학습함으로써 궁극적으로 단어 벡터를 학습합니다.
이것은 중요합니다. 최적화 된 분류기는 다음 단어 ( "표준"교육 기술)를 예측하는 대신 한 쌍의 단어가 좋은지 나쁜지를 예측합니다.
Word2Vec은 프로세스를 약간 사용자 지정하고이를 음수 샘플링이라고합니다. Word2Vec에서 음수 샘플에 대한 단어 (손상된 쌍에 사용됨)는 특별히 고안된 분포에서 가져옵니다.
참고 문헌
[A] (2005)-대조적 추정 : 레이블이없는 데이터에 대한 로그 선형 모델 훈련
[B] (2010)-잡음 대비 추정 : 비정규 화 된 통계 모델에 대한 새로운 추정 원리
[C] (2008)-자연어 처리를위한 통합 아키텍처 : 멀티 태스킹 학습을 통한 심층 신경망
[D] (2012)-신경 확률 적 언어 모델 훈련을위한 빠르고 간단한 알고리즘 .
[E] (2013)-노이즈 대비 추정으로 단어 삽입을 효율적으로 학습 합니다.