유기농은 너무 비싸서 그런데 농약 친 건 어딨나요?

유기농은 너무 비싸서 그런데 농약 친 건 어딨나요?

17 Apr 2022

KGAT: Knowledge Graph Attention Network for Recommendation 리뷰

ABSTRACT

더 정확하고, 다양하고, 설명가능한 추천을 제공하기 위해 유저-아이템 간 상호작용 모델링을 넘어 부가적인 정보도 함께 고려 해야 한다. FM 같은 기존 메소드는 지도 학습으로 각각의 상호작용을 부가 정보와 함께 인코딩된 독립된 객체로 가정했다. 하지만 기존 메소드는 인스턴스 혹은 아이템 간의 관계를 간과하기 때문에, CF 시그널을 녹여내기에 부족하다.

본 논문에서는 지식 그래프(KG)의 가능성을 연구 하는데, 지식 그래프로 독립적인 상호작용에 대한 가정을 아이템 어트리뷰트와 함께 연결시켜 세분화 할 수 있다고 한다. 하이브리드 구조인 KG와 유저-아이템 그래프에 연결된 어트리뷰트 들로 두 아이템을 연결하는 고차 관계성으로 성공적인 추천을 할수 있다고 주장한다.

Knowledge Graph Attention Network ( KGAT ) 메소드를 제안하는데, e2e 방식으로 고차 연결성을 명시적으로 KG에 모델링한다. 노드의 이웃( 유저, 아이템 혹은 어트리뷰트 )에서 부터 노드 임베딩을 재정의하기 위해 임베딩을 재귀적으로 전파하고, 어텐션 메커니즘으로 노드 이웃 간의 중요도를 구분한다. KGAT는 개념적으로 기존 KG 기반 추천 메소드에 비해 유리하다. ( KG 기반 추천 메소드는 경로를 추출해 그 고차 관계성을 활용하거나 정규화로 암시적으로 고차 관계성을 모델링하는 메소드다. )

세 벤치마크 데이터셋에 대한 실험 결과로 Neural FM 과 RippleNet 같은 SOTA 메소드에 비해 KGAT가 뛰어나다는 것을 보인다. 추가로 고차 관계 모델링을 위한 임베딩 전파 효과와 어텐션 메커니즘으로 인한 해석 가능성 보인다.

1. INTRODUCTION

CF 메소드는 “사이드 정보를 모델링할 수 없다”는 단점이 있다. 사이드 정보에는 아이템 어트리뷰트, 유저 프로파일 그리고 컨텍스트가 있다. 그래서 유저와 아이템 간 상호작용 데이터가 희소한 상황에서는 성능이 낮다. 이런 정보를 통합하기 위해 공통적으로 사용하는 패러다임은 사이드 정보를 유저 ID, 아이템 ID 와 함께 제너릭한 피처 벡터로 변환하고, 지도 학습 모델의 예측에 사용하는 것이다.

추천에 지도 학습을 적용한 패러다임은 성능이 강력하다. 하지만 각 상호작용을 독립적인 데이터 인스턴스로 모델링하는 단점과 그들 간의 관계는 고려하지 않는 단점이 있다. 따라서 수집한 유저 행동에서 어트리뷰트 기반 CF 시그널을 녹여내기 부족하다.

Figure 1

그림 1에서 보이듯이, 유저 $u_1$와 영화 $i_1$간의 상호작용이 있고, 영화 $i_1$의 감독은 엔티티 $e_1$다. CF 메소드는 유사한 유저의 히스토리에 집중한다, $u_i$와 유사한 유저는 $i_1$를 시청한 $u_4$, $u_5$이다. 지도 학습 메소드들은 어트리뷰트로 유사한 아이템을 강조한다. $e_1$와 $i_2$. 서로 다른 두 타입의 정보는 추천을 보완할 뿐만 아니라, 타겟 유저와 아이템 간에 고차 관계를 형성한다. 기존 지도 학습 메소드는 이것들을 통합 하는데 실패했고, 그림 1 내 노란 원의 동일한 감독 $e_1$이 촬영한 서로 다른 영화를 관람한 유저들 혹은 회색 원의 $e_1$과 다른 공통 관계를 공유하는 고차 연결성을 처리하지 못한다.

피처 기반 지도 학습 모델의 한계를 해결하기 위한 솔루션은 아이템 사이드 정보 그래프인 지식 그래프로 예측 모델을 생성하는 것이다. 지식 그래프와 유저-아이템 그래프의 하이브리드 한 구조를 Collaborative Knowledge Graph ( CKG )라 한다. 그림 1에 있듯, 성공적인 추천은 CKG의 고차 관계를 모두 활용하는 것이다. 예 ) 장기 연결성

위의 두 경로는 노랑 원과 회색 원 까지의 상대적인 경로다. 이런 고차 정보를 활용하는 것은 어려운 일이다.

  1. 타겟 유저와 고차 관계를 가진 노드 들은 차수 사이즈에 따라 크게 증가하고, 그에 따라 모델 계산이 과부하 된다.
  2. 고차 관계는 예측에 서로 다르게 기여해서, 모델은 관계를 신중하게 가중하거나 선택해야 한다.

