Show GN: Versor: 행렬 곱셈 대신 기하학적 회전(Rotor)을 사용하는 PyTorch 프레임워크
(github.com/Concode0)딥러닝의 놀라운 성과 뒤에는 항상 '행렬 곱(Wx+b)'이 있었습니다. 하지만 Versor는 이 표준에 의문을 제기합니다. "행렬은 데이터를 처리하는 과정에서 매니폴드(Manifold)를 찢거나 구기는 왜곡을 발생시킨다"는 것입니다.
Versor는 이 "선형 대수의 천장(Linear Algebra Ceiling)"을 넘기 위해 개발된 기하 대수(Geometric Algebra) 기반 PyTorch 프레임워크입니다. 행렬 대신 로터(Rotor)를 사용하여 데이터의 고유한 위상 구조(Topological Structure)를 보존하는 새로운 딥러닝 패러다임을 제시합니다.
핵심 철학: Unbending (펴기) 후 Filtering (자르기)
Versor의 접근 방식은 단순히 "차원을 줄이지 않고 모두 가져가는 것"이 아닙니다. 핵심은 "데이터를 망가뜨리지 않고 정렬(Align)한 뒤, 필요한 정보만 깔끔하게 발라내는 것"입니다.
-
Unbending (Rotor)
일반 행렬은 전단(Shear)과 신축(Stretch)을 동반하지만, 로터의 샌드위치 곱은 등거리 변환(Isometry)입니다. 마치 구겨진 종이를 다림질하듯, 데이터의 거리와 각도를 완벽히 보존한 채로 회전시켜 폅니다.
-
Geometric Filtering (BladeSelector)
데이터가 기하학적으로 올바르게 펴지면, 정보는 특정 축(Basis Blade)이나 등급(Grade)에 정렬됩니다. 이때
BladeSelector가 노이즈는 버리고 핵심 기하 정보(예: 벡터 성분)만 남겨 차원을 축소합니다. 억지로 찌그러뜨려서 차원을 줄이는 기존 방식(Projection)과는 질적으로 다른 압축입니다.
주요 특징
-
Metric-Agnostic Kernel: 유클리드(Cl(3,0))부터 시공간(Cl(1,3)), 등각 기하(Cl(4,1))까지 서명(Signature)만 바꾸면 동일한 코드로 동작합니다.
-
White-Box AI: 학습 파라미터가 알 수 없는 숫자가 아니라 "회전 평면(Bivector)" 입니다. 모델이 데이터를 "어떤 평면으로 얼마나 돌려서 정렬했는지" 해석 가능합니다.
-
고성능 경량화: O(n) 스케일링을 지원하며, M4 CPU에서도 실시간 추론(5.8ms/분자)이 가능할 만큼 가볍습니다.
최근 학계에서 주목받는 GATr 등이 트랜스포머 구조 안에서 GA를 활용하는 '아키텍처적 접근'을 취한다면, Versor는 연산의 최소 단위부터 로터를 도입하여 공간 왜곡을 원천 차단하는 '기하학적 본질'에 집중합니다. 덕분에 훨씬 적은 파라미터로도 실시간 추론이 가능한 경량성을 확보했습니다.
벤치마크 성과
-
QM9 (분자 물성): 3D 유클리드 기하학(Cl(3,0)) 적용 시, 단일 4090 GPU에서 1시간 학습만으로 MAE 14.42 meV 달성.
-
Motion Alignment (UCI-HAR): 고차원 모션 데이터를 회전만으로 선형 분리 가능한 잠재 공간으로 정렬하여 정확도 ~100% 달성.
-
Semantic Disentanglement (NLP): 20 Newsgroups 데이터셋에서 기하학적 분리를 통해 100%의 Grade Purity 달성. (Grade Purity 100%란, 복잡하게 얽힌 데이터가 노이즈 없이 오직 '벡터(Vector)' 성분으로만 완벽하게 분리·정렬되었다는 뜻으로, 기하학적 구조 학습이 성공했음을 수학적으로 증명합니다.)
과적합(Overfitting) 아닌가요?
빠른 수렴 속도와 높은 정확도 때문에 의심하실 수 있지만, 이는 강력한 기하학적 귀납 편향(Geometric Inductive Bias) 덕분입니다.
-
일반 행렬(n x n)은 자유도가 너무 높아 노이즈까지 학습해버리지만,
-
Versor의 로터는 오직 '회전(Rotation)' 만 가능하도록 수학적으로 제약되어 있습니다.
-
전단(Shear)이나 신축(Stretch)을 할 수 없는 구조이기 때문에, 모델은 데이터의 본질적 구조(Structure) 외에는 학습하고 싶어도 할 수가 없습니다. 덕분에 적은 파라미터로도 일반화 성능이 뛰어납니다.
Versor는 Pytorch 위에서 돌아가기에 유사한 인터페이스를 그대로 사용할 수 있습니다. 그리고 현재 새로운 태스크나 메트릭들을 활발하게 개발 중이니까, 많은 피드백 주시면 감사하겠습니다.