Lecture 4 에서는 그래프 분석과 학습하는 방식을 행렬 관점으로 접근한다. 이번 글에서는 그 중 PageRank에 대해서 먼저 알아볼 것이며, PageRank는 이전 강의에서 다룬 Random Walk 방식을 사용하여 node의 중요도를 파악하는 방식이다.
PageRank
PageRank는 Stanford 대학의 박사 두 분이 만든 모델이다. PageRank에서의 Node는 web page를 의미하고, Edge는 hyperlinks를 의미한다. web에 방문하여 hyperlink를 클릭해 다른 web page로 이동하는 경우를 그래프로 표현한 것이며, 방향성을 가지는 directed graph를 뜻한다.


논문에서 citation을 달아 놓은 경우 논문에서 link를 클릭해 다른 논문으로 넘어가는 경우가 있을 수 있으며, Wiki나 Encyclopedia와 같은 문서에서 필요한 정보를 찾기 위해 link를 클릭해 넘어가는 경우도 있을 것이다. 본 강의에서는 Wikipedia와 유사한 Encyclopedia를 예시로 PageRank를 설명한다.
노드의 중요도를 파악하기 위한 방법은 다양하지만, 본 강의에서는 노드의 중요도를 계산하기 위해 아래와 같은 접근 방식(Link approaches)을 사용한다.
- PageRank
- Personalized PageRank (PPR)
- Random Walk with Restart
Link approaches는 page에 많은 in-link가 존재하는 경우, 중요한 page라는 아이디어를 전제로 한다. in-link가 많은 page의 경우 중요한 정보를 담고 있는 것을 의미할 수 있으며, page의 in-link가 거의 없다면 별다른 중요도가 없는 것으로 판단할 수 있기 때문이다. 논문의 경우 in-link는 인용 수를 의미하며 영향력 있는 논문일수록 인용 수가 높다. 반면에, 영향력이 없거나 논문의 질이 낮을 수록 해당 논문을 인용하는 사람은 거의 없을 것이다. 이와 같은 맥락으로 이해할 수 있다.
PageRank도 위에서 언급한 기본적인 가정을 따르고 있다. 아래의 그림에서 node j의 중요도를 구하기 위해서는 in-link를 살펴보아야 한다.


이때의 Rank vector

web surfer가 random walk로 움직이는 것을 생각할 때 t+1 시점의 surfer는 probability distribution
그렇다면,
선형대수에서 eigen value와 eigen vector는
How to Solve?
그렇다면
즉, t 시점의
- Initialize:
- iterate:
- Stop when
이때
Dead ends
Dead ends는 해당 Page에서 더이상 빠져나갈 Hyperlink가 존재하지 않는 것을 의미한다. 즉, out-link가 없는 것이다.

위 구조를 Dead ends라 부른다.
solution
Dead ends에서 빠져나오기 위해서는 dead end에서 다른 node로 이동할 확률을 균등하게 분배해 무작위로 teleport하는 것이다. 원래의 node m에서는 out-link가 없기 때문에 column의 합이 0이지만, node y, a, m에 각각 균등하게 1/3의 값을 부여해 teleport할 확률을 부여한다. 이와 같은 방식을 통해 Dead end에서 빠져나올 수 있다.

Spider Traps
Spider Trap은 Dead end와는 다르지만, 밖으로 나가는 out-link가 없는 Page들의 집합을 의미한다. Web에서 어떤 Page로 들어왔을 때 그 Page들만 순회하는 즉, Cycle 구조를 가지고 있는 형태를 의미한다. 이렇게 되면 다른 Page로 이동할 수가 없기 때문에 그 Group 내에 빠지게 된다.

위 구조를 Spider Trap이라 부른다. 이 경우 처음에는
Solution
Spider Trap에서 빠져나오기 위해서 PageRank에서는

Google에서는 Spider Trap에서 빠져나오기 위해
위 수식은 Dead end에 대해서는 고려하지 않았다. 따라서, 기존에 Dead end를 제거하거나 Dead end에서 각 node로 빠져나올 수 있는 확률을 부여하는 형태로 수정을 해주어야 한다. 위 수식은 flow-based fomulation이기 때문에 matrix formulation으로 변형하면 아래와 같은 수식이 도출된다.


오른쪽 그림의 경우 node B의 중요도가 가장 높다. node E의 경우 in-link가 node B와 동일한 수를 가지고 있으나, in-link로 연결된 node들이 별로 중요하지 않은 node들이다. 따라서, 상대적으로 중요도가 높은 node와 in-link 관계를 가지고 있는 node B의 중요도가 node E에 비해 높은 것을 확인할 수 있다. 또한, node A의 경우 Dead ends이지만 중요도가 측정되는 것을 확인할 수 있다. node C의 경우 in-link가 node B에 대해서만 존재하지만 중요도는 높게 측정되었다.
Limitation
위에서는 DeepWalk, PageRank 등의 모델이 어떤 형태로 진행되는지에 대해서 다루었다. 이번 챕터에서는 해당 기법들이 가지는 한계점에 대해서 다루어보자.
recompute
기본적으로 현재 그래프의 구조 내에서 embedding을 진행하기 때문에 train set에서는 존재하지 않는 노드가 새롭게 유입되는 경우 이를 반영하는 것이 어렵다. 새로운 노드가 들어오게 된다면 다시 처음부터 학습을 진행해야 한다는 문제점이 존재하낟. 소셜 네트워크와 같은 도메인에서는 새로운 사용자의 유입이 많은데 이와 같은 도메인에서 이를 적용할 경우 엄청난 계산 비용이 요구된다.
structural similarity
아래와 같은 구조를 가진 그래프는 구조적으로 유사하다. 노드 1은 노드 11과 유사하며 노드 2, 3은 각각 12,13과 유사하다. 그러나 random walk 방식을 사용하는 경우 이와 같은 그래프 구조에 대한 유사도를 포착하지 못한다. 만약 그래프 구조에 대해서도 학습하고 싶은 경우에는 anonymous walk를 사용하면 된다.

node feature
random walk의 학습 방식을 살펴보면 단순히 순서만 고려한다. 구체적으로, node feature와 같은 정보를 고려하지 않는다. 그렇기 때문에 노드의 표현을 제대로 학습하는 것에 한계가 존재할 수 있다.
'Deep Learning > CS224W' 카테고리의 다른 글
[CS224W] Message Passing and Node Classification (3) | 2022.08.08 |
---|---|
[CS224W] Embedding Entire Graphs (0) | 2022.07.13 |
[CS224W] Node Embeddings (0) | 2022.07.05 |
[CS224W] Traditional feature-based methods: Graph-level features (0) | 2022.07.04 |
[CS224W] Traditional feature-based methods: Link-level features (2) | 2022.07.03 |