딥러닝 분석가 가리

Self-Supervised Hypergraph Convolutional Networks for Session-based Recommendation Review 본문

딥러닝 논문 리뷰

Self-Supervised Hypergraph Convolutional Networks for Session-based Recommendation Review

AI가리 2024. 4. 27. 21:53

"Self-Supervised Hypergraph Convolutional Networks
 for Session-based Recommendation"

Abstract

  Session-based recommendation (SBR)은 특정한 시점의 다음을 예측하는데 초점을 맞춘다. 사용자의 프로필은 일반적으로 이러한 시나리오에서 활용가능하지 않기 때문에, 아이템 전환에 놓여있는 사용자의 의도를 파악하는것이 중요하다. 최근 graph nerual networks (GNN) 기반의 SBR 방법은 아이템 전환을 아이템의 정보를 따라서 복잡한 고차원 전환을 무시하는 pairwise 관계로 보장한다. Hypergraph는 beyond-pairwise 관계를 capture 하기 위한 자연스러운 방법을 제공하는 반면, SBR에 대한 잠재력은 연구되지 않았다. 본 논문에서는, session-based data와 hypergraph간의 모델링의 차이를 채우기 위해 SBR을 향상시킨 hypergraph convolutional network를 제안한다. 게다가, hypergraph modeling을 개선하기 위해, hypergraph의 line graph에 기반한 graph convolutional network (GCN)을 고안하고 두 네트워크를 통해 학습한 session 표현 간의 상호적인 정보를 최대화 하는 self-supervised learning을 네트워크 훈련에 통합하여 추천 작업을 개선하는 보조 작업 역할을 한다. 이를 Dual Channel Hypergraph Convolutional Networks (DHCN)이라고 명명한다. 실험결과에서 3가지 benchmark 데이터셋에 대하여 SOTA 성능을 달성해 우수함을 입증한다.

Introduction

  Session-baed recommendation (SBR)은 장기 사용자 프로필을 사용할 수 없는 새로운 추천 패러다임이다. 일반적으로 session은 하나의 쇼핑 이벤트에서 여러개의 구매 품목을 포함하는 거래이고 SBR은 실시간 사용자의 행동을 사용해 다음 아이템을 예측하는데 초점을 맞춘다. 이 분야의 대부분의 연구 노력은 session을 순서대로 정렬된 sequences로 간주하며, 그중 RNN, GNN 기반의 접근 방식이 큰 성능을 보였다.

  RNN 기반의 방법에서 session-based 데이터를 단방향 sequences로 모델링하는것은 일반적으로 짧은 시간에 생성되고 시간적으로 종속될 가능성이 높기 때문에 성공 요소로 간주된다. 하지만 이 가정은 아이템의 일관성을 무시하기 때문에 이러한 RNN 기반의 모델을 함정에 빠뜨릴 수 있다. 실제로 곧은 방향으로 생성되는 언어적 sequence와 달리 사용자의 행동은 엄격한 연대의 순서가 없을 수 도 있다.

  최근, GNN이 SBR을 포함한 여러 분야에서 효과적임이 보고되고 있다. RNN 기반의 추천 방법과 달리 GNN 기반의 방법은 session-based data를 directed subgraphs로 모델링하고 아이템이 pairwise 관계로 전환되므로 연속된 아이템 간의 시간적 의존성에 대한 가정이 약간 완화된다. 하지만 기존의 모델은 RNN 기반 방법에 비해 사소한 개선만을 보여준다. 잠재적인 이유는 session-based data에서 복잡한 항목 상관 관계를 무시하기 때문이다. 분명히 단순한 그래프는 그러한 집합과 같은 관계를 묘사할 수 없다.

  이러한 문제점을 해결하기 위해, 저자들은 hypergraph에 대한 새로운 SBR 접근 방식을 제안하여 session 내 아이템 간의 고차 관계를 모델링 한다. 개념적으로, hypergraph는 vertex의 집합과 hyperedge로 구성된다. Hyperedge는 몇개의 vertices들과 연결 가능하며, high-order data 상관관계를 인코딩하는데 사용할 수 있다. 또한 세션의 아이템은 시간적으로 상관있지만 순차적으로 종속되지 않는다고 가정한다. Hyperedge의 특징은 상대적인 순서보다는 관련 요소의 일관성을 강조하는 집합과 같기 때문에, 저자의 가정에 완벽하게 들어맞는다. 그러므로, 이것은 session에서 복잡한 상호작용의 capture 하기 위한 융통성과 수용능력을 제공한다. 기술적으로, 저자는 먼저 각 session을 모든 항목이 서로 연결된 hyperedge로 모델링하고, 공유 item을 통해 연결된 서로 다른 hyperedge가 item수준의 high-order 상관관계를 포함하는 hypergraph를 구성한다. 그림 1인 제안된 방법의 hypergraph 구성과 파이프 라인을 보여준다.

  Hypergraph channel에 multiple layer를 쌓음으로써, hypergraph convolution의 강점을 활용해 high-quality 추천 결과를 생성할 수 있다. 하지만, 각 hypergraph는 오직 제한된 숫자의 아이템을 가지기 때문에, 고유한 data 희소성 문제는 hypergraph 모델링으로 인한 제한을 할 수 있다. 이러한 문제를 해결하기 위해, line graph channel을 도입하고 혁신적으로 self-supervised learning을 hypergraph modeling을 개선하기 위해 모델에 통합한다. Line graph는 각 hyperedge를 node로 모델링하여 hypergraph를 기반으로 구축되어지고, session-level의 관계를 묘사하는 hyper edge의 연결에 초점을 맞춘다. 이 논문에서 개발된 Dual channel Hypergraph Convolutional Network (DHCN)은 두개의 graph 두개의 channel을 사용한다. 직관적으로 네트워크의 두 channel은 session의 내부 및 상호정보를 설명하는 두 개의 다른 보기로 볼 수 있지만, 각 channel은 서로에 대한 정보를 거의 알지 못한다. Self-supervised 학습을 통해 두 채널을 통해 학습한 session 표현 간의 상호 정보를 최대화 함으로써 두 channel이 서로 새로운 정보를 획득하여 item/session 특징 추출의 자체 성능을 향상시킬 수 있다. 그런 다음 recomendation 작업과 self-supervised 작업을 primary&auxiliary 학습 프레임워크로 통합한다. 두 작업을 함께 최적화 함으로써 recomendation 작업에서 우수한 성능을 달성했다.

