issues
search
vienna-project
/
graph-ml-tutorials
For Study, For Experiments
0
stars
2
forks
source link
Graph model 정리
#2
Open
dane805
opened
4 years ago
dane805
commented
4 years ago
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 쓸 수 있니?
어케 알고리즘을 대용량 처리에 갖다 박을 수 있을까?
하나의 소스 코드 내에 여러 알고리즘들이 다 있어서 취사 선택 가능
핵심 아이디어: 엣지 단위로 버킷 생성(파티셔닝). 그림 참조
샘플링 그럼 어떻게 할래?
학습 순서를 어떻게 할래?
Graph representation learning
Feature learning
transE
complexR
Pytorch BigGraph