sd15-geoflow-test-44-1_000 — Geometric Prior Burn Test
Extreme-repetition burn test of the KSimplex geometric prior on 22 source images for 10,000 total steps. This experiment tests whether the pentachoron-based geometric prior can learn subject-specific anchoring from minimal data with high repetition — analogous to LoRA training but operating in simplex coordinate space rather than weight delta space.
What This Is
A 4.8M parameter geometric prior (0.56% of the frozen 860M SD1.5 UNet) trained on 22 images of a single subject repeated 454× each across 6 aspect-ratio buckets, totaling ~10k samples over ~10k training steps.
The source images are promotional and fan-sourced photographs of actress Terry Farrell as Jadzia Dax from Star Trek: Deep Space Nine.
This answers crucial questions
This is testing the potential for an actual 1000 step lora with small amounts of images. The results are mixed so far.
Architecture
- Base: SD1.5 UNet (frozen) with Lune rectified flow weights from AbstractPhil/tinyflux-experts
- Trainable: KSimplex cross-attention prior — 4 layers of pentachoron-based geometric attention
- Flow: Rectified flow matching with logit-normal timestep sampling, shift=2.5
- Bucketing: 6 AR buckets (576×448, 384×640, 448×576, 704×384, 384×704, 512×512)
Training Details
| Bucket | Images | Samples | Steps | Final Loss |
|---|---|---|---|---|
| 576×448 | 11 | 4,994 | 5,000 | 0.312 |
| 384×640 | 4 | 1,816 | 1,818 | 0.284 |
| 448×576 | 3 | 1,362 | 1,363 | 0.338 |
| 704×384 | 2 | 908 | 909 | 0.216 |
| 384×704 | 1 | 454 | 500 | 0.287 |
| 512×512 | 1 | 454 | 500 | 0.321 |
Training ran sequentially per bucket with shared geo_prior weights carrying over. Batch size 6, base LR 5e-5 with cosine decay.
Post-Training Analysis
Weight Inspection
| Metric | Value | Interpretation |
|---|---|---|
| Blend β | 0.4991 | Nearly 50/50 CLIP vs geometric — barely moved from init |
| L0 δ | 0.268 | Minimal deformation |
| L1 δ | 0.272 | Minimal deformation |
| L2 δ | 0.296 | Slight increase |
| L3 δ | 0.260 | Below init (0.25 base + learned offset) |
Vertex Weight Entropy (the key signal)
| Layer | Trained | Fresh | Δ |
|---|---|---|---|
| L0 | 1.536 | 1.511 | +0.026 |
| L1 | 1.330 | 1.537 | −0.208 |
| L2 | 1.423 | 1.526 | −0.103 |
| L3 | 1.553 | 1.560 | −0.008 |
Comparison across all trained models:
| Model | L3 vw_entropy | L3 Δ from fresh | Character |
|---|---|---|---|
| Object-relations (50k) | 0.243 | −1.291 | Hard vertex routing |
| ImageNet (10k) | 0.749 | −0.868 | Moderate sharpening |
| Characters (50k) | 1.277 | −0.265 | Soft attribute binding |
| Burn test (22 imgs - 1000 steps) | 1.553 | −0.008 | Slightly established |
The burn test shows the geometric prior barely moved from initialization despite 10k steps and 454× repetition. This is the expected result for 22 images of a single subject — there isn't enough compositional diversity to drive simplex specialization.
Branch Point
Recommended branch point: t ≈ 0.68 (much later than object-relations at 0.31 or characters at 0.28).
Analysis Artifacts
Training Analysis
analysis/01_loss_curves.png— Loss progression across bucketsanalysis/02_entropy_per_layer.png— Attention entropy over traininganalysis/04_entropy_inflection.png— Entropy inflection detectionanalysis/06_volume_sq.png— Simplex volume evolutionanalysis/07_deformation_scale.png— Per-layer deformation scalesanalysis/08_dashboard.png— Combined training dashboard
Post-Training Analysis
post_analysis/01_timestep_sweep.png— Metrics across noise levelspost_analysis/02_timestep_inflection.png— Branch point detectionpost_analysis/03_prompt_complexity.png— Simple vs spatial vs complex promptspost_analysis/04_trained_vs_fresh.png— Delta from initializationpost_analysis/06_dashboard.png— Combined post-training dashboard
Sample Images
samples/baseline/— Before trainingsamples/trained/— After training, same promptssamples/anchor/— 1person geometric anchor testsamples/training_*/— Checkpoint samples per bucket
Key Findings
22 images is below the diversity threshold for geometric specialization. The prior needs compositional variety to develop distinct vertex routing strategies. A single repeated subject gives it nothing to differentiate geometrically.
The geo loss converged to −0.047, well below the −0.053 seen in object-relations and characters. The simplex found a valid geometric configuration but a less structured one.
L1 showed the most movement (vw_entropy Δ = −0.208), suggesting the prior concentrated subject identity information at the second layer while leaving other layers near-uniform.
Blend stayed at 0.499 — the prior learned almost nothing worth asserting over CLIP. In contrast, object-relations moved blend to 0.472 and characters to 0.476.
This is NOT a failure — it demonstrates that the geometric prior correctly identifies when there isn't enough structural signal to justify specialization, unlike LoRA which would overfit the weight deltas regardless.
Usage
from sd15_trainer_geo.pipeline import load_pipeline
pipe = load_pipeline(
geo_repo_id="AbstractPhil/sd15-geoflow-test-44",
device="cuda",
dtype=torch.float16,
)
pipe.unet.load_pretrained(
"AbstractPhil/tinyflux-experts",
subfolder="",
filename="sd15-flow-lune-unet.safetensors",
)
License
Dual license:
Code, architecture, and training methodology: MIT License. The KSimplex geometric prior architecture, training scripts, and analysis tools are freely available for any use.
Weights and derivative images: The trained weights encode information derived from copyrighted promotional imagery from Star Trek: Deep Space Nine (Paramount/CBS). Generated images from these weights may reproduce likenesses subject to copyright and publicity rights. Users are responsible for ensuring their use of generated imagery complies with applicable intellectual property law. These weights are provided for research and non-commercial use only.
Part of the Geometric Prior Research Series
| Model | Dataset | Samples | Steps | L3 vw_entropy |
|---|---|---|---|---|
| sd15-rectified-geometric-matching | ImageNet subset | 10,000 | 10,000 | 0.749 |
| sd15-geoflow-object-association | Object relations | 50,000 | 8,333 | 0.243 |
| sd15-geoflow-characters | Synthetic characters | 50,000 | 8,333 | 1.277 |
| sd15-geoflow-test-44 | Single subject (burn) | 9,988 | 10,090 | 1.553 |
Model tree for AbstractPhil/sd15-geoflow-test-44-1000
Base model
stable-diffusion-v1-5/stable-diffusion-v1-5