stanfordgnn

인공지능공부/그래프

[Stanford/CS224W] 7. GNN2(3) : Stacking Layers of a GNN

스탠포드 강의를 듣고 정리한 내용입니다. 지난 포스팅에서는 단일 레이어에서 GNN이 어떻게 동작하는지 살펴보았습니다. 이번 포스팅에서는 단일 레이어를 어떻게 쌓는지 한번 살펴보겠습니다. Stacking Layer 앞의 포스팅에서 단일 레이어를 배웠으니 이제 쌓아서 여러 계층의 GNN을 만들어 봅시다. 일반적으로 딥러닝 모델에서 레이어를 쌓는다고 하면, 더 "깊은"계층을 가지게 됩니다. 하지만 GNN에서는 깊이라기 보다는 너비의 의미가 강한데요. 더 깊게 쌓을 수록 더 멀리있는 노드의 정보를 받을 수 있습니다. 즉, GNN에서 깊은 계층이란 거쳐올 hop의 수를 뜻합니다. 아키텍처를 한번 그려보자면, 다음과 같이 그릴 수 있습니다. 초기 임베딩 값인 xv을 받아서 각 GNN layer를 거치고, 결과로 나..

인공지능공부/그래프

[Stanford/CS224W] 5. Message Passing(2) : Relational Classification and Iterative Classification

스탠포드 강의를 듣고 정리한 내용입니다. 지난 포스팅에서는 대략적으로 Node Classification을 하기 위해 어떤 과정이 필요한지 알아보았습니다. 이번 포스팅에서는 앞의 포스팅에서 언급한 Relational Classification, Iterative Classification에 대해서 알아보겠습니다. Relational Classification relational classification의 기본 아이디어는 노드 v의 라벨 확률인 Yv는 그 노드의 주변 노드들 확률의 가중 평균을 내는 것입니다. 여기서 노드는 v, 초기화 된 라벨은 Yv, 정답 라벨은 Yv*라고 하겠습니다. 라벨이 없는 노드는 초기 Yv = 0.5가 됩니다.(여기서는 이진 분류로 가정하겠습니다.) 즉, 두 라벨 중 어떤것도..

인공지능공부/그래프

[Stanford/CS224W] 4. PageRank(4) : Matrix Factorization and Node embedding

스탠포드 강의를 듣고 정리한 내용입니다. 지난 포스팅에서는 Personalized PageRank(PPR), Random Walk with Restarts(RWR) 알고리즘에 대해서 알아봤습니다. 페이지 랭크 알고리즘의 문제점과 해결방법을 알아 보았습니다. 이번 포스팅에서는 노드 임베딩의 Matrix Factorization에 대해서 알아보겠습니다. Matrix Factorization 노드 임베딩 관련 예전 포스팅에서 우리는 노드 임베딩 매트릭스를 위와 같이 정의했었죠. 각 노드들은 전체 matrix의 한 행을 의미하고, 이 임베딩의 목적은 각 노드의 내적이 최대가 되는것이었습니다. 간단하게 생각하면 노드 사이의 내적(유사도)라는 것은 노드 끼리 연결되어 있는 것을 뜻하죠. 따라서 두 노드 v, u가 ..

인공지능공부/그래프

[Stanford/CS224W] 1. intro(1) : 그래프가 필요한 이유

스탠포드 강의를 듣고 정리한 내용입니다. 왜 그래프인가? 그래프는 일반적으로 엔티티들의 관계 또는 상호작용을 설명하고 분석하는 "언어"입니다. 따라서 위와 같이 데이터를 하나의 독립적인 포인트로 보기 보다는 이렇게 관계, 네트워크 측면에서 생각하자는 것이죠! 왜냐하면!!! 위와 같이 우리의 주변에는 정말 다양한 네트워크/그래프 형태의 데이터가 있기 때문이죠. 따라서 그래프 형태의 데이터를 잘 사용할 수 있다면, 위의 데이터들도 자동적으로 잘 활용될 수 있겠죠? 그럼 그래프의 종류에 대해서 잠깐 정리를 하고 가겠습니다. 그래프의 종류는 natural graph로 잘 알려진 networks와 representation인 graph으로 나뉩니다. Network(also known as Natural Graph..

컴공누나
'stanfordgnn' 태그의 글 목록