[논문리뷰] MultiSage: Empowering GCN with Contextualized Multi-Embeddings on Web-Scale Multipartite Networks

태환·2023년 12월 14일
0

Paper Review

목록 보기
9/15
post-thumbnail

📌 MultiSage: Empowering GCN with Contextualized Multi-Embeddings on Web-Scale Multipartite Networks

📖 ABSTRACT

기존의 GCN은 주로 homogeneous graphs에서 작동하여 각 노드에 대해 단일 임베딩을 고려한다.
본 논문은 이러한 점이 실제 세계 네트워크의 다양한 측면과 복잡한 상호 작용을 충분히 모델링하지 못한다는 한계점을 갖는다고 주장한다.

저자는 target nodes와 중간 context nodes의 multipartite networks를 모델링하여 상황에 맞는 GCN 엔진을 제안한다.

이는 상호 작용을 상황에 맞게 모델링하기 위해 context node를 기반으로 target node의 이웃을 처리함으로써 feature level에서 상황에 맞는 마스킹 작업과 node level에서 상황에 맞는 attention mechanism을 개발한다.

결과적으로 Graph Convolution 중에 target node의 다양한 측면과 다양한 상호 작용을 포착하는 여러 임베딩을 계산한다.

📖 INTRODUCTION

Contextualized Multi-Embedding

MultiSAGE는 새로운 아이디어 Contextualized Multi-Embedding을 기반으로 한다.

본 논문에서 등장하는 Pinterest의 pin과 board의 개념 그리고 아래 PinSAGE의 설명을 이해하는 데 [논문 리뷰] Graph Convolutional Neural Networks for Web-Scale Recommender Systems를 참고하면 도움이 될 것이다.

위 그림은 PinSAGE와 MultiSAGE 각각의 임베딩 결과를 보인다.

  1. 그림 (a)는 빨간 상자의 주어진 쿼리 핀에 대해 PinSAGE가 단일 핀 임베딩을 계산하고 모든 관련 핀을 함께 보여준 것이다.
  2. 그림 (b)는 서로 다른 보드(패션과 공예)를 기반으로 여러 핀 임베딩을 계산하고 관련 핀을 쿼리와의 맥락화된 거리에 따라 구성하여 다양한 관점에서 관련성을 구별함을 보인다.
    결과적으로 (b)의 왼쪽 그림에서는 패션 모델 핀이 쿼리 핀에 가깝게 놓이는 반면, 오른쪽 그림에서는 공예 의상 핀이 가깝게 놓이는 것을 확인할 수 있다.

이처럼 앞서 언급한 Contextualized Multi-Embedding을 기반으로 그림과 같이 target node를 맥락에 따라 다양한 임베딩으로 표현할 수 있는도록 하는 것이 MultiSAGE의 핵심이라고 생각한다.

📖 MultiSage

target nodes & context nodes

본 논문에서는 노드를 target node와 context node 두 가지 유형으로 분리한다.
주된 목표는 target node의 임베딩을 학습하는 데 있으며, 동시에 context node를 사용하여 target node 간의 관계를 설명한다.

위 그림은 multi-partite Pinterest network를 대상 노드(pin)와 컨텍스트 노드(board)로 분리하는 예시를 보인다.
핀들은 보드를 통해 서로 관련되어 있음을 알 수 있다.

Aggregation function

GraphSAGE와 유사하게, MultiSAGE 또한 주어진 target node에 대한 임베딩을 이웃 노드를 기반으로 학습한다.
하지만 GraphSAGE는 모든 이웃에 대해 동일한 집계 함수를 사용하는 반면,
MultiSAGE는 자신 노드와 이웃 간의 상호 작용을 지탱하는 컨텍스트 노드를 활용한다.
다음의 그림은 이웃 집계 중 컨텍스트의 중요성을 설명한다.

  1. 그림 (a)와 같이 세 개의 이웃 핀을 평균 풀링을 통해 집계할 경우 결과적으로 얻는 이웃 임베딩은 단순히 세 개의 핀 중앙에 위치하여 모든 이웃이 target node에게 동일한 영향을 반영한다.
  2. 반면, 그림 (b)에서와 같이 두 개의 이웃 핀은 패션 보드를 통해 연결되고, 나머지 하나의 핀은 공예 보드를 통해 연결되어 있다는 정보가 내재되어 있다면 이웃 임베딩은 패션 방향으로 더 많이 향하게 될 것이다.

