What is the best way to do conditioning when working with deep neural nets?
For example, say we we want to condition a VAE on the class i.e. CVAE. There exists different ways of adding the class to the data. Consider the MNIST data-set (https://en.wikipedia.org/wiki/MNIST_database), you can one hot encode the class and then project it to 28x28 and add it is an additional channel. Another way is to add 10 new channels each 28x28, where the values of the channel of the class of interest are set to 1, and all other channels set to 0.
Is there a best practice on this ? maybe some theory ? I tried searching for this but couldn't really find much. All I know is from empirical results that some approaches work better than others.
Extra what if you wanted to condition on some categorical variables, say month, or week to somehow enforce seasonality ? is there a better way to do such conditioning ?
Please note Do not confuse this with the conditioning number in deep learning, e.g. Deep Learning: Condition Number and Poor Conditioning