Deep Learning (DL), a subfield of machine learning, is essentially a neural network with three or more layers. It has achieved remarkable success in a wide range of areas over the last decade. Deep Learning is inspired by the structure of the human brain. "Artificial Neural Network" is the term applied to this structure. Advances in Big Data have enabled more profound, more complex neural networks to explore features and find connections between data without human intervention. Thus, DL algorithms tend to perform significantly better when it is powered by a vast amount of structured or unstructured data. In this paper, we will explain the concept and theory behind Deep Learning from a variety of perspectives. First, we will explain different approaches used to solve complex problems in deep learning. Second, we will delve into the fundamental building blocks of deep neural networks, and we will explain the procedure of how they work. Finally, we will introduce a variety of popular deep learning architectures.