이러한 target node와 이웃간의 상호 작용에 대한 맥락 설정은 경우에 따라 target node의 임베딩에 더 중요한 이웃 노드를 판별해주기 때문에 바람직하다고 한다.

Raw Feature Transformation

실제 세계 그래프에서 target nodes와 context nodes의 수가 매우 크기 때문에 각 노드의 원시 특성을 그대로 사용하는 identity 기반 임베딩은 비현실적이다.
따라서 학습 가능한 매개변수를 갖는 밀집 신경망을 통해 target 및 context node의 원시 특성을 변환하는 기능 기반의 임베딩을 사용한다.
해당 방법은 네트워크의 노드 수와 상관 없는 파라미터 수를 갖는다.

DenoteDenote
xtx_t : target node의 원시 특성
xcx_c : context node의 원시 특성
Wt(k),bt(k),Wc(k),bc(k),kW^{(k)}_t, b^{(k)}_t, W^{(k)}_c, b^{(k)}_c, ∀k∈{1,,K1,…,K} : 학습 가능한 매개변수
ztz_t : target node 임베딩
zcz_c : context node 임베딩

Contextual masking

이번 섹션에서는 컨텍스트 임베딩 zcz_c를 기반으로 대상 임베딩 ztz_t을 변환하고 집계한다.
ztz_tzcz_c의 크기를 동일하게 유지한 다음, context nodes의 임베딩 zcz_c를 target nodes 임베딩 ztz_t에 element-wise 연산을 적용하여 컨텍스트 마스킹 연산을 수행한다.

zcz_c의 마지막 임베딩 레이어가 ReLU인 경우, 특정 차원이 제로로 학습될 수 있으며, 이는 효과적으로 관련 없는 차원을 "마스킹 아웃"하여 대상 임베딩을 컨텍스트 임베딩에 의해 직접 제어되는 특정 부분 공간으로 투영할 수 있게 한다.

Contextual Attention

Contextual Attention mechanism은 target node 자신과 context node 그리고 이웃 노드가 구성하는 트리플렛마다 어텐션 가중치를 연산하는 것으로 주어진 식을 통해 α(v,o,u)α(v,o,u)를 계산한다.

α(v,o,u)α(v,o,u)는 컨텍스트 oo와 target pair (v,u)(v, u)의 임베딩을 기반으로 이웃에 대해 다른 가중치를 할당하는 방식으로 학습된다.
이는 Graph Attention mechanism에서 컨텍스트 o를 추가로 고려한 것으로 볼 수 있다.

자세한 attention mechanism은 [논문 리뷰] GRAPH ATTENTION NETWORKS를 참고하면 도움이 될 것이다.

더 나은 용량과 안정성을 위해 multi-head attention을 활용하여 컨텍스트화된 임베딩을 계산하면 다음과 같다.

Training objective

MultiSAGE에서는 컨텍스트화된 임베딩 zNv(v)z_{N_v}(v)와 이웃 임베딩 zNv(u)z_{N_v}(u)을 직접 더하여 최종 MultiSAGE 임베딩 h(v)h(v)으로 사용한다.
훈련 손실에 대해서는 PinSAGE의 접근 방식을 따르며, query-positive 쌍 (vq,vp)(v_q, v_p)을 취하고 부정 샘플 전략을 적용하여 삼중항 (v_q, v_p, v_n)을 생성한다.

전체적인 MultiSAGE 알고리즘을 도식화하면 다음과 같다.