추천에 CKG 구조를 활용하려는 시도 몇가지가 있는데, 두가지로 분류할 수 있다. 경로 기반과 정규화 기반이다.

  • 경로 기반 메소드 : 고차 정보를 포함한 경로를 뽑아내고 예측 모델에 공급한다. 두 노드 간 많은 경로 들을 처리하기 위해, 경로 선택 알고리즘을 적용해 저명한 경로를 선택하거나 경로를 제한하기 위해 메타 경로 패턴을 정의한다. 이 두 단계 메소드의 이슈는 첫번째 단계인 경로 선택이 최종적인 성능에 큰 영향을 미치지만, 추천 목적에 맞게 최적화할 수 없다는 것이다. 게다가, 효과적인 메타 경로를 정의에 도메인 지식이 필요한데, 다양한 타입의 관계와 엔티티를 가진 복잡한 KG 에서는 많은 메타 경로를 정의해야 하기 때문에 다소 노동 집약적이다.
  • 정규화 기반 메소드 : 추천 모델 학습을 정규화하기 위해 KG 구조를 포착하는 추가 로스 텀을 고안한다. 예를 들어, KTUP과 CFKG는 KG 생성 태스크와 추천 태스크를 공유 아이템 임베딩으로 동시에 학습한다. 고차 관계를 직접적으로 추천을 위한 모델 최적화에 연결하는 대신 암시적인 방식으로 인코딩한다. 명시적인 모델링과정이 없기 때문에 장거리 연결성이 포착되는 것이 보장되지 않고 고차 모델링도 해석할 수 없다.

기존의 한계를 고려하면, KG의 고차 정보를 효율적이고, 명시적이고, e2e 방식으로 활용하는 모델 개발이 굉장히 중요하다. 따라서, 목표를 달성할 잠재력은 있지만 KG 기반 추천이 많이 연구 되지 않은 GNN 개발에서 영감을 얻었다. 자세하게는 새로운 메소드인 KGAT를 제안하는데, 고차 관계 모델링을 해결하기 위해 두 디자인을 적용한다.

  1. 재귀적인 임베딩 전파 : 이웃의 임베딩에 기반해 노드 임베딩을 업데이트하고, 선형 시간 내에 고차 연결성을 포착하기 위해 임베딩을 재귀적으로 전파한다.
  2. 어텐션 기반 집계 : 어텐션 메커니즘으로 전파 중인 이웃 각각의 가중치를 학습하는데, 전파된 어텐션 가중치 들로 고차 연결성의 중요성을 표현할 수 있다.

KGAT는 개념적으로 기존 메소드 들에 비해 아래와 같은 장점을 가진다.

  1. 경로 기반 메소드와 비교 했을 때, 경로를 정의하는 노동 집약적인 작업이 없어 효율적이고 사용하기 편리하다.
  2. 정규화 기반 메소드와 비교 했을 때, 예측 모델에 고차 관계를 직접 파라미터 화해서 관련된 모든 파라미터 들을 추천에 최적화 시킬 수 있다.

본 연구의 기여는 아래와 같다

  • 아이템 사이드 정보로 더 나은 추천을 제공하기 위한 협력 그래프에 고차 연결을 명시적인 모델링의 중요성을 강조
  • 새로운 메소드인 KGAT를 개발했다. GNN 프레임워크에서 고차 연결을 명시적이게 e2e 방식으로 모델링
  • 세 벤치마크 데이터셋에 실험을 수행했다. KGAT의 효과성을 증명하고 고차 관계의 중요성을 이해하는 해석 능력을 증명

2. TASK FORMULATION

CKG 개념을 소개하고 노드 간의 고차 연결성과 구성 관계를 강조한다.

User-Item Bipartite Graph

추천 시나리오에서, 과거 유저-아이템 상호작용을 가진다. 상호작용 데이터를 유저-아이템 이분 그래프 $g_1$으로 표현하는데 ${{(u, y_{ui}, i) | u \in U, i \in I )}}$로 정의된다. 여기서 $U$와 $I$는 유저 셋과 아이템셋이고, 링크 $y_{ui} = 1$는 유저 $u$와 아이템 $i$ 간 관측된 상호작용을 나타낸다. 그렇지 않으면 $y_{ui} = 0$ 다.

Knowledge Graph

아이템 어트리뷰트와 외부 지식같은 아이템의 사이드 정보가 있다. 일반적으로 이러한 보조 데이터는 실제 세계 엔티티와 아이템의 프로파일링하기 위한 그들 간의 관계로 구성된다. 예를 들어, 영화는 감독, 캐스팅, 장르로 설명될 수 있다. 지식 그래프 $g_2$의 형태로 사이드 정보를 조직화하는데 방향성 있는 그래프로 주제-특성-객체 세가지 요소로 구성된다. 형식적으로는, ${{(h,r,t)|h,t \in \delta, r \in R}}$로 표현되고, 여기서 각 세 요소는 헤드 엔티티 $h$에서 테일 엔티티 $t$ 까지 관계 $r$을 설명한다. 예를 들어, ( 휴 잭맨, 배우, 로건 )은 휴 잭맨이 영화 로건의 배우라는 것을 표현한다. $R$은 양쪽 표준 방향 관계를 포함한다. 게다가, 아이템-엔티티 정렬 셋을 구성한다. $A = {{(i,e) | i \in I, e \in \delta }}$, 여기서 $(i,e)$는 KG에서 아이템 $i$가 엔티티 $e$로 정렬될 수 있다는 것을 나타낸다.

Collaborative Knowledge Graph

CKG의 개념을 정의하는데, 유저 행동들과 아이템 지식을 일관된 관계성 그래프로 인코딩한 그래프다. 우선 triplet $( u, interact, i )$으로 각 유저 행동을 표현한다. 여기서 $y_{ui} = 1$이 유저 $u$와 아이템 $i$ 간 추가적인 관계 $interaction$을 표현한다. 그리고 유저-아이템 그래프는 아이템-엔티티 정렬 셋에 기반해 일관된 그래프 $G = {{(h,r,t)|h,t \in \delta’, r \in R’ }}$로 KG와 통합될 수 있다. 여기서 $\delta’ = \delta \cup U$이고 $R’ = R \cup {{interact}}$이다.

