(벡터 공간에서 단어 표현의 효율적인 추정)

“벡터 공간에서 단어 표현의 효율적인 추정” – Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean(2013)


이 논문에서 …

  1. 대규모 데이터 세트에서 단어의 고품질 연결된 벡터 표현을 계산하기 위해 두 가지 새로운 모델 아키텍처를 제안합니다.

가정: 유사한 단어는 서로 가깝고 단어는 여러 정도의 유사성을 가지고 있습니다.

-> 벡터 표현 연산의 정확성을 극대화하기 위해 단어 사이의 선형 규칙을 보존하는 새로운 모델 구조를 개발할 것입니다.

2. 우리는 단어 벡터의 품질을 측정하기 위해 포괄적인 테스트 세트를 정의합니다.

.

배경

NLP의 많은 영역에서 단어는 원자적 엔터티로 취급되며 단어 간의 유사성 개념이 없습니다.

→ 간단하고 견고합니다.

이러한 모델은 소량의 데이터가 있는 복잡한 모델보다 성능이 더 좋은 것으로 관찰되었기 때문에 일반적으로 사용됩니다.

예) N-그램 모델

  • 원-핫 인코딩

대용량 메모리 요구, 유사도 비교 불가(코사인 유사도 계산 불가)

최근 기계 학습 기술의 발전으로 복잡한 모델을 훈련하고 단순한 모델을 능가하는 것이 가능해졌습니다.

가장 성공적인 개념은 단어의 분산 표현입니다.

  • 분산 표현

각 속성을 sparse가 아닌 독립된 차원으로 표현하는 것이 아니라 각각의 속성을 우리가 지정한 차원에 매칭하여 표현하는 방식, context에 기반한 단어 표현 방식.

.

관련 연구

연속 벡터(NNLM)로 단어 표현 연구:

.신경 확률 언어 모델 체코어 음성 인식을 위한 음성 모델링 , 굴절률이 높은 언어를 위한 신경망 기반 언어 모델

.

모델

이 기사에서는 분산 표현에 초점을 맞추고 모델이 훈련해야 하는 매개변수의 수로 모델의 계산 복잡성을 정의합니다.

.

계산 복잡성?

O = E × T × Q

O: 훈련 에포크 수, T: 훈련 세트의 단어 수, Q: 모델마다 다르게 정의됨

모든 모델은 SGD 및 역전파로 학습됩니다.

.

1. 피드포워드 신경망 언어 모델(NNLM)

입력, 투영, 숨겨진 및 출력 레이어로 구성됩니다.

Q = N × D + N × D × H + H × V (→log(V))

N: 입력 단어 수, V: 어휘 크기, D: 단어 표현 차원, H: 은닉층 크기

시간적 복잡성을 줄이기 위해 계층적 소프트맥스를 사용하거나 교육 중에 비정규화 모델을 사용합니다.

또한 1-of-V 인코딩에서 단어를 효과적으로 나타내려면 이진 트리를 사용하여 log(V) 크기로 조정합니다.

본 논문의 모델에서는 허프만 이진 트리를 이용한 계층적 소프트맥스를 사용한다.

그럼에도 불구하고 N x D x H의 복잡도는 해결되지 않았으므로 숨겨진 레이어가 없는 모델을 제안합니다.

단점: 입력 벡터 n의 수는 고정되어 있으며 이전 단어만 고려되고 후속 단어는 고려되지 않으며 높은 계산 노력이 필요합니다.


.

2. 순환 네트워크 언어 모델(RNNLM)

NNLM의 한계를 극복하기 위해 제안됨. B. 컨텍스트의 길이를 지정해야 할 필요성.

투영 평면은 없으며 입력, 숨겨진 및 출력 평면만 있습니다.

Q = H × H + H × V (→log(V))

순환 매트릭스는 히든 레이어 자체와 시간 흐름 연결이 있어 현재 입력을 기반으로 과거 정보를 업데이트할 수 있는 단기 기억을 생성할 수 있습니다.

