AI VIDEO BRIEFING
TransE와 DistMult 논문 정리 - 지식그래프 임베딩의 두 원형과 각 모델의 사각지대
서울대 DSBA 연구실 스터디에서 지식그래프 임베딩의 출발점인 TransE와 DistMult 논문을 정리했습니다. 관계를 덧셈으로 볼지 곱셈으로 볼지에 따라 표현 가능한 관계 자체가 달라지는 이유를 짚습니다.

핵심 메시지
쉽게 이해하기
서울대학교 산업공학과 DSBA 연구실의 온톨로지·지식그래프 스터디 6주차 발표로, 사람이 온톨로지를 설계하고 평가하는 단계에서 기계가 표현을 학습하는 단계로 넘어가는 첫 시간입니다. 발표자는 온톨로지를 데이터의 의미를 정의한 설계도로, 지식그래프를 그 위에 구체적인 개체와 관계를 얹은 구현체로 구분합니다. 이날 다루는 임베딩은 모두 스키마가 아니라 개체 수준의 트리플을 입력으로 받는다는 점이 이 구분이 중요한 이유입니다.
임베딩이 필요한 이유는 기호 기반 접근의 한계에서 나옵니다. 규칙과 논리로 명시된 것만 연역할 수 있다면 미리 정해두지 않은 사실은 끝내 도출되지 않는데, 지식그래프는 방대한 지식을 담으면서도 참이지만 기록되지 않은 트리플을 대량으로 남겨 둡니다. 임베딩은 개체와 관계를 실수 벡터 공간에 올리고 점수 함수로 타당성을 계산해, 관측되지 않은 조합에도 순위를 매겨 누락된 사실을 예측합니다. 두 논문은 이 위에서 사실상 같은 실험 틀을 씁니다. 과제는 트리플에서 머리나 꼬리 한쪽을 가린 뒤 어떤 후보가 적절한지 순위를 매기는 링크 예측이고, 학습은 한쪽만 무작위 개체로 바꿔 오답을 만드는 네거티브 샘플링, 평가는 평균 순위와 Hits@10을 씁니다.
TransE의 질문은 왜 관계를 벡터의 덧셈으로 보면 안 되느냐입니다. 당시 RESCAL이나 SE, LFM 계열은 관계마다 행렬을 두어 관계 수에 따라 파라미터가 제곱으로 늘었는데, 관계가 1,345개인 FB15k만 해도 제곱하면 180만 개 규모가 됩니다. TransE는 개체와 관계를 같은 공간에 두고 머리 벡터에 관계 벡터를 더하면 꼬리 벡터에 가까워지도록 학습하는 방식으로, 관계당 벡터 하나만 쓰면서도 RESCAL의 44.1%를 넘는 47.1%를 기록했고 파라미터 차이는 100배가 넘었습니다.
발표자가 이 논문에서 가장 중요하다고 꼽은 표는 성능표가 아니라 약점을 드러낸 표입니다. 일대다 관계에서 다수 쪽을 예측하는 정확도가 19.7%에 그친 반면 반대 방향은 66.7%로 세 배 넘게 차이가 났는데, 원인은 학습 부족이 아니라 번역이라는 가정 자체에 있습니다. 한 감독의 여러 영화가 모두 같은 덧셈 결과를 만족해야 하므로 서로 다른 영화들이 벡터 공간에서 한 점으로 모여야 하고, 대칭 관계에서는 관계 벡터가 0이 되어야 해 아예 학습이 불가능합니다.
DistMult는 2014~2015년의 회의적인 분위기, 즉 복잡한 모델이 정말 더 나은가라는 질문에서 출발합니다. 기존 비교는 관계 연산자와 개체 표현 초기화를 동시에 바꿔 성능 차이의 원인을 귀속할 수 없었기에, 이 논문은 손실 함수와 마진, 네거티브 개수, 개체 벡터 정규화를 모두 고정하고 점수 함수만 바꿉니다. 실제로 TransE를 AdaGrad로 다시 학습하자 FB15k 성적이 47.1%에서 53.9%로 올라, 기존 격차의 일부가 최적화 설정 탓이었음을 스스로 밝힙니다. 그 결과는 복잡도 순으로 정렬한 표가 거꾸로 뒤집히는 그림이었습니다. 텐서 슬라이스를 쓰는 NTN이 MRR 0.25와 Hits 41.4로 가장 낮았고, 대각 행렬만 쓰는 가장 단순한 DistMult가 0.35와 57.7로 가장 높았습니다. 여기에 학습된 관계 임베딩의 원소별 곱으로 경로를 합성해 사람이 읽을 수 있는 규칙 후보까지 뽑아냈습니다.
주요 인사이트
- 좋은 논문의 조건은 성능표가 아니라 한계를 명확히 규정하는 데 있다. TransE가 일대다와 대칭 관계를 못 다룬다고 스스로 못 박았기 때문에 TransH, TransR, TransD 같은 후속 연구의 문제 정의가 곧바로 도출됐다.
- 표현 공간이 같아도 점수 함수의 연산이 다르면 표현할 수 있는 관계의 성질 자체가 달라진다. 대칭이나 역관계가 많은 도메인이라면 번역 계열의 가정 자체가 불리하다는 것이 모델 선택의 실질적 기준이 된다.
- DistMult는 자기 모델을 자랑하기 전에 경쟁 모델을 제대로 튜닝해 점수를 올려놓고 시작한다. 공정한 비교를 위해 최적화와 초기화를 통제하는 이 태도 자체가 이 논문의 기여 중 하나다.
- FB15k 개체의 73% 이상이 인명, 지명, 조직명, 영화명 같은 고유명사여서 word2vec 벡터로 초기화하면 오히려 성능이 떨어졌다. 사전학습 표현이 항상 이득은 아니라는 반례다.
- TransE는 대칭을 표현하지 못하고 DistMult는 대칭만 표현한다. 정확히 반대인 두 사각지대를 동시에 메우려는 시도가 복소수 공간을 쓰는 ComplEx와 RotatE로 이어졌고, 무엇을 표현할 수 없는가가 다음 모델의 설계도가 된다는 패턴이 이 계보 전체를 관통한다.
자주 묻는 질문
온톨로지와 지식그래프는 어떻게 다른가요?
온톨로지는 개념과 관계, 규칙을 명시적으로 정의한 설계도입니다. 고객은 주문을 생성하고 주문은 상품을 포함한다는 식의 클래스 수준 문장이 여기에 해당합니다. 지식그래프는 그 위에 구체적인 개체와 관계를 노드와 엣지로 얹은 구현체입니다. 다만 지식그래프가 반드시 온톨로지를 기반으로 만들어지는 것은 아니고, 모든 온톨로지가 인스턴스화되는 것도 아닙니다.
TransE가 파라미터를 크게 줄일 수 있었던 이유는 무엇인가요?
이전 모델들은 관계마다 행렬이나 텐서를 학습했기 때문에 관계 수가 늘면 파라미터가 제곱이나 세제곱으로 늘었습니다. TransE는 관계를 행렬 변환이 아니라 벡터 공간에서의 평행 이동으로 보고 관계당 벡터 하나만 둡니다. 그 결과 파라미터가 차원 수에 비례해서만 늘어나며, 100만 개체 규모에서도 학습이 돌아갔습니다.
개체 벡터를 매번 정규화하는 이유가 있나요?
정규화가 없으면 모델이 벡터 크기를 무한히 키워 손실을 낮추는 방향으로 붕괴합니다. 손실 함수를 속이는 가장 쉬운 경로를 모델이 먼저 찾아내기 때문에, TransE는 매 학습 단계마다 개체 벡터를 단위 길이로 다시 맞춥니다. 관계 벡터에는 이 제약을 걸지 않습니다.
임베딩에서 사람이 읽을 수 있는 규칙을 어떻게 꺼내나요?
DistMult는 관계를 함수로 보면 관계를 이어 붙이는 것이 곱셈이 된다는 점을 이용합니다. 대각 행렬이므로 원소별 곱이 되고, 길이 2~3의 경로를 후보로 만들어 합성 임베딩과 목표 관계 임베딩의 거리로 순위를 매깁니다. 태어난 도시와 도시가 속한 국가를 합성한 것이 국적 관계와 가깝다면 그것이 규칙 후보가 됩니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