기존의 GCN은 주로 homogeneous graphs에서 작동하여 각 노드에 대해 단일 임베딩을 고려한다.
본 논문은 이러한 점이 실제 세계 네트워크의 다양한 측면과 복잡한 상호 작용을 충분히 모델링하지 못한다는 한계점을 갖는다고 주장한다.
저자는 target nodes와 중간 context nodes의 multipartite networks를 모델링하여 상황에 맞는 GCN 엔진을 제안한다.
이는 상호 작용을 상황에 맞게 모델링하기 위해 context node를 기반으로 target node의 이웃을 처리함으로써 feature level에서 상황에 맞는 마스킹 작업과 node level에서 상황에 맞는 attention mechanism을 개발한다.
결과적으로 Graph Convolution 중에 target node의 다양한 측면과 다양한 상호 작용을 포착하는 여러 임베딩을 계산한다.
MultiSAGE는 새로운 아이디어 Contextualized Multi-Embedding을 기반으로 한다.
본 논문에서 등장하는 Pinterest의 pin과 board의 개념 그리고 아래 PinSAGE의 설명을 이해하는 데 [논문 리뷰] Graph Convolutional Neural Networks for Web-Scale Recommender Systems를 참고하면 도움이 될 것이다.
위 그림은 PinSAGE와 MultiSAGE 각각의 임베딩 결과를 보인다.
이처럼 앞서 언급한 Contextualized Multi-Embedding을 기반으로 그림과 같이 target node를 맥락에 따라 다양한 임베딩으로 표현할 수 있는도록 하는 것이 MultiSAGE의 핵심이라고 생각한다.
본 논문에서는 노드를 target node와 context node 두 가지 유형으로 분리한다.
주된 목표는 target node의 임베딩을 학습하는 데 있으며, 동시에 context node를 사용하여 target node 간의 관계를 설명한다.
위 그림은 multi-partite Pinterest network를 대상 노드(pin)와 컨텍스트 노드(board)로 분리하는 예시를 보인다.
핀들은 보드를 통해 서로 관련되어 있음을 알 수 있다.
GraphSAGE와 유사하게, MultiSAGE 또한 주어진 target node에 대한 임베딩을 이웃 노드를 기반으로 학습한다.
하지만 GraphSAGE는 모든 이웃에 대해 동일한 집계 함수를 사용하는 반면,
MultiSAGE는 자신 노드와 이웃 간의 상호 작용을 지탱하는 컨텍스트 노드를 활용한다.
다음의 그림은 이웃 집계 중 컨텍스트의 중요성을 설명한다.
이러한 target node와 이웃간의 상호 작용에 대한 맥락 설정은 경우에 따라 target node의 임베딩에 더 중요한 이웃 노드를 판별해주기 때문에 바람직하다고 한다.
실제 세계 그래프에서 target nodes와 context nodes의 수가 매우 크기 때문에 각 노드의 원시 특성을 그대로 사용하는 identity 기반 임베딩은 비현실적이다.
따라서 학습 가능한 매개변수를 갖는 밀집 신경망을 통해 target 및 context node의 원시 특성을 변환하는 기능 기반의 임베딩을 사용한다.
해당 방법은 네트워크의 노드 수와 상관 없는 파라미터 수를 갖는다.
: target node의 원시 특성
: context node의 원시 특성
{} : 학습 가능한 매개변수
: target node 임베딩
: context node 임베딩
이번 섹션에서는 컨텍스트 임베딩 를 기반으로 대상 임베딩 을 변환하고 집계한다.
와 의 크기를 동일하게 유지한 다음, context nodes의 임베딩 를 target nodes 임베딩 에 element-wise 연산을 적용하여 컨텍스트 마스킹 연산을 수행한다.
의 마지막 임베딩 레이어가 ReLU인 경우, 특정 차원이 제로로 학습될 수 있으며, 이는 효과적으로 관련 없는 차원을 "마스킹 아웃"하여 대상 임베딩을 컨텍스트 임베딩에 의해 직접 제어되는 특정 부분 공간으로 투영할 수 있게 한다.
Contextual Attention mechanism은 target node 자신과 context node 그리고 이웃 노드가 구성하는 트리플렛마다 어텐션 가중치를 연산하는 것으로 주어진 식을 통해 를 계산한다.
는 컨텍스트 와 target pair 의 임베딩을 기반으로 이웃에 대해 다른 가중치를 할당하는 방식으로 학습된다.
이는 Graph Attention mechanism에서 컨텍스트 o를 추가로 고려한 것으로 볼 수 있다.
자세한 attention mechanism은 [논문 리뷰] GRAPH ATTENTION NETWORKS를 참고하면 도움이 될 것이다.
더 나은 용량과 안정성을 위해 multi-head attention을 활용하여 컨텍스트화된 임베딩을 계산하면 다음과 같다.
MultiSAGE에서는 컨텍스트화된 임베딩 와 이웃 임베딩 을 직접 더하여 최종 MultiSAGE 임베딩 으로 사용한다.
훈련 손실에 대해서는 PinSAGE의 접근 방식을 따르며, query-positive 쌍 을 취하고 부정 샘플 전략을 적용하여 삼중항 (v_q, v_p, v_n)을 생성한다.
전체적인 MultiSAGE 알고리즘을 도식화하면 다음과 같다.
그림의 알고리즘을 풀어서 설명해보겠다.
우선 MultiSAGE를 기존 SOTA 모델들과 관련 핀 추천 작업에 대해 성능을 비교한다.
bipartit networks에서의 모델 MultiSAGE-2는 모든 경우에서 기존 모델보다 일관되게 우수한 성능을 보이며, 네트워크 컨텍스트를 효과적으로 활용하는 것에 대한 강력한 신호를 제공한다.
추가로 MultiSAGE가 두 종류 이상의 노드 유형을 갖는 multipartite networks를 모델링하는 데 적합하다는 것을 보이기 위해 OAG 네트워크에 키워드를 추가해 각 논문을 키워드에 연결하여 tripartite network를 형성한다.
컨볼루션 중에 각 논문에 대해 이웃 장소 및 키워드에 기반한 두 개의 컨텍스트 임베딩 세트를 계산하며, 이는 동일한 아키텍처를 갖지만 학습 가능한 매개변수 세트가 다르다.
tripartite network에서 계산된 MultiSAGE-3은 추가 성능 향상을 가져오며, 이는 제안된 시스템의 일반화 능력을 나타낸다.
논문에서 제안한 컨텍스트 마스킹과 컨텍스트 어텐션의 유용성을 입증하기 위해 여러 MultiSAGE의 변형을 비교한다.
위 그림을 통해 알 수 있듯이 컨텍스트 마스킹과 컨텍스트 어텐션을 포함한 완전한 MultiSAGE 모델은 가장 빠르게 안정적인 성능으로 수렴하고 다른 모델 변형의 성능을 능가한다.
다음 그림에서는 Pinterest에서 학습된 MultiSAGE 모델을 기반으로 생성된 두 가지 랜덤 사례를 사용하여 현실 세계에서의 컨텍스트화된 추천 작업의 유용성을 보인다.
패션 모델의 쿼리 핀이 주어졌을 때, 일반적으로 관련성 있는 핀 목록을 반환하는 대신 패션 및 공예와 같은 임의의 보드를 선택하여 해당 관점에서 쿼리에 관련된 핀 목록을 검색할 수 있다.
이러한 유연한 컨텍스트화는 기존의 검색 또는 추천 서비스와 쉽게 결합되어 세부적이고 효과적이며 해석 가능한 개인화를 가능하게 한다고 한다.
이 연구에서는 GCN을 혁신적인 컨텍스트화된 다중 임베딩으로 개선하는 것을 처음으로 제안한다.
미래 연구에서는 다중 임베딩의 품질을 원칙적이고 양적인 방식으로 더 자세히 연구하는 것이 중요하다고 한다.
또한 다양한 맥락에서 덜 인기 있고 더 신선한 항목을 추천하는 데 컨텍스트화된 임베딩이 얼마나 도움이 되는지에 대한 연구도 필요하다고 한다.
MultiSage: Empowering GCN with Contextualized Multi-Embeddings on Web-Scale Multipartite Networks
[Paper Review] MultiSAGE part3 (GAT, Heterogeneous GCN)