Contribution

  • SBR을 위해, hypergraph 모델링을 통해 item의 beyond-pairwise 관계를 capture할 수 있는 DHCN을 제안
  •  Hypergrah 모델링을 개선하고 recommendation task를 향상하기 위해 self-supervised 작업을 training에 혁신적으로 통합
  • 실험결과에서 SOTA 성능을 달성

Proposed Method

Hypergraph Construction

  Session-based recommendation에서 beyond pairwise 관계를 capture하기 위해 각 session의 hyperedge를 표현하는 hypergraph를 채택한다.

  • Session sequences를 undirected graph로 변환
  • 변환으로 인해, many-to-many high-order 관계를 구체화 할 수 있음
  • 각 session은 node로 모델링, 다른 session은 item 공유로 인해 연결
  • Item-level high-order 관계를 나타내는 hypergraph와 비교하여 line graph는 session-level 관계를 묘사하며 이를 cross-session information 라고도 함

Hypergraph Channel and Convolution

Hypergraph Channel and Convolution

  • Item을 어떻게 embedding 하고 propagated할지가 주 목적
  • Spectral hypergraph convolution을 따라서 hypergraph convolution을 아래와 같이 정의

  • Nonlinear activation function과 convolution filter parameter matrix를 사용하지 않음
  • 위 식을 row normalization을 하면 아래 식과 같음

  • Hypergraph convolution은 hypergraph 구조에서 'node-hyperedge-node' 특징 변황을 수행하는 2단계 개선으로 볼 수 있음
  • 이러한 work가 session의 일관성의 중요성을 강조할지라도, 시간전 정보는 또한 더 나은 recommendation 결과를 위해 불가피함
  • Learnable position matrix로 학습된 item 표현을 사용해 reversed position embeddings을 통합 (soft attention)

Model Optimization and Recommendation Generation

  • Session이 주어지면 hypergraph 채널에서 학습한 item embedding과 s_g 사이의 내적을 수행해 item의 모든 후보 항목에 대한 점수를 계산

  • Softmax로 확률을 계산한 뒤 corss entropy로 loss 계산

Enhancing SBR with Self-Supervised Learning

  • Hypergraph는 상당히 높은 성능을 달성 시켜주지만 session data의 희소성이 hypergraph 모델링을 방해함
  • Simple graph 에서 self-supervised learning이 성공적이였다는것에 영감을 받아, hypergraph modeling을 개선하기 위해 self-supervised을 네트워크에 통합
  • Session 유도 hypergrah의 line graph을 기반으로 또 다른 graph convolution network를 설계하여 self-supervision signals를 생성
  • Contrastive learning을 통해 두 채널을 통해서 학습한 session 표현 간의 상호 정보를 최대화 함으로써 추천 모델이 더 많은 정보를 획득하고 추천 성능을 향상시킬 수 있음

Line Graph Channel and Convolution

  • Hypergraph의 line graph를 인코딩
  • Line graph는 간단한 graph처럼 보이며 corss-session information을 가지고 hyperedges의 연결을 묘사함
  • Line graph channel에 관련된 item이 없기 때문에, 먼저 각 session 에 속학 항목을 검색한 다음 해당 embedding item을 평균화 하여 channel-specific session embedding을 초기화
  • Graph convolution을 활용해 인접한 session의 정보를 업데이트

Creating self-supervision signals

  • 각 channel은 hypergraph의 item-level (itra-session) 혹은 session-level (inter-session) 구조의 정보만을 묘사해서, 두 그룹은 서로를 완벽하게 상호작용할 수 있음
  • 두 그룹은 self-supervised 학습을 위한 서로의 GT가 될 수 있으며, 1:1 mapping은 label augmentation으로 간주됨
  • 만약, 두 session embedding 둘다 두 관점에서 같은 session으로 정의된다면, 이 pair를 label로 두고 그렇지 않으면 negative라고 함

Contrastive learning

  • DHCN의 두 channel은 session의 다른 측면을 특징짓는 두가지 관점으로 간주
  • 두 관점을 통해서 학습된 두 그룹의 session embedding을 비교
  • GT(positive)와 손상된 샘플(negative) 간의 standard binary cross-entropy를 사용하는 InfoNCE를 사용

  • 이러한 학습 objective는 상호 정보간의 다른 관점에서 학습된 session embeddings이 극대화 함으로써 설명됨

paper link

https://arxiv.org/abs/2012.06852

Comments