1. Heterogeneous Graphs and Relational GCN
1. 1. Relational GCN
•
다양한 edge의 종류를 갖는 heterogeneous graph
•
KG는 heterogeneous graph의 일종으로 볼 수 있음
•
RGCN에서는 관계의 종류마다 다른 MLP를 가짐
•
너무 많은 수의 parameter가 생기는 문제 발생
1. 2. RGCN: Scalability
•
Block Diagonal Matrices
•
블록화 시켜서 계산
•
관계가 끊기는 node가 있지만 오히려 더 generalize될 수도
•
Basis Learning
•
관계끼리 weight를 share하되, importance weight term 추가
1. 3. RGCN for Link Prediction
•
4개의 edge로 분리하여 학습 시킴
•
지지난번 강의에 train/validation/test의 역할을 나눈 slide가 있었는데, 그 자료로 유추해보면 train 단계에서 GNN의 weight를 다 학습하기 위해 저렇게 나누는 것 같음
•
마치 validation 하듯 train supervision 진행
•
negative edge 활용 (corruption)
2. Knowledge Graphs: KG Completion with Embeddings
2. 1. Knowledge Graphs
•
간단히 말하면 edge의 종류가 있으면 다 knowledge graph로 취급할 수 있는듯?
•
Knowledge가 있는 graph (상관관계가 안 밝혀진 node끼리는 edge가 아직 없음)
2. 2. Problem in Knowledge Graph Datasets
•
Missing link가 있는 것이 가장 큰 문제
•
Missing 비율이 생각보다 높은 듯
3. Knowledge Graph Completion TransE, TransR, DistMul, ComplEx
3. 1. Relation Patterns
•
저런 식의 missing edge를 찾는 문제를 풀어야 함
•
h, r, t로 구분하여 학습
•
총 4가지의 관계를 정의
3. 2. TransE
•
node2vec 같은 느낌
•
여기까지는 가능
•
이건 불가능
3. 3. TransR
•
Mapping 들어간 TransE
•
강의에서는 composition 안된다고 했던 것 같은데, 어떻게 잘 하면 되는 것으로 슬라이드에는 나옴
3. 4. DistMul
•
간단하게 내적으로 관계를 확인해볼 생각
•
상수로 나오는거 아닌가? element wise?
•
이거까진 됨
•
이거는 안됨
3. 5. ComplEx
•
복소수를 활용하겠다
•
DisitMul이랑 같은데 복소수 활용
•
여기까진 가능
•
이건 불가능
•
TransR 사용하면 좋음