글로브(Gloval Vectors for Word Representation, GloVe)는 카운트 기반과 예측 기반을 모두 사용하는 방법론
기존의 카운트 기반의 LSA(Latent Semantic Analysis)와 예측 기반의 Word2Vec의 단점을 지적하며 이를 보완한다는 목적
단정적으로 Word2Vec와 GloVe 중에서 어떤 것이 더 뛰어나다고 말할 수는 없고, 이 두 가지 전부를 사용해보고 성능이 더 좋은 것을 사용하는 것이 바람직하다.
참고: https://wikidocs.net/22885
기존의 방법론 LSA와 Word2Vec를 간단히 알아보자
LSA(Latent Semantic Analysis)
BoW에 기반한 DTM이나 TF-IDF는 기본적으로 단어의 빈도 수를 이용한 수치화 방법이기 때문에 단어의 의미를 고려하지 못한다는 단점이 있다.
이를 위한 대안으로 DTM의 잠재된(Latent) 의미를 이끌어내는 방법으로 잠재 의미 분석(Latent Semantic Analysis, LSA)라는 방법이 사용되었다.
LSA는 각 단어의 빈도수를 카운트 한 행렬이라는 전체적인 통계 정보를 입력으로 받아 차원을 축소(Truncated SVD)하여 잠재된 의미를 끌어내는 방법론이다.

Word2Vec
원-핫 벡터는 단어 벡터 간 유의미한 유사도를 계산할 수 없다는 단점이 있다.
그래서 단어 벡터 간 유의미한 유사도를 반영할 수 있도록 단어의 의미를 수치화 할 수 있는 방법이 필요하다. 이를 위해서 사용되는 대표적인 방법은 Word2Vec이다.
Word2Vec는 실제값과 예측값에 대한 오차를 손실 함수를 통해 줄여나가며 학습하는 예측 기반의 방법론이다.

두 방법론은 각자 장단점이 있다.
LSA
Word2Vec
✅ GloVe는 이러한 기존 방법들의 한계를 지적하며
LSA 메커니즘이었던 카운트 기반의 방법과 Word2Vec의 메커니즘이었던 예측 기반의 방법론 두 가지를 모두 사용
최근 단어의 벡터 공간 표현을 학습하는 방법들은 벡터 산술을 이용해서 의미적, 구문적 규칙성을 포착하는데 성공을 했지만, 이러한 규칙성의 기원은 불투명한채로 남아있다.
우리는 이러한 규칙성이 단어 벡터에서 나타나기 위해 필요한 모델 특성을 분석하고 명시한다. 그 결과, 새로운 전역 로그 선형 회귀 모델이 탄생했다. 우리의 모델은 전체 희소 행렬이나 개별 컨텍스트 윈도우 대수를 사용하는 대신, 단어-단어 co-occurrence matrix의 0이 아닌 요소들만을 학습시켜 통계 정보를 효율적으로 활용한다.
이 모델은 최근 단어 유추 작업에서 75%의 성능을 보여주는 의미 있는 하위 구조를 가진 벡터 공간을 생성했고, similarity task와 named entity recognition에서 관련된 모든 모델들을 능가한다.
언어의 의미 벡터 공간 모델은 각 단어를 실수 값 벡터로 표현한다.
등 다양한 응용 분야에서 특징으로 사용된다.
대부분의 단어 벡터 방법은 이러한 단어 표현 집합의 본질적인 품질을 평가하기 위한 주요 방법으로 단어 벡터 쌍 간의 거리나 각도에 의존한다.
최근, Mikolov는 단어 벡터 간의 스칼라 거리가 아닌 다양한 차원의 차이를 조사하여 단어 벡터 공간의 미세 구조를 조사하는 단어 유사성 기반의 새로운 평가 체계를 도입했다.
"king is to queen as man is to woman"
-> 벡터 방정식 king - queen = man - woman
✔ 본 연구에서는 의미의 선형 방향을 생성하는 데 필요한 모델 속성을 분석하고, global log-bilinear 회귀 모델이 더 적합 하다고 주장한다.
✔ 저자는 전역 word-word co-occurence 동시 발생 횟수를 기반으로 훈련하여 통계를 효율적으로 활용하는 특정 가중치 최소 제곱 모델을 제안한다.
corpus에서 단어 발생 통계는 모든 비지도 학습 방법에 사용할 수 있는 주요 정보원이고 많은 방법들이 존재하지만, 이러한 통계가 어떻게 표현할 수 있는지에 대한 질문은 남아있다.
이 섹션에서는 이 질문에 대해 설명이 있다. 우리는 우리의 통찰력을 바탕으로 단어 표현을 위한 새로운 모델을 구축하는데, 이를 Global Vectors라고 부른다.
✔ExampleNotation
: co-occurrence matrix(동시 등장 행렬)
: 단어 i와 단어 j가 함께 등장한 횟수
= : 단어 i가 다른 모든 단어 k에 대해 함께 등장한 횟수
= = / : 단어 i가 등장할 때 단어 j가 등장할 확률(동시 등장 확률)

