Deep learning (DL) is a branch of machine learning that focuses on representation-learning methods composed of multiple levels of non-linear modules. Starting from a low level representation of an object (e.g., characters, pixels) each level outputs a representation at a higher, slightly more abstract level, until a complex output is produced (e.g., text classification, scene description). DL architectures are typically based on Artificial Neural Networks that are inspired by the biological structure of brain. ANN have experienced alternating success in the past. Their recent success is mainly due to the availability of big data, which ANN exploit in order to learn very complex models, and the increase of computing power, specially thanks to the technological progress in parallel GPU-based computing. Deep ANN have recently proved to be extremely effective in learning complex cognitive processes, such as image understanding, natural language processing and generation, and made the news beating top-ranked players of Go.