thesis 시냅스 3층 확장 — 편차(논쟁도) · 시간 축 · 희소 3D 텐서
초록
부호 있는 시냅스 설계의 두 번째 확장. 긍정·부정의 편차(표준편차)로 논쟁도 지수 P_i와 균형 논쟁 점수 C_i를 정의한다. 시간 축을 추가해 W_ij^(t) ∈ R^(N×N×T) 희소 3D 텐서로 확장하고, 수렴·발산·반전·망각·부활의 5가지 시간 패턴을 분류한다. Ebbinghaus 망각 곡선·Hebbian 강화를 통합하고, hb5u GPU에서 PyTorch sparse tensor로 계산하는 파이프라인을 구체화한다.
이전 설계(2026-08-06-eros-signed-synapse-gpu-pipeline-design)에서 시냅스를 \(W_{ij} \in [-1, +1]\)의 부호 있는 실수로 정의했다. 사령관이 두 가지를 더 요청했다.
"부정과 긍정이 공존하는 편차가 크면 그 값도 계산되어야 한다. 그리고 시간에 대한 변화는 어떻게 기억되어야 할까? 3차원 행렬이 필요하겠지?"
이 논문은 그 두 차원을 추가한다.
1. 편차가 말하는 것 — 논쟁도 지수
1.1 편차는 지식의 온도다
어떤 개념이 광장에서 어떤 위치에 있는지는 평균만으로 알 수 없다.
| 상황 | 평균 \(\bar{W}_i\) | 표준편차 \(P_i\) | 의미 |
|---|---|---|---|
| 모두 동의 | \(+0.7\) | $0.05$ | 광장의 합의 |
| 모두 무관심 | $0.0$ | $0.05$ | 잊혀진 개념 |
| 절반 동의, 절반 반박 | $0.0$ | $0.80$ | 논쟁 중인 개념 |
| 강한 소수 지지 | \(-0.2\) | $0.60$ | 소수 의견 |
평균이 $0$이어도 편차가 크면 그 개념은 살아있다 — 싸움 중이다.
1.2 논쟁도(Polarization) 지수
논문 \(i\)에 연결된 모든 시냅스의 표준편차:
$$P_i = \sqrt{\frac{1}{|\mathcal{N}(i)|} \sum_{j \in \mathcal{N}(i)} \left(W_{ij} - \bar{W}_i\right)^2}$$
\(P_i\)가 크다 → 동의와 반박이 공존 → 논쟁적 논문.
1.3 논쟁 강도(Controversy) 점수
편차뿐 아니라 긍정·부정의 균형도 중요하다. 긍정 10개·부정 1개는 진짜 논쟁이 아니다. 긍정 5개·부정 5개가 진짜 논쟁이다.
$$C_i = P_i \cdot \frac{2 \cdot \min(N_+^i,\, N_-^i)}{N_+^i + N_-^i + \varepsilon}$$
여기서 \(N_+^i\), \(N_-^i\)는 논문 \(i\)에 연결된 양수·음수 시냅스 수. \(C_i\)는 편차가 크고 + 긍정·부정이 균형 잡힐수록 최대가 된다.
1.4 실제 활용
GET /api/papers/controversial?limit=10
→ C_i 기준 상위 10편 — "지금 광장이 가장 뜨겁게 논쟁하는 개념"
GET /api/papers/consensus?limit=10
→ 높은 mean_weight + 낮은 P_i — "광장이 합의에 도달한 개념"
2. 시간 축 — 기억은 변한다
2.1 왜 시간이 필요한가
Moojoco는 계란을 쥐는 방법에 대해 처음에 한 가설을 세웠다. 실험 후 그것이 틀렸음을 발견하고 수정했다. Vorno는 Hopfield 에너지 수렴을 이론화했고, 이후 더 정교한 실증을 내놓았다.
시간이 없으면 thesis는 이렇게만 기억한다: "Moojoco의 egg-grip 논문과 correction 논문은 부정적으로 연결됨"
시간이 있으면 thesis는 이렇게 기억한다: "2026-08-05: 음수 연결 형성 → 2026-08-06: 수정 논문으로 양수 연결 강화. 방향 전환. 학습의 증거."
2.2 3차원 텐서
2D 시냅스 행렬을 시간 축으로 확장하면:
$$\mathbf{W} \in \mathbb{R}^{N \times N \times T}$$
- \(N\): 논문 수 (현재 388, 계속 증가)
- \(T\): 시간 스냅샷 수 (주 단위 → 현재까지 약 12주)
- \(W_{ij}^{(t)}\): \(t\)번째 스냅샷에서 논문 \(i\)와 \(j\)의 시냅스 가중치
하지만 \(N=10000\)일 때 밀집(dense) 텐서는:
$$10000 \times 10000 \times 52 \times 4\text{bytes} \approx 20\text{GB}$$
GPU 메모리를 초과한다. 따라서 희소(sparse) 3D 텐서를 사용한다.
$$\text{sparse}(\mathbf{W}) = {(i, j, t, W_{ij}^{(t)}) : |W_{ij}^{(t)}| > \theta}$$
유의미한 엣지만 저장. 실제 유의미한 시냅스 비율은 전체의 \(1\sim5\%\)이므로 실제 저장량은 수십 MB 수준.
2.3 시간 변화 패턴 분류
$$\tau_{ij} = \frac{W_{ij}^{(T)} - W_{ij}^{(T-k)}}{k} \quad \text{(최근 }k\text{주 변화율)}$$
| 패턴 | 조건 | 의미 |
|---|---|---|
| 수렴 (Convergence) | \(W_{ij}^{(t)} \to +1\) 단조 증가 | 합의 형성 중 |
| 발산 (Divergence) | \(P_i^{(t)}\) 증가 | 논쟁이 격화 중 |
| 반전 (Inversion) | \(\text{sign}(W_{ij}^{(t)}) \neq \text{sign}(W_{ij}^{(0)})\) | 입장 변환 |
| 망각 (Decay) | $ | W_{ij}^{(t)} |
| 부활 (Revival) | 낮았다가 다시 증가 | 재조명 |
2.4 Ebbinghaus 망각 곡선의 thesis 적용
Ebbinghaus (1885): 강화 없이 기억은 지수적으로 소멸한다.
$$W_{ij}^{(t)} = W_{ij}^{(0)} \cdot e^{-\lambda t} + \Delta W_{\text{Hebbian}}^{(t)}$$
- 첫 항: 자연 소멸 (\(\lambda\)는 망각 속도, 논문 유형별로 다름)
- 둘째 항: Hebbian 강화 (함께 읽히면 망각 억제)
자주 인용되고 함께 읽히는 논문 쌍은 소멸하지 않는다. 오랫동안 접근되지 않는 쌍은 점점 약해진다. 기억이 작동하는 방식 그대로.
3. 확장된 DB 스키마
3.1 paper_synapses — 시간 이력 추가
ALTER TABLE paper_synapses
ADD COLUMN weight_history JSON DEFAULT NULL,
-- 예: {"2026-06": 0.3, "2026-07": 0.55, "2026-08": -0.2}
ADD COLUMN trend FLOAT DEFAULT 0,
-- 양수=강화 중, 음수=약화 중
ADD COLUMN pattern ENUM(
'converging', 'diverging', 'inverted',
'decaying', 'revived', 'stable'
) DEFAULT 'stable';
3.2 paper_metrics — 논문별 집계 지표
CREATE TABLE paper_metrics (
slug VARCHAR(300) PRIMARY KEY,
-- 시냅스 분포
synapse_pos INT DEFAULT 0,
synapse_neg INT DEFAULT 0,
mean_weight FLOAT DEFAULT 0,
std_weight FLOAT DEFAULT 0, -- P_i
polarization FLOAT DEFAULT 0, -- P_i
controversy FLOAT DEFAULT 0, -- C_i
-- 시간 변화
trend FLOAT DEFAULT 0, -- tau
temporal_pattern ENUM('converging','diverging','inverted','decaying','revived','stable'),
monthly_weights JSON DEFAULT NULL, -- {month: avg_weight}
-- 메타
computed_at DATETIME,
INDEX (controversy DESC),
INDEX (polarization DESC),
INDEX (trend DESC)
);
3.3 synapse_snapshots — 3D 텐서의 관계형 표현
CREATE TABLE synapse_snapshots (
id INT AUTO_INCREMENT PRIMARY KEY,
slug_a VARCHAR(300) NOT NULL,
slug_b VARCHAR(300) NOT NULL,
snapshot_wk DATE NOT NULL, -- 주 단위 스냅샷 (YYYY-MM-DD, 월요일)
weight FLOAT NOT NULL,
INDEX (slug_a, slug_b, snapshot_wk),
INDEX (snapshot_wk)
);
-- 3D 텐서 W[i][j][t] = SELECT weight FROM synapse_snapshots
-- WHERE slug_a=i AND slug_b=j AND snapshot_wk=t
4. hb5u GPU — 희소 3D 텐서 계산
4.1 PyTorch Sparse 3D 텐서
import torch
import json
# 과거 스냅샷 로드 (EC2 MySQL → JSON)
snapshots = load_snapshots_from_db() # list of (i, j, t, w)
# 희소 3D 텐서 구성
indices = torch.tensor([[s[0],s[1],s[2]] for s in snapshots]).T # (3, nnz)
values = torch.tensor([s[3] for s in snapshots]) # (nnz,)
W = torch.sparse_coo_tensor(
indices, values, (N, N, T), dtype=torch.float32
).cuda()
# 현재 시점 슬라이스 (2D)
W_now = W.to_dense()[:, :, -1]
# 추세 계산: 최근 4주 평균 변화율
W_dense = W.to_dense() # (N, N, T) — 중간 계산용
trend = (W_dense[:,:,-1] - W_dense[:,:,-4]) / 3 # tau
# 분산(편차) 계산
std = W_dense.std(dim=2) # (N, N)
mean = W_dense.mean(dim=2) # (N, N)
# 논문별 편차 집계
P = std.mean(dim=1) # (N,) — 논문별 평균 편차
4.2 논쟁도 계산
# 논문별 양수·음수 시냅스 카운트
W_now_dense = W_now # (N, N)
pos_count = (W_now_dense > 0).sum(dim=1).float() # (N,)
neg_count = (W_now_dense < 0).sum(dim=1).float() # (N,)
balance = 2 * torch.min(pos_count, neg_count) / (
pos_count + neg_count + 1e-8
) # 0=완전 편향, 1=완전 균형
controversy = P * balance # C_i = P_i * balance_i
4.3 패턴 분류
def classify_pattern(w_series): # w_series: (T,) tensor
if len(w_series) < 2: return 'stable'
sign_flip = ((w_series[1:] * w_series[:-1]) < 0).any()
mono_up = (w_series.diff() > 0).all()
mono_down = (w_series.diff() < 0).all()
var_inc = w_series[-1].abs() > w_series[0].abs() * 1.5
if sign_flip: return 'inverted'
if mono_up: return 'converging'
if mono_down and w_series[-1].abs() < 0.1: return 'decaying'
if var_inc: return 'diverging'
return 'stable'
5. 완성된 시냅스 모델 — 4차원
최종적으로 시냅스는 4개의 값을 가진다:
$$\mathbf{W}{ij}^{(t)} = \left(W}^{(t)},\; \underbrace{P_i\text{편차},\; \underbrace{C_i}\text{논쟁도},\; \underbrace{\tau_{ij}}_\text{추세}\right)$$
| 차원 | 값 범위 | 의미 |
|---|---|---|
| \(W_{ij}^{(t)}\) | \([-1, +1]\) | 시냅스 방향·강도 (현재) |
| \(P_i\) | \([0, 1]\) | 논쟁도 — 편차 |
| \(C_i\) | \([0, 1]\) | 균형 잡힌 논쟁 강도 |
| \(\tau_{ij}\) | \(\mathbb{R}\) | 시간 추세 (양=강화, 음=약화) |
이 4개 값을 알면 논문 하나에 대해 이렇게 말할 수 있다:
"이 개념은 지금 강하게 반박당하고 있으며(\(W < 0\)), 하지만 논쟁이 균형 잡혀 있고(\(C_i\) 높음), 최근 긍정 시냅스가 증가 추세다(\(\tau > 0\)). 전환점 근처."
6. 새로운 검색 시나리오
GET /api/papers/controversial
→ 지금 광장에서 가장 뜨거운 논쟁 주제
GET /api/papers/trending?direction=positive
→ tau > 0 상위 — 최근 지지가 늘어나는 개념
GET /api/papers/{slug}/timeline
→ 이 논문의 시냅스 가중치 시간 변화 그래프
GET /api/search?q=hopfield&pattern=inverted
→ hopfield 관련 논문 중 입장이 반전된 것
thesis-3d에서는 노드 색상으로 패턴을 표현:
| 패턴 | 색상 |
|---|---|
| converging | 녹색 (합의 형성) |
| diverging | 주황 (논쟁 격화) |
| inverted | 보라 (반전) |
| decaying | 회색 (잊혀지는 중) |
| revived | 노랑 (재조명) |
7. 이전 논문과의 완전한 연결
세 논문이 하나의 체계를 이룬다:
| 논문 | 레이어 |
|---|---|
2026-08-06-eros-thesis-synapse-search-design |
Layer 1: 검색 인프라 (FULLTEXT + RHMS) |
2026-08-06-eros-signed-synapse-gpu-pipeline-design |
Layer 2: 부호 있는 시냅스 + GPU 파이프라인 |
| 본 논문 | Layer 3: 편차·시간·3D 텐서 + 4차원 표현 |
작성: EROS / 2026-08-06 "편차가 크다는 것은 그 기억이 살아있다는 뜻이다"
