티스토리 뷰
[논문] Linguistic Regularities in Continuous Space Word Representations (Tomas Mikolov)
yunmap 2017. 10. 8. 14:43원래 예전에 사용하던 블로그에 올려두었던 포스팅이다.
학부 연구생 활동을 하면서 연구와 관련된 주제의 논문을 읽고 돌아가면서 발표하는 시간을 가졌었는데, 내가 발표했던 논문은 발표자료까지 공유를 하고, 내가 발표하지 않은 논문은 내용 정리 위주로 포스팅을 하고자 한다.
가장 먼저 올릴 논문은 Linguistic Regularities in Continuous Space Word Representations이고, 저자는 Tomas Mikolov이다.
딥러닝 중에서도 NLP (자연어처리)에 관심이 있는 사람이라면 Mikolov는 잘 알고 있을 것 같다. (word2 vec)
논문 다운로드 링크는 누르면 연결된다.
Linguistic Regularities in Continuous Space Word Representations
이 논문을 발표하기 위한 ppt의 첫 번째 슬라이드이다.
논문 발표에서 빠지지 않아야 할 부분은 바로 '저자'이다. 저자 이름을 알아야 어떤 연구 주제인지 파악하기 쉽다.
이번 논문의 3명의 저자이다. 맨 왼쪽이 Mikolov이고, google을 다니다가 Facebook으로 이직했다고 한다.
이 논문의 목적(goal)은 '새로운 Vector offset method를 제안하고, RNN 모델과 결합하여 성능 향상'이라고 볼 수 있다.
논문을 몇 개씩 읽어보면서 논문이 한국어로 쓰여있지 않다 보니 목적을 미리 알고 논문을 읽어야 이해가 훨씬 쉬웠다.
그래서 논문을 읽을 때 abstract와 introduction을 꼼꼼히 읽는 편이다.
논문 순서와 일치하게 목차를 구성하였다. 다른 논문은 이해가 쉬운 방향으로 목차를 수정한 경우도 있지만 이 논문은 순서대로 읽어도 전혀 무리가 없었다.
이 논문은 모델로 RNN을 사용하기 때문에 Recurrent Neural Network에 대해서 먼저 간단히 설명해준다.
Vector offset은 word 사이의 관계를 나타내는 데 사용된다.
그런데, RNN에 word를 여러 dimention으로 vector 화하여 (matrix라고 할 수 있다.) 학습시키려면 U라고 나타낸 word representation이 필요하다.
U는 k*v 사이즈의 matrix이다. 이 matrix엔 word를 어떤 relation을 가지고 묶을지에 대한 정보가 담겨있다.
input vector는 v*1 matrix이므로 input vector (w(t))와 word representation (U)을 곱하면 k*1의 column vector가 output이 되고, 이 output은 word의 relation에 관한 정보이다.
애초에 RNN이라는 모델이 이름에도 담겨있듯 s(t)를 input으로 받아 s(t-1)을 update 하는 재귀(recurrent)이기 때문에 처음의 knowledge가 없다고 볼 수 있는데,
이 특성으로 인해서 'word representation의 syntactic, semantic 한 property'를 효과적으로 나타낼 수 있다.
Syntactic 한 의미에서 linguistic regularity는 다음과 같다.
우선 'a is to b as c is to _'의 형태를 analogy(비유)라고 한다. 중학교 때 문법을 배울 때처럼 b의 위치에 해당하는 형태가 _에도 들어가야 한다.
Syntax는 한국어로 문법이고, 여기선 카테고리를 형용사, 명사, 동사로 나눈다.
형용사는 세부적으로 base, comparative, superlative로 나뉘고, 명사는 singular/plural, non-possessive/possessive, 동사는 base/past/3인칭으로 나뉜다.
이렇게 나눈 것을 각 카테고리 별로 2개씩 묶으면 형용사에서 3개, 명사에서 2개, 동사에서 3개의 조합이 나온다.
그 결과는 다음 슬라이드와 같다.
이 8개의 조합은 각각 analogy 하게 표현이 가능하다.
예를 들면 'good is better as bad is to worse'처럼 말이다.
이런 식으로 syntax 하게 relation이 있는 단어들은 analogy 하게 표현이 가능하다.
Syntactic을 알아보았으니 semantic으로 넘어가면, SemEval-2012를 이용한다고 한다.
SemEval-2012는 analogy 한 형태로 semantic 한 관계의 word를 묶어둔 data set이다.
Semantic도 syntactic처럼 analogy의 형태로 표현한다.
clothing과 dish가 카테고리이고, shirt와 bowl은 각각의 예시이다.
이 것을 analogy로 표현하면 'dishing is to shirt as dish is to bowl' 이 된다.
따라서, Syntactic, semantic linguistic regularity는 analogy로 표현이 가능하다.
Analogy만 쉽게 해결하면 linguistic regularity를 identify 할 수 있다. 그래서! 새로운 vector offset method 인 cosine distance를 제안한다.
먼저 vector offset이란 파란색, 빨간색으로 표시된 vector이다. 파란색은 성별, 빨간색은 복수의 의미를 나타내고 있다.
Cosine distance란 cosine similarity와 같은 개념이다.
Cosine은 항상 -1~1 사이의 값을 가지는데, 같은 벡터 사이의 cosine similarity는 1이 된다.
1에 가까운 값을 가질수록 유사한 벡터이고 -1에 가까울수록 먼 벡터이다.
초록색으로 나타낸 부분이 cosine similarity를 구하는 식인데, 이 식의 argmax는 cosine similarity를 최대가 되게 하는 w를 반환한다.
이 식이 필요한 이유는 ppt에서 _를 나타내는 y가 정해지지 않을 때 가장 유사한 벡터를 찾기 위해서이다.
y가 안정해지면 argmax를 통해 가장 유사한 값을 할당하게 된다.
예시를 들어 설명하면, king-gueen을 나타내는 벡터는 있는데 man-woman이 없고 man-girl이 있을 때이다.
이때 woman이 없기 때문에 y는 바로 정해질 수 없고 argmax를 통해 구한 값인 girl이 대신 할당된다.
반면에 y를 알고 있으면 cos 값은 1이 된다.
기존에 사용하던 방법인 모든 pair에 대한 distance를 구하는 것보다 식이 훨씬 간단하지만 유사한 성능을 보이기 때문에,
cosine distance라는 새로운 방법을 제시한 것이다.
지금까지 나온 것을 종합하여 cosine similarity를 이용한 vector offset을 통해 LSA model과 RNN model을 학습시킨다.
결과는 RNN이 LSA보다 3배 뛰어났다.
CW, HLBL이라는 모델에도 같은 실험을 진행하였는데 HLBL이 RNN과 Syntactic 한 측면에선 유사한 성능을 보였다.
하지만, Semantic의 측면에선 CW와 HLBL이 둘 다 부진하고 RNN이 좋은 성능을 가져왔다.
논문의 결론이다.
Cosine similarity를 이용한 vector offset method와 RNN을 결합해 사용하면 좋은 성능을 얻을 수 있다!
부담 없이 읽을 수 있고 내용도 괜찮은 논문이었다.
'공부 > 논문' 카테고리의 다른 글
[논문] Distributed Representations of Words and Phrases and their Compositionality (Tomas Mikolov) (1) | 2017.10.08 |
---|