[논문 리뷰] LightGCN

젤박·2024년 7월 15일

추천 시스템을 위한 LightGCN: 쉽고 빠른 그래프 신경망의 등장

(LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation)

👋 들어가며

유튜브나 넷플릭스에서 영상을 시청하다 보면 '당신이 좋아할 만한 영상'이라는 추천을 받아본 적이 있을 겁니다.
이런 추천 시스템은 사용자의 취향을 분석하여 맞춤형 콘텐츠를 제공함으로써 사용자 경험을 크게 향상시켜 줍니다.
최근에는 그래프 신경망(Graph Neural Networks, GNN)을 활용한 추천 시스템이 각광받고 있는데요. 그중에서도 가장 혁신적인 모델로 평가받는 'LightGCN'을 소개하고자 합니다.

🌐 그래프로 표현되는 추천 시스템의 세계

추천 시스템은 사용자와 아이템 간의 상호작용을 그래프로 표현할 수 있습니다.
사용자와 아이템을 노드로, 이들 간의 상호작용(구매, 시청, 평점 등)을 엣지로 나타내는 것입니다.
이렇게 구성된 그래프에서 사용자와 연결된 아이템, 그리고 그 아이템과 연결된 다른 사용자들의 정보를 활용하면 개인화된 추천이 가능해집니다.

그래프 예시

[노래 1]
↑ ↑
좋아요| |좋아요
| |
[사용자 1][사용자 2]
| |
재생 재생
| |
[노래 2][노래 3]
↑ ↑
좋아요 좋아요
\ /
[사용자 3]

노드 간의 화살표는 상호작용의 방향을, 화살표 위의 텍스트는 상호작용의 종류를 나타내고 있습니다.

사용자 1, 2는 노래 1을 좋아합니다.
사용자 1은 노래 2를 재생했고, 사용자 3은 노래 2를 좋아합니다.
사용자 2는 노래 3을 재생했고, 사용자 3은 노래 3을 좋아합니다.

🤔 기존 그래프 신경망의 한계

그래프 신경망(GNN)은 이런 그래프 구조의 데이터를 처리하는 데 특화된 딥러닝 모델입니다.
GNN은 노드의 특징을 주변 노드의 정보를 활용하여 업데이트하는 과정을 반복하며 노드 임베딩을 학습합니다.
최근 몇 년간 GNN을 추천 시스템에 적용하려는 시도가 활발히 이뤄졌습니다.
대표적으로 NGCF(Neural Graph Collaborative Filtering)라는 모델이 있습니다.

하지만 이런 기존 모델들은 불필요하게 복잡한 구조를 가지고 있었습니다.
layer마다 특징 변환(feature transformation)과 비선형 활성화(nonlinear activation) 같은 연산을 수행했는데, 오히려 학습을 방해하고 성능 저하를 야기했습니다.
NGCF에서 이 연산들을 제거한 NGCF-fn 모델이 더 좋은 성능을 보인 것이 이를 방증합니다.
아래는 NGCF와 NGCF-fn의 성능을 비교한 표입니다.

데이터셋지표NGCFNGCF-fn
GowallaRecall0.15700.1742
NDCG0.13270.1476
Amazon-BookRecall0.03440.0399
NDCG0.02630.0303

(논문 Table 참조)

💡 LightGCN: 단순하고 효과적인 그래프 신경망

LightGCN은 이런 문제 의식에서 출발했습니다.
추천 시스템에 정말 필요한 건 뭘까?
바로 사용자-아이템 간 상호작용 정보를 잘 활용하는 것입니다.
특징 변환이나 비선형성 같은 건 오히려 잡음으로 작용할 수 있죠. 이에 LightGCN은 모든 불필요한 연산을 걷어내고, 오로지 그래프 구조에 기반한 임베딩 전파(embedding propagation)에만 집중했습니다.

🎯 LightGCN의 핵심 아이디어

LightGCN은 크게 두 가지 아이디어를 기반으로 합니다.

  1. 경량 그래프 컨볼루션(Light Graph Convolution, LGC)

    • 각 노드의 임베딩을 이웃 노드 임베딩의 가중평균으로 업데이트
    • 특징 변환이나 비선형성 없이 오로지 임베딩 전파에만 집중
  2. 레이어 결합(Layer Combination)

    • 각 층에서 얻어진 노드 임베딩을 모두 활용하여 최종 임베딩 생성
    • 임베딩을 결합할 때 모든 층에 동일한 가중치 부여

아래 그림은 LightGCN의 전체 구조를 나타냅니다.

(논문 FIGURE 1 참조)

LightGCN의 학습 과정

LightGCN은 기본적으로 사용자와 아이템의 ID 임베딩만을 학습 파라미터로 가집니다. 0번째 층의 초기 임베딩에 LGC를 K번 적용하면 K+1개의 임베딩이 생성되고, 이를 모두 결합한 것이 최종 임베딩이 됩니다.
최종 임베딩으로 사용자-아이템 점수를 계산하고, 이를 바탕으로 순위를 매깁니다.

