본문 바로가기
인공지능/논문 리뷰

GraphSAIL 논문 리뷰

by Project Box 2022. 11. 23.

본문: https://arxiv.org/pdf/2008.13517.pdf

 

요약:

1. GraphSAIL: Graph Structure Aware Incremental Learning for Recommender Systems 이란, 추천 시스템에서 그래프 구조를 인지하는 incremental learning이다.

2. GNN 기반 추천 시스템에 incremental learning을 적용한 첫 번째 시도.

3. 로컬 구조, 글로벌 구조, 셀프 임베딩 정보를 잘 보존하여 그래프 구조를 보존한다.

 

배경 지식:

1. Catastrophic forgetting: 새로운 학습을 함으로써 기존 태스크에 대한 정확성이 떨어지는 현상

2. Incremental(continual) learning : 기존 ML 모델 학습 방법은 새로운 데이터가 들어오면 그냥 통째로 재학습을 시켜버리는 형태였다. 하지만 증분 학습은 마치 인간의 학습과 마찬가지로 새로운 학습을 할 때 기존에 있는 지식을 잊지 않고 학습하는 학습 방식이다. experience replay, parameter isolation, regularization 크게 이렇게 3가지 방식이 있는데, 본 논문에서는 regularization (knowledge distillation)을 활용

3. 기존 추천 시스템은 "최근 30일 데이터"와 같이 fixed time window를 사용해 모델을 트레이닝했다.
최근 데이터를 활용해 최근 선호도를 반영하는 것은 좋은 일이지만, 장기적인 선호도는 배제되어 catastrophic forgetting

 

서문(Preliminaries)

1. GCN-based recommender model

GCN은 이웃 노드의 임베딩을 반복적으로 aggregate 하여 학습한다.
컨볼루션 연산을 통해 이웃 정보를 계속 변형하고 모아 연산을 하는데,
K번째 레이어를 aggregate 한 뒤 유저, 아이템에 대한 최종 임베딩을 각각 emb_u, ebm_i라고 한다.

 

2. Knowledge Distillation

Knowledge Distillation(KD)는 크고 복잡한 모델에서 작은 모델로 지식을 전파하는 기술이다.
학생 모델을 훈련시킬 때, 교사 모델과 학생 모델의 차이를 loss로 간주하고, loss를 최소화시키는 방식으로 학생 모델을 학습시켜 KD를 구현한다.

 

방법론(Methodology)

1. Local structure distillation

각 노드의 로컬 이웃 특성을 regularizing 하여 유저와 아이템의 long-term preference를 보존한다.

L_localteach-student 모델의 로컬 구조의 로스를 의미
U, I는 각각 유저, 아이템 노드를 의미.
절댓값은 노드의 개수를 의미
C는 이웃 노드의 평균 임베딩을 의미
Nu의 이웃 노드 의미
|N|u의 차원 의미
시점 t-1teacher, tstudent 의미

Teacher임베딩, 이웃 노드의 임베딩 값을 student에게 전송(distill)하는 게(distill) 목적이다.
노드의 임베딩과 이웃 노드의 임베딩을 dot product 한 값을 계산하고,
Teacherstudent 사이의 차이를 최소화하여 목적을 달성.즉, 로컬 정보를 최대한 보존할 수 있다.

 

2. Global structure distillation

Local structure distillation는 로컬 정보는 보존할 수 있지만, 전체 노드에 대한 전역 정보를 캡쳐하기 어렵다.
Global에서는 노드가 직접적으로 연결되어있지 않더라도, 각 유저, 아이템 노드가 어느 정도 거리에 있는지 정보를 표현할 수 있고 이것 역시 유저의 선호도를 표현하는 중요한 정보다.

global정보는 K-means clusturing을 통해 Anchor 노드를 지정하고 특정 유저가 어떠한 유저 클러스터에 속할 확률, 어떠한 아이템을 선호할 확률을 나타낼 수 있다. 아이템의 경우도 마찬가지다.

그리고 교사 모델의 확률 분포와 학생 모델의 확률 분포의 차이를 최소화하여 글로벌 구조를 보존할 수 있다.
확률분포 차이에는 KL Divergence(쿨백-라이블러 발산)를 활용한다. 이것을 글로벌 구조의 loss로 간주한다.

 

3. Self-embedding distillation

각 유저, 아이템 노드가 각자의 독립적인 임베딩을 유지할 수 있도록 교사-학생 모델 간 임베딩에 최소 제곱 오차 개념을 활용하여 loss를 계산한다.

여기서 파라미터 에타(n)는 distillation의 세기를 조절하는 역할을 한다.

4. 모델 학습

최종적으로 GraphSAIL에서는 모델의 Loss를 BPR, self, local, global에 대한 가중합으로 계산한다.

 

실험(Experiment)

본문 참고

 

결론 및 의견 (Conclusion)

GraphSAIL은 Knowledge Distillation을 활용해 그래프의 로컬, 글로벌, 셀프 정보를 잘 보존하여 incremental learing 기법을 소개했다.
실험 결과를 보면 어떤 데이터셋, 모델에서도 준수한 성능을 보였다.
GNN + Incremental learing의 선구적인 논문이다.
다만 Loss를 BPR, self, local, global에 대한 단순 가중합으로 계산하는 것에 대한 의문이 조금 들고,
이 논문이 게시된 지 2년 이상이 지난 지금 시점에는 개선된 방법이 많을 것 같다. 탐색해볼 가치가 있다.

'인공지능 > 논문 리뷰' 카테고리의 다른 글

AdamW 리뷰. Decoupled Weight Decay Regularization  (0) 2023.07.19