Open oattao opened 4 years ago
We don't need to update value of c (center of volume) during the training?
I think in the code he didn't update R ( in deepSVDD_trainer.py)
Do you think that he was wrong?
Do you think that he was wrong?
Yes. I think this pytorch version is incomplete compared to the orginal version written in Theano. In this version, one class training and block coordinate optimization is not finished.
Do you think that he was wrong?
Yes. I think this pytorch version is incomplete compared to the orginal version written in Theano. In this version, one class training and block coordinate optimization is not finished.
deepSVDD_trainer.py line 94 self.R.data = torch.tensor(get_radius(dist, self.nu), device=self.device)the
I think R is updated. However, according to the paper, the dist should be sorted, but I don't find any code to do this.
We don't need to update value of c (center of volume) during the training?
Yes, We don't need to update the value of c (center of volume) during the training.
Hi, thanks for the discussion. I also noticed the same problem. The paper said that "we found that fixing c in the neighborhood of the initial network outputs made SGD convergence faster and more robust ---(in 3.3 Proposition 1)".I think that mean that 'center' don't need to update.
Was that mean that regard 'center' as a constant made no difference to the result. In other words, theoretically define the 'center' as any constant which satisfy the right shape could also made the model work.
AM I right?
As you first pre-train the model with an autoencoder, you have pretty good representations in the latent space. When you start training the Encoder only part, you could find two scenarios:
So, no, I don't see any reason why you would update the center during training, but the radius on the other hand, is what makes the edge between anomalous or not, and it is updated during training.
But I don't think you cant initialize it anyway, they initialize and keep it as the mean of one forward pass on your training data.
Hi,I have a question about this code .when there is no pretraining process, what should i do about Initializing the center of the sphere?
We don't need to update value of c (center of volume) during the training?