graph 8

LightGCL: Simple yet effective graph contrastive learning for recommendation (ICLR'23)

Contents LightGCL은 추천 시스템에 그래프와 대조 학습(Contrastive Learning)을 도입한 기법이다. 기존 연구에서 주로 사용하는 대조 학습 방식은 node dropout, edge dropout과 같은 확률적 증강(Stochastic Augmentation) 기법을 사용하거나, 휴리스틱 기반 증강(Heuristic-based Augmentation) 기법을 사용하고 있다. 그러나 이와 같은 방식은 노이즈로 인한 편향(Bias)이 존재하기 때문에 원래 그래프의 의미론적인 구조를 제대로 파악하지 못한다. 이와 같은 문제를 해결하고자 본 연구에서는 간단하지만 효과적이고 강건(Robust)한 기법인 LightGCL 기법을 제안하였다. Introduction 추천 시스템에서 사용되는 G..

A Review-aware Graph Contrastive Learning Framework for Recommendation (SIGIR'22)

Contents 해당 논문은 SIGIR'22 6월에 발표된 논문이다. 제목에서도 알 수 있듯 리뷰를 사용하여 추천 시스템을 구축하고자 하는데, Graph Mining과 Contrastive Learning을 사용하는 것으로 보인다. Contrastive Learning은 대조학습으로 최근 Data augmentation 관점으로 추천 시스템이 가지고 있는 Sparsity 문제를 완화하기 위해 주로 사용되곤 한다. Introduction 추천 시스템에서는 Sparsity 문제 즉, Cold Start 문제를 해결하기 위해 리뷰를 사용하여 사용자가 선호할 만한 제품을 추천하기 위한 연구를 진행하고 있다. 예를 들어, 사용자가 한 리뷰에 대해서 평점을 부여한 경우 하나의 평점으로 사용자의 선호도를 예측하는 것..

[Graph] Measuring Network

Contents 네트워크에는 밀집(Density), 차수(Degree), 길이(Length) 등 다양한 지표가 존재하며, 이를 측정하기 위한 방법도 다양하게 존재한다. 본 글에서는 이를 측정하는 방법에 대해서 알아본다. Density Density는 그래프의 밀집 정도를 의미한다. 예를 들어, 완전 연결 그래프의 경우 Density는 1이 될 것이다. 완전 연결 그래프는 Complete Graph 혹은 Clique로 부르기도 한다. 이때 평균 차수는 다음과 같이 계산할 수 있다. \[ m = \begin{pmatrix} n \\ 2 \end{pmatrix} = \frac{n (n-1)}{2} \] \[ \left \langle k \right \rangle = \frac{2m}{n} = \frac{n(n..

Graph를 이용한 Cascade 모델링

Contents 그래프를 통한 influence는 정보 혹은 행동, 고장, 질병 등 다양한 influence가 존재할 수 있다. 예를 들어, 온라인 소셜 네트워크를 통해 다양한 정보를 전파할 수 있다. 컴퓨터 네트워크에서는 일부 장비의 고장이 전파되어 전체 네트워크를 마비시킬 수도 있다. 최근에 이슈가 된 코로나-19라는 질병이 사회라는 거대한 소셜 네트워크를 통해 전파되는 것도 언급할 수 있다. 이처럼 다양한 influence를 그래프로 표현할 수 있을 것이다. 이와 같은 전파 과정을 체계적으로 이해하고 대처하기 위해서는 그래프의 구조를 제대로 이해하고 있어야 한다. 본 글에서는 Cascade model 중 두 가지 모형을 다룬다. 첫 번째 모형은, 의사결정 기반의 Cascade model이다. 먼저 ..

DGL을 통한 Graph 생성하기.

Contents 본 글에서는 DGL 패키지를 이용해서 그래프를 생성하는 방법에 대해서 다룬다. DGL 패키지는 그래프를 다루기 위한 패키지로 그래프를 생성하거나 기존 연구에서 제안된 함수(GCN, GraphSAGE 등)를 호출을 통해 편리하게 사용하도록 도와주는 패키지다. 패키지 불러오기 import dgl import torch 기본적으로 dgl은 PyTorch와 함께 사용한다. tensorflow도 사용하는 것이 가능하지만 본 글에서는 PyTorch를 이용한 dgl을 다루어 볼 것이다. 필요한 함수는 dgl이며 pip install을 통해 설치하면 된다. 그래프 생성하기 dgl에서 그래프를 생성하는 것은 매우 간단하다. dgl 내에 내장된 graph 함수를 사용하면 바로 만들 수 있다. g = dgl..

[CS224W] Embedding Entire Graphs

Contents Embedding Entrie Graphs Approach 1 본 강의에서는 node embedding이 아닌 entire graph를 embedding 하는 방법에 대해서 다룬다. graph embedding은 subgraph나 전체 entire graph를 embedding하는 것이 목표라고 할 수 있다. 이때 $z_G$는 graph embedding을 의미하며, toxic molecules와 non-toxic molecule를 구분하거나, 비정상적인 graph를 식별하는 것에 활용할 수 있다. 가장 간단한 아이디어는 graph에 속한 node embedding을 합하거나 평균을 취하는 것으로도 가능하다. \[ z_G = \sum_{v \in G} z_v \] Approach 2 다음..

[CS224W] Traditional feature-based methods: Node-level features

Contents 이전 Lecture에서 Node Level, Link Level, Graph Level을 활용한 케이스에 대해서 다루어 보았다. 이번 Lecture에서는 각각의 Level에서의 Prediction 방법에 대해서 다루고 있다. 각각의 Level에 대해서 Prediction을 하기 위해서는 일단 먼저 Node, Link, Graph 등의 feature를 생성하는 것부터 시작이다. 이번 Lecture에서는 전통적인 ML Pipeline을 구축해 Graph를 구축하고 있다. 전통적인 ML은 2 단계로 구성 되어 있다. 첫번째 단계는 먼저 Node, Link, Graph의 feature를 vector 형태로 가져오는 것이다. 그 후 Random forest, SVM, Feed Forward Neu..

그래프의 종류

Contents Heterogeneous Graph 이전까지의 그래프는 Homogeneous Graph로 노드가 단 하나의 속성 만을 가지고 있었다. 예를 들면, 사람과 사람 혹은 도시와 도시 간의 관계 만을 고려한 것이다. 반면에 Heterogeneous Graph는 노드가 여러 속성을 가지고 있는 것이다. 예를 들어 어떤 노드는 영화 정보를 가지고 있고, 어떤 노드는 고객 정보를 가지고 있는 형태를 의미한다. 이처럼 여러 속성을 가지고 있다면 추천을 적용할 때 보다 정확한 추천을 제공할 수 있을 것이다. 추천 시스템에서는 고객-제품 행렬을 기반으로 시스템을 구축하고 있다. 이 때 고객과 제품 뿐만 아니라 여러가지 정보들을 추가해서 입력할 수 있을 것이다. Bipartite Graph 이분 그래프(Bi..

반응형