인접성 기반 접근법
거리 기반 접근법
NGCF에서 적용
중첩 기반 접근법
경로 기반 접근법
RandomWalk 기반한 임베딩 기법.
RandomWalk
-walk : sequential 한 path (node의 순서열)
: 특정 노드에서 임의로 k번 이동하는 sequential한 path를 기록한 data를 뽑는 방법. 이 임의의 path에 어떤 두 node가 함께 등장할 확률을 통해 두 node의 유사도를 측정할 수 있다.: (6step인 path) windowsize가 6인 walk를 random하게 3개 뽑은 예시
NLP분야의 skip-gram에서 주변 단어 학습을 통한 유사도를 바탕으로 주변 단어를 예측했 던 것 처럼,
deepwalk는 그래프에서 walk(sequential path) 내 도달 가능한 node 학습을 통해 node간의 연결성 정보를 embedding 합니다.
(nlp)skip-gram - deepwalk
문서 - 그래프
이웃한 단어 - walk내에 도달 가능한 node
단어 - node
skip-gram에서 one-hot 이었던 input 대신 PPMI 전처리 data를 사용
word2Vec은 문장에서 이웃에 해당되는 주변 단어의 범위가 window size였다면
DeepWalk는 path에서 node들의 범위(walk에서 이동 step 수)가 window size
input
-인접한 node 정보가 포함된 정규화 matrix를 k제곱 함으로써, distance(step)가 k인 path로 도달할 수 있는지 연결성 여부가 표현된다. 즉 k step으로 구성된 walk에 대한 목적지가 될 node를 표현한 데이터.
-windowsize인 k step까지 각 step에 대한 데이터를 시그마, 평균 낸 가중치 데이터를 생성한다.
-PPMI 정규화를 적용해준다.
(PMI의 음의 발산을 방지하기 위해 음수일 때 0으로 취급 : PPMI)
: 그래프에서 노드 간 연결성에 대한 정보
negative sampling
: 기본적인 skip-gram에서는 중심노드에 대한 이웃노드의 확률을 높여간 것에 비해, negative sampling을 이용한 skip-gram은 라벨 1이 주어진 중심노드-주변노드 쌍과 더불어, 라벨 0이 주어진 임의의 negative 노드 쌍을 생성해 함께 학습한다.
softmax 예측값이 0으로 수렴해야 하는 negative 샘플이 학습 데이터로 추가되어 학습의 효율성을 증대되는 것.
참고
- http://dsba.korea.ac.kr/seminar/?mod=document&uid=387
- GNN
https://thejb.ai/comprehensive-gnns-1/
- 노드 임베딩
https://velog.io/@tobigsgnn1415/Node-Embeddings
https://velog.io/@dldydldy75/Node-Embedding-정점-표현#deepwalk-와-node2vec
https://velog.io/@tjdqja2712/10.-Knowledge-Graph-Embeddings
- Negative Sampling
https://wikidocs.net/69141
- metapath2vec
https://greeksharifa.github.io/machine_learning/2021/12/11/metapath2vec/
투빅스 17기 나다경입니다.
Heterogeneous Network의 한 종류로서 Knowledge Graph가 있음.
graph based learning은 graph의 데이터의 복잡성과 가지고 있는 정보를 반영하는 graph만의 node Embedding 과정을 통해 학습을 위한 representation learning을 진행함.
Random walk(임의보행) 기반 접근법에는 deepwalk가 있으며, 그래프에서 walk(sequential path) 내 도달 가능한 node 학습을 통해 node간의 연결성 정보를 embedding 함. 그러나 Node type 별 고유한 특성 정보 손실된다는 단점이 있음.
또 다른 random walk에는 metapath2Vec가 있으며, node의 종류에 따른 관계의 고유한 정보를 반영하는 적절한 path만 학습함. 각 node type 마다 별도의 space에서 embedding을 생성하고 metapath2Vec과 달리 negative sampling 과정에서 negative sample을 생성 할 때 metapath에 해당하는 node type으로만 negative sample을 구성함.
투빅스 16기 이승주입니다.
Heterogeneous Information Network을 중점적으로 설명해주셨습니다.
특히 Metapath2vec & Metapath2vec++는 Heterogenous graph에서 구조적인 Node representation learning을 가능하게 한 효과적인 방법론입니다. Entity type을 연결함으로써, Relation 의미를 내포하도록 합니다. Metapath2vec은 node type과 상관없이 negative sample을 추출하지만 Metapath2vec++은 node type을 구분하며 샘플링을 진행하여 실제 관련이 높은 node 사이의 거리를 가깝게 만들도록 학습한다는 차이가 있습니다.
metapath2vec ++은 복수의 node type 맥락 속에서 skip-gram 기반으로 다른 type 노드 간의 관계를 다른 공간에서 학습하도록 유도하고 효과적이고 효율적인 heterogenous negative sampling 기법을 적용합니다.
투빅스 17기 이지수입니다.
투빅스 17기 염제윤 입니다.
데이터의 복잡한 관계로서의 정보를 모델에 반영하기위해 그래프 표현을 사용한다. 해당 그래프를 학습시키기 위한 모델로 node embedding gnn gcn 등이 있다. node embedding의 종류에는 인접성 기반, 거리 기반 , 중첩 기반, 경로 기반 접근법등과 NGCF에서의 적용이 있다. deepwalk는 특정 노드에서 임의로 k번 이동하는 sequential한 path를 기록한 data를 뽑는 방법. 이 임의의 path에 어떤 두 node가 함께 등장할 확률을 통해 두 node의 유사도를 측정하여 학습하고, 마치 skip-gram과도 비슷하게 학습된다. 그런의미에서 각 node들이 모두 같다고 전제하여 학습을 진행하는 한계점이 존재한다. metapath2Vec는 이를 해결하기 위한 방책으로 , 각 node type 마다 별도의 space에서 embedding을 생성하여 노드들에 따라 다르게 연산한다.( node type 같으면 곱연산, node type 다르면 합연산) 마지막으로 sparse data에서는, neighbor node의 등장 빈도 정보(deep walk)보다 metapath의 특정한 관계 정보가 모델 성능 향상에 효과가 좋다.