본문 바로가기

AI.

[Paper] KGAT: Knowledge Graph Attention Network for Recommendation

KGAT: Knowledge Graph Attention Network for Recommendation
https://arxiv.org/pdf/1905.07854.pdf

이 논문이 제시하는 모델은 효과적인 추천을 위해 High-order relations을 고려한 Knowledge Graph Model이다.
High-order relation이란 두 아이템들의 Attribute들이 Link된 것이다.
(Attribute들 간의 Relation은 기본적으로 여러 관계를 경유하기 때문에 High-order라고 칭하며, 아래 그림에서 Entity들이 Attribute node에 해당한다. 다시 말해서, Attribute들도 고려하는 추천 시스템이라는 것이다.)

CKG (Collaborative Knowledge Graph)

이 논문에서 다루는 데이터는 Collaborative Knowledge Graph(CKG)이다.
CKG는 위 그림처럼 Knowledge graph와 User-item graph의 Hybrid structure이다.

  • Knowledge graph : Entity – Relation graph
  • U : User
  • I : Item (e.g., 유저가 본 영화)
  • E : Entity (e.g., Item인 영화에 출연한 영화배우 - 아이템과 연관성이 있는 것)

Methodology

KGAT 모델을 통해 End-to-end 방식으로 High-order relation을 추출해낸다.

논문에서 제시하는 KGAT 모델 구조:
Embedding layer -> Attentive layer -> Prediction layer
이때, Embedding layer에는 "TransR"이 사용된다.

기본적인 지식 그래프의 벡터 임베딩 발전 과정
TransE -> TransH -> TransR

  • TransE : (head, relation, tail)에서 head의 translation을 통한 tail 도달. Entity space에서의 one-to-one 관계만 다룰 수 있음.
  • TransH : Entity space에서의 1:N, N:1, N:N 관계에 대해서 초평면(Hyperplane)을 도입함으로써 TransE의 한계를 극복.
  • TransR : Entity space와 Relation space를 분리. Entity space에 있는 것을 Relation space로 보내는 Projection Matrix를 정의함.

Task Description

User-Item 그래프와 Item-Entity 그래프(지식 그래프)가 들어오면, User와 Item 간의 연결을 예측한다.

Embedding Layer

TransR과 동일한 방식을 사용한다.
Reference: TransR Paper

Scoring function:
(Relation space로 Projection하는 Learnable \( W \) 함수를 통해, Relation에서의 Head vector를 Translation 했을 때 Tail vector와 일치하도록 함)

Relation이 Broken된 Node와 올바른 \( (h,r,t) \)를 "선택해서", Broken된 쪽은 작은 값을 갖고 올바른 \( (h,r,t) \)는 큰 값을 갖도록 학습한다.

이를 위해 Pairwise Ranking Loss를 사용한다.
Reference Paper

Pairwise ranking loss는 본래 논문에서는 Softmax function 대신 사용해서 Class를 결정하는 데 사용되지만, KGAT의 Embedding layer인 TransR 논문에서는 Similarity 학습을 위해서 사용된다.

Attentive Embedding Propagation Layer

Graph Convolutional Network(GCN)의 방법론을 사용한다.
Reference: GCN Paper

Information Propagation

기본적으로 하나의 Entity는 하나가 아닌 여러 Triplet과 연결되어 있고 여러 관계를 거쳐서 연결되어 있다.
따라서 연결된 정도를 나타내는 Decay factor를 정의해야 하고, 그것을 고려해서 Aggregation 한다. 구체적인 형태는 다음과 같다.

Entity \( e_{N_h} \)는 그것에 연결된 Entity에 Decay factor를 곱하고 Linear combination 형태로 Attention 한다.

Decay factor \( \pi \)를 정의한 뒤 Normalize는 다음과 같이 Softmax 함수를 통해 이뤄진다.

Information Aggregation

논문에서 예를 든 Aggregator는 다음과 같다.

High-order Propagation

High order를 갖는 경우에는 Recursive 하게 다룬다.

Model Prediction

\( L \)번째 Layer까지 실행한 후에는 다음과 같은 Representation을 얻는다.

  • User node \( u \Rightarrow \{e^{(1)}_u , \cdots , e^{(L)}_u \} \)
  • Item node \( i \Rightarrow \{e^{(1)}_i , \cdots , e^{(L)}_i \} \)

그다음 Concatenate 한다.

마지막으로, Inner product를 통해 "Matching Score"라고 표현하는 유사도를 측정하게 된다.

Optimization

TransR에서 제시되는 Objective function \( L_{KG} \).

Recommendation model을 Optimization 시키기 위한 Objective function인 \( L_{CF} \)의 경우는 User \( u \)와 Item \( j \) 사이의 관찰된 Positive relation 쌍과 관찰되지 않은 Negative relation 쌍을 "선택해" 계산을 진행한다.

최종적으로, Regularization term을 추가한 두 Objective function의 합이 최종 Objective function이다.