[논문리뷰] Neural Message Passing for Quantum Chemistry (2017)

Dong Jun·2023년 1월 18일
0

GNN Basics

목록 보기
6/6

이 논문은 quantum chemistry와 관련된 QM9이라는 데이터셋에서 높은 성능을 달성했다는 점에서도 의미가 있지만, 본 논문 이전의 다양한 graph neural network 알고리즘들을 하나의 형태로 통합했다는 점에서 큰 의미가 있습니다.

graph neural network의 목적은, 어떤 노드의 주변 노드 (neighborhood)들의 정보를 취합(aggregate)하여 해당 노드의 hidden state를 업데이트하는 것입니다. 주변 노드의 정보를 취합하여 message를 생성하는 message aggregation step 후 취합된 message를 통해 현재 노드의 hidden state를 갱신하는 update step 를 수행하는 graph neural network의 메커니즘이 지금은 교과서에 실릴 정도로 잘 정립되어 있지만, 이 논문이 나올 당시에는 이러한 메커니즘이 잘 정리되어 있지 않았다고 합니다.

1. Message Passing Neural Networks (MPNN)

저자는 특정 노드의 representation인 hv(t)h_v^{(t)}와 이 노드의 이웃 노드들의 representation들인 {hw}wN(v)\{h_w\}_{w \in N(v)}를 통해, 노드 vv의 updated hidden state인 hv(t+1)h_{v}^{(t+1)}를 구하는 메커니즘을 아래와 같이 설명합니다.

  • Message Step

    mv(t+1)=wN(v)Mt(hvt,hwt,evw)m_v^{(t+1)} = \sum_{w \in N(v)}M_t(h_v^t, h_w^t, e_{vw})

이 단계에서 MtM_t는 노드 ww 에서 노드 vv로 향하는 정보(message)를 생성하는 함수입니다. 그리고, 이웃 노드들로부터 오는 모든 메세지를 합쳐 줌으로써, 이웃 노드들로부터 노드 vv로 향하는 message들이 취합(aggregate)됩니다.
이 aggregation을 단순 summation으로 하지 않고, RNN계열의 모델을 사용하거나 풀링을 사용하는 경우도 제안되고 있으나, 이 논문이 나올 당시에는 그러한 방법들이 없었던 것 같습니다.

  • Update Step

    hv(t+1)=Ut(hvt,mv(t+1))h_v^{(t+1)} = U_t(h_v^t, m_v^{(t+1)})

이 단계에서 UtU_t는 취합된 message인 mv(t+1)m_v^{(t+1)}과 노드의 hidden state인 hv(t)h_v^{(t)} 를 인풋으로 받아서, 갱신된 hidden state hv(t+1)h_v^{(t+1)}를 산출하는 update function 입니다.

profile
컴퓨터, 통계, 수학

0개의 댓글