word2vec의 기능 매트릭스는 무엇입니까?


10

저는 신경망의 초보자이며 현재 word2vec 모델을 탐색하고 있습니다. 그러나 기능 매트릭스가 정확히 무엇인지 이해하기가 어렵습니다.

여기에 이미지 설명을 입력하십시오

첫 번째 행렬은 주어진 단어에 대한 one-hot 인코딩 벡터라는 것을 이해할 수 있지만 두 번째 행렬은 무엇을 의미합니까? 보다 구체적으로, 이들 각각의 값 (즉, 17, 24, 1 등)은 무엇을 의미합니까?


Google에서 생성 한 W에 대한 질문이 있습니다. Google에서 제공 한 가치에 대한 자세한 정보를 제공해 주시겠습니까? 이 기능은 무엇입니까? 당신의 도움을 위해 thx.
hambi

답변:


8

word2vec의 아이디어는 실수 d 차원의 벡터로 단어를 표현하는 것 입니다. 따라서 두 번째 행렬은 해당 단어의 표현입니다.

이 행렬 의 i 번째 줄은 i 번째 단어 의 벡터 표현입니다 .

예를 들어 [ "Lion", "Cat", "Dog", "Horse", "Mouse"]라는 5 개의 단어가 있다고 가정하면 첫 번째 벡터 [0,0,0,1,0]은 "말"이라는 단어를 고려하고 있으므로 "말"의 표현은 [10, 12, 19]입니다. 마찬가지로 [17, 24, 1]은 "사자"라는 단어를 나타냅니다.

내가 아는 바에 따르면, 이러한 표현에서 각 숫자에 대해 특별히 "인간적 의미"는 없습니다. 단어가 동사인지 형용사인지 아닌지를 나타내는 하나의 숫자가 아닙니다. 단어의 표현을 배우기 위해 최적화 문제를 해결하기 위해 변경하는 가중치 일뿐입니다.

이 튜토리얼은 도움이 될 수 있습니다 : http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/ 비록 당신이 넣은 이미지 가이 링크에서 나온 것처럼 생각합니다.

이것을 확인하면 TensorFlow로 단어 벡터를 시작하는 데 도움이 될 수 있습니다 : https://www.tensorflow.org/tutorials/word2vec


5

TL; DR :

첫 번째 행렬은 하나의 핫 포맷으로 입력 벡터를 나타냅니다.

두 번째 행렬은 입력 레이어 뉴런에서 숨겨진 레이어 뉴런까지의 시냅스 가중치를 나타냅니다.

더 긴 버전 :

"특징 매트릭스가 정확히 무엇입니까"

표현을 올바르게 이해하지 못한 것 같습니다. 이 행렬은 특징 행렬이 아니라 신경망의 가중치 행렬입니다. 아래에 주어진 이미지를 고려하십시오. 특히 입력 레이어 행렬에 가중치 행렬을 곱한 왼쪽 상단 모서리에 주목하십시오. 여기에 이미지 설명을 입력하십시오

이제 오른쪽 상단을보십시오. Weights Transpose와 함께 곱셈 된이 행렬 곱셈 InputLayer는 오른쪽 상단의 신경망을 나타내는 편리한 방법입니다.

따라서 귀하의 질문에 대답하기 위해 게시 한 방정식은 Word2Vec 알고리즘에 사용되는 신경망의 수학적 표현 일뿐입니다.

첫 번째 부분 인 [0 0 1 0 ... 0]은 입력 단어를 하나의 핫 벡터로 나타내고 다른 행렬은 각 입력 레이어 뉴런을 숨겨진 레이어 뉴런에 연결하기위한 가중치를 나타냅니다.

Word2Vec이 학습함에 따라 이러한 가중치로 역 전파되어 단어로 벡터를 더 잘 표현하도록 변경합니다.

훈련이 완료되면이 가중치 행렬 만 사용하고 'dog'에 대해 [0 0 0 0 ... 0]을 취하고 개선 된 가중치 행렬에 곱하여 차원에 'dog'의 벡터 표현을 얻습니다. 숨겨진 레이어 뉴런이 없습니다.

제시 한 다이어그램에서 숨겨진 레이어 뉴런의 수는 3입니다.

오른쪽은 기본적으로 단어 벡터입니다.

이미지 크레디트 : http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.