[논문 리뷰] Comprehend DeepWalk as Matrix Factorization
이 논문은 DeepWalk이 행렬 분해와 수학적으로 동치임을 보여주며, 노드 임베딩은 랜덤 워크 중 고정 윈도우 내에서 노드가 컨텍스트 노드로 나타나는 데 기대값의 로그를 나타내는 행렬 M의 분해를 통해 학습된다. 주요 기여는 DeepWalk의 Negative Sampling 및 Softmax 버전이 모두 노드-컨텍스트 공존 통계에서 유도된 행렬을 암묵적으로 분해한다는 것을 보여주는 것으로, M은 노드 간 평균 랜덤 워크 전이 확률의 로그를 캡처한다.
Word2vec, as an efficient tool for learning vector representation of words has shown its effectiveness in many natural language processing tasks. Mikolov et al. issued Skip-Gram and Negative Sampling model for developing this toolbox. Perozzi et al. introduced the Skip-Gram model into the study of social network for the first time, and designed an algorithm named DeepWalk for learning node embedding on a graph. We prove that the DeepWalk algorithm is actually factoring a matrix M where each entry M_{ij} is logarithm of the average probability that node i randomly walks to node j in fix steps.
연구 동기 및 목표
- DeepWalk과 행렬 분해 간의 수학적 동치성을 공식화하기.
- Skip-Gram with Negative Sampling 및 Softmax 버전의 DeepWalk이 암묵적으로 행렬 M을 어떻게 분해하는지 분석하기.
- 행렬 M의 항목을 노드 간 평균 랜덤 워크 전이 확률의 로그로 해석하기.
- 샘플링 전략과 정규화가 학습된 노드 표현의 형태에 미치는 영향을 명확히 하기.
제안 방법
- Skip-Gram with Negative Sampling의 목적 함수를 유도하고, 이를 최적화하면 PMI 유사 행렬의 암묵적 행렬 분해로 이어짐을 보여주기.
- Softmax 기반 목적 함수를 수립하고, 그 최적 해가 행렬 M의 항목이 노드-컨텍스트 공존 조건부 확률의 로그가 되는 것을 입증하기.
- 행렬 M을 M_ij = log(#(v_i,c_j)/#(v_i)) + b_v_i로 정의하기, 여기서 b_v_i는 노드별 편향 항목이다.
- 이dealized 랜덤 워크 샘플링 과정을 사용하여 #(v_i,c_j)/#(v_i)가 t 단계 내에서 노드 i에서 노드 j에 도달할 평균 확률을 근사함을 보여주기.
- M_ij가 랜덤 워크 중에 노드 j가 노드 i의 컨텍스트 윈도우에 나타나는 기대 횟수의 로그에 비례함을 확립하기.
- 행렬 분해가 공존 행렬의 로그 변환된 저랭크 근사화를 학습하는 것과 동치임을 증명하여 DeepWalk을 전통적 행렬 분해와 연결하기.
실험 결과
연구 질문
- RQ1DeepWalk의 Skip-Gram with Negative Sampling은 행렬 분해와 어떻게 관련이 있는가?
- RQ2Negative Sampling 목적 함수 하에서 DeepWalk 학습 중에 암묵적으로 분해되는 행렬은 무엇인가?
- RQ3Softmax 버전의 DeepWalk은 Negative Sampling과 비교해 볼 때 기저의 행렬 분해 측면에서 어떻게 다른가?
- RQ4DeepWalk이 학습한 행렬 M의 항목에 대한 확률적 해석은 무엇인가?
- RQ5랜덤 워크 샘플링 전략은 행렬 M의 구조에 어떻게 영향을 미치는가?
주요 결과
- Negative Sampling을 사용한 DeepWalk 알고리즘은 각 항목 M_ij가 노드-컨텍스트 쌍 (v_i, c_j)의 Pointwise Mutual Information (PMI)이며, log k만큼 이동된 행렬 M을 암묵적으로 분해한다.
- Softmax 버전의 경우 최적의 임베딩 내적은 v_i · c_j = log(#(v_i,c_j)/#(v_i)) + b_v_i를 만족하며, 이는 M_ij가 노드-컨텍스트 공존 조건부 확률의 로그임을 보여준다.
- 이dealized 랜덤 워크 샘플링 하에서 비율 #(v_i,c_j)/#(v_i)는 노드 i 주변 윈도우 크기 t 내에서 노드 j가 나타나는 평균 확률을 나타낸다.
- 행렬 M_ij = log(#(v_i,c_j)/#(v_i))는 랜덤 워크를 통해 t 단계 내에 노드 i에서 노드 j로의 평균 전이 확률의 로그와 동치이다.
- b_v_i = log(2t)로 정규화할 경우 M_ij는 노드 i의 컨텍스트에서 노드 j가 나타나는 기대 횟수의 로그가 된다.
- 이 논문은 DeepWalk이 노드-컨텍스트 공존 통계의 로그 변환에 기반한 행렬 분해 방법임을 확립한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.