칸을 몇 개 켜면 그게 지시가 됩니다. 나머지는 hibari 로 학습한 디퓨전이 채우고, 그 결과를 바로 들려줍니다.
① 내가 그리는 모티브켜진 칸 0
모델은 처음 누를 때 한 번만 내려받습니다 (약 3MB).
② 모델이 채운 들판아직 없음
중첩행렬(Overlap Matrix)이 이 연구의 심장입니다. 사카모토 류이치의 hibari 를 위상수학(persistent homology)으로 분석하면 고리 14개가 나옵니다. 각 고리가 시간에 따라 켜지고 꺼지는 표가 중첩행렬이고, 위 격자가 바로 그것입니다. 음악이 아니라 음악의 골격입니다.
2026-06 에는 실패했습니다. 이 골격을 디퓨전으로 생성하려 했는데, 60×14 격자를 840차원 벡터로 펴서 MLP 에 넣은 탓에 "옆 칸이 옆 시각"이라는 사실이 모델에 전달되지 않았습니다. 결과는 밀도 3배 과밀, 시간 구조 붕괴(0.814→0.504).
이번에 뒤집었습니다. 시간축 1D-conv 로 바꾸고,
TopoDiffusionNet(ICLR 2025) 방식의 위상 손실을 붙였습니다. 원 논문은 매 스텝
persistent homology 를 계산해 무겁지만, 우리가 필요한 위상은 1차원이라
닫힌 식이 있습니다 — Σ ReLU(x[t]−x[t−1]). 외부 라이브러리 없이
O(T) 로, 정확히 미분 가능합니다.
| 모델 | 밀도 | 시간 연속성 |
|---|---|---|
| 원곡 hibari | 139.0 | 0.8135 |
| MLP (2026-06, 공정 재평가) | 409.3 | 0.5047 |
| 위상 손실 (이번) | 127.9 | 0.8232 |
그리고 통제. 위 버튼이 하는 일이 그것입니다. 학습된 모델은 그대로 두고 매 디노이징 스텝에서 내가 그린 칸만 덮어씁니다(RePaint). 재학습이 없으므로 모티브를 바꾸는 비용은 0 입니다. 모티브 보존율은 측정상 100% 입니다.
정직하게 덧붙일 것 넷.
① 개선 지표 4개 중 3개(밀도·고리 프로파일·구간 수)는 손실이 직접 최적화한 양이라
독립 증거가 아닙니다. 독립적인 것은 시간 연속성 하나입니다.
② "낯선 모티브가 가장 다른 결과를 낸다"던 초기 주장은 철회했습니다 —
모티브 자신이 시간의 26.7%를 차지해 생긴 착시였고, 모델이 채운 영역만 따로 재면
순위가 뒤집힙니다.
③ 생성된 골격은 원곡보다 26~48% 성깁니다. 조건부화의 대가입니다.
④ 중첩행렬은 "어떤 음을 뽑을지"만 정하고 "몇 개 뽑을지"는 정하지 않습니다.
그래서 모티브가 음악 표면의 밀도까지 지배하지는 못합니다.