학습 과정을 단계별로 나누어 보면 다음과 같습니다.

  1. [사용자-아이템 쌍 샘플링]
  • 학습을 위해 (사용자, 상호작용한 아이템, 상호작용하지 않은 아이템)의 triplet을 데이터에서 샘플링합니다.
    예를 들어, (사용자1, 노래1, 노래4)와 같은 triplet을 뽑는 것입니다.
  1. [임베딩 초기화]
  • 사용자와 아이템의 임베딩을 무작위로 초기화합니다.
  • 이 임베딩들이 학습의 시작점이 됩니다.
  1. [LGC 층 통과]
  • 초기화된 임베딩을 LGC 층에 통과시켜 사용자와 아이템의 임베딩을 업데이트합니다.
  • 이 과정에서 그래프 구조가 반영되어 연결된 사용자와 아이템의 정보가 임베딩에 녹아듭니다.
  1. [최종 임베딩 계산]
  • 각 층에서 얻어진 임베딩을 모두 합쳐 최종 임베딩을 계산합니다.
  • 이 최종 임베딩이 사용자와 아이템의 선호도를 예측하는 데 사용됩니다.
  1. [손실 계산]
  • triplet의 사용자 임베딩과 아이템 임베딩을 내적하여 예측 점수를 계산합니다.
  • 상호작용한 아이템의 점수가 상호작용하지 않은 아이템의 점수보다 높아지도록 BPR 손실을 계산합니다.
  1. [역전파 및 파라미터 업데이트]
  • 계산된 손실을 역전파하여 사용자와 아이템 임베딩을 업데이트합니다.
  • 이 과정에서 상호작용한 아이템의 점수는 높아지고, 상호작용하지 않은 아이템의 점수는 낮아지도록 조정됩니다.

학습은 베이지안 개인화 순위(Bayesian Personalized Ranking, BPR) 손실 함수를 사용하며, 아래와 같이 정의됩니다.

LBPR=u=1MiNujNulnσ(y^uiy^uj)+λE(0)2L_{BPR} = - \sum_{u=1}^{M} \sum_{i \in \mathcal{N}_u} \sum_{j \notin \mathcal{N}_u} \ln \sigma(\hat{y}_{ui} - \hat{y}_{uj}) + \lambda ||\mathbf{E}^{(0)}||^2

여기서 y^ui\hat{y}_{ui}y^uj\hat{y}_{uj}는 각각 사용자 uu가 상호작용한 아이템 ii와 상호작용하지 않은 아이템 jj에 대한 예측 점수이고, λ\lambda는 L2 정규화 계수입니다.

곧, BPR 손실 함수는 LightGCN이 사용자가 상호작용한 아이템에 높은 점수를 주고,
상호작용하지 않은 아이템에는 낮은 점수를 주도록 만드는 것입니다.

실험으로 증명된 LightGCN의 우수성

LightGCN의 성능은 여러 실험을 통해 입증되었습니다.
Gowalla, Yelp2018, Amazon-Book 등의 데이터셋에서 기존 모델들을 큰 폭으로 능가하는 결과를 보였는데요. 특히 NGCF 대비 16% 이상의 성능 향상을 달성했습니다.

데이터셋지표NGCFLightGCN
GowallaRecall0.15700.1830
NDCG0.13270.1554
Yelp2018Recall0.05790.0649
NDCG0.04770.0530
Amazon-BookRecall0.03440.0411
NDCG0.02630.0315

(논문 TABLE 2 참조)


(논문 Table3, Figure3 참조)

뿐만 아니라 LightGCN은 학습 효율성과 일반화 능력 측면에서도 두각을 나타냈습니다.

적은 수의 에폭으로도 충분한 성능을 얻을 수 있었고, 불필요한 파라미터를 제거함으로써 과적합에도 강건했죠.

🌟 LightGCN이 가져올 변화

LightGCN은 추천 시스템 분야에 여러 의미 있는 변화를 가져올 것으로 기대됩니다.

  • 더욱 빠르고 효율적인 모델 개발 가능
  • 도메인 지식의 활용 증대 (그래프 구조에 기반한 문제 해결)
  • GNN 연구의 새로운 방향성 제시 (꼭 필요한 요소에 집중)

지금까지 LightGCN에 대해 알아보았습니다.
그래프 구조에 기반하되, 불필요한 복잡성은 과감히 덜어낸 LightGCN은 추천 시스템 분야의 새로운 지평을 열어줄 혁신적인 모델로 보입니다.

추천 시스템의 핵심은
사용자와 아이템 간 상호작용을 잘 이해하고 활용하는 것임을 다시 한번 생각하게 되며 흥미롭게 읽은 논문이었습니다.

profile
하루하루는 성실하게 인생은 되는대로

0개의 댓글