GMCF : Neural Graph Matching based Collaborative Filtering 리뷰
ABSTRACT
유저와 아이템의 어트리뷰트 들은 필수적인 사이드 정보이다. 본 논문에서는 기존 모델들이 구분하지 못하는 두 가지 어트리뷰트 상호작용을 발견했다.
- inner attribute interactions : 유저 어트리뷰트 사이의 상호작용과 아이템 어트리뷰트 간 상호작용
- cross attribute interactions : 유저 어트리뷰트와 아이템 어트리뷰트 간 상호작용
따라서 그래프 매칭 구조를 사용해 어트리뷰트 상호작용을 모델링하고 집계해서 두 상호작용 타입을 효과적으로 포착하는 GMCF(neural Graph Matching based Collaborative Filtering) 모델을 추천에서 사용한다.
GMCF 모델은 두가지 과정을 수행하는데
- characteristic learning : inner interactions을 기반으로 그래프 학습
- preference matching : cross interactions을 기반으로 노드 매칭
실험 결과로 GMCF가 SOTA임을 보였고, 추가로 GMCF의 효과성을 증명했다.
1. INTRODUCTION
추천에서 가장 많이 사용되는 알고리즘인 CF는
유사한 유저들은 유사한 아이템들에도 유사한 선호도를 가질 것이다.
라는 가정에 기반해서 예측을 한다. 여기서의 핵심적인 과제는
예측 성능을 높이기 위해 유저와 아이템 어트리뷰트 들을 어떻게 다룰까?
최근 CF 모델들은 어트리뷰트에 대한 임베딩을 주로 사용한다.
이러한 모델들은 어트리뷰트 들 간의 동시 발생(co-occurrence)을 포착하기 위해 추가로 어트리뷰트 상호작용 모델링을 한다.
기존의 어트리뷰트 상호작용 모델링 방법은 충분하지 않다
이러한 모델들이 모든 어트리뷰트 상호작용을 동일하게 고려하기 때문에 동일한 방법으로 모델링하고 집계하기 때문이다.
서로 다른 어트리뷰트 상호작용 들은 최종 예측에 각각 다르게 영향을 끼쳐야한다. 예를 들어,
영화 추천의 목표는 영화( 아이템의 어트리뷰트로 표현됨 )에 대한 유저( 유저의 어트리뷰트로 표현됨 )의 선호도를 예측하는 것이다.
어트리뷰트 상호작용 들은 추천에 기여하는 역할에 기반해서 두가지 카테고리로 나눠진다.
- inner interactions ( characteristic learning )
- 유저 어트리뷰트 간의 상호작용 <male, 18-24>
- 아이템 어트리뷰트 간 상호작용 <Nolan, sci-fi>
- cross interactions ( preference matching )
- 18-24 살은 sci-fi 영화를 좋아한다 <18-24, sci-fi>
기존 추천 방식 들은 위의 두 타입의 상호작용을 구분하지 못한다. 따라서 당연하게도 어트리뷰트 상호작용을 활용한 결정을 내리지 못한다.
본 연구에서는, inner interactions과 cross interactions를 그래프 매칭 구조로 명시적으로 모델링하고 집계한다.
유저(아이템)을 표현하기 위해 유저(아이템)의 어트리뷰트로 구성된 그래프를 사용한다.
- 노드 : 각각의 어트리뷰트
- 엣지 : 각각의 어트리뷰트 상호작용 쌍
GMCF는 두 가지를 진행한다.
- GNN으로 inner 상호작용에 기반해 유저 어트리뷰트 그래프와 아이템 어트리뷰트 그래프를 모델링 한다.
- 노드 레벨로 두 어트리뷰트 그래프를 cross 상호작용에 기반해 매칭하고, 최종 예측 결과를 만든다.
그림 1에서 기존 연구와 GMCF 간의 어트리뷰트 상호작용을 모델링하고 집계하는 방법의 차이를 나타낸다.