그림의 알고리즘을 풀어서 설명해보겠다.

  1. 모든 노드는 그림 속 1번 과정을 거쳐 각 컨텍스트에 해당하는 임베딩을 얻는다.
  2. 컨텍스트 노드 또한 그림 속 2번 과정을 통해 임베딩을 얻는데 ReLU를 적용하는 과정에서 masking 효과가 적용되므로 일부 값만을 갖는 형태가 된다.
    만약 위의 컨텍스트가 Fashion이 아닌 Craft라면 다른 형태의 masking 효과가 적용되었을 것이다.
  3. 추가로 모든 노드는 각 컨텍스트마다 사전에 정의된 가장 영향력이 높은 이웃 노드 하나씩을 갖는데, 해당 이웃노드 또한 1번 과정을 통해 임베딩이 되어있을 것이다.
  4. 이후 모든 노드 임베딩을 각 컨텍스트 임베딩과 elementwise 연산을 적용하고, 각 컨텍스트에 대한 이웃 노드 임베딩 또한 컨텍스트 임베딩과 elementwise 연산을 적용하여 두 임베딩을 합쳐 최종적인 임베딩을 형성한다.
  5. 모든 노드에 대한 최종 임베딩이 형성되었다면, 이제 Query와 Positive sample 그리고 Negative sample 각각의 임베딩을 목적 함수에 맞게 학습시키는 과정을 수행한다.

📖 EXPERIMENTS

Overall comparison

우선 MultiSAGE를 기존 SOTA 모델들과 관련 핀 추천 작업에 대해 성능을 비교한다.

bipartit networks에서의 모델 MultiSAGE-2는 모든 경우에서 기존 모델보다 일관되게 우수한 성능을 보이며, 네트워크 컨텍스트를 효과적으로 활용하는 것에 대한 강력한 신호를 제공한다.

추가로 MultiSAGE가 두 종류 이상의 노드 유형을 갖는 multipartite networks를 모델링하는 데 적합하다는 것을 보이기 위해 OAG 네트워크에 키워드를 추가해 각 논문을 키워드에 연결하여 tripartite network를 형성한다.

컨볼루션 중에 각 논문에 대해 이웃 장소 및 키워드에 기반한 두 개의 컨텍스트 임베딩 세트를 계산하며, 이는 동일한 아키텍처를 갖지만 학습 가능한 매개변수 세트가 다르다.

tripartite network에서 계산된 MultiSAGE-3은 추가 성능 향상을 가져오며, 이는 제안된 시스템의 일반화 능력을 나타낸다.

Ablation tests

논문에서 제안한 컨텍스트 마스킹과 컨텍스트 어텐션의 유용성을 입증하기 위해 여러 MultiSAGE의 변형을 비교한다.

  1. trans : add 연산을 통한 masking 방법
  2. concat : concat 연산을 통한 masking 방법
  3. mask : multiply 연산을 통한 masking 방법
  4. mask-diff : multiply 연산을 통한 masking 방법 + 거리기반 attention
  5. mask-atn(MultiSAGE) : multiply 연산을 통한 masking 방법 + attention layer

위 그림을 통해 알 수 있듯이 컨텍스트 마스킹과 컨텍스트 어텐션을 포함한 완전한 MultiSAGE 모델은 가장 빠르게 안정적인 성능으로 수렴하고 다른 모델 변형의 성능을 능가한다.

Qualitative Exploration

다음 그림에서는 Pinterest에서 학습된 MultiSAGE 모델을 기반으로 생성된 두 가지 랜덤 사례를 사용하여 현실 세계에서의 컨텍스트화된 추천 작업의 유용성을 보인다.

패션 모델의 쿼리 핀이 주어졌을 때, 일반적으로 관련성 있는 핀 목록을 반환하는 대신 패션 및 공예와 같은 임의의 보드를 선택하여 해당 관점에서 쿼리에 관련된 핀 목록을 검색할 수 있다.
이러한 유연한 컨텍스트화는 기존의 검색 또는 추천 서비스와 쉽게 결합되어 세부적이고 효과적이며 해석 가능한 개인화를 가능하게 한다고 한다.

📖 CONCLUSIONS

이 연구에서는 GCN을 혁신적인 컨텍스트화된 다중 임베딩으로 개선하는 것을 처음으로 제안한다.
미래 연구에서는 다중 임베딩의 품질을 원칙적이고 양적인 방식으로 더 자세히 연구하는 것이 중요하다고 한다.
또한 다양한 맥락에서 덜 인기 있고 더 신선한 항목을 추천하는 데 컨텍스트화된 임베딩이 얼마나 도움이 되는지에 대한 연구도 필요하다고 한다.

Reference

MultiSage: Empowering GCN with Contextualized Multi-Embeddings on Web-Scale Multipartite Networks
[Paper Review] MultiSAGE part3 (GAT, Heterogeneous GCN)

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글