Task Decription

이 연구에서 해결될 추천 태스크를 공식화 한다.

  • Input : CFG인 $g$로 유저-아이템 이분 그래프 $g_1$과 지식 그래프 $g_2$를 포함한다.
  • Output : 예측 함수로 유저 $u$가 아이템 $i$를 채택할 확률 $\hat{y}_{ui}$을 예측한다.

High-Order Connectivity

추천을 잘 하기 위해 고차 연결성을 활용해야 한다. 노드 간의 $L$차 연결성을 멀티-홉 관계 경로로 정의한다: $e_0 \overset{r_1}{→} e_1 \overset{r_2}{→} \cdot \cdot \cdot \overset{r_L}{→} e_L$, 여기서 $e_l \in \delta’$ 이고 $r_l \in R’$이다. $(e_{l-1}, r_l, e_l )$은 $l$번째 triplet이고, $L$은 시퀀스 길이이다. 유저 선호도 추론을 위해 CF 메소드는 유저 들 간의 행동 유사도에 따른다. 이러한 직관은 행동 기반 연결성으로 다음과 같이 표현될 수 있다. $u_1 \overset{r_1}{→} i_1 \overset{-r_1}{→} u_2 \overset{r_1}{→} i_2$는 “유저 $u_1$가 아이템 $i_2$를 선호한다”고 제시하는데, 유저 $u_2$가 이전에 $i_2$를 채택한 데이터가 있기 때문이다. CF 메소드와 다르게, FM과 NFM 같은 지도 학습 모델은 유저가 비슷한 특성을 공유하는 아이템 들을 채택하는 경향을 보인다고 가정한다. 그래서 어트리뷰트 기반 연결성에 초점을 맞춘다. 예를 들어, $u_1 \overset{r_1}{→} i_1 \overset{r_2}{→} e_1 \overset{-r_2}{→} i_2$는 “유저 $u_1$가 아이템 $i_2$를 채택한다”고 제시한다. 왜냐하면 $i_2$가 이전에 좋아했던 $i_1$과 같은 $e_1$ 감독이기 때문이다. 그러나 FM과 NFM은 엔티티를 개별 피처 필드의 값으로 다뤄서, 필드와 관련 인스턴스 간의 관련성을 알수 없다. 예를 들어, $u_1 \overset{r_1}{→} i_1 \overset{r_2}{→} e_1 \overset{-r_3}{→} i_2$을 모델링 하기 어렵다. $e_1$이 $director$와 $actor$ 필드를 연결하는 브릿지를 제공한다. 하지만, 이 메소드 들은 고차 연결성을 충분히 탐색하지 않고 고차 관계를 간과한다.

3. METHODOLOGY

KGAT 모델은 e2e 방식으로 고차 관계성을 활용한다. 그림 2로 모델 프레임워크를 보이는데, KGAT는 총 세 컴포넌트로 구성된다.

Figure 2

  1. CKG 임베딩 레이어 : CKG의 구조를 보존해서 각 노드를 벡터로 파라미터화 한다.
  2. 어텐션 임베딩 전파 레이어 : 노드의 이웃에서 임베딩을 재귀적으로 전파해서 표현을 업데이트하고, 전파 중에 각 이웃의 가중치를 학습하기 위해 knowledge-aware attention 메커니즘을 사용한다.
  3. 예측 레이어 : 유저 표현과 아이템 표현을 모든 전파 레이어로 부터 집계하고, 예측된 매칭 점수를 출력한다.

3.1 Embedding Layer

지식 그래프 임베딩은 그래프 구조를 유지하면서 엔티티와 관계를 벡터로 파라미터 화하기 위한 효과적인 방법이다. 널리 사용되는 TransR을 CKG에 적용한다. 더 자세하게는, 만약 그래프에 triplet $(h,r,t)$가 존재하면 번역 원리 $e_h^r + e_r \approx e_t^r$를 최적화 해서 각 엔트리와 관계를 학습한다. 여기에, $e_h,e_t \in R^d$와 $e_r \in R^k$는 $h$, $t$, 그리고 $r$의 임베딩이다. $e_h^r, e_t^r$은 $e_h$와 $e_t$를 관계인 $r$의 공간으로 투영시킨 표현이다. 그러므로, 주어진 triplet $(h,r,t)$에서 타당성 점수(에너지 점수)는 아래와 같이 공식화한다.

여기서 $W_r \in R^{k \times d}$는 관계 $r$의 변환 매트릭스로, 엔티티 들을 $d$ 차원의 엔티티 공간에서 $k$ 차원의 관계 공간으로 투영한다. $g(h,r,t)$의 더 낮은 점수는 triplet이 참일 가능성이 높으며, 그 반대도 마찬가지라고 제시한다.

TransR 학습은 적합한 triplet 들과 그렇지 않은 것 들 간의 관계 차수를 고려한다. 그리고 pairwise 랭킹 로스로 분별력을 향상 시킨다.

여기서 $\tau = {{(h, r, t, t’)|(h,r,t) \in g, (h,r,t’) \notin g }}$ , 그리고 $(h,r,t’)$는 망가진 triplet으로 적절한 triplet에서 엔티티 하나를 랜덤하게 교체해서 생성한다. $\sigma(\cdot)$은 시그모이드 함수다. 이 레이어는 triplet의 세분성으로 부터 엔티티와 관계를 모델링하고, 정규화기와 표현에 직접 연결을 주입하는 방식으로 동작해서 모델 표현 능력을 향상 시킨다.