Figure 1
GMCF는 추천 시스템이 목표로 하는 작업에 적합한 방식으로 어트리뷰트 상호작용을 다룬다.
- 그래프 학습으로 유저 특징 들과 아이템 특징 들을 학습
- 그래프 매칭으로 학습한 두 특징에 기반해 유저의 선호도에 아이템을 매칭한다.
본 연구의 주요 기여를 요약하면 아래와 같다.
- 추천 예측에서 어트리뷰트 상호작용 들의 영향도를 다르게 고려해야 한다고 강조한다. 어트리뷰트 상호작용을 추천에서의 역할에 따라서 inner 상호작용과 cross 상호작용으로 나눈다.
- 뉴럴 그래프 매칭 기반 모델인 GMCF를 제시한다. 최초 제안 방법으로 그래프 학습을 통한 특징 학습에 유저와 아이템 각각의 inner 상호작용을 사용하고, 그래프 매칭을 통한 선호도 매칭에 cross 상호작용을 사용한다.
- 실험을 통한 결과로 정확도 기준 SOTA를 달성했고, 두 타입의 어트리뷰트 상호작용을 효과적으로 모델링 함을 보였다.
2. RELATED WORK
2.1. Attribute-aware CF models
FM은 가장 많이 사용되는 CF 알고리즘 이다. 추가로 어텐션 스코어 혹은 게이트를 적용하는 연구도 있지만, 구조적 정보를 선형적으로 모델링하기 때문에 공동 결정을 하기 위한 어트리뷰트 상호작용 활용에 효과적이지 않다. MLP를 추가한 연구는 구조적 정보를 비선형 메소드로 포착하려고 했지만, 효과적이지 않다는 것이 증명되었다.
GMCF는 그래프 매칭 구조에 명시적으로 어트리뷰트 상호작용을 모델링하고 집계한다. 따라서 어트리뷰트 상호작용 모델링과 구조적 정보 포착에 더 효과적이다.
2.2. Graph Neural Networks
GNN은 엔티티 들과 그들의 관계를 학습한다.
- 유저-아이템 상호작용 만 사용
- 지식 그래프(KG) 모델링 (어트리뷰트 간 관계는 고려하지 않음 )
- 그래프 학습 과정으로 어트리뷰트 상호작용 모델링과 집계 (모든 어트리뷰트 상호작용을 동일하게 분석하기 때문에, 공동 결정을 하기 위한 어트리뷰트 상호작용 들의 구조적 정보 포착에는 효율적이지 못함 )
GMCF는 inner 상호작용과 cross 상호작용을 차별화 한다. 그리고 추천에 더 적합하다고 고려되는 그래프 매칭 구조로 이러한 두 상호작용 들을 모델링하고 집계한다.
2.3. Graph Matching
그래프 매칭은 컴퓨터 공학의 오랜 연구주제로 데이터베이스와 데이터 마이닝 도메인에서 주로 연구되었다.
그래프 매칭의 목적은 두 그래프 형태의 표현 간의 유사도를 발견하는 것이다.
기존 그래프 매칭 알고리즘은
- 휴리스틱 메소드( 최소 그래프 편집 거리(minimal graph edit distance)
- 그래프 커널 메소드 (그래프 내 랜덤 워크, 그래프 서브 구조 )
GNN의 발전으로, 최근의 연구는 뉴럴 넷 기반 그래프 매칭이 주로 연구되었다.
- GNN으로 학습된 그래프 레벨 임베딩 통합과 두 노드 비교 메소드로 학습된 노드 레벨 매칭 임베딩 연구 ( Bai et al )
- GNN으로 두 그래프 임베딩을 샴 네트워크 프레임워크에 학습해서 노드 레벨 매칭으로 통합하는 연구 ( Li et al )
그러나 추천 시스템에 뉴럴 그래프 매칭 메소드를 연구가 아직까지 적다. 본 연구에서는 우선 각 유저와 각 아이템을 그래프 형태로 표현한다. 그리고 선호도 매칭을 위해 뉴럴 그래프 매칭 프레임워크를 활용한다.
3. PROBLEM STATEMENT & BACKGROUND
3.1. Problem Statement
The Recommendation Problem
추천 문제의 목표는 예측 모델 $F(x_n)$을 설계 하는 것이다.
$\hat{y}_n =F(x_n)$
- $x_n$ : 입력 데이터 샘플
- $y_n$ : 아이템에 대한 유저의 피드백
Our Solution
본 논문에서는 $F_{GMCF}(x_n)$을 제시한다.
- 유저 특징 들과 아이템 특징 들을 두 그래프로 모델링 한다.
- 그래프 매칭으로 모델링 한 유저 그래프 표현과 아이템 그래프 표현으로 $y_n$을 예측한다.
$(Male, 1)$ , $(Female, 1)$는 유저의 성별이 남자를 표현한다.
- $J^U$ : 유저 어트리뷰트 들의 유니버스 ( $Male \in J^U$)
- $J^I$ : 아이템 어트리뷰트 들의 유니버스 ( ${sci-fi} \in J^I$ )
- $(att, val)$ : 어트리뷰트의 명명($att$)과 이 어트리뷰트의 값($value$)
$D = { (x_n, y_n) }_{1 ≤ n ≤ N}$ 는 N개 학습 데이터 쌍이다.
- $x_n$ : 데이터 샘플
- $C_n^U = {{ c^U = (att, val) }}_{att \in J_n^U}$ : 유저 어트리뷰트 셋, 데이터 샘플 내 유저 특징
- $C_n^I = {{ c^I = (att, val) }}_{att \in J_n^I}$ : 아이템 어트리뷰트 셋, 데이터 샘플 내 아이템 특징
- $y_n$ : 아이템에 대한 유저의 암시적 피드백( 시청함, 좋아요 )
각 데이터 샘플 $x_n$내의 $attribute-value$ 쌍의 수는 다 다를 수 있는데 이유는 아래와 같다.
- 어트리뷰트의 정보 중 몇 개가 결측될 수 있다.
- 동일한 타입의 여러 개의 어트리뷰트 들이 포함될 수 있다. ( 예, 영화는 여러 장르에 속한다. )
3.2. Representing Attributes and Interactions
모든 데이터 샘플은 동일한 어트리뷰트 $att$에 대해 동일한 벡터 임베딩 $v_{att}$를 공유한다.
- $att \in J^U \cup J^I$ : $d$ 차원의 공간 $R^d$ 로 임베딩 된 벡터 $v$
벡터는 서로 다른 $scalar$ 값을 가질 수 있다. ( 잠재적으로 서로 다른 값 들($val$)을 가지기 때문이다. )
- $u_{att} = val \cdot v_{att}$ : $(att,val)$에 해당하는 $attribute-value$ 쌍
데이터 샘플에서 어트리뷰트 두개가 동시에 등장했을 때, 두 어트리뷰트 간 상호작용으로 정의하고 어트리뷰트 상호작용은 아래와 같은 함수로 모델링 된다.
- $f(u_1, u_2) : R^{2 \times d} → R^l$
- $u_1, u_2$ : 각각 $att_1, att_2$의 $attribute-value$ 표현
- $l$ : 출력 차원
데이터 샘플 각각의 어트리뷰트 셋 $J_n^U$,$J_n^I$ 가 다르다.
데이터 샘플이 가진 상호작용 들 끼리도 달라질 수 있다.
여러 데이터 샘플 들 내의 각 어트리뷰트가 서로 다른 값 들로 달라지기 때문에
함께 등장하지 못하는 서로 다른 샘플 내의 상호작용 간 협력 정보도 발견할 수 있다.
→ $f(\cdot, \cdot)$은 사실 어트리뷰트 임베딩을 학습하는 것이다. 어트리뷰트 임베딩은 어트리뷰드 들간 협력 정보를 담고 있다( 유사한 어트리뷰트가 유사한 임베딩을 가질 것이다).
3.3. Graph Neural Networks
그래프 $G = <V,E>$
- $V = {{ v_i }}_{1 ≤ i ≤ k}$은 $k$ 개 노드로 벡터 표현 $v_i$로 표현된다.
- $E$ 는 엣지 셋으로 노드 간의 이웃의 정보를 나타낸다. 두 노드가 엣지로 이어지면 이웃으로 본다.
GNN은 메시지 패싱 메소드로 이웃의 정보를 집계해서 각 노드에 대한 벡터 표현을 학습한다. 노드 $i$에 대한 메시지 패싱 과정은 아래와 같다.
- 노드 $i$의 모든 이웃의 노드 표현을 집계한다.
- $v_i$와 집계된 벡터 표현을 통합해서 노드 $i$의 통합된 표현을 얻는다.
수식으로 표현한다면 아래와 같다.
$v_i^’ = f_{fuse}(v_i, Aggregate_v({{ v_j}}_{j \in N(i)}))$
- $v_i^’$ : 그래프 모델링 결과인 노드 $i$의 통합된 벡터 표현
- $f_{fuse}$: 통합 함수
- $Aggregate_v(\cdot)$ : 정해진 차원 표현( element-wise sum )으로 이웃 임베딩들을 집계하는 함수
- $N(i)$ : 노드 $i$의 모든 이웃 들의 셋
추가로 그래프 표현이 필요하면, 모든 노드 들의 각 벡터 임베딩 들을 집계해서 계산될 수 있다.
$v_G = Aggregate_G({{ v_i^’ }}_{i \in V})$
- $v_G$ : 그래프 표현
- $Aggregate_G(\cdot)$ : 노드 이웃을 집계하는 것과 유사한 노드 집계 함수
4. OUR APPROACH
4.1. GMCF Overview
GMCF는 크게 세 모듈로 구성된다.
- 유저와 아이템 어트리뷰트 그래프 생성 모듈
- GNN 모듈 기반의 노드 매칭
- 그래프 표현 매칭 모듈
그림 2는 GMCF 모델의 전체 구조를 보인다.

Figure 2
입력 데이터 샘플 $x$는 아래와 같다.
$x = {{ c_i^U = (att, val) }}{1 ≤ i ≤ p} \cup {{ c_j^I = (att, val) }}{1 ≤ j ≤ q}$
각 모듈은 아래와 같이 동작한다.
(남자, 20살, 학생 ), (반지의제왕, 판타지, 액션, 2시간, 미국, 간달프 )
유저 어트리뷰트 하나 → 남자
노드 매칭
(남자 , 반지의제왕, 판타지, 액션, 2시간, 미국, 간달프 ) → 남자
그래프 끼리의 매칭 ( 그래프 → 노드 합해서 → 만든거 )
The User and Item Graph Construction Module
GMCF는 데이터 샘플 $x$ 내 유저 특징과 아이템 특징 기반으로 유저 어트리뷰트 그래프와 아이템 어트리뷰트 그래프를 생성한다.
유저 어트리뷰트 그래프(아이템 어트리뷰트 그래프)는 완전 연결 그래프(complete graph, 모든 노드에 대해 가능한 모든 엣지를 가지는 그래프)이다.
- 각 노드는 유저(아이템) 특징 내 $attribute-value$ 쌍에 해당하고 $u = val \cdot v$로 표현된다.
The Node Matching based GNN Module
유저(아이템) 어트리뷰트 그래프 내의 각 노드 $i$에 대한 표현 $u_i$에 대해,
- $z_i$(메시지 패싱 정보)를 계산한다.
- $s_i$(노드 매칭 정보 )를 아이템(유저) 어트리뷰트 그래프를 추가로 사용해서 계산한다.
- $u_i, z_i, s_i$를 통합해서 노드 $i$에 대한 통합된 노드 표현 $u_i^’$를 얻는다.
- 모든 노드 들의 표현 $u_i^’$를 집계해서 $v_G$를 얻는다.
The Graph Representation Matching Module
유저 어트리뷰트 그래프 표현 들과 아이템 어트리뷰트 그래프 표현 들 간 그래프 매칭을 수행한다. 최종 예측은 매칭 결과에서 얻어진다.
4.2. User & Item Graph Construction
데이터 샘플 $x$ 각각에 대해, 각 아이템 과 각 유저의 어트리뷰트 그래프를 표현한다.
- 노드 : 어트리뷰트
- 엣지 : 어트리뷰트 들의 상호 작용
유저 어트리뷰트 그래프는 아래와 같이 표현된다.
$G^U=<V^U,E^U>$
- $V^U = {{ u_i^U}}_{i \in J^U}$ : 유저 어트리뷰트 그래프의 노드 셋
- $u_i^U$ : 어트리뷰트를 표현하는 각각의 노드 $i$, 어트리뷰트 표현이 곧 노드 표현이다.
- $E^U$: 그래프 내 모든 엣지들을 포함하는 엣지 셋
모든 어트리뷰트 간 상호작용을 고려하기 때문에, 유저 어트리뷰트 그래프는 완전 연결 그래프가 된다.
아이템 어트리뷰트 들에도 동일한 변환 과정을 수행해서 아이템 그래프 $G^I = <V^I, E^I>$를 생성한다.
실제로는, 간단하게 어트리뷰트 상호작용을 엣지로 나누고, 서로 다른 모듈에 대한 쌍을 매칭시켜서 그래프를 구성을 한다. 명시적인 상호작용 모델링을 위해 많은 과정을 가지는 메소드들 과 다르다( AutoInt, Fi-GNN )
4.3 Node Matching based GNN
GNN을 적용한 노드 매칭 $f_G$를 제안한다.
- 메시지 패싱으로 inner 상호작용을 고려
- 노드 매칭으로 cross 상호작용을 고려
$f_G$가 두 종류의 상호작용을 어떻게 모델링해서 그래프 표현을 출력하는지에 대해 설명한다.
유저 어트리뷰트 그래프와 아이템 어트리뷰트 그래프로 모델링은 대칭이기 때문에, $f_G$ 개념을 제너릭하게 설명한다.
4.3.1. Neural Interaction based Message Passing
모델에서는 특징 학습으로 inner 상호작용 모델링으로 메시지 패싱 메소드를 사용한다.
inner 어트리뷰트의 상호작용 모델링 결과가 크다고 두 어트리뷰트가 비슷하지는 않다.
inner 상호작용은 본질적으로 복잡하다. 그래서 두 어트리뷰트 들을 비선형적으로 모델링 하는 MLP 같은 뉴럴 메소드가 필요하다.
-
MLP 함수( $f_{neural} \in R^{2 \times d} → R^d$)는 입력으로 두 노드의 임베딩을 사용하고 출력으로 상호작용 정보를 명시적으로 모델링 한 결과를 반환한다.
$z_{ij} = f_{neural}(u_i, u_j)$
- $z_{ij}$ : 노드 쌍 $(i, j)$을 상호작용 모델링 한 결과
-
각 노드에 해당하는 모든 상호작용 모델링 결과가 메시지 패싱 정보로 집계 될 것이다. 상호작용 모델링 결과 집계에 element-wise sum을 사용한다.
$z_i = \sum_{j \in N_i} z_{ij}$
- $z_i \in R^d$ : 노드 i의 메시지 패싱 결과
- $N_i$ : 노드 $i$의 이웃 셋
추가로, 4.3.2 Bi-Interaction based Node Matching
GMCF는 cross 상호작용 모델링으로 두 그래프 간 노드 매칭을 수행한다.
직관적으로, $c_i^U$가 $c_i^I$에 선호도가 높을 때,
어트리뷰트 $c_i^U$와 어트리뷰트 $c_i^I$의 매칭 스코어가 높을 것이라고 기대한다.
예 ) 남자(male)가 공상 과학 영화(sci-fi)를 선호 했다면, <male, sci-fi>의 노드 매칭 스코어가 높아야 한다.
아이템 어트리뷰트에 유저 어트리뷰트가 높은 매칭 스코어를 가지면, 두 어트리뷰트의 표현이 비슷해진다.
-
상호작용 모델링 결과 들 간과 어트리뷰트 유사도들 간의 상관 관계를 단조 증가 시키기 위해 노드 매칭에 Bi-interaction을 사용한다.
$s_{ij} = u_i \odot \hat{u}_j$
- $s_{ij}$: 서로 다른 두 그래프의 두 노드의 노드 매칭 결과
- $u_i$ : 한 그래프(유저 어트리뷰트 그래프) 내 노드 $i$의 임베딩
- $\hat{u}_j$ : 다른 그래프(아이템 어트리뷰트 그래프) 내 노드 $j$의 임베딩
- $\odot$ : element-wise product
-
element-wise sum으로 두 그래프 간 모든 노드 들 간 노드 매칭 결과를 집계한다. 집계된 노드 매칭 결과는 아래와 같다.
$s_i = \sum_{j \in \hat{V}} s_{ij}$
- $s_i$ : 노드 $i$의 집계된 노드 매칭 결과
- $\hat{V}$ : 다른 어트리뷰트 그래프의 노드 셋
4.3.3 Information Fusing
노드 통합 함수 $f_{fuse} \in R^{3 \times d} → R^d$는 세가지를 입력으로 받아 노드 $i$의 통합된 노드 표현을 반환한다.
- $u_i$ : 초기 노드 표현
- $z_i$ : 메시지 패싱 결과 ( inner )
- $s_i$ : 노드 매칭 결과 ( cross )
$f_{fuse}$의 메소드로 여러가지를 사용할 수 있다. ( element-wise sum, RNN ) 테스트에는 RNN이 가장 좋았다.( GRU에 $[u_i, z_i, s_i]$를 입력 시퀀스로 사용하고 최종 출력 레이어가 통합된 노드 표현 )
4.3.4 Node Representation Aggregation
각 그래프 내의 퓨징된 노드 표현을 집계해 그래프 표현을 생성한다. ( element-wise sum )
$f_G(G,\hat{V}) = \sum_{i \in V} u_i^`$
4.4 Graph Matching
유저 어트리뷰트 그래프 표현과 아이템 어트리뷰트 그래프의 표현을 $f_G$로 가져온다.
$v_G^U = f_G(G^U, V^I)$, $v_G^I = f_G(G^I, V^U)$
$f_{match}$(두 그래프 표현을 내적으로 매칭하는 함수)로 예측 결과를 아래와 같이 계산한다.
$y^` = f_{match}(v_G^U, v_G^I) ={v_G^U}^T \cdot v_G^I$
4.5 Model Training
L2 정규화를 GMCF의 모든 파라미터에 적용한다. GMCF 가 최소화하는 로스 함수와 L2 정규화는 아래와 같다.

