 Given this state of affairs, there has been a recent resurgence in methods for automatically learning a feature representation function \(\rr\); such methods potentially bypass a large part of human labor that is traditionally required. Such methods are based mostly on what are now termed deep neural networks. Such networks are simply neural networks with two or more hidden layers. These networks allow us to learn a feature function \(\rr\) by using one or more of the hidden layers to learn \(\rr\). The general form of learning in which one learns from the raw sensory data without much hand-based feature engineering has now its own term: deep learning. A general and yet concise definition (Bengio et al. 2015) is: 