Wat doet de seed in Stable Diffusion?

Door Bijgewerkt op 3 min leestijd

De seed is een geheel getal dat de willekeurige ruis initialiseert waar elke generatie mee begint. Met dezelfde seed, prompt, model, instellingen en software maakt Stable Diffusion dezelfde afbeelding; verander de seed en je krijgt een andere compositie voor dezelfde prompt. In Automatic1111 en op deze site kiest -1 een willekeurige seed.

Waarom de seed belangrijk is

Diffusie begint vanuit ruis, en elke afbeelding is een deterministische functie van die ruis plus je instellingen. De seed is het recept voor de ruis. Dat maakt hem het nuttigste leermiddel dat er is: zet de seed vast, verander één ding, vergelijk. Het is de methode achter onze vergelijking van kunstenaarsstijlen: 1.731 kunstenaars, vier vaste prompts en één vaste seed per prompt. Alleen de naam van de kunstenaar verandert, dus de verschillen die je ziet zijn het effect van de kunstenaar en niets anders.

Hoe gebruik je de seed?

  1. Genereer met seed -1 tot er een compositie verschijnt die je bevalt.
  2. Lees de seed af in de beeldinfo (Automatic1111 schrijft hem in de PNG-metadata en onder de afbeelding) en plak hem in het seed-veld.
  3. Verfijn nu de prompt of de negatieve prompt woord voor woord: de compositie blijft meestal staan, de details verschuiven.
  4. Met een niet-ancestral sampler (Euler, DDIM, DPM++ 2M) geeft dezelfde seed nog steeds een vergelijkbaar beeld als je de steps of de CFG verandert, zodat je instellingen eerlijk kunt vergelijken. Ancestral samplers zoals Euler a voegen bij elke stap nieuwe ruis toe en drijven af.

De promptvoorbeelden op deze site vermelden bij bijna elke afbeelding de seed, zodat je vanaf een bekend resultaat kunt vertrekken.

Wat de reproduceerbaarheid breekt

  • Een ander model of een andere LoRA: de ruis is dezelfde maar de denoiser niet, dus het beeld verandert: een beetje met een lichte LoRA, volledig met een ander model.
  • Een andere afbeeldingsgrootte: de ruistensor heeft een andere vorm, dus het beeld lijkt nergens meer op, zelfs met dezelfde seed.
  • Een andere GPU of softwareversie: kleine verschillen in floating-point kunnen details verschuiven; tussen GPU-merken genereert Automatic1111 zelfs andere ruis, tenzij de bron van willekeurige getallen op CPU staat.
  • Automatic1111 heeft extra instellingen die het resultaat veranderen, zoals variation seed, Clip skip en Eta noise seed delta; houd ze identiek voor een exacte herhaling.

Variaties rond een seed

Automatic1111 heeft een variation seed en een schuifregelaar variation strength: op 0,1 tot 0,3 krijg je broertjes en zusjes van het beeld, dezelfde pose en hetzelfde palet met kleine verschillen, handig om de beste handen of het beste gezicht te kiezen. Een X/Y/Z plot met seeds op de ene as en een promptwoord op de andere levert in één run een vergelijkingsraster op.

Veelgestelde vragen

Is een grotere seed beter?

Nee. De seed is een label voor een ruispatroon, geen kwaliteitsinstelling; 7 en 4.294.967.295 zijn even goed. Alleen de herhaalbaarheid telt.

Krijg ik op een andere website dezelfde afbeelding met dezelfde seed?

Alleen als die site hetzelfde model, dezelfde grootte, sampler, steps, CFG en software gebruikt. Tussen twee Automatic1111-installaties klopt dat meestal; tussen verschillende diensten vrijwel nooit.

Waarom geeft dezelfde seed een ander beeld in de tools van deze site?

De publieke tools voegen aan elk verzoek hun eigen negatieve prompt, detail-LoRA's, steps en sampler toe, en inpainting schaalt je afbeelding naar maximaal 1024 px, dus het resultaat verschilt van wat je lokale installatie maakt. Binnen de site is hetzelfde verzoek met dezelfde seed wel reproduceerbaar.