Topic

ComplEx

JackerLab 2025. 6. 19. 02:41
728x90
반응형

개요

지식 그래프(Knowledge Graph)는 개체와 관계를 구조화한 정보 네트워크로, AI 응용에서 중요한 기반이 됩니다. 이 중 ComplEx(Complex Embedding) 모델은 기존 내적 기반 임베딩 모델의 한계였던 비대칭 관계(asymmetric relations) 표현을 가능하게 한 강력한 알고리즘입니다. 복소수(complex number) 공간을 활용하여 다양한 관계 구조를 효과적으로 모델링할 수 있는 ComplEx는 트리플 기반 표현 학습의 중요한 진화를 보여줍니다.


1. 개념 및 정의

ComplEx는 개체(entity)와 관계(relation)를 복소수 벡터(complex vector)로 임베딩하여, 실수/허수 성분을 모두 반영하는 내적 기반 score function을 통해 트리플의 정당성을 평가하는 기법입니다.

  • 트리플 형태: (h, r, t) → head, relation, tail
  • 복소수 벡터 구성: 각 임베딩은 실수부 + 허수부로 구성됨 (예: h = a + bi)
  • 목적: 비대칭 관계도 score(h, r, t) ≠ score(t, r, h)가 되도록 표현 가능

2. 특징

항목 설명 ComplEx의 특성
임베딩 공간 복소수 공간 실수 + 허수 표현 가능
점수 함수 실수부만 추출한 삼중 내적 Re(h ⊙ r ⊙ conjugate(t))
비대칭 관계 표현 가능 TransE/DistMult는 어려움
계산 효율 복잡도는 DistMult 수준 실무 적용 가능

※ conjugate(t): 벡터 t의 허수부를 부호 반전한 벡터입니다.


3. 구성 요소 및 수식

구성 요소 설명 예시
Head Vector (h) 개체 A의 복소 벡터 ‘BarackObama’
Relation Vector (r) 관계 벡터 (복소수) ‘presidentOf’
Tail Vector (t) 개체 B의 복소 벡터 ‘USA’
점수 함수 실수부만 계산 Re(h ⊙ r ⊙ conj(t)) 합산
손실 함수 margin ranking 또는 BCE 양/음성 트리플 구분 학습

4. 기술 요소

기술 요소 설명 도구 예시
복소수 계산 지원 실수부/허수부 분리 구현 파이썬 complex 또는 2배 벡터
Negative Sampling 가짜 트리플로 학습 안정화 (h, r, t') or (h', r, t)
정규화 벡터 L2 norm 제한 폭주 방지, 과적합 방지
프레임워크 다양한 구현 지원 PyKEEN, DGL-KE, OpenKE 등

5. 장점 및 한계

구분 장점 한계
비대칭 관계 표현 presidentOf, parentOf 등 가능 TransE/DistMult는 어려움
계산 효율성 DistMult 수준으로 간단 GPU 병렬화 가능
표현 유연성 실수+허수로 정보 확장 직관적 해석은 어려움
구조 제한 적음 대칭·비대칭 모두 표현 가능 복소수 연산에 대한 이해 필요

6. 활용 사례 및 고려사항

사례 설명 포인트
관계 추론 비대칭 관계가 많은 그래프 국가-정치인, 부모-자식 관계
시맨틱 검색 문서-질문 간 관계 방향성 고려 벡터 방향성 내재화
추천 시스템 유저-아이템 비대칭 선호 반영 복잡한 선호 구조 학습 가능

고려사항:

  • 복소수 연산 구현 여부 및 프레임워크 지원 여부 고려 필요
  • 시각화/설명력은 낮지만, 성능 측면에서는 강력함
  • 벡터 차원 수, 정규화, 손실 함수 튜닝이 중요

7. 결론

ComplEx는 복소수 벡터 공간을 활용하여 비대칭 관계 표현 문제를 해결한 지식 그래프 임베딩 기법입니다. 구조적으로 단순한 모델이지만 성능은 매우 강력하며, TransE, DistMult보다 다양한 관계 구조를 표현할 수 있다는 점에서 실용성과 확장성이 뛰어납니다. 특히 방향성 있는 관계가 중요한 도메인에서는 ComplEx가 탁월한 선택이 될 수 있습니다.

728x90
반응형

'Topic' 카테고리의 다른 글

Chain-of-Density Prompting  (1) 2025.06.19
RotatE  (3) 2025.06.19
DistMult  (1) 2025.06.19
TransE  (1) 2025.06.18
Knowledge-Graph Embedding  (0) 2025.06.18