Deep Energy: Using Energy Functions for Unsupervised Training of DNNs