3.2 Attentive Embedding Propagation Layers

고차 연결성에 따라 재귀적으로 임베딩을 전파하기 위해 그래프 컨볼루션 네트워크 구조를 생성한다. 그리고 그래프 어텐션 네트워크의 아이디어를 활용한다. 연결의 중요성을 알리기 위해 연쇄된 전파의 어텐션 가중치를 생성한다. 총 세가지 컴포넌트로 구성된다.

  • Information Propagation
  • Knowledge-Aware Attention
  • Information Aggregation

세 컴포넌트를 다중 레이어로 일반화하는 방법을 논의한다.

Information Propagation

엔티티 하나가 여러 triplet에 포함될 수 있는데, 엔티티는 두 triplet을 연결하는 브릿지로 제공되어 정보를 전파한다. $e_1 \overset{r_2}{→} i_2 \overset{-r_1}{→} u_2$과 $e_2 \overset{r_3}{→} i_2 \overset{-r_1}{→} u_2$를 예시로, 아이템 $i_2$는 어트리뷰트 $e_1$과 $e_2$를 입력으로 취해 피처를 풍부하게 한다. 그리고 유저 $u_2$의 선호도에 영향을 미치는데 $e_1$에서 $u_2$로 정보를 전파해서 시뮬레이션 할 수 있다. 엔티티와 이웃 간의 정보 전파를 수행하기 위해서 이 직관을 따른다.

엔티티 $h$를 고려 했을때, $N_h = {{(h,r,t)|(h,r,t) \in g }}$를 사용해서 triplet 셋을 나타내는데 여기서 $h$는 헤드 엔티티, ego-network라 부른다. 엔티티 $h$의 1차 연결성 구조를 특성화하기 위해, $h$의 ego-network의 선형 조합을 계산한다.

여기서 $\pi(h,r,t)$는 엣지 $(h,r,t)$에서의 각 전파의 감쇄 요소를 제어한다. 관계 $r$에 따라 어느 정도의 정보가 $t$에서 $h$로 전파될 지 나타낸다.

Knowledge-aware Attention

$\pi(h,r,t)$를 관계주의 어텐션 메커니즘을 통해 구현하고, 다음과 같이 공식화 된다.

비선형 활성화 함수로 $tanh$를 선택한다. 그러면 어텐션 점수가 $e_h$와 $e_t$ 간 관계 $r$의 공간 내 거리에 의존하게 된다. 즉 더 많은 정보를 더 가까운 엔티티로 전파한다. 표현의 단순화를 위해 내적을 사용하고 어텐션 모듈에 대한 연구는 추후에 연구한다.

이후, 소프트맥스 함수를 적용해서 연결된 모든 triplet에 따라 계수 들을 정규화 한다.

그 결과, 최종 어텐션 점수는 CF 시그널 포착을 위해 어떤 이웃 노드에 더 많은 어텐션을 해야할지를 제시할 수 있다. 전파를 수행 시, 어텐션은 집중할 데이터 부분을 제시하고, 추천 후의 설명에 사용한다.

두 노드간 디스카운트 팩터를 $1 / \sqrt{|N_h||N_t|}$ 혹은 $1 / |N_t|$로 세팅하는 GCN과 GraphSage의 정보 전파와 다르게, KGAT는 그래프의 근접 구조를 활용할 뿐만 아니라, 이웃의 다양한 중요도을 구체화한다. 게다가, 노드 표현 만을 입력으로 받는 그래프 어텐션 네트워크와 다르게, KGAT는 $e_h$와 $e_t$ 간 관계 $e_r$을 모델링하고, 전파 중에 더 많은 정보를 인코딩한다. 어텐션 메커니즘의 효과성을 검증하고 어텐션 플로우를 시각화하는 실험을 수행한다.

Information Aggregation

최종 단계는 엔티티 표현 $e_h$와 ego-network 표현을 엔티티 $h$에 대한 새로운 표현 $e_{N_h}$으로 집계한다. $e_h^{(1)} = f(e_h, e_{N_h})$다. 세가지 타입의 집계를 사용해서 $f(\cdot)$을 구현했다.

GCN Aggregator : 두 표현을 합치고 비선형 변환을 다음과 같이 적용한다.

활성화 함수로 $LeakyReLU$를 사용하고 $W \in R^{d’ \times d}$은 유용한 정보를 전파를 위한 학습 가능한 가중치 매트릭스로 증류하는 역할을 한다, $d’$는 변환 사이즈이다.

GraphSage Aggregator : 두 표현을 concatenate 한다. 비선형 변환은 다음과 같이 적용한다.

여기서 ||는 concatenate 연산이다.

Bi-Interaction Aggregator : $e_h$와 $e_{N_h}$ 간 피처 상호작용 두 종류 고려를 위해 설계했고 아래와 같다.

여기서 $W_1, W_2 \in R^{d’ \times d}$는 학습 가능한 가중치 매트릭스이고, $\odot$은 element-wise 곱이다. GCN과 GraphSage의 집계와 다르게, $e_h$와 $e_{N_h}$ 간 피처 상호작용을 추가로 인코딩한다. 이 텀은 전파된 정보를 $e_h$와 $e_{N_h}$ 간의 관련도에 민감하게 만든다. 즉, 유사한 엔티티들에서 더 많은 메시지를 전달한다.

요약하자면, 임베딩 전파 레이어의 장점은 일차 연결성 정보를 명시적으로 활용해서 사용자, 아이템 그리고 지식 엔티티 표현을 연결한다.

High-order Propagation

