TransR은 knowledge graph embedding 방법 중 하나로, projection matrix를 활용해서 head와 tail node embedding을 projection한 값 사이의 relation을 모델링하는 embedding 방법을 말한다. 이번 글에서는 RotatE, TransE에 이어, 새로운 knowledge graph embedding 방법인 TransR 방법에 대해 설명하겠다.
Motivation
TransE에서는 head embedding, tail embedding, relation embedding이 모두 같은 embedding 공간에 존재했다. 하지만 이러한 가정은 적절한 relation embedding을 찾는 것에 제약을 주었다. 그렇다면 head embedding과 tail embedding을 좀 더 relation을 찾기 쉬운 공간으로 projection하면 더 좋은 relation embedding을 찾을 수 있지 않을까? TransR은 이러한 생각에서 시작된 knowledge graph embedding 방법이다.
Method
그럼 이제 TransR에 대해 설명하겠다. TransR은 위에서도 언급했듯이 head와 tail embedding을 project하고 이들 사이의 relation을 찾는 것을 목적으로 한다. 그러므로 우리의 score function은 다음과 같이 정의될 수 있을 것이다.
위 식에서 $h_\perp$와 $t_\perp$는 각각 head와 tail embedding을 projection matrix $M_r$을 활용해 project한 값을 말한다. 이는 식으로 표현하면 다음과 같다.
이제 TransR이 표현할 수 있는 relation pattern들에 대해 알아보겠다.
Symmetry
Symmetry는 다음과 같이 정의한다.
이는 우리가 r을 0으로 정의하고, h의 projection된 값과 t의 projection된 값이 같아지도록 projection matrix를 정의하면 ㅗ된다. 이를 식으로 나타내면 다음과 같다.
또한 이를 그림으로 나타내면 다음과 같다. 즉, 실제 entity space에서는 h와 t가 다른 값이더라도 projection만 같게 해주면 symmetry를 성립하게 만들 수 있는 것이다.
Antisymmetry
Antisymmetry는 다음과 같이 정의한다.
이를 TransR의 정의에 따라 표현하면 다음과 같은 식을 만족해야 한다.
위 식을 만족하는 것은 간단히 다음과 같은 그림으로 표현할 수 있다. 아래 그림을 통해 우리는 TransR이 antisymmetry를 표현할 수 있음을 알 수 있다.
Inverse
Inverse는 다음과 같이 정의한다.
이를 TransR의 정의에 따라 표현하면, 다음 식을 만족해야 한다.
이를 그림으로 표현해보면, 다음과 같이 $r_1$과 $r_2$가 relation space에서 서로 반대가 되면 될 것이다. 아래 그림을 통해 우리는 TransR이 inverse를 표현할 수 있음을 알 수 있다.
1-to-N
1-to-N relation은 다음과 같이 정의한다.
이를 TransR의 정의로 표현하면 다음과 같다.
이를 만족하는 행렬 $M_r$을 만드는 것은 그렇게 어렵지 않다. 그러므로 우리는 TransR이 1-to-N relation도 표현할 수 있음을 알 수 있다.
Composition
Composition은 다음과 같이 정의한다.
이는 우리가 수학적으로 증명하지 않고, 직관을 이용해서 composition의 모델링이 가능함을 알 수 있다. 그 이유는 TransE가 composition을 모델링할 수 있기 때문이다. TransE는 TransR에서 projection matrix $M_r$이 1인 special case라고 볼 수 있다. 그러므로 TransE가 composition을 모델링할 수 있다면, 우리는 projection matrix $M_r$을 1로 정의하여 TransR도 composition을 모델링할 수 있다고 주장할 수 있을 것이다. 우리가 이 글에서 TransE가 composition을 정의할 수 있다는 것을 보였기 때문에 TransR도 composition을 정의할 수 있다. (사실 이러한 논리로 위에 설명한 antisymmetry, inversion도 설명이 가능하다.)
이번 글에서는 TransR knowledge graph embedding에 대해 알아보았다. 우리가 알고 있는 모든 relation pattern들을 모두 모델링할 수 있는 좋은 knowledge graph embedding이라고 할 수 있을 것 같다.
References
1. CS224W: Machine learning in graphs
최근댓글