Image Recognition, in the context of Computer Vision, is the ability of software to identify objects, places, people, writings and actions in images. Computers can use machine vision technologies in combination with a camera and artificial intelligence software to achieve image recognition.Image classification refers to a process in computer vision that can classify an image based on its visual content. For example, an image classification algorithm can be designed to indicate whether or not an image contains a human figure. Although object detection is trivial for humans, robust image classification remains a challenge for computer vision applications.The objective of this study is to determine what makes a deep neural network processing complex data, such as image/video data, faster and more accurate, we will examine the latest successful neural network architectures to determine what is the most efficient (and fastest) architecture(s) in image classification, and we will also research which optimization techniques work best in this type of data.We try to understand how researchers recently took a big step forward in visual recognition by classifying images, and see how they scored an incredible accuracy score on the ImageNet challenge. Taking into account how can we process complex data like image data faster, how can we handle the problem of overfitting on this data, and how can we minimize the training time of our architecture.