Description Graph representation learning
Node classification
Link prediction: relationship learning
Feature learning
node2vec(50 ~ 100d)
encoder
Shallow encoding: embedding-lookup
pytorch biggraph도 다 같음
similarity function
node2vec이 random-walk의 수정본 (hyperparameter 하나 추가)
context에 따라 node의 성질이 정의된다
serial을 어떻게 뽑을래? -> random rwalk
거의 gensim으로 구현
node2vec: BFS/DFS를 조절하는 파라미터 추가
노드와 커넥션 사이의 간단한 관계에만 정의됨
multi-relational
knowledge graph: triplet으로 관계를 정의(entity - relation - entity)
KG completion: 잠재된 관계를 추론
transE
Head / reLation / Tail (hlt)
h+l = t를 학습하는 게 기본 아이디어
정답과 corrupted triplet을 만들어낸다
(a, r, b)라는 정답에 대해 (a', r, b) / (a, r, b')를 만들어낸다
head와 tail사이의 관계가 1:1대응밖에 안된다는 문제가 있다
그래서 나온 게 transR인데, 또이또이하고 잘 안되는 거 같다 -> complex
complexR
관계성 정보의 3가지 속성을 학습
Reflexibility, transivity, symmetricity
핵심 아이디어
특정 노드가 head일 때와 tail일 때의 벡터가 동일하지 않다!!
complex number로 학습을 한다
subject: a + bi, tail: a - bi
hermition dot product
negative sampling
여기서는 pairwise일 필요가 없어서
1:100 요런 식으로 벌크로 뽑아서 학습
negative sampling을 늘리면 정확도는 올라가지만, 시간이 좀 ...
이걸로 학습할 거임!!!!
Pytorch BigGraph
그래프가 효과적인 건 알겠는데 practically 쓸 수 있니?
어케 알고리즘을 대용량 처리에 갖다 박을 수 있을까?
하나의 소스 코드 내에 여러 알고리즘들이 다 있어서 취사 선택 가능
핵심 아이디어: 엣지 단위로 버킷 생성(파티셔닝). 그림 참조
샘플링 그럼 어떻게 할래?
학습 순서를 어떻게 할래?
Reactions are currently unavailable
You can’t perform that action at this time.
Graph representation learning
Feature learning
transE
complexR
Pytorch BigGraph