[논문리뷰] KGAT : Knowledge Graph Attention Network for Recommendation

조세은·2022년 10월 14일
0

논문리뷰

목록 보기
2/4

공부 목적으로 작성한 것임으로, 오류가 존재할 수 있다는 점을 말씀드리고 싶습니다

https://arxiv.org/pdf/1905.07854.pdf

정확하고 다양한 추천을 위해서는 attribute(속성, 부가적인 정보)가 필수적이다.
본 논문에서는 attribute를 연결함으로써 KG(Knowledge Graph)의 유용성을 연구하며 하이브리드 구조, 하나 이상의 아이템에 연결된 KG는 필수 요소라고 주장하며 KGAT(Knowledge Graph Attention Network)를 제안한다.
KGAT는 고차원 end-to-end 방식으로 모델링하며 이웃 노드로부터 임베딩을 재귀적으로 전파하여 임베딩을 세분화하고, 이웃 노드의 중요성을 식별하기 위해 어텐션(attention) 메커니즘을 사용한다.


u1 - 사용자, e1 - 배우, i1 - e1이 출연한 영화
u1, e1, i1 은 상호작용이 있다. CF(협업 필터링)은 i1, i1를 본 기록이 있는 u4, u5 사용자에 초점을 맞추고, SL(supervised learning, 지도 학습)은 e1, i2라는 attribute를 가진 아이템에 초점을 맞춘다.

두 가지 유형의 정보는 추천을 위해 상호 보완적이며 사용자와 아이템 간에 고차원 관계를 만든다.
하지만 기존의 방식은 노란색 원에 있는 같은 배우가 출연한 영화지만 다른 영화를 본 것과 회색 원에 있는 같은 배우가 출연한 영화를 고차원 연결성으로 고려하지 못한다.

이러한 한계를 해결하기 위해서, KG와 하이브리드 구조를 합쳐 협업 지식 그래프(CKG)를 사용한다. 위의 그림과 같이, 추천의 핵심은 CKG의 고차원 연결성을 활용해야한다. (고차원 연결성 - Ex) 장거리 연결)

노란색 원과 회색 원으로 가는 길이다.
고차원 정보를 활용하기 위해서는 사용자와 고차원 연결을 갖는 노드에 과적합되는 것과 고차원 연결은 불균등하게 기여함으로 안정적인 weight나 선택이 필요하다.

KG에 다소 노동 집약적일 수 있으며 명시적인 모델링이 없기에 고차원 연결이 포착되지 않는다는 보장도 없고 결과도 해석할 수 없다.

이런 기존의 한계를 고려해서, 본 논문은 KG의 고차원 정보를 효율적이며 명시적이고 end-to-end 방식으로 활용할 수 있는 모델을 개발해야한다고 생각했다.

고차원 연결의 문제를 해결하기 위해 두 가지 설계를 갖춘 지식 그래프 어텐션 네트워크(KGAT)를 제안한다.

1) 주변 노드의 임베딩을 기반으로 노트 임베딩을 업데이트하고 이런 임베딩을 고차원에 연결하여 반복적으로 수행한다.
2) Attention 기반으로 aggregation을 한다. 그러면 고차원에서 이웃 노드의 정보를 어느정도의 가중치로 가져올지를 정한다.

KGAT는 path 기반 방법보다 경로를 구체화해서 더 효율적이고 사용하기 편하다. 그리고 aggregation 기반 방법보다 고차원 연결을 직접 요인화함으로 파미미터를 최적화하기 유리하다.


사용자 - 아이템 bipartite graph 를 위의 수식과 같이 나타내며


위와 같이 정의한다. U와 I는 사용자와 아이템 집합을 나타내며, Yui = 1 은 사용자 u와 아이템 i 사이에 상호 작용이 있음을 나타내며 그렇지 않으면 Yui = 0 이다.

어텐션 (attention) 메커니즘
디코더에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더에서의 전체 입력 문장을 다시 한 번 참고한다. 단, 전체 입력 문장을 전부 다 동일한 비율로 참고하는 것이 아니라, 해당 시점에서 예측해야할 단어와 연관이 있는 입력 단어 부분을 좀 더 집중(attention)해서 본다.
profile
학부생 3학년

0개의 댓글