2016-06-17 5 views
21

현재 문맥을 기반으로 단어를 벡터로 표현하기 위해 word2vec 신경망 학습 알고리즘의 구조를 이해하려고합니다.신경망의 관점에서 투영 레이어 란 무엇입니까?

Tomas Mikolov paper을 읽은 후 나는 그가 투영 층으로 정의한 것을 발견했습니다. 비록이 용어가 word2vec을 언급 할 때 널리 사용 되긴했지만, 실제로 신경망 문맥에서의 정확한 정의를 찾을 수 없었습니다.

Word2Vec Neural Net architecture

내 질문은, 신경 그물 맥락에서, 투사 층은 무엇입니까? 이전 노드에 대한 링크가 동일한 가중치를 공유하는 숨겨진 레이어에 이름이 지정되어 있습니까? 유닛에 실제로 어떤 종류의 활성화 기능이 있습니까? 또한, 문제를 더 넓게 지칭

Another 자원은 페이지 주위 투사 층 지칭 this tutorial에서 찾을 수있다 (67)

+0

"이 자습서"링크가 작동하지 않습니다. –

답변

14

영사 층은 n- 그램 컨텍스트의 이산 워드 인덱스를 연속 벡터 공간에 매핑합니다.

바와 같이 투사 층이 같은 단어를 여러 번 포함하는 컨텍스트에 대한 가중치의 동일한 세트가 투영 벡터의 각 부분을 형성하기 위해 적용되도록 공유이 thesis

설명. 이 조직은 각 컨텍스트 학습 패턴의 각 단어가 개별적으로 가중치 변경에 기여하기 때문에 투영 계층 가중치를 학습하는 데 사용할 수있는 데이터의 양을 효과적으로 늘립니다.

enter image description here

이 도면

투사 층의 출력을 효율적으로 투사 층 가중치 행렬로부터 열을 복사하여 조립 될 수있는 방법 사소한 토폴로지를 도시한다. 지금

, 숨겨진 레이어 :

은닉층 투사 층의 출력을 처리하고, 또한 토폴로지 구성 파일에 지정된 뉴런 번호 생성된다.

편집 : 투사 층의 각 뉴런은 어휘의 크기와 동일한 가중치로 표현되는

도면에 무슨 일이 일어나고 있는지에 대한 설명. 투영 계층은 비선형 활성화 함수를 사용하지 않음으로써 숨겨진 레이어 및 출력 레이어와 다릅니다. 그것의 목적은 단순하게 그러한 벡터들을 분류하기 위해 훈련 된 숨은 레이어와 출력 레이어에 의한 후속 처리를 위해 감소 된 연속적인 벡터 공간에 주어진 n- 그램 컨텍스트를 투영하는 효율적인 수단을 제공하는 것입니다. 입력 벡터 요소의 1 또는 0 특성을 감안할 때, 인덱스 i를 갖는 특정 단어에 대한 출력은 단순히 투영 된 계층 가중치의 훈련 된 행렬의 i 번째 열입니다 (행렬의 각 행은 단일 뉴런의 가중치를 나타냄)).

3

continuous bag of words는 앞서 주어진 하나의 단어를 예측하는 데 사용 및 미래 입장 : 그러므로 문맥 상 결과이다.

입력 값은 이전 및 다음 항목의 계산 된 가중치이며 모든 값에 동일하게 새 가중치가 부여됩니다. 따라서이 모델의 복잡성/기능 개수는 다른 많은 NN 구조보다 훨씬 적습니다.

RE : what is the projection layer : 만약 비선형 숨겨진 층을 제거하고, 투사 층 모든 단어 (아니라 투영 행렬)에 대한 공유

인용 논문에서; 따라서 모든 단어 은 같은 위치에 투영됩니다 (벡터의 평균이 계산됩니다).

따라서 투영 레이어는 shared weights의 단일 세트이며 활성화 기능은 표시되지 않습니다.

입력과 투사 층 간의 가중치 행렬은 NNLM 그래서 hidden layer는 사실이 하나의 집합으로 표현된다

에서와 동일한 방법으로 모든 단어의 위치에 대한 공유하는 것으로 공유 가중치 - 모든 입력 노드에서 동일 함을 올바르게 암시했기 때문입니다.