고차 연결성 정보를 탐색하기 위해 전파 레이어를 더 쌓아서 고차 이웃에서 전파된 정보를 수집할 수 있다. $L$번째 단계에서, 우리는 엔티티의 표현을 재귀적으로 아래와 같이 공식화 한다.

여기서 엔티티 $h$에 대해 $l$-ego network 내에서 전파되는 정보는 다음과 같다.

$e_t^{(l-1)}$는 이전 정보 전파 과정에서 생성된 엔티티 $t$ 표현으로, $(l-1)$ 홉 이웃 들로 부터 정보를 암기한다. $e_h^{(0)}$는 초기 정보 전파 반복에서 $e_h$로 세팅된다. 레이어 $l$에서 엔티티 $h$의 표현에 더 기여한다. 그 결과 $u_2 \overset{r_1}{→} i_2 \overset{-r_2}{→} e_1 \overset{r_2}{→} i_1 \overset{-r_1}{→} u_1$ 같은 고차 연결성이 임베딩 전파 프로세스에서 포착된다. 게다가, $u_2$로 부터의 정보는 $e_{u_1}^{(3)}$로 명시적으로 인코딩된다. 고차 임베딩 전파는 어트리뷰트 기반 협력 시그널을 표현 학습 과정에서 주입한다.

3.3 Model Prediction

$L$개 레이어 수행 후, 유저 노드 $u$에 대한 표현 여러 개를 얻고 이를 ${{ e_u^{(1)}, …, e_u^{(L)} }}$라 한다. 아이템 노드 $i$도 유사하게 ${{ e_i^{(1)}, …, e_i^{(L)} }}$를 얻는다. $l$번째 레이어의 출력은 그림 1에서 보이듯이, $u$( 혹은 $i$ )가 루트 인채로 깊이가 $l$인 트리 구조의 메시지 집계로, 서로 다른 레이어들의 출력 들이 서로 다른 차수들의 연결 정보를 강조한다. 그래서 레이어 집계 메커니즘을 채택해서 각 과정의 표현들을 한 벡터로 아래와 같이 concatenate 한다.

초기 임베딩을 임베딩 전파 연산으로 강화할 뿐만 아니라, $L$을 조정하여 전파 강도를 조절할 수 있다.

최종적으로 유저와 아이템 표현에 내적을 수행해서, 매칭 점수를 예측한다.

3.4 Optimization

추천 모델을 최적화를 위해, BPR 로스로 최적화 한다. BPR 로스는 더 많은 유저 선호도를 나타내는 관측된 상호작용 들이 관측되지 않은 것에 비해 더 높은 예측 값을 가진다고 가정한다.

여기서 $O = {{ (u,i,j) | (u,i) \in R^+, (u, j) \in R^- }}$는 학습 셋을 의미한다. $R^+$는 유저 $u$와 아이템 $j$ 간에 관측된 ( 긍정적인 ) 상호작용을 나타낸다. $R^-$는 샘플링된 관측되지 않은 ( 부정적인 ) 상호작용을 나타낸다. $\sigma( \cdot)$는 시그모이드 함수이다.

최종적으로, 수식 (2)와 수식 (13)을 동시에 학습하는 목적 함수를 아래와 같이 가진다.

모델 파라미터 셋은 $\Theta = {{ E, W_r, \forall l \in R, W_1^{(l)}, W_2^{(l)}, \forall l \in {{ 1, …, L }}}}$는 이고, $E$는 모든 엔트리와 관계들에 대한 임베딩 테이블이다; 오버피팅 방지를 위해 $\Theta$에 $\lambda$로 파라미터 화된 $L_2$ 정규화가 수행되었다. 모델 사이즈에 대해 모델 파라미터의 대부분은 FM과 거의 동일한 엔티티 임베딩( 아마존 데이터셋 실험에서 6.5 백만 )에서 온다는 것이 중요하다. 전파 레이어의 가중치는 크지 않다. ( 아마존 데이터셋 에서 타워 구조의 세 레이어들에서 5.4 천, 64-32-16-8 )

3.4.1 Training

$L_{KG}$와 $L_{CF}$를 미니 배치 아담을 사용해서 최적화한다. 임베딩 로스와 예측 로스를 최적화한다. 아담은 널리 쓰이는 옵티마이저로 기울기의 절대값으로 학습율을 적응적으로 제어할 수 있다. 특히 랜덤하게 샘플링된 배치 $(h,r,t,t’)$에는, 모든 노드에 대해 업데이트한다. 그 후, 랜덤하게 $(u, i, j)$를 배치 샘플링하고 전파 $L$ 단계 후의 표현을 검색한 다음, 예측 로스의 그레디언트를 사용해서 모델 파라미터를 업데이트 한다.

3.4.2 Time Complexity Analysis

시간 비용은 두 부분에서 주로 온다. 지식 그래프 임베딩에서 ( 수식 2 ), 번역 수식은 $O(|g_2|d^2)$의 계산 복잡도를 가진다. 어텐션 임베딩 전파 파트에서, $l$ 번째 레이어에서의 매트릭스 곱은 계산복잡도 $O(|g|d_l d_{l-1})$를 가진다. 그리고 $d_l$과 $d_{l-1}$은 현재 변환 사이즈, 이전 변환 사이즈이다. 최종 예측 레이어에서는 내적 곱만 수행되고, 전체 학습 에폭의 시간 비용은 $O(\sum_{l=1}^L |g| d_l)$이다. 최종적으로 KGAT의 학습 복잡도는 $O(|g_2|d^2 + \sum_{l=1}^L |g| d_l d_{l-1} + |g|d_l )$이다.

