Z.1.1) 논문의 핵심 아이디어: “Less is More (더 적은 것이 더 낫다)”
추천 시스템에 GCN(그래프 신경망)을 적용했더니 성능이 좋았습니다. 하지만 이 논문의 저자들은 이런 질문을 던졌습니다. “GCN의 모든 기능이 추천 시스템에 정말 다 필요할까? 혹시 불필요한 부분이 성능을 갉아먹고 있는 건 아닐까?”
그리고 실험을 통해 그렇다는 사실을 밝혀냈습니다.
Z.1.2) 1. 기존 GCN 모델의 문제점 (NGCF 모델)
-
기존 GCN의 작동 방식: 일반적인 GCN은 3가지 주요 요소를 가집니다.
- 특성 변환 (Feature Transformation): 신경망 가중치 행렬(W)을 곱해 데이터를 더 복잡한 공간으로 보냅니다.
- 이웃 정보 종합 (Neighborhood Aggregation): 나와 연결된 노드(이웃)들의 정보를 모아 합칩니다. (GNN의 핵심)
- 비선형 활성화 함수 (Non-linear Activation): ReLU 같은 함수를 적용해 모델의 표현력을 높입니다.
-
추천 시스템과의 불일치:
- GCN은 원래 각 노드(node)가 풍부한 정보(예: 논문 초록 텍스트, 이미지 픽셀)를 가질 때 효과적입니다.
- 하지만 추천 시스템의 ‘사용자’나 ‘아이템’ 노드는 그냥 **ID(식별 번호)**일 뿐, 그 자체로는 아무 의미가 없습니다.
- 이런 의미 없는 ID에 복잡한 ‘특성 변환’이나 ‘비선형 함수’를 적용하는 것은 오히려 불필요한 계산을 늘리고 학습을 방해하는 요인이 될 수 있다고 저자들은 가설을 세웠습니다.
Z.1.3) 2. 충격적인 실험 결과: “핵심 기능을 뺐더니 성능이 올랐다!”
저자들은 기존의 SOTA(최고 성능) GCN 추천 모델인 NGCF를 가져와서 핵심 기능들을 하나씩 제거하는 실험(Ablation Study)을 진행했습니다.
- NGCF-f: 특성 변환(Feature Transformation) 제거 → 성능 향상
- NGCF-n: 비선형 함수(Non-linear Activation) 제거 → 성능 비슷함
- NGCF-fn: 둘 다 제거 → 성능 대폭 향상!
결론: GCN의 복잡한 기능 두 가지가 추천 시스템에서는 쓸모없을 뿐만 아니라, 오히려 성능을 저하시키는 원인이었던 것입니다.
Z.1.4) 3. 해결책: LightGCN의 탄생
그래서 저자들은 이 불필요한 기능들을 모두 제거하고, GCN의 가장 본질적인 기능 딱 하나만 남긴 모델을 제안합니다. 이것이 바로 LightGCN(Light Graph Convolution Network) 입니다.
LightGCN은 두 가지 단순한 요소로 구성됩니다.
Z.1.4.1) 1) 가벼운 그래프 합성곱 (Light Graph Convolution - LGC)
- 각 사용자와 아이템의 임베딩을 업데이트할 때, 오직 ‘이웃 정보 종합’만 수행합니다.
- 수식은 복잡해 보이지만, 의미는 아주 간단합니다.
- 사용자 임베딩 업데이트: “나의 새로운 모습은, 내가 방문했던 장소들의 모습을 단순히 합친(Sum) 것이다.”
- 장소 임베딩 업데이트: “어떤 장소의 새로운 모습은, 그곳을 방문했던 사용자들의 모습을 단순히 합친 것이다.”
- W 행렬 곱셈이나 ReLU 같은 복잡한 연산이 전혀 없습니다.
Z.1.4.2) 2) 레이어 조합 (Layer Combination)
- LGC 연산을 여러 번 반복(K-layer)하면 정보가 ‘친구’에서 ‘친구의 친구’로 점점 퍼져나갑니다.
- 문제점: 너무 많이 반복하면 모든 사용자와 아이템의 임베딩이 비슷해지는 ‘과도한 평탄화(Over-smoothing)’ 문제가 발생합니다.
- 해결책: 마지막 레이어의 결과만 쓰는 게 아니라, 초기 임베딩(0-layer)부터 각 단계별(1, 2, … K-layer)로 만들어진 임베딩을 모두 합쳐서(평균 내서) 최종 임베딩으로 사용합니다.
- 의미: 나의 ‘순수한 취향’(0-layer) + ‘직접 방문한 장소들의 영향’(1-layer) + ‘나와 취향이 비슷한 사람이 방문한 장소들의 영향’(2-layer) 등을 모두 종합하여 최종적인 나를 표현하는 것입니다.