논문 : https://arxiv.org/abs/1806.01973

Abstract

1. Introduction

딥러닝 방법은 추천시스템의 적용부분에서 이미지, 텍스트에 심지어 유저들 개개인에 대한것도 저차원의 임베딩을통해 학습을 해오면서 점진적으로 중요한 역할을 해왔음

딥러닝 모델을 통한 representation의 학습은 CF와 같은 전통 추천 알고리즘을 대체하거나 보완한다. 그리고 이러한 학습된 representation은 다양한 추천 태스크에서 재사용될 수 있어 유용하다.

예를 들어, 딥러닝 모델을 이용해 학습된 아이템 임베딩은 아이템 - 아이템 추천에 활용될 수 있고, 또한 플레이리스트나 ‘피드’같은 콘텐츠와 같은 추천 집단을 위한 추천에도 사용될 수 있다.

최근엔 추천 적용을 위해 그래프 구조 데이터에 대한 학습이 가능해진 새로운 딥러닝 방식을 개발돼왔다.

최근 딥러닝 아키텍쳐를 통한 발전 중 가장 핫한 것은 단연 **Graph Convolutional Networks(이하 GCN)**이다. GCN의 핵심 원리는 딥러닝을 이용해 노드들이 각 노드들의 이웃으로부터 반복적으로 feature information을 집계하여 학습하는 것이다(Figure 1). 여기서 ‘convolution’은 노드의 one-hop graph 이웃노드로부터 feature information을 변환하고 집계해주고, 이러한 정보를 여러번 쌓으면서 전파해 graph의 멀리까지 정보를 전파할 수 있다. RNN과 같은 순수 컨텐츠 기반의 딥러닝 모델과 달리 GCN은 컨텐츠 정보와 graph 구조까지를 모두 활용한다. GCN 기반 방법은 수많은 추천시스템에 새 기준을 만들어왔다. 하지만, 실제 데이터 환경에 적용하지 못했다.

Figure 1: depth-2 컨볼루션을 이용한 모델 overview이다. 왼쪽: input graph의 작은 예시이다. 오른쪽: 노드 A의 임베딩인 h^(2)_A를 계산하기 위해 이전 layer의 representation(A 및 그 이웃노드들의 representation)을 이용하는 2-layers 신경망이다. 아래: input graph의 각 노드의 임베딩을 계산하는 신경망들이다. 신경망들이 노드 별로 다르지만, 같은 파라미터 세팅을 공유한다(그림 상에서의 CONVOLVE(1), CONVOLVE(2)의 파라미터). 알고리즘 1):  각각 노드가 Embedding을 계산하기 위해 주변 노드들의 정보를 가져올 때의 파라미터가 담긴 박스는 그림 상에서 음영처리 형태로 표시되어 있다. \gamma: pooling 함수를 뜻한다. 가느다란 박스: densely-connected 다층 신경망

Figure 1: depth-2 컨볼루션을 이용한 모델 overview이다. 왼쪽: input graph의 작은 예시이다. 오른쪽: 노드 A의 임베딩인 h^(2)_A를 계산하기 위해 이전 layer의 representation(A 및 그 이웃노드들의 representation)을 이용하는 2-layers 신경망이다. 아래: input graph의 각 노드의 임베딩을 계산하는 신경망들이다. 신경망들이 노드 별로 다르지만, 같은 파라미터 세팅을 공유한다(그림 상에서의 CONVOLVE(1), CONVOLVE(2)의 파라미터). 알고리즘 1): 각각 노드가 Embedding을 계산하기 위해 주변 노드들의 정보를 가져올 때의 파라미터가 담긴 박스는 그림 상에서 음영처리 형태로 표시되어 있다. \gamma: pooling 함수를 뜻한다. 가느다란 박스: densely-connected 다층 신경망