온라인 서비스는 보통 실시간 추천이 요구된다. 그래서 추론 중의 계산 비용이 학습 보다 더 중요하다. 경험적으로, FM, NFM, CFKG, CKE, GCMC, KGAT, MCRec 그리고 RippleNet은 700s, 780s, 800s, 420s, 500s, 560s, 20 hours 가 걸렸다. Amazon-Book 데이터셋의 모든 테스트에는 2시간이 걸렸다. KGAT는 지도 학습 모델들( FM, NFM ), 정규화 기반 메소드( CFKG, CKE )에 비교할만한 계산 복잡도와 경로 기반 메소드( MCRec, RippleNet )에 비해 훨씬 효율적이다.

4. EXPERIMENTS

임베딩 전파 레이어를 세 벤치마크 데이터셋으로 검증한다. 세가지 의문에 대해 중점적으로 연구한다.

  1. KGAT는 SOTA인 지식 인식 추천 메소드와 비교하여 어떻게 수행되는가?
  2. 서로 다른 컴포넌트( 지식 그래프 임베딩, 어텐션 메커니즘, 집계기 선택 )가 어떻게 KGAT에 영향을 미치는가?
  3. KGAT가 아이템에 대한 유저 선호도를 설명 할 수 있는가?

4.1 Dataset Description

KGAT의 효과성을 검증을 위해 세가지 벤치마크 데이터셋을 이용한다 : Amazon-book, Last-FM, Yelp2018

Table 1

Amazon-book : 제품 추천을 위해 많이 사용되는 아마존 리뷰 데이터셋에서 선택한 데이터다. 데이터 퀄리티 보장을 위해 최소 10개 상호작용을 가지는 것을 보장하는 10 코어 세팅을 사용한다.

Last-FM : last.fm 온라인 음악 시스템에서 수집된 음악 감상 데이터셋이다. 트랙 들을 아이템으로 본다. 15년 1월에서 6월 까지 타임스탬프 데이터를 사용하고 마찬가지로 10코어 세팅을 사용한다.

Yelp2018 : 18년도 Yelp 챌린지에서 채택한 데이터셋이다. 레스토랑이나 바 등을 아이템으로 본다. 10코어 세팅을 사용한다

유저-아이템 상호작용 외에도, 데이터셋 별 아이템 지식을 구축해야한다.

Amazon-book과 Last-FM은 매핑이 가능한 경우, 타이틀 매칭을 통해 아이템을 Freebase 엔티티로 매핑하는 방법은 기존 연구(KB4Rec)를 따른다. 특히, 아이템으로 정렬된 엔티티와 직접적으로 관련된 triplet을 고려한다. 어떤 역할( 주제, 혹은 객체 )로 작용 하는 지 관계없이, 아이템의 한개 홉의 엔티티만 주어지는 기존 지식-인식 데이터 셋과 다르게, triplet이 두 홉 이웃 엔티티를 포함하는 아이템을 고려한다.

Yelp2018의 경우, 로컬 비즈니스 정보 네트워크( 카테고리, 위치 그리고 어트리뷰트 )로 부터 아이템 지식을 KG 데이터로 추출한다. KG의 퀄리티 보장을 위해, 세 KG 파트에서 희소한 엔티티들을 필터링( 양쪽 데이터에서 10개 이하 )하고 최소 50개 triplet 들에서 나타나는 관계를 획득하도록 전처리한다. 테이블 1에 세 데이터셋의 통계치를 요약한다.

각 데이터 셋에 대해, 각 유저의 상호작용의 80%를 랜덤하게 선택해 학습 셋을 구성하고, 나머지는 테스트 셋으로 한다. 학습 셋에서는, 하이퍼파라미터 튜닝을 위해 10%를 검증셋으로 선택해 사용한다. 관측된 각 유저-아이템 상호작용은 긍정적인 인스턴스로 다루고, 그 유저가 이전에 소비하지 않은 아이템을 쌍으로 묶는 네거티브 샘플링 전략을 수행한다.

4.2 Experimental Settings

4.2.1 Evaluation Metrics

테스트 셋의 각 유저에 대해, 유져가 상호작용 하지 않은 모든 아이템을 네거티브한 아이템으로 다룬다. 그리고 학습 셋 내 긍정적인 아이템을 제외한 모든 아이템들에 대해 유저 선호도 점수를 출력한다. Top-K 추천과 선호도 랭킹 효과성 검증을 위해, recall@K와 ndgc@K를 사용한다. 여기서 K=20으로 테스트 셋의 모든 유저들에 평균 메트릭을 리포트한다.

4.2.2 Baselines

효과성을 증명 하기 위해, KGAT를 지도 학습 모델 ( FM, NFM ), 정규화 기반 모델 ( CFKG, CKE ), 경로 기반 ( MCRec, RippleNet ) 그리고 뉴럴넷 ( GCMC ) 메소드와 비교한다.

  • FM : 벤치마크 팩토라이제이션 모델로 입력 간 이차 피처 상호작용을 고려한다.
  • NFM : SOTA 팩토라이제이션 모델로 뉴럴넷 아래에 FM을 포함한다
  • CKE : 대표 정규화 기반 모델으로, TransR에서 도출된 시맨틱 임베딩을 활용해서 MF를 강화했다.
  • CFKG : 유저, 아이템, 엔티티, 관계를 포함하는 단일화한 그래프에서 TransE를 적용한다. 추천 태스크를 타당성 있는 $( u, interact, i )$ triplet 예측으로 캐스팅한다.
  • MCRec : 경로 기반 모델로, 유저와 아이템 간의 메타 경로를 연결성으로 추출한다.
  • RippleNet : 정규화와 경로 기반 메소드를 결합한 모델로, 각 사용자에 루트를 둔 경로 내 아이템들을 추가해서 유저 표현을 강화한다.
  • GC-MC : 그래프 구조 데이터에 GCN 인코더를 적용하기 위해 설계되었다. 특히 유저-아이템 bipartite 그래프로 설계했다. 그리고 유저-아이템 지식 그래프에 적용했다.

