TL;DR
이 글은 일반적인 vector store가 유사도 검색에는 적합하지만 주어·관계·목적어 질의와 시간에 따른 사실의 노후화를 처리하기 어렵다는 문제에서 출발해 FHRR 기반 고정 크기 메모리 라이브러리를 구현한 기록입니다. FHRR는 각 기호를 복소수 단위 phasor로 바꾸고 원소별 곱으로 triple을 결합한 뒤, 여러 사실을 하나의 trace에 합산하며, 질의 때 켤레 곱으로 필요한 항목을 복원합니다. 작성자는 d와 N을 바꾼 12회 반복 벤치마크에서 top-1 recall이 대략 N=d/4 부근에서 50%를 넘나들고, d=2048에서 N=300일 때 top-1 recall 0.782를 측정했습니다. 절대 margin 0.10 대신 z-score 4를 임계값으로 사용하면 답변 범위를 줄이는 대신 gated precision을 높일 수 있으며, d=2048에서 수백 개 사실을 저장할 때 98% precision과 40% coverage를 시작점으로 삼았습니다. 이 trace는 hosted model에 직접 전달하는 벡터가 아니라, 시간 감쇠와 모순 반영을 거친 사실 중 토큰을 쓸 가치가 있는 항목을 고르는 보조 계층입니다.
실용적 조언
- 고정 크기 trace를 사용할 때는 d/4를 보장된 용량으로 간주하지 말고, 실제 triple 분포와 질의 조건을 포함한 자체 capacity sweep으로 N을 정해야 합니다.
- 절대 margin 임계값은 trace가 커질수록 점수 축소를 따라가지 못하므로, 경쟁 후보 점수의 평균과 표준편차를 이용한 z-score gate를 검증해야 합니다.
- trace는 원본 사실 목록을 대체하지 않는 계산된 view로 유지하고, 모순 감쇠와 시간 감쇠를 적용하더라도 plain fact list를 복구 기준으로 보존해야 합니다.
- hosted model에는 vector trace를 직접 보낼 수 없으므로, 메모리 계층의 출력은 신뢰도 기준을 통과한 소수의 사실을 token context로 직렬화하는 단계까지 설계해야 합니다.
섹션별 상세
bind(a, b) = a * b elementwise
phases ADD
unbind(c, b) = c * conj(b)
phases SUBTRACT
exact inverse
T = sum_i w_i * bind(S_i, R_i, O_i)
one vector, always
unbind(T, bind(S, R)) ~= O + noise
the queryFHRR가 위상 덧셈으로 주어·관계·목적어를 결합하고, 켤레 곱으로 질의에 필요한 성분을 되찾는 핵심 연산입니다.

z = (top - others.mean()) / others.std()
answer if z >= 4 else stay silent절대 점수 차이가 아니라 경쟁 잡음의 표준편차로 정규화한 z-score를 사용해 답변 여부를 결정하는 게이트입니다.
pip install numpy
python bench_capacity.py --quicknumpy 의존성을 설치한 뒤 빠른 용량 벤치마크를 실행하는 재현 명령입니다.
용어 해설
- FHRR
- — FHRR는 복소수 벡터의 위상 정보를 이용하는 Frequency-Holographic Reduced Representation입니다. 각 기호를 단위 phasor로 바꾸고 원소별 곱으로 관계를 결합하며, 켤레 곱으로 관계를 되돌립니다. 여러 사실을 고정 크기 trace에 겹쳐 저장할 수 있지만, 사실 수가 차원에 비해 커지면 cross-talk noise가 증가합니다.
- 벡터 상징 아키텍처(VSA)
- — VSA는 기호를 고차원 벡터로 표현하고 binding과 superposition 연산으로 구조화된 정보를 저장하는 계열입니다. 이 글의 FHRR는 주파수 영역에서 복소수 위상을 사용하며, 주어·관계·목적어를 결합한 벡터들을 하나의 trace에 합산합니다. 저장 공간을 고정할 수 있지만 용량과 검색 신뢰도 사이의 절충이 필요합니다.
- 중첩 저장(Superposition)
- — 중첩 저장은 여러 bound triple 벡터를 하나의 trace에 더해 보관하는 방식입니다. 질의할 때 주어와 관계를 다시 결합한 뒤 trace와의 유사도를 비교해 목적어를 찾으며, 목표 사실은 신호로 남고 나머지는 잡음으로 섞입니다. 잡음 규모가 사실 수의 제곱근에 비례하므로 저장 사실이 늘면 회수 여유가 줄어듭니다.
- 교차 간섭 잡음(Crosstalk Noise)
- — 교차 간섭 잡음은 여러 사실을 하나의 벡터에 중첩할 때 질의 대상이 아닌 항목들이 검색 점수에 섞이는 현상입니다. 이 구현에서는 각 triple을 trace에 합산하고, 질의 결과의 최고 점수와 나머지 점수 사이의 차이를 비교해 간섭의 영향을 판단합니다. 벤치마크에서는 차원 d에 비해 사실 수 N이 커질수록 top-1 recall이 급격히 낮아졌습니다.
언급된 도구
FHRR 기반 고정 크기 연상 메모리와 시간 감쇠·재강화·모순 가중치·날짜 질의를 구현한 자체 library입니다.
FHRR의 복소수 벡터 연산과 벤치마크 실행에 사용하는 유일한 외부 library입니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.