-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrated resampling into samplers #24
Comments
I am not a professional, so please forgive me for using language that may not adhere strictly to scientific standards. 1. Inspiration for Euler dy from Global Attention 2. Why Does the Ancestral Algorithm Not Work Well for dy? 3. Why Not Apply It at Every Step? 4. Regarding x=x+ddt+ddt P.S.I've tried about 2 weeks for euler dy ancestral ,and found I can't solve it without great theoretical foundation.So I'm trying to learn Stable Diffusion professionally now, and try to design better samplers. Overall, thank you for using and liking it : ) |
The current implementation of the dy and smea methods only applies once or twice at an early step. As-is, these resampling methods produce a lot of noise that the sampler can't denoise, if at all.
Additionally, all the proposed techniques here are applied essentially twice at each sampling step (on the steps that they are applied). While it doesn't collapse the space all the time, it produces artifacts like blur, softening, detail loss, or unusual detail, etc. The current implementation boils down to
x = x + d * dt + d * dt
which doesn't seem sound.
Instead, the techniques should be integrated into the sampler at each step, and treating the noise from resampling (up for smea and down for dy) as a kind of ancestral noise.
I don't know the math well enough to say if the techniques themselves are valid, or if application of the techniques is valid, but the effect is interesting.
I have integrated the smea method into euler and euler a. It uses the noise produced by the resampling process. A vector is chosen between the denoised and resampled vectors.
However, the chosen rescale factor of 1.25 produces too much noise for subsequent de-noising steps. I only increase the dimensions by 2-4 units at maximum. Any more noise and artifacts are produced along the grid of the matrix, which typically turn into confetti if you're lucky.
I tried integrating the dy method, but I don't understand the operations used enough to make it work. I believe it samples at 1/2 size, but the process of resampling creates so much noise that it collapses very quickly.
edit:
I've forked this repository so this can be evaluated independently of the experiments in this repository.
https://github.com/azuisleet/k-diffusion-rsm-sampler
The text was updated successfully, but these errors were encountered: