728x90

TransE는 knowledge graph embedding 방법 중 하나로, head node embedding에 relation을 더했을 때 tail node embedding이 되도록 하는 embedding 방법을 말한다. 이번 글에서는 RotatE에 이어, 새로운 knowledge graph embedding 방법인 TransE 방법에 대해 설명하겠다.  

Method

 TransE는 아주 직관적인 knowledge graph embedding 방법이다. 간단하게 head node embedding에 relation을 더했을 때 tail node embedding이 되도록 하기 위해 학습을 한다고 생각하면 된다. 그러므로 TransE의 score function을 표현하면 다음과 같다.

TransE의 score function

이를 그림으로 표현하면, 다음과 같은 직관적인 벡터 간 합 형태로 표현할 수 있을 것이다. 

TransE를 벡터 간 합으로 표현한 형태

예를 들어, 우리가 오바마의 국적을 알고 싶다고 하자. 그러면 head embedding인 Obama의 벡터에 국적을 나타내는 relation embedding nationality 벡터를 더하면, American이라는 tail embedding이 도출될 것이다. 그럼 이제부터 TransE가 표현할 수 있는 relation pattern들에 대해 알아보겠다.

Antisymmetry

 Antisymmetry는 다음과 같이 정의할 수 있다.

Antisymmetry의 정의

 이를 TransE의 정의에 따라 표현하면, 다음 식을 만족해야 한다.

TransE의 antisymmetry

 이를 그림으로 표현하면 다음과 같고, 아주 직관적으로 r이 0인 경우가 아니면 TransE가 이것을 모델링할 수 있음을 알 수 있다.

TransE의 antisymmetry 표현

Inversion

 Inversion는 다음과 같이 정의할 수 있다. 

Inversion의 정의

 이를 TransE의 정의에 따라 표현하면, 다음 식을 만족해야 한다.

TransE의 inversion

 이를 그림으로 표현하면 다음과 같고, 아주 직관적으로 $r_1=-r_2$를 만족하면 TransE가 이것을 모델링할 수 있음을 알 수 있다.

TransE의 inversion 표현

Composition

 Composition은 다음과 같이 정의할 수 있다. 

Composition의 정의

 이를 TransE의 정의에 따라 표현하면, 다음 식을 만족해야 한다.

TransE의 composition

 이를 그림으로 표현하면 다음과 같고, 아주 직관적으로 $r_1+r_2=-r_3$를 만족하면 TransE가 이것을 모델링할 수 있음을 알 수 있다.

TransE의 composition 표현

Symmetry

 여태까지 TransE가 모델링할 수 있는 relation pattern들을 알아봤으니, 이제 TransE가 모델링할 수 없는 relation pattern에 대해 알아보겠다. 우선, symmetry는 다음과 같이 정의한다.

Symmetry의 정의

 이를 TransE의 정의에 따라 표현하면, 다음 식을 만족해야 한다.

TransE의 symmetry

 이 식은 r=0일 때만 만족할 수 있다. 하지만 이렇게 되면 head와 tail이 완전히 동일한 노드가 되어야 하고, 이는 head와 tail을 구별할 수 없게 만들기 때문에 TransE는 symmetry relation을 표현할 수 없음을 알 수 있다.

1-to-N

 마지막으로, 1-to-N은 다음과 같이 정의한다.

1-to-N의 정의

이를 TransE의 정의에 따라 표현하면, 다음 식을 만족해야 한다.

1-to-N의 symmetry

이 식은 $t_1$과 $t_2$가 다른 노드라는 가정에 어긋난다. 그러므로 TransE는 1-to-N relation을 표현할 수 없음을 알 수 있다.

Training

 다음으로, TransE가 어떻게 embedding을 학습하는지에 대해서 알아보겠다. TransE는 학습에 negative sampling을 사용한다. 즉, 실제로 존재하는 head, relation, tail의 triplet에 대해서는 h+r과 t의 distance를 최소화하고, 반대로 실제로 존재하지 않는 corrupted triplet에 대해서는 h+r과 t의 distance를 최대화하는 것이다. 이를 표현한 TransE의 학습 알고리즘은 다음과 같다.

TransE의 학습 알고리즘

 위 알고리즘에 대해 좀 더 구체적으로 설명하면, 우선 1-3 줄에서는 각 head, tail entity와 relation들을 normalize하고, uniform하게 sampling한다. 다음으로, 9번째 줄에서는 head와 tail을 실제 데이터에 없는 entity로 바꿈으로써 corrupted triplet을 만들어낸다. 마지막으로 12줄에서 실제로 존재하는 head, relation, tail의 triplet에 대해서는 h+r과 t의 distance를 최소화하고, 반대로 실제로 존재하지 않는 corrupted triplet에 대해서는 h+r과 t의 distance를 최대화한다. 

 이번 글에서는 TransE knowledge graph embedding에 대해 알아보았다. TransE는 아주 간단한 knowledge graph embedding으로, 세 가지의 relation pattern들을 모델링할 수 있다. 앞으로 TransR, DistMul, CompEx 등 다양한 knowledge graph embedding을 다루는 시리즈를 진행해보겠다.

References

1. Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., & Yakhnenko, O. (2013). Translating embeddings for modeling multi-relational data. Advances in neural information processing systems, 26.

2. CS224W: Machine learning with graphs

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기