관계를 이동으로, TransE
지식 그래프에는 노드뿐 아니라 ‘수도이다’, ‘인수했다’ 같은 관계 타입이 있습니다. 관계 자체를 벡터로 만들어 트리플이 얼마나 그럴듯한지 점수를 매기는 TransE를 직접 계산해 봅니다.
이번 회차, 내 속도로.
기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 77로 돌아옵니다.
난이도·관심 주제 고르기
1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.
이렇게 다녀와요 1단계 · 약 12분
- 출발 · DAY 77TransE·h+r≈t
- 1. 관심 주제원-핫·밀집 벡터·코사인 유사도추가 31 · 새 추가 수업
- 복귀 · DAY 77원래 회차 이어가기
- 원-핫·밀집 벡터·코사인 유사도 · DAY 76에서 노드 임베딩이 가까운 노드를 가까운 벡터로 만든다고 했는데, 출발점인 원-핫 표현과 비교하면 임베딩이 왜 필요한지 분명해집니다.
선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.
핵심 개념
지식 그래프 임베딩은 트리플 (머리 h, 관계 r, 꼬리 t)의 엔티티와 관계를 모두 벡터로 만듭니다. TransE(Bordes et al. 2013)는 관계를 엔티티 벡터 위의 평행 이동(translation)으로 해석합니다. 참인 트리플이면 h + r ≈ t, 즉 t가 h+r에서 가장 가까운 이웃이어야 하고, 거짓 트리플이면 h+r이 t에서 멀어야 합니다. 거리 d(h+r, t)는 L1 또는 L2 노름을 쓰며, 이 과정에서는 점수를 −‖h+r−t‖로 적어 0에 가까울수록 그럴듯하다고 읽습니다.
학습은 마진 기반 순위 손실로 합니다. 학습 트리플마다 머리나 꼬리를 무작위 엔티티로 바꾼 ‘오염된 트리플(corrupted triplet)’을 만들고, 참 트리플의 거리가 오염된 트리플의 거리보다 마진 γ 이상 작아지도록 벡터를 조정합니다. 그 결과 관계 하나의 벡터, 예를 들어 ‘수도이다’ 벡터 r이 (서울, 한국)과 (도쿄, 일본)에서 같은 이동으로 작동합니다. 관계마다 벡터 하나만 두므로 매개변수가 적고 큰 그래프로 확장하기 쉽다는 것이 원 논문의 주장입니다.
약점은 관계의 대응 방식에서 드러납니다. 한 머리에 같은 관계로 꼬리가 여럿인 일대다(1-to-N) 관계에서는 h+r≈t₁과 h+r≈t₂를 함께 만족하려다 t₁과 t₂가 한 점 근처로 끌려옵니다. 원 논문도 관계를 1-to-1·1-to-Many·Many-to-1·Many-to-Many로 나눠 결과를 보고하며 ‘1’ 쪽 엔티티를 예측하기가 더 쉽다고 썼고, TransH(Wang et al. 2014)는 TransE가 반사·일대다·다대일·다대다 성질을 잘 다루지 못한다고 지적했습니다. 대칭 관계는 r≈0으로 학습되어 두 엔티티가 가까이 붙는데, RotatE(Sun et al. 2019)는 관계를 복소 공간의 회전으로 바꿔 대칭·역·합성 패턴을 다룹니다.
점수의 의미도 조심해야 합니다. −‖h+r−t‖가 0에 가깝다는 것은 학습된 기하 구조에서 그 트리플이 그럴듯하다는 뜻이지, 사실로 확인되었다는 뜻이 아닙니다. 그래서 임베딩 점수는 다음 회차의 링크 예측처럼 ‘검토할 후보의 순위’를 만드는 데 쓰고, 지식 그래프에 실제로 넣기 전에는 출처로 확인합니다.
작은 예제로 따라가기
2차원 예: 서울=(1,3), 도쿄=(2,1), 한국=(4,4), 일본=(5,2)이고 관계 ‘수도이다’ r=(3,1)로 둡니다.
서울+r=(4,4)는 한국까지 거리 0, 일본까지 √(1²+2²)≈2.24라 점수 0 대 −2.24로 한국을 예측합니다. 도쿄+r=(5,2)도 일본까지 0, 한국까지 ≈2.24로 일본을 예측합니다.
r을 (4,0)으로 잘못 두면 서울+r=(5,3)은 한국까지 √2≈1.41, 일본까지 1이 되어 일본을 예측합니다. 관계 벡터 하나가 모든 (수도, 국가) 쌍의 예측을 함께 좌우합니다.
직접 실험해 보기
r의 x·y 값을 움직여 서울+r과 도쿄+r이 각각 한국과 일본에 가장 가까워지는 위치를 찾고, 그때 두 트리플의 점수(−거리)와 최근접 예측을 기록하세요.
관계 벡터 r을 움직여 h + r ≈ t 맞추기
| 트리플 머리 | h + r | 점수: 한국 | 점수: 일본 | 최근접 예측 |
|---|---|---|---|---|
| 서울 | (3, 2) | -2.24 | -2.00 | 일본 ✗ |
| 도쿄 | (4, 0) | -4.00 | -2.24 | 일본 ✓ |
이번에는 직접 풀어 보세요
정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.
힌트 보기
한국+r은 한 점입니다. 서울과 부산은 서로 다른 점입니다.
풀이와 비교하기
r=(−3,−1)이면 한국+r=(1,3)이라 서울까지 0, 부산까지 √(4+4)=√8≈2.83입니다. r=(−2,−2)면 (2,2)라 서울·부산 모두 √2≈1.41입니다. 한국+r은 한 점이어서 서로 다른 두 점과 동시에 거리 0일 수 없습니다. 학습은 거리 합을 줄이려고 서울과 부산 벡터를 서로 가깝게 끌어당기며, 이것이 일대다 관계의 약점입니다.
풀이와 확인 표시는 이 브라우저에 저장됩니다.
오늘 이해한 것과 다시 볼 것
계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.
메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.오늘의 이해 확인
TransE에서 한 국가 h에 ‘도시를 포함한다’ 관계로 꼬리 도시가 여럿 있을 때 생기는 문제는?
완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1
더 깊이 읽기
예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.
Translating Embeddings for Modeling Multi-relational DataBordes et al. (2013)Knowledge Graph Embedding by Translating on HyperplanesWang et al. (2014)RotatE: Knowledge Graph Embedding by Relational Rotation in Complex SpaceSun et al. (2019)이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.