Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
이전 글에서는 GNN의 Computation Graph와 Aggregation 방법에 대해 정리하였다. 요약하면 각 GNN의 각 Layer에서는 이웃 노드가 보내는 메시지와 이들을 취합하는 Aggregation 단계가 이루어진다. 그다음 단계는 Layer끼리는 어떻게 결합해야 하는 가이다. 최종적으로는 어떤 목적 함수를 만들고 어떻게 학습시켜 나갈지 결정해야 한다. GNN Layer GNN Layer는 node 자신과, 그 이웃의 노드 embedding을 input들로 다음 node embedding을 만든다. Message computation은 이전의 node embedding을 어떻게 다음 노드로 transfer 하는 가를 결정한다. 간단히 W라는 가중치 메트릭스를 곱해주어 전달하는 방식도 있을 수..
이전 글에서 Node를 어떻게 벡터화 시키는 지에 관해서 공부하였다. Node를 벡터화 시켰다면 딥러닝의 방식을 진행할 수 있을까? 하지만 그래프 분야는 image나 text와 같은 데이터보다 훨씬 복잡한 형태를 가지고 있다. 단순히 그래프에서 인접 노드 간의 정로를 가진 매트릭스를 input으로 넣는 것을 어떨까? 하지만 노드의 수의 제곱 이상의 데이터가 생성되기 때문에 파라미터가 너무 많아진다. 거기에 노드를 단순히 우리가 정한 임의의 순서대로 구별해 두었기 때문에 진행 중에 순서가 뒤바뀌면 알 수가 없어진다. GNN는 CNN(Convolution Neural Network)의 idea를 가져온다. CNN은 이미지 데이터를 convolution 연산으로, 중심 노드의 반경(window)으로부터 특징을..
*주의* 온라인 강의를 들으면서 정리한 내용이라, 틀린 부분과 대충 넘어간 부분이 많을 수 있습니다. Node Embedding 기존의 Graph를 딥러닝에서 다루기 위해서는 Graph를 구조화된 데이터 형태에 맞춰야할 필요가 있었다. 하지만, 이제는 그래프를 자동으로 벡터 형태로 만들어 낼 수 있기 때문에 효율적인 딥러닝이 가능해 졌다. 예를 들어 DeepWalk에서는 input 그래프를 다음과 같이 2차원을 표현해 냈다. 이와 같은 과정을 node embedding이라고 한다. 임베딩이란 사람이 쓰는 자연어를 기계가 이해할 수 있는 벡터 형태로 바꾸는 과정을 의미한다. https://casa-de-feel.tistory.com/28 임베딩(Embedding)이 뭐지? *해당 포스팅은 한국어 임베딩(이..