드문 단어에 대해서는 계층 적 softmax가 더 좋은 이유는 무엇입니까?


답변:


10

나는 word2vec의 전문가가 아니라 Rong, X. (2014)를 읽을 때 . word2vec 매개 변수 학습 설명 하고 내 자신의 NN 경험을 통해 다음과 같은 추론을 단순화합니다.

  • 계층 적 softmax는 출력 벡터가 네트워크 계층의 트리와 같은 순회에 의해 결정되기 때문에 훈련 효율을 향상시킨다; 주어진 훈련 샘플은 아닌 네트워크 유닛 만 평가 / 업데이트해야 합니다. 이것은 본질적으로 큰 어휘를 지원하기 위해 가중치를 확장합니다. 주어진 단어는 더 적은 뉴런과 관련이 있으며 그 반대도 마찬가지입니다.O(log(N))O(N)
  • 네거티브 샘플링은 확률 적 그라디언트 디센트와 유사한 트레이닝 데이터를 샘플링하는 방법이지만, 핵심은 네거티브 트레이닝 예제를 찾는 것입니다. 직관적으로, 그것은 단어를 예상했을지도 모르는 샘플링 장소를 기반으로 훈련하지만, 찾지 못한 단어는 찾지 못했습니다. 매번 반복 할 때마다 전체 코퍼스를 훈련시키는 것보다 빠르며 일반적인 단어에 적합합니다.

두 가지 방법은 이론적으로 배타적이지 않지만 어쨌든 빈번하고 드문 경우에 더 나은 이유 인 것 같습니다.


1

내 이해는 이것이 카테고리 계층을 구축 할 때 사용되는 허프만 코딩 때문입니다 .

계층 적 softmax는 하나의 큰 softmax 대신 sigmoid 노드 트리를 사용하며 Huffman 코딩은 sigmoid 노드의 각 측면에 속하는 데이터 포인트의 분포가 균형을 이루도록합니다. 따라서 하나의 큰 소프트 맥스 및 네거티브 샘플링을 사용하는 것과 비교하여 빈번한 범주에 대한 선호를 제거하는 데 도움이됩니다.


0

계층 적 softmax는 전체 어휘 위에 나무를 만들고 희귀 단어를 나타내는 잎 노드는 필연적으로 나무에서 조상의 벡터 표현을 상속하며, 이는 말뭉치의 다른 빈번한 단어의 영향을받을 수 있습니다. 이것은 새로운 말뭉치에 대한 증분 훈련에 도움이 될 것입니다.

네거티브 샘플링은 노이즈 대비 추정에 기초하여 개발되고, 관찰 된 데이터를 인공적으로 생성 된 랜덤 노이즈와 구별하기 위해 문맥에없는 단어를 랜덤하게 샘플링합니다.

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