연속 단어 모음에 대한 질문


11

이 문장을 이해하는 데 문제가 있습니다.

제안 된 첫 번째 아키텍처는 피드 포워드 NNLM과 유사합니다. 여기서 비선형 히든 레이어가 제거되고 프로젝션 레이어는 프로젝션 매트릭스뿐만 아니라 모든 단어에 대해 공유됩니다. 따라서 모든 단어가 같은 위치에 투영됩니다 (그들의 벡터는 평균화됩니다).

프로젝션 레이어와 프로젝션 매트릭스는 무엇입니까? 모든 단어가 같은 위치에 투사된다는 것은 무슨 뜻입니까? 왜 그들의 벡터가 평균화 되었습니까?

문장은 벡터 공간에서 단어 표현효율적인 추정의 3.1 섹션 중 첫 번째입니다 (Mikolov et al. 2013) .

답변:


6

그림 1에는 약간의 설명이 있습니다. 주어진 크기의 창에서 모든 단어 벡터를 합산하고 결과에 (1 / 창 크기)를 곱한 다음 출력 레이어에 공급합니다.

투영 행렬은 각 단어가 단일 실수 벡터에 해당하는 전체 조회 테이블을 의미합니다. 프로젝션 레이어는 사실상 단어 (워드 인덱스)를 가져 와서 해당 벡터를 반환하는 프로세스입니다. 그것들을 연결하거나 (크기 k * n의 입력을 얻습니다 (여기서 k는 창 크기이고 n은 벡터 길이 임)) 또는 CBOW 모델에서와 같이 모두 합칠 수 있습니다 (크기 n의 입력을 얻음).

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


먼저 답변 해 주셔서 감사합니다. 프로젝션 매트릭스와 프로젝션 레이어의 차이로 인해 여전히 약간 혼란 스럽습니다. 그들은 같은 것 같습니다.
user70394

@ user70394 네, 사실 용어가 다소 혼란 스럽습니다. 기본적으로 모든 NN 레이어는 입력을 출력에 매핑하는 기능입니다. 프로젝션 레이어는 프로젝션 매트릭스의 가중치를 사용하지만 매트릭스 자체는 아닙니다. 동일한 행렬이 주어지면 많은 다른 기능을 정의 할 수 있습니다. 실제로 CBOW의 경우 시간 지연이 있고 투영 레이어가있는 프로젝션 레이어가 있다고 말할 수 있습니다. RNNLM 모델에서 "프로젝션 레이어"는 실제로 프로젝션 매트릭스의 무게와 반복되는 무게를 결합하여 출력을 계산하는 반복적 인 숨겨진 레이어의 일부입니다.
Denis Tarasov

1

내가 CBOW 문제에 대한 주변 검색이 우연히되면서, 여기 ( "투사 무엇 당신의 (첫번째) 질문에 다른 대답 행렬 ?")은 (는 NNLM 모델을보고 Bengio 등., 2003) :

Bengio et al., 2003, 그림 1 : 신경 구조 : f (i, w_ {t−1}, ···, w_ {t−n + 1}) = g (i, C (w_ {t−1} ), ···, C (w_ {t−n + 1})) 여기서 g는 신경망이고 C (i)는 i 번째 단어 특징 벡터입니다.

Mikolov의 모델이 비교하는 경우 [S (이 문제에 대한 대안 않음에 도시), 인용 된 문장 (문제)에 Mikolov가 제거 된 것을 의미 (비선형!) Bengio의 모델에서 볼 층 위에 도시. 그리고 Mikolov의 최초로 유일한 숨겨진 층은 대신 개별 벡터 필요없이 각각의 단어 만 사용하는 하나의 벡터를 그 "단어 매개 변수"를 선택한 후 그 금액은 평균 얻을 요약한다. 그래서 이것은 마지막 질문을 설명합니다 ( "벡터의 평균이 무엇을 의미합니까?"). 개별 입력 단어에 할당 된 가중치가 합산되어 Mikolov의 모델에서 평균화되기 때문에 단어는 "동일한 위치로 투사됩니다". 따라서 그의 투영 레이어h(나는)Bengio의 첫 번째 숨겨진 레이어 (일명, 투영 행렬 ) 와 달리 모든 위치 정보를 잃어 버려 두 번째 질문에 답합니다 ( "모든 단어가 같은 위치에 투영된다는 것은 무엇을 의미합니까?"). 따라서 Mikolov의 모델은 "워드 파라미터"(입력 가중치 매트릭스)를 유지하고 프로젝션 매트릭스 와 레이어를 제거하고 둘 다 "간단한"프로젝션 레이어 로 대체 했습니다 .h

추가하고, "기록을 위해서만": 정말 흥미로운 부분은 Bengio의 이미지에서 "가장 많이 계산하는"문구가 나오는 부분을 해결하는 Mikolov의 접근 방식입니다. Bengio는 이후 논문 (Morin & Bengio 2005)에서 계층 적 softmax (softmax를 사용하는 대신)를 수행함으로써 이러한 문제를 줄이려고 노력했습니다 . 그러나 부정적인 서브 샘플링 전략을 가진 Mikolov 는 이것을 한 단계 더 발전 시켰습니다 . 그는 모든 "잘못된"단어 (또는 벤 지오가 2005 년에 제안한 허프만 코딩)의 부정적인 로그 가능성을 전혀 계산하지 않고 충분한 계산과 영리한 확률 분포가 주어지면 부정적인 사례의 작은 샘플이 매우 효과적입니다. 그리고 두 번째로 더 큰 기여는 당연히그의 "건너 뛰기"모델과 함께 잘 작동하고 Mikolov가 제안한 변경 사항을 적용하여 Bengio의 모델을 취하는 것으로 대략 이해 될 수있는 추가 "구성" ( "응답 여왕이있는 남자 + 왕 = 여자 +?") 귀하의 질문에 인용 된 문구), 그리고 전체 과정을 거꾸로 뒤집습니다. 즉, 출력 단어 (현재 입력으로 사용됨), 에서 주변 단어를 추측하십시오 .(영형이자형엑스|=나는)

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