if you choose to use the raw pixels of the image as input datathen you have difficult machine-learning problem on your hands you'll need convolutional neural network to solve itand you'll have to expend quite bit of computational resources to train the network but if you already understand the problem at high level (you understand how humans read time on clock face)then you can come up with much better input features for machine-learning algorithmfor instanceit' easy to write five-line python script to follow the black pixels of the clock hands and output the (xycoordinates of the tip of each hand then simple machine-learning algorithm can learn to associate these coordinates with the appropriate time of day you can go even furtherdo coordinate changeand express the (xycoordinates as polar coordinates with regard to the center of the image your input will become the angle theta of each clock hand at this pointyour features are making the problem so easy that no machine learning is requireda simple rounding operation and dictionary lookup are enough to recover the approximate time of day that' the essence of feature engineeringmaking problem easier by expressing it in simpler way it usually requires understanding the problem in depth before deep learningfeature engineering used to be criticalbecause classical shallow algorithms didn' have hypothesis spaces rich enough to learn useful features by themselves the way you presented the data to the algorithm was essential to its success for instancebefore convolutional neural networks became successful on the mnist digit-classification problemsolutions were typically based on hardcoded features such as the number of loops in digit imagethe height of each digit in an imagea histogram of pixel valuesand so on fortunatelymodern deep learning removes the need for most feature engineeringbecause neural networks are capable of automatically extracting useful features from raw data does this mean you don' have to worry about feature engineering as long as you're using deep neural networksnofor two reasonsgood features still allow you to solve problems more elegantly while using fewer resources for instanceit would be ridiculous to solve the problem of reading clock face using convolutional neural network good features let you solve problem with far less data the ability of deeplearning models to learn features on their own relies on having lots of training data availableif you have only few samplesthen the information value in their features becomes critical licensed to