4.2.3 Parameter Settings

텐서플로우로 KGAT 모델을 구현했다. 모든 모델의 임베딩 사이즈는 64로, RippleNet은 계산 비용으로 16을 사용한다. 아담 옵티마이저, 배치사이즈 1024, Xavier 초기화를 사용한다. 하이퍼 파라미터에는 그리드 서치를 적용한다. 노드 드롭 아웃도 적용한다. MCRec에서는, 유저-아이템-어트리뷰트-아이템 메타 경로를 여러개 정의한다. Amazon-book 데이터셋을 예로, 유저-책-저자-유저 그리고 유저-책-장르-유저와 같이 정의한다. 히든 레이어는 타워 구조로 512-256-128-64 차원으로 구성한다. RippleNet의 경우, 홉 수를 2, 메모리 사이즈를 8로 한다. 게다가 early stopping도 recall@20과 50 patience를 사용해 적용한다. 삼차 연결성 모델링을 위해, KGAT의 깊이 $L$을 3으로 64-32-16을 히든 레이어의 차원으로 세팅한다. 각 레이어에서 Bi-Interaction 집계를 수행한다.

4.3 Performance Comparision ( RQ1 )

4.3.1 Overall Comparision

테이블 2에 성능 비교가 나온다.

Table 2

  • KGAT가 모든 데이터셋에서 가장 좋은 성능을 보인다. 여러 개의 어텐션 임베딩 전파 레이어를 쌓아, KGAT가 명시적인 방법으로 고차 연결성을 탐색할 수 있어 협력 시그널을 효과적으로 포착하게 되었다. 지식 전달을 위해 협력 시그널을 포착하는 것의 중요성을 검증한다. 게다가, GC-MC와 비교해서, 어텐션 메커니즘의 효과성을 정당화 했는데, 어텐션 가중치를 GC-MC에서 사용된 고정된 가중치가 아닌 시맨틱한 관계로 구체화 했기 때문이다.
  • 지도 학습 메소드( FM, NFM )은 CFKG와 CKE를 거의 모든 경우에서 성능적으로 앞섰는데, 정규화 기반 메소드가 아이템 지식의 모든 것을 사용하지 않는 것으로 나타난다. FM과 NFM은 연결된 엔티티를 활용해서 임베딩을 강화하지만, CFKG와 CKE는 정렬된 엔티티만을 사용한다. 또한 FM과 NFM의 교차 피처는 유저와 엔티티 간의 이차 연결성으로 제공되지만, CFKG와 CKE는 triple의 세분화에 대한 연결성을 모델링하고 고차 연결성은 그대로 둔다.
  • FM과 RippleNet의 성능을 비교했을때, 두 홉 이웃 아이템을 사용하는 것이 유저 표현을 강화하는데 중요하다는 것을 검증한다. 고차 연결성 혹은 이웃을 모델링하는 긍정적 효과를 강조한다. 그러나 RippleNet이 NFM에 비해 Yelp2018 에서만 성능이 좋다. 한가지 근거는 NFM의 강력한 표현력을 가진다는 점이다.
  • RippleNet은 Amazon-book에서 MCRec에 큰 마진 차로 성능이 좋다. MCRec이 메타 경로의 퀄리티에 굉장히 많이 의존하는 것을 근거로, 도메인 지식이 중요하다.
  • GC-MC는 RippleNet에 비해 LastFM과 Yelp2018에서 성능이 좋다. 사용자와 아이템 표현에 고차 연결성을 도입하는 동안, GC-MC는 노드간 시맨틱한 관계를 포기하지만, RippleNet은 유저 선호도를 탐색하기 위해 관계를 활용한다.

4.3.2 Performance Comparision w.r.t Interaction Sparsity Levels

KG를 활용하는 이유는 추천 시스템의 표현력을 제한하는 희소성 이슈를 완화하기 위해서다. 이를 위해, 희소성의 정도가 다른 유저 그룹들에 대해 실험을 수행한다. 유저 별 상호작용 수에 기반해서 테스트셋을 네 그룹으로 나눈다. Amazon-book을 예로, 유저 별 상호작용 수를 7-15-48-4475로 나누었다. 그림 3에 서로 다른 유저 그룹 별 ndcg@20 결과가 나온다.

Figure 3

  • KGAT가 대부분의 경우 가장 성능이 좋았다. 다시 한번 고차 연결성의 중요성을 증명한다. 1) 베이스라인 들에서 사용된 저차 연결성을 포함한다. 2) 재귀 임베딩 전파를 통해 비활성 유저의 표현을 강화한다.
  • KGAT가 가장 밀도가 높은 사용자 그룹의 베이스라인의 성능을 약간 능가하는 것은 지적할만 하다. ( Yelp2018의 <2057 그룹 ). 한가지 근거는 유저의 선호도가 너무 많은 상호작용으로 인해 포착하기 쉽다는 것이다. 고차 연결성이 유저 선호도에 노이즈가 될 수 있고 그래서 부정적인 효과를 낼수도 있다.

4.4 Study of KGAT ( RQ2 )

4.4.1 Effect of Model Depth

임베딩 전파 레이어 여러개를 사용하는 것의 효율성을 조사하기 위해 KGAT의 깊이를 ( 즉 $L$ )을 다양하게 준다. 레이어 수는 ${{1, 2, 3, 4}}$로 준다. 결과가 테이블 3에 나온다.

