You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
How do we actually train a Noise Conditioned Score Estimator?
The most straightforward / naïve way would be to append one more dimension to the input of the network. (do MLP(4, 3) instead of MLP(3,3)).
It seems that for the diffusion papers, there were some interesting choice of architectures we should consider adopting. In the original implementation this repo, it's interesting to see that the value of sigma is never really used as an input to the network.
Instead, if we look at this implementation of anneal_dsm_score_estimation, the labels are defined as integer variables here. So this network takes in as input integers, as opposed to actual values of sigmas.
After getting this integer label, data and label are both passed into ConditionalResidualBlock, which normalizes the (data, label) pairs.
This normalization is done by using nn.Embedding to convert the integer token label as some feature vector. Then, this feature vector is multiplied with the batch-normalized data. This is done multiple times through a deep layer.
The text was updated successfully, but these errors were encountered:
where the score function s_θ(x̃) doesn't depend on the noise σ? That is really strange as I thought in the paper one of the enabler of training the score network is to have one network for different level of σ.
How do we actually train a Noise Conditioned Score Estimator?
The most straightforward / naïve way would be to append one more dimension to the input of the network. (do
MLP(4, 3)
instead ofMLP(3,3)
).It seems that for the diffusion papers, there were some interesting choice of architectures we should consider adopting. In the original implementation this repo, it's interesting to see that the value of
sigma
is never really used as an input to the network.Instead, if we look at this implementation of
anneal_dsm_score_estimation
, the labels are defined as integer variables here. So this network takes in as input integers, as opposed to actual values of sigmas.After getting this integer label,
data
andlabel
are both passed intoConditionalResidualBlock
, which normalizes the (data
,label
) pairs.This normalization is done by using
nn.Embedding
to convert the integer tokenlabel
as some feature vector. Then, this feature vector is multiplied with the batch-normalized data. This is done multiple times through a deep layer.The text was updated successfully, but these errors were encountered: