Efficient Methods For Deep Learning