여러 관계 타입을 가진 그래프
예시)
<aside> 💡
Q. 다수의 edge/relation 타입을 갖는 heterogeneous graph를 GCN으로 어떻게 handle 할까?
</aside>
relation 타입이 다를 경우, 다른 가중치를 적용
limitation: relation 타입마다 matrix를 생성하게 되므로 파라미터가 비대 ⇒ solution: (1) block diagonal matrices (2) Basis/Dictionary learning
(1) block diagonal matrices block diagonal matrix 형태의 ****가중치 matrix를 이용 ⇒ B개의 block을 사용한다고 하면, 각 레이어 당 파라미터 수는 1/B 배로 감소
(2) Basis/Dictionary learning relation 마다 basis matrix를 계산하고, basis matrix를 모든 relation들이 공유 ⇒ relation들이 가중치를 공유 & basis matrix 에 대한 가중치만 학습하면 됨
링크 예측 예시
Problem: link prediction between $A \& E$
Setting: 엣지를 4 분류로 나눔
Training
Assumption: 위 그래프에서 $(E, r_3, A)$를 training supervision edges로, 나머지는 training message edges라고 가정
Goal: $(E, r_3, A)$에 대한 점수를 구하는 것
Process
Step 1. $E, A$에 대한 최종 임베딩 벡터 $h_E^{(L)}, h_A^{(L)}$ 계산
Step 2. 두 벡터를 이용하여 relation에 점수를 매기는 함수 $f_r$을 정의
Step 3. 다음을 계산 $f_{r_3}(h_E, h_A) = h^T_{E}W_{r_3}h_A$
Step 4. $(E, r_3, A)$에 대해, tail을 바꾸어 실제 그래프에 존재하지 않는 네거티브 엣지$(E, r_3, B), (E, r_3, D)$를 생성 Step 5. 네거티브 엣지에 대한 점수를 계산
Step 6. 크로스 엔트로피를 이용해 training supervision edges 대한 점수는 최대화, 네거티브 엣지에 대한 점수는 최소화하는 방향으로 학습
Evaluation
$(E, r_3,D)$에 대해 validation을 수행하는 경우,
Step 1. $(E, r_3,D)$에 대한 점수를 구함
Step 2. 모든 네거티브 엣지 $(E,r_3, B), (E,r_3, F)$ 에 대한 점수를 구함 $(E,r_3, A), (E,r_3, C)$ 는 각각 training supervision edge & training message edge
Step 3. $(E, r_3,D)$의 순위 RK를 계산
Step 4. 다음 metric을 계산
training message edge나 training supervision edge에 없는 node들(ex. $(E,r_3, B)$) 보다 $(E, r_3,D)$의 점수가 높은 것이 좋음
Q. Knowledge Graph에서 각 node는 구체적으로 어떻게 임베딩 하는지?
지식그래프는 heterogenous graph의 일종으로, 엔티티, 타입, 관계를 표현한 형태
Node types: paper, title, author, conference, year Relation types: pubWhere, pubYear, hasTitle, hasAuthor, cite