계층적 softmax를 사용하면 NNLM에서와 같이 log(V) 크기로 축소됩니다.

단점: 이전 단어만 고려, 높은 계산 노력


.

신경망의 병렬 훈련

우리는 논문에서 제안한 DistBelief라는 고도로 분산된 프레임워크와 NNLM에서 일부 모델을 실행합니다.

Adagrad와 함께 비동기식 미니배치 경사하강법 사용.

.

3. 새로운 로그 선형 모델

최소한의 계산 복잡성으로 분산 표현을 학습하기 위해 두 가지 모델 구조를 제안합니다.

하나) CBOW(Continuous Bag of Words) 모델

계산 집약적인 비선형 숨겨진 레이어가 제거되고 프로젝션 레이어가 모든 단어에서 공유되는 피드포워드 NNLM과 유사합니다.

프로젝션 계층은 활성화 함수를 사용하지 않는 선형 계층입니다.

단어 순서는 투영에 영향을 주지 않기 때문에 단어 주머니 모델이라고 합니다.

Q = N × D + D × log2(V)

일반적인 bag-of-word 모델과 달리 이 모델은 컨텍스트의 연속적으로 분산된 표현(단순 평균)을 사용합니다.

2) 연속 스킵그램 모델

CBOW와 유사하지만 문맥을 기반으로 현재 단어를 예측하는 대신 동일한 문장의 다른 단어를 기반으로 단어 분류를 최대화합니다.

연속 프로젝션 레이어가 있는 대수 선형 분류기에서 현재 단어를 사용하고 현재 단어 전후의 주어진 범위 내에서 단어를 예측합니다.

Q = C × (D + D × log2(V))

C: 예측 단어와 현재 단어 사이의 최대 거리

(1, C) 범위에서 임의로 R을 선택하고 현재 단어 전후의 R을 예측합니다.

범위를 늘리면 품질이 향상되지만 계산 복잡성도 증가하므로 멀리 떨어져 있는 단어는 훈련 세트에서 덜 샘플링하여 가중치가 적습니다.


.

실험 환경

정확도 측정?

성능은 단어 유사성으로 측정되었으며 이전에 가장 잘 수행된 다른 유형의 신경망 아키텍처와 비교되었습니다.

X = 벡터(“가장 큰”) – 벡터(“큰”) + 벡터(“작은”)로 계산할 수 있습니다.

코사인 거리로 측정한 벡터 공간에서 다음 단어를 찾습니다.

→ “최소”

.

단어 벡터의 품질을 측정하기 위해 5가지 유형의 의미 질문과 9가지 유형의 구문 질문을 포함하는 테스트 세트를 정의합니다.

매우 낮은 계산 복잡성으로 큰 성능 향상을 보여줍니다.

16억 단어 데이터 세트에서 고품질 단어 벡터를 학습하는 데 하루도 걸리지 않습니다.

60억 개의 토큰이 있는 Google 뉴스 코퍼스를 사용하여 단어 벡터를 훈련합니다.

어휘 크기는 1백만으로 제한됩니다.

많은 데이터와 고차원 단어 벡터 사용 → 30,000단어의 제한된 어휘로 훈련 데이터를 사용하여 높은 정확도를 보일 것으로 예상됨.

.

졸업 증서


의미 체계: 스킵그램 > CBOW > NNLM > RNNLM

구문: CBOS > 스킵그램 > NNLM > RNNLM



두 배 이상의 데이터로 한 번 훈련하는 것이 동일한 데이터로 세 번 훈련하는 것보다 정확하고 빠릅니다.


DistBelief라는 분산 프레임워크에서 서로 다른 모델을 실행하면 컴퓨터에서 실행할 때보다 CBOW와 Skip-Gram 모델이 더 가까워져 정확도가 높아집니다.

더 많은 차원에서 더 큰 데이터로 훈련된 단어 데이터는 훨씬 더 잘 수행되며 둘 이상의 관계를 제공하면 정확도가 높아집니다.