Answers.Body: <p>The idea behind this approach is a bit like trying to untangle a complex knot step by step, rather than trying to untangle it all at once. When we add noise to an original image to create a &quot;messier&quot; version of it, what we are essentially doing is following a path that gradually distorts the image. Now, to reverse this process and return to the original image, we could try to guess all the noise that was added and subtract it all at once, but this is extremely difficult and imprecise.</p>
  <p>Instead, what we do is a little more methodical and careful. We try to estimate the noise that was added in each small step and reverse it step by step. This allows us to adjust our estimates more accurately as we go along, ensuring that every little part of the image is restored correctly. It's like carefully untangling each part of the knot, constantly checking to see if we're on the right track, rather than pulling out all the ends at once and hoping for the best.</p>
  <p>This step-by-step technique gives us a better chance of accurately reconstructing the original image while retaining all of its fine details and unique features. Additionally, it helps us deal with the complexity and nuances of image data distribution, something that a direct, one-size-fits-all approach might not be able to capture as well. This is why we prefer this methodical approach; it offers finer control and more accurate results.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-04T14:26:18.520Z
Answers.LastActivityDate: 2024-02-04T14:26:18.520Z
Answers.UserDisplayName: Victor Roza
Body: <p>As I know, we want to train a deep network to predict <span class="math-container">$\mu(z_t;w; t)$</span> to model <span class="math-container">$p(z_{t−1}|z_t;w)$</span> as <span class="math-container">$p(z_{t−1}|z_t;w) = N(z_{t−1}|\mu(z_t;w; t);\beta I)$</span> (here I am using notation from bishop deep ML book which slightly differs from the paper). However, instead of predicting the denoised image at each step of the Markov chain it is better to train a network which predicts, <span class="math-container">$g(z_t;w; t)$</span>, the total noise component that was added to the original image to create the noisy image at that step. So here when we start from random point from N(0,1) as <span class="math-container">$z_T$</span> and give this to the network it estimates a total noise component, <span class="math-container">$\epsilon$</span>, that is added to some x to generate <span class="math-container">$z_T$</span>. So why don't we simply use <span class="math-container">$z_T - \epsilon$</span> to generate an image and bother our selves going all the way step by step.</p>
  
Tags: <diffusion-models>
Title: why it is needed to generate all of the latents $z_T, z_{T-1}, z_{T-2}, ... z_1$ to finally get synthetic image x in diffusion models
UserDisplayName: Reza_va
ThreadText: # why it is needed to generate all of the latents $z_T, z_{T-1}, z_{T-2}, ... z_1$ to finally get synthetic image x in diffusion models
  
  (Asked by: username_0 on 2024-02-04)
  
  As I know, we want to train a deep network to predict $\mu(z\_t;w; t)$ to model $p(z\_{t−1}|z\_t;w)$ as $p(z\_{t−1}|z\_t;w) = N(z\_{t−1}|\mu(z\_t;w; t);\beta I)$ (here I am using notation from bishop deep ML book which slightly differs from the paper). However, instead of predicting the denoised image at each step of the Markov chain it is better to train a network which predicts, $g(z\_t;w; t)$, the total noise component that was added to the original image to create the noisy image at that step. So here when we start from random point from N(0,1) as $z\_T$ and give this to the network it estimates a total noise component, $\epsilon$, that is added to some x to generate $z\_T$. So why don't we simply use $z\_T - \epsilon$ to generate an image and bother our selves going all the way step by step.
  
  **Tags:** diffusion-models
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-02-04. Score: 2
  
  The idea behind this approach is a bit like trying to untangle a complex knot step by step, rather than trying to untangle it all at once. When we add noise to an original image to create a "messier" version of it, what we are essentially doing is following a path that gradually distorts the image. Now, to reverse this process and return to the original image, we could try to guess all the noise that was added and subtract it all at once, but this is extremely difficult and imprecise.
  
  Instead, what we do is a little more methodical and careful. We try to estimate the noise that was added in each small step and reverse it step by step. This allows us to adjust our estimates more accurately as we go along, ensuring that every little part of the image is restored correctly. It's like carefully untangling each part of the knot, constantly checking to see if we're on the right track, rather than pulling out all the ends at once and hoping for the best.
  
  This step-by-step technique gives us a better chance of accurately reconstructing the original image while retaining all of its fine details and unique features. Additionally, it helps us deal with the complexity and nuances of image data distribution, something that a direct, one-size-fits-all approach might not be able to capture as well. This is why we prefer this methodical approach; it offers finer control and more accurate results.
  
  
  ---
  
  