특정 관심사 측면을 나타내는 두 단어 i와 j를 고려해보자.
열역학적 위상의 개념에 관심이 있다고 가정하면 i = 얼음, j = 증기를 사용할 수 있다. k와 동시 발생 확률의 비율을 연구 할 수 있다. 얼음과 관련이 있지만 증기가 아닌 단어 k, 예를들어 k = 가스의 경우 / 비율이 클 것으로 예상된다. 얼음과 증기 모두와 관련이 있거나 둘 다와 관련이 없는 단어 k의 경우 비율이 1에 가까워야 한다. 원시 확률에 비해 관련 단어(고체와 가스)와 무관한 단어(물과 패션)를 더 잘 구분할 수 있으며 두 관련 단어를 구별할 수 있다.
위의 주장은 단어 벡터 학습의 적절한 출발점이 확률 자체보다는 동시 발생 확률의 비율이어야 함을 시사한다. / 비율은 i, j, k 세 단어에 따라 달라진다는 점에 주목하면 가장 일반적인 모델은 다음과 같은 형태를 취한다.
이 방정식에서 오른쪽은 말뭉치에서 추출되며, F는 아직 지정되지 않은 매개변수에 따라 달라질 수 있다. 먼저, 우리는 벡터 공간에서 / 비율을 나타내는 정보를 F가 인코딩하기를 원한다. 벡터 공간은 본질적으로 선형 구조이기 때문에, 이를 수행하는 가장 자연스러운 방법으로 두 목표 단어의 차이에만 의존하는 함수 F로 수정한다.
다음으로 F의 인수는 벡터이고 오른쪽은 스칼라라는 점에 주목한다. F는 예를 들어 신경망에 의해 매개변수화된 복잡한 함수로 간주될 수 있지만, 그렇게 하면 우리가 포착하려는 선형 구조를 제대로 파악하지 못할 수 있다. 이 문제를 피하기 위해 먼저 인수의 내적을 취할 수 있고, 이는 F가 벡터 차원을 바람직하지 않은 방식으로 혼합하는 것을 방지한다.
다음으로, 단어-단어 co-occurrence 행렬의 경우, 단어와 문맥 단어의 구분이 임의적으로 교환할 수 있다는 점을 유의해야 한다.
co-occurrence 행렬 는 대칭 행렬이므로 에 대해서도 적용 될 수 있어야 하고 이를 일반화하면 이와 같다.
또한 위의 식들을 종합해 보면 다음과 같은 등식이 성립하게 된다.
이 식의 양변에 log를 적용하면 다음과 같은 식이 성립하지만 i와 k에 대한 대칭 조건을 만족하지 않는다.
따라서 이를 해결하기 위해 상수인 를 같은 상수항인 로 치환한다. 이는 발산을 피하면서 의 희소성을 유지한다.
⭕️ 목적함수
동시 발생 행렬의 로그를 인수분해 하는 아이디어는 LSA와 밀접한 관련이 있으며, 결과 모델을 기분으로 사용할 것이다.
⚠️ 문제: 드물게 발생하거나 거의 발생하지 않는 경우에도 모든 동시 발생의 무게를 동일하게 측정
저자들은 이 문제를 해결하기 위해 일반적인 Least Square 방식이 아닌 Weighted Least Square 방식을 사용한다.
Weighting function은 다음과 같은 조건을 따라야 한다.(단, V는 vocabulary의 크기)
물론 많은 함수들이 이러한 속성을 만족하지만, 저자들이 잘 작동한다고 발견한 함수는 다음과 같다.

세 가지의 실험이 진행됐다.
Word Analogy는 'a is b, then c is ?" 에서 를 구하는 태스크이다. Word2Vec 논문에서 수행한 analogical reasoning task를 진행했다.

Glove model이 다른 모델들보다 더 우수한 성능을 보였다.
similarity score는 코사인 유사도를 사용한 것이고, word similarity 태스크에서도 다른 모델들보다 우수한 성능을 보인다.

해당 문장의 필요한 객체들을 인식하고 알맞는 token을 labeling 해주는 task이다. NER 태스크에서도 우수한 성능을 보이는 것을 확인 할 수 있다.

GloVe는 단어 벡터 와 주변 단어 벡터 를 학습하는 데 가 대칭이라면 와 는 같다. 그러나 neural network를 이용한 몇몇 연구에서 를 단어 벡터로 이용하는 게 성능을 더 발전시킬 수 있다는 결과가 나왔다.
특히, semantic analogy task에서 큰 성능 개선을 보였다.
symmetric context는 주로 문장의 전반적인 의미 이해에 초점을 둔다. Asymmetric Context는 시간 순서 유지가 필요하고 미래 단어를 미리 알 수 없기 때문에 왼쪽으로만 확장할 수 있다.
다음 그림에서 우리는 서로 다른 말뭉치에서 훈련된 300차원 벡터에 대한 단어 유추 작업의 성능을 보여준다.
semantic 하위 작업: 말뭉치 크기가 증가함에 따라 성능이 단조롭게 증가
(큰 말뭉치가 일반적으로 더 나은 통계를 생성하기 때문에 예상되는 결과)
작은 위키백과 말뭉치에서 훈련된 모델들이 큰 Gigaword 말뭉치에서 훈련된 모델들보다 더 나은 성능을 보이지만 Syntactic 하위 작업에서는 동일한 경향이 나타나지 않는다.
위키 백과의 항목은 새로운 지식을 흡수하도록 업데이트 된 반면, Gigaword는 고정 뉴스 저장소이다.
Word2vec와 비교했을 때, 같은 조건의 corpus, vocabulary, window size, training time에서 GloVe가 좋은 성능을 보인다.

최근, 카운트 기반 방법과 예측 기반 방법 중 어느 것에서 가장 잘 학습되는지에 대해 관심이 집중되고 있다. 현재는 예측 기반 모델이 지지를 받고 다양한 작업에서 더 나은 성능을 발휘한다고 주장한다.
⭐️ 이 연구에서는 두 가지 방법이 근본적으로 크게 다르지 않다고 주장한다. 이는두 접근법 모두 co-occurence 통계를 활용하기 때문이고, 카운트 기반 방법이 전역적(global) 통계 정보를 보다 효율적으로 포착할 수 있다는 장점이 있다.
이를 바탕으로 저자는 카운트 기반 데이터의 장점을 활용하면서도 Word2Vec과 같은 log-bilinear 예측 모델이 포착하는 유의미한 선형 구조를 동시에 반영하는 새로운 모델을 제안한다.
그 결과물인 GloVe는 비지도 학습 방식으로 단어 표현을 학습하는 global log-bilinear 회귀 모델이며, 단어 유추(word analogy), 단어 유사도(word similarity), 개체명 인식(NER) 등 다양한 태스크에서 기존 모델보다 우수한 성능을 보인다.
와 글이 너무 읽기 좋게 잘 정리되어있네요 !! 👍🏻 잘 읽었습니다 ~~