2016-07-12 4 views
4

저는 신경망을 훈련시키고 벡터 공간에 유사한 단어를 찾는 신경 내장을 구축하기 위해 word2vec 모델을 사용하고 있습니다. 하지만 제 질문은 단어 및 컨텍스트 삽입 (행렬)의 차원에 대한 것이며,이 경우 처음에 임의의 숫자 (벡터)로 시작합니다. https://iksinc.wordpress.com/2015/04/13/words-as-vectors/Word2Vec의 치수는 어디에서 가져 왔습니까?

{book, paper , 노트북, 소설} 그래프의 단어, 우선 우리는이 차원이 4x2 또는 4x3 또는 4x4 등인 행렬을 작성해야합니다. 행렬의 첫 번째 차원은 우리의 어휘 크기 | v |를 알고 있습니다. 그러나 행렬의 두 번째 차원 (벡터의 차원 수)은 "book"[0.3,0.01,0.04] 단어의 벡터입니다.이 숫자는 무엇을 의미합니까? 예를 들어 0.3과 관련된 숫자 어휘에서 단어 "책"과 "종이"사이의 관계에 0.01은 책과 수첩 등의 관계입니다. 각 차원 (열) Y가 의미하는 TF-IDF 또는 Co-Occurence 행렬과 마찬가지로 - 행 X의 단어와 관련된 단어 또는 문서

+0

흥미로운 질문이 많습니다. – Aaron

답변

1

word2vec 모델은 네트워크 아키텍처를 사용하여 입력 단어와 관련 가능성이 높은 출력 단어를 나타냅니다.

소개 된 두 개의 행렬은 네트워크에서 입력 벡터를 매핑하는 함수의 내부 표현을 계산할 수있는 가중치와 바이어스를 나타냅니다 (예 : "cat ")를 출력 벡터 (예 :"climbed ")에 연결합니다.

네트워크의 가중치는 입력과 출력 간의 매핑의 하위 상징적 표현입니다. 단일 가중치는 반드시 그 자체로 의미있는 것을 나타내지는 않습니다. 네트워크에서 함수 매핑의 네트워크 표현을 발생시키는 모든 단위 (예 : 모든 가중치의 상호 작용) 간의 연결 가중치입니다. 이것이 신경 네트워크가 종종 "블랙 박스"모델이라고 불리는 이유입니다. 왜 그들이 특정한 결정을 내리고 어떻게 배우는지 해석하기가 어려울 수 있습니다. 따라서 벡터 [0.3,0.01,0.04]가 정확히 무엇인지 나타내는 것은 매우 어렵습니다. 교육

  • 그것은 네트워크가 검색에서 다른 지점에서 시작할 수 있습니다 시작되기 전에

    그것은 편견을 방지
    1. 모델로 소개되고 :

      네트워크 무게는 전통적으로 두 가지 이유로 임의의 값으로 초기화된다 초기화 후 공간 (로컬 미니 마의 영향을 줄이는 데 도움이 됨)

    네트워크의 학습 능력은 가중치가 초기화되는 방식에 매우 민감 할 수 있습니다. 오늘 가중치를 초기화하는 고급 방법이 있습니다. this paper (see section: Weights initialization scaling coefficient).

    가중치가 초기화되는 방식과 숨겨진 계층의 치수는 종종 하이퍼 매개 변수로 언급되며 일반적으로 휴리스틱 및 문제 공간에 대한 사전 지식에 따라 선택됩니다.

  • +0

    답장을 보내 주셔서 감사합니다.그래서 각각의 가중치 자체가 의미가 없으며 예를 들어이 벡터 [0.3,0.01,0.04]가 무엇을 연결했는지 이해할 방법이 없다는 뜻입니다. 그러나 행렬 W (어휘 행렬 또는 단어 임베딩)의 열은 이름이 있어야합니다. 맞습니까? 우리 어휘의 단어 인 행과 같습니다. 어떤 사람은 각 차원 (열)이 어떤 식 으로든 단어를 설명하는 기능을 나타내지 만 "기능"이 무엇인지 이해할 수 없었습니다. –

    +0

    입력 벡터의 가중 합계 (즉, 가중치 행렬의 특정 열을 곱한 입력 벡터)는 유닛의 활성화 함수에 따라 활성화 될 수있는 '지형지 물'을 나타냅니다. 이러한 기능이 나타내는 것은 위에서 설명한대로 다시 말하기가 어렵습니다. 그것들은 트레이닝 알고리즘이 배운 기능을 통해 하나의 케이스 또는 다른 케이스를 구별 할 수 있습니다. CNN의 경우 이미지 입력 ​​[http://yosinski.com/static/proj/deepvis_all_layers.jpg] (여기 [http://yosinski.com/deepvis] 참조)에 대한 단위로 감지 된 기능을 시각화 할 수 있습니다.) 이상). – Mark

    0

    나는 똑같은 것을 궁금해하고 가장 가까운 단어를보기 위해 (1 0 0 0 0 0 ...)과 같은 벡터를 넣었다. 대답은 반환 된 결과가 특정 의미를 중심으로 나타나지 않았지만 무작위 적이라는 것입니다. 이것은 Google 뉴스에서 교육 된 Mikolov의 300 차원 벡터를 사용했습니다. 개별 치수가 특정 인간이 이해할 수있는 의미를 나타내는 것처럼 보이는 벡터 공간에 대해 NNSE 의미 벡터를 찾습니다.