개발 스터디 랩장님이 발표해 주신 논문인데, 현업에서도 유용하게 쓰일 알고리즘인 것 같아서 다시 정리해본다.
https://arxiv.org/abs/2106.10879
DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation
Heterogeneous information network has been widely used to alleviate sparsity and cold start problems in recommender systems since it can model rich context information in user-item interactions. Graph neural network is able to encode this rich context info
arxiv.org
ABSTRACT
- 기존 추천 시스템의 sparsity 및 콜드 스타트 문제를 해결하기 위해 HIN (Heterogeneous information network) 이 사용되었음
- GNN 은 user-item 간 복잡한 문맥 정보를 전파하여 학습하는 데 효과적임
- 그러나, 기존 HIN 기반 GNN 모델은 다양한 관점에서 비롯된 잠재 요인들이 얽혀있음을 고려하지 않음
- Meta Path를 단순 연결 정보로만 처리하기 때문에, 그 경로들이 담고 있는 풍부한 의미적 정보들은 간과하고 있음
- 위와같은 이유로, 본 논문은 DisenHAN이라는 새로운 모델을 제안
- DisenHAN은 disentangled user/item의 Meta Relation을 학습
- Meta Relation을 활용하여 고차 연결을 세분화하고, 주요 의미 측면을 식별하는 임베딩 전파 층을 구성
- 다층 임베딩 전파를 통해 협업 필터링 효과를 의미적, 명시적으로 포착
- SOTA에서 성능 및 해석력 모두 기존 모델보다 우수
INTRODUCTION
- 추천 시스템은 사용자의 개인화된 취향을 반영해 콘텐츠를 제공하는 핵심 기술
- 기존 CF(Collaborative filtering)은 행동 유사성 (과거에 비슷한 선택을 한 사용자들은 미래에도 비슷한 취향을 가질것이다) 을 활용하지만, 데이터가 부족할 경우 성능이 급격히 저하
- 이를 보완하기 위해 user-item 이외의 상호 작용 정보를 활용하여 user와 item의 풍부한 특징을 활용하여 맥락 정보를 통합하려는 방식들이 등장. 이를 대표하는 알고리즘인 HIN은 다음과 같은 한계가 있음
- latent entangled 로 해석이 어려움
- meta path를 단순한 연결 경로로 취급
- 결과적으로 non-robustness하며, 해석력 부족
- 이에따라 DisenHAN은 각 관계가 가지는 의미적 영향력을 분리하여 학습하는 GNN 구조를 제안
CONTRIBUTION
· HIN 상에서 다양한 aspect 를 고려한 disentangled 표현 방법을 제안
· 노드 pair 간의 major aspect를 반복적으로 식별하고, 그에 해당하는 정보를 의미적으로 전파할 수 있는 disentangled embedding propagation layer를 제안하며, meta path를 자동으로 추출함으로써 모델의 실용도를 높임
· 성능도 좋고 해석력도 뛰어남
PROBLEM DEFINITION
1) HIN의 정의
- 이질 정보 네트워크는 서로 다른 노드 타입과 관계 타입을 갖는 그래프이며 다음과 같이 정의함
![]() |
그래프 정의 ![]() - 노드 ∈ 노드 집합 ![]() - 엣지 ∈ 엣지 집합 |
![]() |
각 노드를 노드 타입 A로 매핑하는 함수![]() |
![]() |
각 엣지를 관계 타입 R로 매핑하는 함수![]() |
![]() |
HIN은 두 개 이상의 노드 타입 또는 관계 타입을 포함할 때 정의 됨 |
2) Meta Path
- 여러 노드 타입과 관계 타입으로 구성된 경로
- 이는 복합 관계를 형성하며 두 노드간의 의미적 연관성을 표현
- Meta Path를 정의하기 위해선, 도메인 지식이 필요하고 개수가 많아지면 효율적으로 사용하기 어려움
3) Meta Relation
- 하나의 메타 관게는 다음과 같이 정의
- 각 메타는 단일 관계의 의미 정보를 가지며, DisenHAN은 이를 자동으로 결합하여 적절한 Meta Path를 구성
4) 문제 정의
목표는 사용자 u와 아이템 v간 잠재적 상호작용을 예측하는 것
![]() |
User |
![]() |
Item |
![]() |
상호작용 행렬![]() |
![]() |
목표 함수이며 각 notation은 다음과 같음![]() - 예측된 사용자 u가 아이템 v에 관심을 가질 확률 ![]() - DisenHAN 모델의 예측 함수 ![]() 모델의 파라미터 ![]() - HIN 그래프 |
THE PROPOSED MODEL
- DisenHAN의 기본 아이디어는 HIN의 다양한 meta relation로부터 다양한 aspect 을 학습하는 것
- 주요 구조는 다음과 같은 세 단계로 구성됨
- Disentangled Content Transformation: 노드의 원래 특성을 다양한 의미 공간으로 투영
- Disentangled Propagation Layer: 각 메타 관계가 반영하는 주된 의미를 식별하고, 해당 정보만 전파
- Aspect-aware Aggregation: 각 의미별 표현을 통합하여 사용자-아이템의 유사도 계산
1) Disentangled Content Transformation
- 서로 다른 타입의 노드는 서로 다른 특성 공간을 가지므로, 타입별로 독립적인 임베딩 변환을 수행
![]() |
![]() |
2) Disentangled Propagation Layer
- 전체 프로세스는 EM 알고리즘처럼 반복적으로 실행되며 수렴하며, 각 반복마다 attention 가중치와 표현이 갱신
Intra-relation Aggregation | |
![]() |
![]() |
![]() |
![]() ![]() |
![]() |
소프트맥스를 통한 attention 가중치 계산 |
![]() |
여러 메타 관계로 부터 의미별 이웃 정보 집계 |
Inter-relation Aggregation (각 메타 관계가 어떤 의미 k에 해당하는지 결정짓는 semantic attention 학습) | |
![]() |
![]() |
![]() |
softmax 정규화 |
![]() |
![]() ** 마지막은 정규화를 통하여 임베딩 벡터 크기 조정 |
4) Recommendation
- 모든 의미별 임베딩을 통합하여 내적을 통해 최종 사용자-아이템 매칭 점수를 계산
5) Training
> Loss Function
- Y+: 실제 상호작용 존재하는 쌍
- : negative sampling으로 생성된 무작위 쌍
6) Analysis of DisenHAN
- DisenHAN의 의미 분리 과정은 Expectation-Maximization (EM) 알고리즘과 유사
- E-step: 의미별 가중치 계산
- M-step: 중심 임베딩 업데이트
- 이를 통해 각 메타 관계가 반영하는 의미적 측면을 자동 학습하고, 수렴성과 해석 가능성 확보
EXPERIMENTS
DisenHAN 모델의 효과성을 평가하기 위한 실험을 제시하며, 3가지 연구 질문에 답하는 것을 목표로 함
- RQ1: DisenHAN은 기존 최신 추천 모델들과 비교하여 어떤 성능을 보이는가? 또한 콜드 스타트(cold-start) 문제를 완화할 수 있는 가능성이 있는가?
- RQ2: DisenHAN의 핵심 구성 요소들, 예를 들어, disentangled representation, meta relation aspect weight iterative calculation 이 반드시 필요한가? DisenHAN의 하이퍼파라미터는 추천 성능에 어떤 영향을 미치는가?
- RQ3: DisenHAN은 HIN 내 메타 관계들의 다양한 의미를 해석해낼 수 있는가?
> 실험 설정
1) Dataset
2) 성능 지표
- Recall@N: N개 추천 중 실제 상호작용이 포함된 비율
- NDCG@N (Normalized Discounted Cumulative Gain): 순위가 고려된 성능
- Precision@N: 추천 결과의 정확도
3) 비교 모델
Model | 분류 | 정의 | 특징 |
BPR-MF [23] | 행렬 기반 모델 | Bayesian Personalized Ranking을 기반으로 한 행렬 분해 모델 |
사용자-아이템 암묵 피드백 직접 학습, 간단하고 효율적 |
NeuMF [12] | 행렬 기반 모델 | 행렬 분해(MF)의 선형성과 DNN의 비선형성을 결합한 추천 모델 |
깊은 표현력, 하이브리드 구조 |
FMGrank [43] | HIN 기반 모델 | 메타그래프 기반 행렬 분해 + Factorization Machine |
HIN 기반 구조, BPR로 목표 함수 수정 |
MCRec [14] | HIN 기반 모델 | 메타 경로 기반 문맥 정보 + Co-attention 메커니즘 |
다양한 관계의 의미적 문맥 반영 |
NeuACF [10] | HIN 기반 모델 | 사용자와 아이템의 다양한 측면을 DNN으로 모델링 |
다중 의미적 특성 고려 |
GC-MC [30] | GNN 기반 모델 | GCN 인코더로 사용자-아이템 이분 그래프 학습 | 1-hop 이웃 정보 사용 |
NGCF [37] | GNN 기반 모델 | 고차 이웃 정보를 활용하는 GCN 기반 추천 모델 | Embedding Propagation 구조 |
HAN [38] | GNN 기반 모델 | 다양한 메타 경로 기반 attention을 적용한 HIN GNN |
메타 경로 별 attention, Top-N용으로 수정됨 |
RQ1: DisenHAN은 기존 최신 추천 모델들과 비교하여 어떤 성능을 보이는가? 또한 콜드 스타트(cold-start) 문제를 완화할 수 있는 가능성이 있는가?
- 정량적 비교 결과는 모두 SOTA를 능가
- GNN기반인 HAN, NGCF 보다 높은 정량적 지표를 보이며
- 특히 disentanglement를 통해 더 해석력 있음
모델 종류 |
Model | 장점 | 한계 |
HIN 기반 | FMGrank, MCRec, NeuACF | 메타 경로를 이용한 의미적 관계 모델링 | CF 신호 부족, 고차 연결성 반영 어려움, 도메인 지식 의존 |
GNN 기반 | GC-MC, NGCF, HAN | 정보 전파로 고차 이웃 관계 활용 | 일부는 의미 관계 반영 부족 (e.g., NGCF), GC-MC는 1-hop 제한 |
DisenHAN | 제안 모델 | 다층 의미 분리 전파, 메타 관계 해석력, 최고 성능 | - 없음 (모든 측면에서 우수 |
RQ2: DisenHAN의 핵심 구성 요소들, 예를 들어, disentangled representation, meta relation aspect weight iterative calculation 이 반드시 필요한가? DisenHAN의 하이퍼파라미터는 추천 성능에 어떤 영향을 미치는가?
> Aspect 수
- Aspect가 1이면 일반 HIN-GNN처럼 작동 → 성능 낮음
- Aspect 수를 늘릴수록 성능 개선, 5개일 때 최적
- 너무 많으면 복잡도만 증가하고 성능 향상은 미미
> Iteration
- 반복 횟수가 많을수록 성능 향상, 5회 정도에서 안정화
- 과도한 반복은 효과 없음 → 비교적 민감도 낮음
> Propagation Layer
- 2-Layer일 때 가장 좋은 성능
- 3-Layer 이상은 오히려 과적합 위험 또는 효과 미미
RQ3: DisenHAN은 HIN 내 메타 관계들의 다양한 의미를 해석해낼 수 있는가?
- 높은 성능 뿐 아니라, 학습된 임베딩이 의미적으로도 해석이 가능함.
> Figure 6 : 메타 관계 별 주요 Aspect 분석
: Amazon 데이터셋을 기반으로, 각 meta relation이 어떤 aspect에 해당하는지를 시각적으로 분석
- 예를 들어, 사용자-아이템 상호작용은 Layer-1의 Aspect A1과 강하게 연결됨
- 아이템의 브랜드, 카테고리, 사용자 연결 정보는 Layer-2의 A2, A3, A4와 각각 대응됨
- 이를 통해 DisenHAN은 각 관계가 가진 의미적 역할을 자동으로 구분할 수 있음을 보여줌
> Figure 7 : 임베딩 시각화 비교 (DisenHAN vs NGCF)
: 임베딩의 품질을 직관적으로 확인하기 위해, Amazon 데이터셋에서 사용자 6명을 무작위로 선택하고 관련 없는 아이템들과 함께 임베딩을 시각화
- NGCF는 모든 노드들이 얽혀 있는 혼잡한 구조
- DisenHAN은 사용자와 아이템이 명확히 분리된 클러스터를 형성하며, 각 사용자 주변 아이템들도 잘 군집화됨
- 이는 DisenHAN의 의미 분리 구조가 표현 학습에 실질적인 기여를 한다는 정성적 근거가 됨
CONCLUSTION
> DisenHAN의 주요 특징
- meta relation을 기반으로 HIN의 high-order connectivity를 세분화
- 각 관계에서 발생하는 의미적 흐름을 분석하여, 다양한 aspect로 표현을 분리하고 집계
- 이 과정을 통해 의미 있는 meta path 를 자동으로 학습하며, 표현력과 해석력을 동시에 확보
FUTURE WORK
- DisenHAN을 시간적 상호작용을 포함하는 그래프 확장하여, 동적인 관계도 포착할 수 있도록 연구
- 추천 시스템을 넘어, 노드 분류, 클러스터링 등 일반적인 기계학습 태스크로의 확장도 고려
'AI > DeepLearning' 카테고리의 다른 글
Shapley Value 실습 1 (에러 원인과 해결 방안) (1) | 2025.05.03 |
---|---|
Inductive vs Transductive (1) | 2025.04.17 |
[핵심 머신러닝] Shapley Value (Explainable AI) (0) | 2025.04.13 |
Clustering 평가 방법 (0) | 2024.07.09 |
[Pytorch] Seq2Seq Transformer 실습 (2) | 2024.02.04 |