로스 함수로 binary cross-entropy 로스를 사용한다.
4.6 Relation to Existing Work and Discussion
4.6.1 Relation to Attribute Graph-based Recommender Systems
Fi-GNN 과 $L_0$-SIGN은 한 그래프에서 모든 어트리뷰트를 동일하게 다룬 어트리뷰트 그래프 기반 모델이다. GMCF는 이 모델들의 확장판이라 할수 있다. 자세하게는
- 만약 GMCF가 모든 상호작용 들을 동일하게 다룸 ( 모든 상호작용 들을 cross 상호작용 같이 모델링 )
- 매칭 함수 $f_{match}$를 선형 함수로 사용 ( $f_{match}(v_G^U, v_G^I) = sum(v_G^U) + sum(v_G^I)$ )
Fi-GNN 과 $L_0$-SIGN과 GMCF 모델이 유사하다고 볼 수 있다.
4.6.2 Relation to FM
그래프 기반 모델 들과 다르게 FM은 모든 상호작용 모델링 결과 집계를 선형적(합)으로 한다. GMCF도 FM의 확장판으로 볼 수 있다.
- 모든 상호작용을 element-wise product로 모델링
- 통합 함수 $f_{fuse}$가 선형 함수
→ $f_{fuse}(u_i, z_i, s_i) = u_i + {{1}\over{2}}\sum_{j \in V^a / {{i}}} s_{ij}$( 여기서 $V^a = V^U \cup V^I$, $s_{ij} = u_i \odot u_j$ ) 로 하면 예측 함수는 아래와 같아지고, FM의 예측 함수와 유사해진다.

- 기존 FM 논문의 weight $w_i$가 각 어트리뷰트 $i$의 $sum(v_i)$, bias $w_0$은 생략됨
- $sum( u_i \odot u_j ) = v_i^T v_j \cdot val_i \cdot val_j$
4.6.3. When the User or Item Attributes are Unavailable
유저 혹은 아이템 어트리뷰트를 사용하지 못할 때가 있을 수 있다. 그래도 GMCF를 적용 할 수 있다.
만약, 어트리뷰트 중 하나를 사용 못하면, 어트리뷰트 그래프를 싱글 노드로 사용한다.
예 ) 유저 어트리뷰트를 사용 못 하면 유저 어트리뷰트 그래프는 userID 만 가지는 단일 노드 그래프가 된다.
→ 유저 어트리뷰트 그래프 내에 inner 상호작용이 없다. 즉 $v_G^U = u_u^` = f_{fuse}(u_u, s_u)$ 이 되고, 여기서 $u_u$는 userID 의 노드 표현이 된다.
만약, 유저 어트리뷰트와 아이템 어트리뷰트 모두 사용할 수 없으면, 두 그래프를 싱글 노드로 사용한다.
→ inner 상호작용 모델링이 사라지고 userID와 itemID 간 cross 상호작용 모델링만 진행하게 된다.
5. EXPERIMENTS
실험을 통해 세가지를 집중 검증한다.
- 다른 베이스라인 들과 비교해서 정확한 추천을 제공하는 GMCF의 능력
- 정확한 예측을 제공했을 때, GMCF의 각 컴포넌트의 효과성
- 학습된 어트리뷰트 임베딩의 공간적 관점에서의 협력적 관계와 의미
5.1 Experimental Protocol
5.1.1 Datasets
세가지 데이터셋을 사용한다. 테이블 1에서 데이터셋에 대한 통계적 정보를 보인다.

Table 1
MovieLens 1M 은 영화에 대한 유저의 레이팅을 가진다. 각 데이터 샘플은 유저와 영화 어트리뷰트를 가진다. IMDB에서 어트리뷰트 정보를 수집해서 데이터 셋을 풍부하게 만든다.
Book-crossing 은 책에 대한 유저의 명시적인 레이팅과 암시적인 레이팅을 가진다. 어트리뷰트도 가진다.
Taobao 는 타오바오 웹 사이트에 표시된 광고의 클릭 로그를 가진다.
MovieLens와 Book-crossing의 명시적인 레이팅은 암시적 피드백으로 변환한다.
- MovieLens : 3점 이상을 positive 레이팅으로 변환
- Book-crossing : 모든 명시적 레이팅을 positive 레이팅으로 변환( 데이터 희소성 )
- positive 한 샘플 수와 동일한 negative 한 샘플을 랜덤으로 선택
데이터 셋 품질을 위해 데이터 셋에서 positive 샘플 수로 유저를 선택한다.
- MovieLens : positive 샘플 수 10개 이상을 가진 유저를 선택
- Book-crossing, Taobao : pos 샘플 수 20개 이상을 가진 유저를 선택
5.1.2. Baselines
- FM : 모든 피처 상호작용을 내적으로 모델링하고 결과 합으로 최종 예측 결과를 생성한다.
- AFM : FM에 추가로 각 상호작용에 어텐션을 적용해 집계한다.
- NFM : FM의 상호작용 모델링 결과를 MLP로 집계한다.
- W&D : 선형 모델과 딥러닝 모델을 결합한다. 딥러닝 모델의 입력이 모든 피처 임베딩 concat 한다.
- DeepFM : MLP로 상호작용 분석 결과와 FM을 결합한다.
- AutoInt : 모든 피처 상호작용을 멀티 헤드 셀프 어텐션으로 명시적으로 모델링하고 모델링 결과 전체를 집계해서 최종 예측 결과를 생성한다.
- Fi-GNN : 각 데이터 샘플을 노드가 피처 필드인 피처 그래프로 표현한다. 다음에 GNN을 진행할 때 멀티 헤드 셀프 어텐션으로 필드의 상호작용을 모델링한다.
- $L_0$-SIGN : 각 데이터 샘플을 모든 피처 들이 노드인 그래프로 다룬다. 유익한 상호작용을 발견하고 활용해서 그래프 분류를 위한 엣지 하나를 찾는다. 분류 결과가 예측 결과가 된다.
5.1.3 Experimental Set-Up
6:2:2의 비율로 데이터 셋을 학습:검증:테스트 셋으로 나눈다. 검증 셋은 최고 파라미터를 결정하기 위해 사용되고 테스트 셋은 모델 검증을 위해 사용된다. 하이퍼 파라미터 세팅은 아래와 같다.
- 노드 임베딩 차원 : $64$
- MLP 히든 레이어 수 : $1$
- 히든 레이어 유닛 : 4$d$
- 학습율 : $1e-3$
- L2 정규화 파라미터 : $1e-5$
- 옵티마이저 : Adam
검증 메트릭으로는
- AUC
- Logloss
- NDCG@K ( k = 5~10 )
모든 실험은 5번의 평균으로 기록한다.
5.2 Overall Performance
GMCF와 베이스라인 들의 성능을 비교했다. 테이블 2에서 각 모델의 예측 성능을 보인다.

Table 2
- GMCF가 정확한 예측을 위해 유저와 아이템 어트리뷰트의 구조적 정보를 효과적으로 분석한다는 점을 보인다.
- GMCF, AutoInt, Fi-GNN, $L_0$-SIGN은 명시적으로 모델 어트리뷰트 상호작용을 모델링 했기 때문에 다른 모델들에 비해 예측 정확도가 높았다.
- FM 과 AFM은 뉴럴넷을 사용하지 않은 모델로 내적에 의존한다. 따라서 다른 모델 들에 비해 성능이 낮다. 복잡한 상호작용 모델링에 MLP 같은 메소드 들이 필요하다고 분석한다.
- GMCF, Fi-GNN, $L_0$-SIGN 들이 다른 GNN 기반 모델들에 비해 예측 정확도가 높다. 그 중에서도 GMCF가 추천에 더 적합하다.
5.3 Study of Neural Graph Matching
세가지에 초점을 맞춰 뉴럴 그래프 매칭을 검증한다.
- inner와 cross 상호작용 모델링 메소드 비교 검증
- 퓨징 함수로 사용하는 알고리즘 비교 검증
- 유저와 아이템 어트리뷰트를 사용 못할 때( 공간적 한계로 ) GMCF의 성능 검증
5.3.1 Evaluation of Inner and Cross Interaction modeling
세 가지 질문에 초점을 맞춘다.
1-1. 노드 레벨 그래프 매칭(cross 상호작용)의 효과가 뭔지?
1-2. 두 가지 상호작용을 모델링 하는데 서로 다른 메소드를 사용해도 되는지 안되는지?
1-3. 두 가지 상호작용을 모델링하는데 비선형 알고리즘이 항상 적합한지?
$<inner \ interaction \ model,\ cross \ interaction \ model>$ 형태로 적용한 메소드를 표현한다. ($None$은 모델링을 하지 않았다는 의미이다. )
GMCF 모델은 MLP 기반 메시지 패싱, Bi-interaction 기반 노드 매칭으로 $<MLP, Bi>$로 표현된다.

그림 3
1-1. $<MLP, None>$이 가장 성능이 낮다. 노드 매칭은 cross 상호작용을 통해 두 어트리뷰트 그래프 간 명시적인 어트리뷰트 커뮤니케이션을 제공 하는데 더 정확한 선호도 매칭을 위한 세밀한 분석 결과를 제공하는 효과를 가진다.
1-2. $<Bi, Bi>$, $<MLP, MLP>$가 기존 세팅에 비해 성능이 낮다. 그 이유는 inner와 cross 상호작용이 본질적으로 다르기 때문이다. 역할이 다르므로 모델링도 다르게 해야 한다. 유사도 정보를 고려하지 않아도 되는 inner interaction 과는 다르게 cross interaction은 두 어트리뷰트 간 유사도 정보를 표현해야 때문이다. Bi-interaction 알고리즘이 적합하다.
1-3. $<MLP1, MLP2>$, $<Bi, MLP>$도 마찬가지로 기존 세팅에 비해 성능이 낮다. MLP가 Bi-interaction 알고리즘에 비해 강력해 보이지만, cross 상호작용 학습에는 효과적이지 못하다.
5.3.2 Evaluation of the Fusing Method
퓨징 메소드는 메시지 패싱 결과와 노드 매칭 결과를 집계해서 통합 노드 표현을 생성한다.
$SUM$: element-wise sum

테이블 3
퓨징 메소드로 강력한 알고리즘이 요구된다는 것을 결과로 보여준다.
5.3.3 Evaluation of the User and Item Attributes
GMCF는 유저 혹은 아이템 어트리뷰트 들을 사용할 수 없을 때에도 적용 가능한 GMCF 프레임워크다. 유저의 어트리뷰트를 사용 못한다면, 유저 어트리뷰트 그래프 자체를 유저 ID를 나타내는 싱글 노드로 본다.

그림 4
5.4 Parameter study
노드를 표현하는 차원과 모델에서 사용한 MLP의 히든 레이어의 수를 검증한다.

그림 6
차원 수 64가 가장 적합하다.

테이블 4
MLP는 메시지 패싱으로 inner 상호작용을 분석에 사용된다. 히든 레이어가 0인 경우는 선형 변환만 진행되는데 성능이 가장 낮다. inner 상호작용에서 유용한 정보를 뽑아내는데 강력한 비선형 알고리즘이 필요하다는 것을 의미한다.
5.5 Case Study
모델이 어트리뷰트 간 협력 정보를 잘 학습 하는지 검증하고 어트리뷰트가 예측을 잠재적으로 설명하는 의미론적 의미를 가지는지 검증한다.
먼저, 유저 연령대와 영화 장르 간 코사인 유사도를 계산한다.
다음으로, 두 타입의 어트리뷰트 들 간의 노드 매칭 결과를 계산한다.

그림 5
어트리뷰트 레벨에서 예측 결과에 대한 잠재적 근거를 제공하는 모델의 능력을 보인다.
6. CONCLUSION
추천 시스템에서 정확한 예측을 위해 유저와 아이템 어트리뷰트 상호작용이 유용한 정보를 제공한다. 기존 연구 들은 모든 어트리뷰트 상호작용을 동일하게 다루지만, 본 연구에서는 내부 상호작용과 교차 상호작용 두 종류로 어트리뷰트 상호작용을 나눴다.
GMCF 모델을 제시했다. GMCF 모델은 그래프 매칭 구조에 두 종류의 상호작용을 서로 다른 목적으로 활용했다. 유저와 아이템의 내부 상호작용에 특징 학습을 명시적으로 수행하고, 교차 상호작용을 사용해서 추천을 위한 선호도 매칭을 수행했다.
실험 결과에서 세가지 대표 데이터 셋에서 GMCF가 정확도 면에서 SOTA를 달성함을 보인다.
추후 연구에서는 엣지 매칭과 서브 그래프 탐색이 포함된 모델 구조에서 고차 상호작용(High-Order Interactions)을 다룰 예정이다.
GraphBERT
- 그래프도 GNN이 아니라 Transformer가 더 학습 잘한다.
- Transormer → Encoding ( 구조적, 그래프 )
- (SIGN, COS ) → Relative Position Encoding ( 인코딩 3개 ) → Transformer → Graph-BERT
- Fine-Tuning