The ubiquity of Machine Learning (ML) models, and more specifically deep neural network (NN) models, in all sorts of applications has become undeniable in recent years. From classifying images [1]}, [2]}, [3]}, detecting objects [4]}, [1]} and performing semantic segmentation [6]}, [4]} to translating from one human language to another [8]} and doing sentiment analysis [9]}, the advances in different subfields of ML can be attributed mostly to the explosion of computing power and their ability to speed up the training process of artificial NNs. Most famously, AlexNet [10]} allowed for an impressive jump in performance in the challenging ILSVRC2012 image classification dataset [1]}, also known as ImageNet, permanently cementing deep convolutional NN (CNN) architectures in the field of computer vision. Since then, architectures have gotten more refined [12]}, [13]}, training procedures have gotten increasingly more complex [14]}, and their performance and robustness have greatly improved as a consequence.
Namely, the success of these deep CNN models is related to their ability to treat high-dimensional and complex data such as images or natural language.
The impressive performance of NNs for machine learning tasks can be explained by the ability of their flexible architecture to capture meaningful information on various kinds of complex data and the fact that they are potentially composed of millions of parameters.
