728x90 반응형 Graph Neural Network8 [CS224W] GNN for RecSys (3) - NGCF (Neural Graph Collaborative Filtering) Neural Graph Collaborative Filtering (NGCF)Overview기존의 collaborative filtering (CF)은 shallow embedding을 이용하기 때문에- 그래프 구조를 반영하지 못함- 모델 학습이 high-order graph structure를 포착하지 않음위 그림을 보자.왼쪽 그림은 3명의 user와 5개의 item의 상호작용이 있는 이분그래프이다.$u_1$이 target user라 하자. 기존 CF은 $u_1$와 직접 연결된 $i_1, i_2, i_3$의 item만 포착한다.그런데 $i_2$는 $u_2$와도 연결되어 있고, $i_3$은 $u_3$와도 연결되어있다.그러나 shallow embedding은 이러한 관계는 포착하지 못한다.실제 user-i.. 2024. 11. 8. [CS224w] General Tips for Debugging GNN 꼭 GNN에 해당하는 내용은 아니겠지만, cs224w에서 별도의 강의 슬라이드를 만들었으니 간단히 정리한다. General Tips데이터 전처리는 매우 중요하다. note attribute는 매우 많다. 따라서 정규화(normalization)을 해야한다. 확률이라면 $(0, 1)$로, 필요(데이터)에 따라 넓은 범위도 가능하다. Optimizer: Adam이면 상대적으로 robust하다.Activation function: ReLU도 충분하지만 LeakyReLU, PReLU도 좋다. 그러나 output layer에는 activation function을 적용하면 안된다. 그리고 모든 layer에 bias를 추가한다.Embedding dimension: 32, 64, 128 차원에서 시작한다. 학습결과에.. 2023. 6. 18. [CS224w] Theory of GNNs (2) - Neighbor Aggregation, GIN (Graph Isomorphism Network) 전 포스팅에서는 GNN의 node embedding이 왜 표현력이 좋은지 omputational graph의 관점에서 설명했다.이번에는 neighbor aggregation의 관점에서 더 살펴보자. Neighbor AggregationNeighbor aggregation은 multi-set function과 동일한 구조를 갖는 것에서 시작한다.aggregation function으로 GCN (ICLR 2017)에서는 mean-pool, GraphSAGE (NeurIPS)에서 max-pool을 제안하였다.GCN에서는 $\text{Mean}(\{ x_u \}_{u \in N(v)})$GraphSAGE에서는 $\text{Max}(\{ x_u \}_{u \in N(v)})$GCN (mean-pool) [ICLR.. 2023. 6. 17. [CS224w] Dataset Split Why Splitting Graphs is Specialimage dataset을 생각해보자. 각 data point는 하나의 image이다. 5번째 image가 1번째 image에 영향을 주지 않는다.그러나 graph에서는 다른다. 각 node는 독립이 아니라 다른 node에 영향을 줄 수 있다. (message passing을 생각해보자) Transductive settinginput graph를 전체 데이터셋으로 간주한다. 예를 들어 training time에는 전체 그래프를 이용하여 embedding을하고, node 1과 node 2로 label을 학습한다.validation time에는 전체 그래프를 이용하여 embedding을 하고 node3과 node4 label로 evaluate한다.따라서.. 2023. 5. 29. [CS224w] Training Graph Neural Networks Supervised vs UnsupervisedSupervised Labels on GraphsNode label $\mathbf{y}_{v}$: citation network에서 어떤 subject가 node에 속하는지Edge label $\mathbf{y}_{uv}$: transaction network에서 edge가 fraud인지 아닌지Graph label $\mathbf{y}_{G}$: 분자 그래프에서 신약이 될 가능성 예측 Unsupervised Signals on Graphs그러나 대부분 우리는 그래프 구조는 갖고 있지만 external label이 없는 경우가 많다.self-supervised learning을 고려한다. Node label $\mathbf{y}_{v}$: Node stati.. 2023. 5. 24. GAT, GraphSAGE GAT, Graph Attention NetworksIdeaGCN의 경우, 모든 이웃 노드들로부터 동일한 가중치를 갖는다.그렇지만 경우에 따라 이웃 노드를로부터 얻는 정보의 가중치가 다를 수 있다. (많은 경우가 그럴 것이다.)이제 이웃 노드들로부터 얻는 임베딩 $\mathbf{h}_u^{l}$에 가중치 $\alpha{vu}$를 곱한다.이 수식은 GCN을 보다 일반화 한것으로 볼 수 있다.GCN이라면 $\alpha{vu} \cfrac{1}{|N(v)|}$ 으로 간주할 수 있다.Not all neighbors are equally important !Computing the attention weight노드 $u$가 노드 $v$에 메시징을 할 때, 그 중요도를 $e_{vu}$라 하고 attention we.. 2023. 4. 19. 이전 1 2 다음 728x90 반응형