Image Recognition with Convolutional Neural Networks. Advanced techniques for Deep Learning and Representation learning