Table 3

  • KGAT의 깊이가 증가할 수록 성능이 증가했다.
  • KGAT-3에 추가로 한 레이어를 쌓은 KGAT-4는 개선 정도가 미미하다. 엔티티 간의 삼차 관계로도 CF 시그널을 포착이 충분하다는 것을 제시한다.
  • 테이블 2와 3을 함께 분석하면, KGAT-1이 다른 베이스라인에 비해 성능이 좋은데. 다시 한번 어텐션 임베딩 전파의 효과성을 검증한다.

4.4.2 Effect of Aggregators

집계기의 효과를 조사하기 위해서, KGAT-1의 변형을 고려한다. GCN, GraphSage 그리고 Bi-Interaction 을 사용한다. 테이블 4에 실험 결과가 있다.

Table 4

  • $KGAT-1_{GCN}$이 $KGAT-1_{GraphSage}$에 비해 우수하다. 한 가지 가능한 이유는 GraphSage가 엔티티 표현 $e_h$와 ego-network 표현 $e_{N_h}$ 간의 상호작용을 포기하기 때문이다. 그래서 정보 집계와 전파 수행 중의 피처 상호작용의 중요성을 설명한다.
  • $KGAT-1_{GCN}$와 비교 했을 때, $KGAT-1_{Bi}$는 추가 피처를 통합하는 것이 표현 학습을 개선할 수 있다는 것을 증명한다. Bi-Interaction 집계기의 합리성과 효과를 다시 한번 보인다.

4.4.3 Effect of Knowledge Graph Embedding and Attention Mechanism

지식 그래프 임베딩과 어텐션 메커니즘의 효과 증명을 위해 KGAT-1의 세가지 변형으로 ablathon study를 진행한다. TransR 임베딩을 끈 $KGAT-1_{w/o \ KGE}$, 어텐션 메커니즘을 끄고 $\pi(h,r,t)$를 $1/|N_h|$로 세팅한, $KGAT-1_{w/o \ Att}$, 더해서 두개를 다 끈 $KGAT-1_{w/o \ K &A}$를 사용한다. 결과는 테이블 5에 있다.

Table 5

  • 지식 그래프 임베딩과 어텐션을 제거하는 것은 성능을 떨어트린다. $KGAT-1_{w/o \ K &A}$이 성능이 가장 나쁜데 triplet의 세분성에서 상대적인 표현을 명시적으로 모델링하는 것에 실패 하기 때문이다.
  • $KGAT-1_{w/o \ KGE}$가 $KGAT-1_{w/o \ Att}$에 비해 성능이 더 좋다. 모든 이웃을 동일하게 다루는 것이 노이즈를 만들고 임베딩 전파 프로세스가 망가지기 때문이다. 그래프 어텐션 메커니즘의 효과를 증명한다.

4.5 Case Study ( RQ3 )

어텐션 메커니즘으로 고차 연결성을 추론하여 타겟 아이템에 대한 사용자 선호도를 추론하고 설명을 제공할 수 있다. 그래서, Amazon-book에서 랜덤하게 하나의 유저 u202를 뽑고 관련성 있는 하나의 아이템 i4293( 학습 중에는 안보임 )을 뽑았다. 어텐션 점수를 기반으로 유저-아이템 쌍을 연결하는 행동 기반과 어트리뷰트 기반 고차 연결성을 추출했다. 그림 4는 고차 연결성의 시각화를 보인다.

Figure 4

  • KGAT는 유저 선호도를 추론하기 위해 중요한 역할을 하는 행동 기반과 어트리뷰트 기반 연결성을 포착한다. 검색된 경로는 왜 아이템이 유저 선호도에 다다르는 증거로 보일 수 있다. 연결성 $u_{208} \overset{r_0}{→} Old Man’s war \overset{r_14}{→} John Scalzi \overset{-r_14}{→} i_{4293}$이 가장 높은 어텐션 점수를 가지고, 그래서 우리는 설명할 수 있다. 동일한 저자 John Scalzi가 작성한 Old Man’s war를 보았으니 Last Colony를 추천한다.
  • 아이템 지식의 퀄리티는 굉장히 중요하다. 엔티티 english와 Original Language의 관계는 하나의 경로에 들어간다. 너무 일반적이다. 향후 연구에서 덜 유익한 엔티티를 필터링하기 위한 하드 어텐션을 수행하도록 영감을 준다.

5. CONCLUSION AND FUTURE WORK

지식 인식 추천을 위해 CKG에서의 고차 연결성을 시맨틱 관계와 함께 연구했다. 새로운 프레임워크인 KGAT를 제안해서 e2e 방식으로 명시적으로 고차 연결성을 모델링 한다. 어텐션 임베딩 전파 레이어로 노드 표현을 업데이트 하기 위해 노드 이웃의 임베딩을 적응적으로 전파한다. 실제 데이터 셋 세가지로 합리성과 효과성을 증명한다.

이 연구는 추천에서 GNN의 잠재성을 연구해서, 정보 전파 메커니즘으로 구조적 지식을 활용하려는 초기 시도이다. 지식 그래프 외에도, 소셜 네트워크와 아이템 컨텍스트 같은 많은 구조적 정보가 실제 시나리오에 존재한다. 예를 들어, 소셜 네트워크를 CKG와 통합하면, 소셜 영향도가 추천에 어떻게 영향을 미치는지 조사할 수 있다. 또 다른 연구 방향은 정보 전파와 결정 프로세스를 통합하는 것으로 설명 가능한 추천의 가능성을 열어준다.

Categories

Tags