 A main criticism concerns the lack of theory surrounding some methods.Learning in the most common deep architectures is implemented using well-understood gradient descent.However, the theory surrounding other algorithms, such as contrastive divergence is less clear.